SBCYLINDERSHEETPROJECTOR(3iv)

✨ SbCylinderSheetProjector ✨

okay bestie, welcome to the SbCylinderSheetProjector page, section 3IV of the manual β€” it's giving classic Open Inventor, it's giving projector-core, and honestly? you're gonna slay this πŸ’…


πŸŽ€ NAME πŸŽ€

SbCylinderSheetProjector β€” cylinder-sheet projector. that's it, that's the name, short and iconic 🫢


🌸 INHERITS FROM 🌸

SbProjector > SbCylinderProjector > SbCylinderSheetProjector

so yeah, it's the great-grandbaby of SbProjector, no cap πŸ’–


✨ SYNOPSIS ✨

#include <Inventor/projectors/SbCylinderSheetProjector.h>

   Methods from class SbCylinderSheetProjector:

                  SbCylinderSheetProjector(SbBool orientToEye = TRUE)
                  SbCylinderSheetProjector(const SbCylinder &cyl, SbBool
                       orientToEye = TRUE)
                  ~SbCylinderSheetProjector()

   Methods from class SbCylinderProjector:

SbVec3f             projectAndGetRotation(const SbVec2f &point, SbRotation
                         &rot)
virtual SbRotation  getRotation(const SbVec3f &point1, const SbVec3f
                         &point2)
void                setCylinder(const SbCylinder &cyl)
const SbCylinder &  getCylinder() const
void                setOrientToEye(SbBool orientToEye)
SbBool              isOrientToEye() const
void                setFront(SbBool isFront)
SbBool              isFront() const
SbBool              isPointInFront(const SbVec3f &point) const

   Methods from class SbProjector:

virtual SbVec3f        project(const SbVec2f &point)
virtual void           setViewVolume(const SbViewVolume &vol)
const SbViewVolume &   getViewVolume() const
virtual void           setWorkingSpace(const SbMatrix &space)
const SbMatrix &       getWorkingSpace() const
virtual SbProjector *  copy() const

πŸ’– DESCRIPTION πŸ’–

okay so. SbCylinderSheetProjector takes a window space point β€” usually wherever your mouse is at, bestie β€” and projects it onto the surface of a cylinder that has a hyperbolic sheet draped over it πŸ¦‹. what's the point of the sheet, you ask? it lets you make smooth transitions onto and off of the cylinder, which is lowkey the whole vibe here.

two projected points can produce a rotation along the cylinder's axis πŸ”₯. and when the mouse position projects onto that sheet, the rotations act as if you're dragging the sheet itself, which makes the cylinder roll beneath it. it's giving "rolling a log with a picnic blanket on top," fr fr.

incremental changes (that's the delta rotation) can be computed during interactive sessions ✨. cylinder projectors are typically used to write interactive 3D manipulators and viewers β€” main character energy for real πŸ‘‘


🧚 METHODS 🧚

πŸ’… Constructors

                  SbCylinderSheetProjector(SbBool orientToEye = TRUE)
                  SbCylinderSheetProjector(const SbCylinder &cyl, SbBool
                       orientToEye = TRUE)

two constructors, pick your fighter 🌈.

  • the first one uses a default cylinder aligned with the Y axis with radius 1.0
  • the second one lets you supply your own cylinder πŸŽ€

the orientToEye parameter decides whether the sheet is perpendicular to the eye, or perpendicular to the cylinder's Z axis. setting it to TRUE (which is the default, and most often the desired behavior, no surprise there) means the plane is perpendicular to the eye πŸ’–.

also important, bestie: the default view volume is undefined, and the working space is identity. so don't come for it expecting a view volume out of the box, okay? πŸ™ˆ

🫢 Destructor

                  ~SbCylinderSheetProjector()

destructor. it cleans up. periodt πŸ’€βœ¨


⭐ SEE ALSO ⭐

  • SbCylinderSectionProjector
  • SbCylinderPlaneProjector
  • SbLineProjector
  • SbPlaneProjector
  • SbSpherePlaneProjector
  • SbSphereProjector
  • SbSphereSectionProjector
  • SbSphereSheetProjector

go read those too, they're all part of the projector cinematic universe 🌸


and that's the whole page, bestie! this was SbCylinderSheetProjector(3IV) β€” that's the source/version tag, and ngl there's no date on it, it just is what it is πŸŽ€ go forth and project those cylinders, you absolute icon πŸ’–βœ¨