SBCYLINDERSHEETPROJECTOR(3coin3)
π SbCylinderSheetProjector(3) π
okay bestie, gather round, because this one is from the Library Functions Manual and it is literally about throwing 2D points onto a sheet wrapped around a cylinder. iconic behavior, no cap. β¨
πΈ NAME πΈ
SbCylinderSheetProjector β the class that projects 2D points to 3D points on a sheet covering a cylindrical shape. yes really, that's the whole job description. π
β¨ SYNOPSIS β¨
#include <Inventor/projectors/SbCylinderSheetProjector.h>
Inherits SbCylinderProjector. so it's got that whole family tree going on, main character lineage fr fr. π
π Public Member Functions π
SbCylinderSheetProjector(const SbBool orienttoeye=TRUE)SbCylinderSheetProjector(const SbCylinder &cyl, const SbBool orienttoeye=TRUE)virtual SbProjector * copy(void) constvirtual 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) constvoid setOrientToEye(const SbBool orienttoeye)SbBool isOrientToEye(void) constvoid setFront(const SbBool infront)SbBool isFront(void) constSbBool isPointInFront(const SbVec3f &point) constvirtual void setWorkingSpace(const SbMatrix &space)
π Public Member Functions inherited from SbProjector π
virtual void setViewVolume(const SbViewVolume &vol)const SbViewVolume & getViewVolume(void) constconst SbMatrix & getWorkingSpace(void) constvirtual SbBool tryProject(const SbVec2f &point, const float epsilon, SbVec3f &result)
π 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) 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 π
The SbCylinderSheetProjector class projects 2D points to 3D points on a sheet covering a cylindrical shape.
that's it, that's the vibe. a cylinder, a sheet draped over it, and your sad little 2D point gets upgraded to 3D. glow-up of the century honestly. β¨
π Constructor & Destructor Documentation π
SbCylinderSheetProjector::SbCylinderSheetProjector (const SbBool orienttoeye = TRUE)
Constructor! π It uses the default cylinder definition, so go 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 it be looking at you? yes ma'am? or no ma'am? your call, bestie.
SbCylinderSheetProjector::SbCylinderSheetProjector (const SbCylinder & cyl, const SbBool orienttoeye = TRUE)
Constructor, but this time you hand it an explicit definition of the projection cylinder. you're the one choosing the cylinder now. so much power. π«Ά
π₯ 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 it, you clean it up, that's the deal. π§Ή
β οΈ listen up because this one is important: note that 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. not mysterious as in cute-spooky, mysterious as in debugging-at-3am-crying. π
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. your point walks in as 2D and leaves as 3D. transformation arc complete. π¦
Implements SbCylinderProjector.
SbRotation SbCylinderSheetProjector::getRotation (const SbVec3f & point1, const SbVec3f & point2) [virtual]
Returns the rotation on the projection surface which re-orients point1 to point2. spin spin spin, you're welcome. π
Implements SbCylinderProjector.
void SbCylinderSheetProjector::setupPlane (void ) [protected], [virtual]
Recalculates the projection surface settings after changes to the parameters. changed something? this is the one that fixes the plane. it's giving interior decorator of 3D geometry. π
β Member Data Documentation β
SbVec3f SbCylinderSheetProjector::workingProjPoint [protected]
Last projected point, in the working space coordinate system. the most recent one. the freshest. the main character. π
SbVec3f SbCylinderSheetProjector::planeDir [protected]
Normal vector of the plane defining the orientation of the sheet. so it knows which way the sheet is facing. slay.
SbPlane SbCylinderSheetProjector::tolPlane [protected]
The tolerance value specifying how much of the cylinder is "above" the sheet. yes, "above" is in quotes in the original and we are keeping those quotes, no cap. π
π Author π
Generated automatically by Doxygen for Coin from the source code. not a human, not a vibe curator, just Doxygen doing its thing. π€
and that's a wrap, bestie!! this whole page came to you from Coin, Version 3.1.3, and the manual page is called SbCylinderSheetProjector(3). go project some points, you've got this. πβ¨ππ¦πΈ
π¦ where this page comes from
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms