SBCYLINDERSHEETPROJECTOR(3coin2)

πŸ“¦ version 2.5.0, in fedora 43, fedora 44

πŸ’– SbCylinderSheetProjector(3) πŸ’–

okay bestie, welcome to the Library Functions Manual for SbCylinderSheetProjector(3) β€” this is a Coin library thing, she's serving ✨geometry✨, and she's about to become your new obsession.


🌸 NAME 🌸

SbCylinderSheetProjector β€” the class that takes your little 2D points and yeets them into 3D, landing them on a sheet covering a cylindrical shape. no cap, that's literally the whole job.


✨ SYNOPSIS ✨

#include <Inventor/projectors/SbCylinderSheetProjector.h>

Inherits SbCylinderProjector. she's got lineage, she's not new here πŸ’…

🫢 Public Member Functions

  • SbCylinderSheetProjector (const SbBool orienttoeye=1)
  • SbCylinderSheetProjector (const SbCylinder &cyl, const SbBool orienttoeye=1)
  • virtual SbProjector * copy (void) const
  • virtual SbVec3f project (const SbVec2f &point)
  • virtual SbRotation getRotation (const SbVec3f &point1, const SbVec3f &point2)

πŸŽ€ Public Member Functions inherited from SbCylinderProjector

  • SbVec3f projectAndGetRotation (const SbVec2f &point, SbRotation &rot)
  • void setCylinder (const SbCylinder &cyl)
  • const SbCylinder & getCylinder (void) const
  • void setOrientToEye (const SbBool orienttoeye)
  • SbBool isOrientToEye (void) const
  • void setFront (const SbBool infront)
  • SbBool isFront (void) const
  • SbBool isPointInFront (const SbVec3f &point) const
  • virtual void setWorkingSpace (const SbMatrix &space)

πŸ¦‹ Public Member Functions inherited from SbProjector

  • virtual void setViewVolume (const SbViewVolume &vol)
  • const SbViewVolume & getViewVolume (void) const
  • const SbMatrix & getWorkingSpace (void) const

πŸ’œ Protected Member Functions

  • virtual void setupPlane (void)

🌈 Protected Member Functions inherited from SbCylinderProjector

  • SbCylinderProjector (const SbBool orienttoeye)
  • SbCylinderProjector (const SbCylinder &cylinder, const SbBool orienttoeye)
  • SbBool intersectCylinderFront (const SbLine &line, SbVec3f &result)

⭐ Protected Member Functions inherited from SbProjector

  • SbProjector (void)
  • virtual ~SbProjector ()
  • SbLine getWorkingLine (const SbVec2f &point) const
  • float findVanishingDistance (void) const
  • SbBool verifyProjection (const SbVec3f &projpt) const

πŸ“ Protected Attributes

  • SbVec3f workingProjPoint
  • SbVec3f planeDir
  • SbPlane tolPlane

πŸ’– Protected Attributes inherited from SbCylinderProjector

  • SbBool intersectFront
  • SbCylinder cylinder
  • SbBool orientToEye
  • SbBool needSetup
  • SbVec3f lastPoint

🧚 Protected Attributes inherited from SbProjector

  • SbViewVolume viewVol
  • SbMatrix worldToWorking
  • SbMatrix workingToWorld

πŸ‘‘ Detailed Description πŸ‘‘

The SbCylinderSheetProjector class projects 2D points to 3D points on a sheet covering a cylindrical shape.

(yeah I know, I said it in NAME too. it's called branding, bestie. consistency is iconic.)


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SbCylinderSheetProjector::SbCylinderSheetProjector (const SbBool orienttoeye = 1)

Constructor, babes. Uses the default cylinder definition β€” peep SbCylinderProjector::SbCylinderProjector() if you wanna know what that default actually is.

orienttoeye decides whether or not the cylinder and the sheet should always be oriented towards the viewer. so like, should she be facing you at all times? yes ma'am πŸ’…

Referenced by copy().

SbCylinderSheetProjector::SbCylinderSheetProjector (const SbCylinder & cyl, const SbBool orienttoeye = 1)

Constructor with an explicit definition of the projection cylinder. you bring your own cylinder, she brings the vibes ✨


🌸 Member Function Documentation 🌸

SbProjector * SbCylinderSheetProjector::copy (void ) const [virtual]

Construct and return a copy of this projector. The caller is responsible for destructing the new instance. (yes you, bestie. she is not cleaning up after you.)

⚠️ okay this part is IMPORTANT so listen up: if the Coin library has been built as a DLL under Microsoft Windows and you use this method from application code, you must make sure that both the Coin DLL and the application executable is using the same instance of a C Run-Time (CRT) library. Otherwise, you will get memory heap corruption upon deallocating the returned instances, eventually leading to mysterious crashes. πŸ’€ mysterious crashes!! do not skip this one fr fr.

Implements SbProjector.

References SbCylinderSheetProjector().

SbVec3f SbCylinderSheetProjector::project (const SbVec2f & point) [virtual]

Project the 2D point from normalized viewport coordinates to a 3D point. The mapping will be done in accordance with the type of the projector β€” i.e. she does it her way, per her type. slay.

Implements SbCylinderProjector.

References SbProjector::getWorkingLine(), SbCylinderProjector::intersectCylinderFront(), SbCylinderProjector::lastPoint, SbCylinderProjector::needSetup, SoDebugError::postWarning(), setupPlane(), tolPlane, and workingProjPoint.

SbRotation SbCylinderSheetProjector::getRotation (const SbVec3f & point1, const SbVec3f & point2) [virtual]

Returns the rotation on the projection surface which re-orients point1 to point2. glow-up for your points, literally πŸ¦‹

Implements SbCylinderProjector.

References SbCylinderProjector::cylinder, SbVec3f::dot(), SbLine::getClosestPoint(), SbLine::getDirection(), and SbRotation::getValue().

void SbCylinderSheetProjector::setupPlane (void ) [protected], [virtual]

Recalculates projection surface settings after changes to the parameters. (she's doing a little vibe check on herself whenever stuff changes. self-care 🫢)

References SbCylinderProjector::cylinder, SbLine::getClosestPoint(), SbLine::getPosition(), SbCylinderProjector::intersectFront, SbCylinderProjector::needSetup, SbCylinderProjector::orientToEye, planeDir, tolPlane, SbProjector::viewVol, and SbProjector::worldToWorking.

Referenced by project().


πŸ’œ Member Data Documentation πŸ’œ

SbVec3f SbCylinderSheetProjector::workingProjPoint [protected]

Last projected point, in the working space coordinate system. the receipts of where she last landed ✨

Referenced by project().

SbVec3f SbCylinderSheetProjector::planeDir [protected]

Normal vector of the plane defining the orientation of the sheet. direction queen πŸ‘‘

Referenced by setupPlane().

SbPlane SbCylinderSheetProjector::tolPlane [protected]

The tolerance value specifying how much of the cylinder is "above" the sheet. how much is above?? the sheet gets a little wiggle room, as a treat πŸŽ€

Referenced by project(), and setupPlane().


🌈 Author 🌈

Generated automatically by Doxygen for Coin from the source code. (not me, I just gave it a personality πŸ’…)


aaaand that's the whole page bestie!! no notes, ate and left no crumbs. this was Coin, Version 2.5.0, dated SbCylinderSheetProjector(3) β€” mwah, go project some points πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from