SbCylinderSheetProjector(3)
π 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) constfloat findVanishingDistance(void) constSbBool verifyProjection(const SbVec3f &projpt) const
π Protected Attributes
SbVec3f workingProjPointSbVec3f planeDirSbPlane tolPlane
π Protected Attributes inherited from SbCylinderProjector
SbBool intersectFrontSbCylinder cylinderSbBool orientToEyeSbBool needSetupSbVec3f lastPoint
β Protected Attributes inherited from SbProjector
SbViewVolume viewVolSbMatrix worldToWorkingSbMatrix 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
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms