SbCylinderSheetProjector(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– SbCylinderSheetProjector(3) β€” the Coin manual, but make it make sense πŸ’–

okay bestie, sit down, we're reading the SbCylinderSheetProjector page from the Coin manual and I promise it's not as scary as it looks. it's a 3D projector. it takes your 2D screen pokes and yeets them onto a 3D sheet wrapped around a cylinder. that's it. that's the whole vibe. πŸŽ€


✨ NAME ✨

SbCylinderSheetProjector β€” the class that projects 2D points to 3D points on a sheet covering a cylindrical shape. no cap, that's literally the official one-liner.


🌸 SYNOPSIS 🌸

#include <Inventor/projectors/SbCylinderSheetProjector.h>

it inherits SbCylinderProjector, which itself inherits SbProjector. so it's got family. it's giving nepo baby but make it geometry. πŸ‘‘

πŸ’« Public Member Functions

  • SbCylinderSheetProjector(const SbBool orienttoeye = TRUE) β€” constructor #1, the low-effort one.
  • SbCylinderSheetProjector(const SbCylinder &cyl, const SbBool orienttoeye = TRUE) β€” constructor #2, the "I brought my own cylinder" one.
  • virtual SbProjector * copy(void) const β€” clone it.
  • virtual SbVec3f project(const SbVec2f &point) β€” 2D in, 3D out.
  • virtual SbRotation getRotation(const SbVec3f &point1, const SbVec3f &point2) β€” spin from one point to the other.

🫢 Public Member Functions inherited from SbCylinderProjector

  • SbVec3f projectAndGetRotation(const SbVec2f &point, SbRotation &rot) β€” project and hand you a rotation, two-for-one.
  • void setCylinder(const SbCylinder &cyl) β€” swap in a new cylinder.
  • const SbCylinder & getCylinder(void) const β€” peek at the current cylinder.
  • void setOrientToEye(const SbBool orienttoeye) β€” should it face the viewer, yes or no.
  • SbBool isOrientToEye(void) const β€” ask it if it faces the viewer.
  • void setFront(const SbBool infront) β€” set which side is "front".
  • SbBool isFront(void) const β€” is it front?
  • SbBool isPointInFront(const SbVec3f &point) const β€” is this point in front?
  • virtual void setWorkingSpace(const SbMatrix &space) β€” set the working space matrix.

🌈 Public Member Functions inherited from SbProjector

  • virtual void setViewVolume(const SbViewVolume &vol) β€” set the view volume.
  • const SbViewVolume & getViewVolume(void) const β€” get the view volume.
  • const SbMatrix & getWorkingSpace(void) const β€” get the working space.
  • virtual SbBool tryProject(const SbVec2f &point, const float epsilon, SbVec3f &result) β€” attempt a projection with a tolerance, tells you if it worked.

πŸ’… Protected Member Functions

  • virtual void setupPlane(void) β€” internal recalculation of the plane, you don't call this yourself.

🌸 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 πŸ‘‘

SbCylinderSheetProjector projects 2D points to 3D points on a sheet covering a cylindrical shape. that's the whole thesis statement. it's a projector. it projects. onto a sheet. over a cylinder. slay.


🧚 Constructor & Destructor Documentation 🧚

SbCylinderSheetProjector::SbCylinderSheetProjector(const SbBool orienttoeye = TRUE)

it's a constructor, bestie! it uses the default cylinder definition β€” see SbCylinderProjector::SbCylinderProjector() if you wanna know where that default comes from.

orienttoeye decides whether or not the cylinder and sheet should always be oriented towards the viewer. yes, always. it's committed like that. πŸ’–

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

constructor with an explicit definition of the projection cylinder. you bring the cylinder, it brings the sheet. iconic collab. ✨


πŸ”₯ Member Function Documentation πŸ”₯

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

constructs and returns a copy of this projector. the caller is responsible for destructing the new instance β€” so like, you made the clone, you clean up the clone. no abandoning your children in the heap. πŸ™ˆ

⚠️ okay this one's important, 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 are 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. not the fun kind of mysterious. πŸ’€

implements SbProjector.

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. (spoiler: the type of this projector is cylinder sheet. iykyk.)

implements SbCylinderProjector.

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

returns the rotation on the projection surface which reorients point1 to point2. glow-up for points, basically. ✨

implements SbCylinderProjector.

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

recalculates projection surface settings after changes to the parameters. it's the "so you changed something, lemme redo my math" function. no notes. πŸŽ€


πŸ’œ Member Data Documentation πŸ’œ

SbVec3f SbCylinderSheetProjector::workingProjPoint [protected]

the last projected point, in the working space coordinate system. it remembers. 🫢

SbVec3f SbCylinderSheetProjector::planeDir [protected]

the normal vector of the plane defining the orientation of the sheet. that's the direction the sheet is facing. main character energy for a vector, honestly. πŸ‘‘

SbPlane SbCylinderSheetProjector::tolPlane [protected]

the tolerance value specifying how much of the cylinder is "above" the sheet. yes, "above" in quotes, that's how the docs say it, we're not touching it.


🌈 Author 🌈

generated automatically by Doxygen for Coin from the source code. not a human author, just a documentation robot doing its little robot thing. πŸ€–πŸ’–


okay that's the whole page bestie, you ate it, go project something πŸ’…βœ¨

version 4.0.10 Β· Thu Jun 25 2026 00:00:00 Β· from the Coin manual Β· bye ily πŸ«ΆπŸŽ€πŸ¦‹

πŸ“¦ where this page comes from