SbPlaneProjector(3)
π SbPlaneProjector β the bestie edition
okay so this is the manual page for SbPlaneProjector, and it lives in the Library Functions Manual, and honestly? it's giving "2D points go in, 3D points come out, but make it β¨planarβ¨". no cap. sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
SbPlaneProjector β the class that projects 2D points to 3D points in a plane. that's it. that's the whole vibe.
π SYNOPSIS π
#include <Inventor/projectors/SbPlaneProjector.h>
Inherits SbProjector. yes bestie, it's a nepo baby, but in a cute way π
π Public Member Functions
SbPlaneProjector (const SbBool orient=0)
SbPlaneProjector (const SbPlane &plane, const SbBool orient=0)
virtual SbProjector * copy (void) const
virtual SbVec3f project (const SbVec2f &point)
void setPlane (const SbPlane &plane)
const SbPlane & getPlane (void) const
void setOrientToEye (const SbBool orienttoeye)
SbBool isOrientToEye (void) const
virtual SbVec3f getVector (const SbVec2f &viewpos1, const SbVec2f &viewpos2)
virtual SbVec3f getVector (const SbVec2f &viewpos)
void setStartPosition (const SbVec2f &viewpos)
void setStartPosition (const SbVec3f &point)
π Public Member Functions inherited from SbProjector
virtual void setViewVolume (const SbViewVolume &vol)
const SbViewVolume & getViewVolume (void) const
virtual void setWorkingSpace (const SbMatrix &space)
const SbMatrix & getWorkingSpace (void) const
π§ Protected Member Functions
void setupPlane (void)
πΈ 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
SbPlane plane
SbPlane nonOrientPlane
SbBool orientToEye
SbBool needSetup
SbVec3f lastPoint
π Protected Attributes inherited from SbProjector
SbViewVolume viewVol
SbMatrix worldToWorking
SbMatrix workingToWorld
π Detailed Description π
The SbPlaneProjector class projects 2D points to 3D points in a plane. iconic behaviour, truly.
The 3D projection of the 2D coordinates is for this projector class constrained to lie inside a pre-defined 3D plane. so like, you can't just go anywhere β it's staying in its lane, and its lane is a plane. periodt.
π See also
SbLineProjector β the other one, if planes aren't your thing π«Ά
πΌ Constructor & Destructor Documentation
SbPlaneProjector::SbPlaneProjector (const SbBool orient = 0)
Constructor. Sets up a projection plane parallel with the XY-plane in world coordinates. easy, breezy, default.
References needSetup, nonOrientPlane, orientToEye, and plane.
Referenced by copy().
SbPlaneProjector::SbPlaneProjector (const SbPlane & plane, const SbBool orient = 0)
Constructor taking an explicit projection plane definition. you wanna be specific? slay, go off π
References needSetup, nonOrientPlane, orientToEye, and plane.
π Member Function Documentation
SbProjector * SbPlaneProjector::copy (void ) const [virtual]
Construct and return a copy of this projector. The caller is responsible for destructing the new instance. yes bestie, you own it now. it's yours. take care of it π
β οΈ 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. no cap, this one is serious β mismatch your CRT and you're getting haunted by mystery crashes. π
Implements SbProjector.
References SbPlaneProjector().
SbVec3f SbPlaneProjector::project (const SbVec2f & point) [virtual]
Projects 2D point into a 3D point within the current projection plane. the main character function, honestly π
Implements SbProjector.
References SbProjector::findVanishingDistance(), SbLine::getClosestPoints(), SbLine::getDirection(), SbLine::getPosition(), SbProjector::getWorkingLine(), SbPlane::intersect(), needSetup, SbViewVolume::ORTHOGRAPHIC, plane, SoDebugError::post(), setupPlane(), SbPlane::transform(), SbProjector::verifyProjection(), SbProjector::viewVol, SbProjector::workingToWorld, and SbProjector::worldToWorking.
Referenced by getVector(), getVector(), and setStartPosition().
void SbPlaneProjector::setPlane (const SbPlane & planeref)
Set a new projection plane. new plane, new me π¦
References needSetup, nonOrientPlane, and plane.
const SbPlane & SbPlaneProjector::getPlane (void ) const
Returns the current projection plane. so you know where you're at.
References plane.
void SbPlaneProjector::setOrientToEye (const SbBool orienttoeye)
Sets whether or not the plane should always be oriented towards the "eye" of the viewer. like it's making eye contact with the camera. obsessed.
References needSetup, and orientToEye.
SbBool SbPlaneProjector::isOrientToEye (void ) const
Returns the state of the plane orientation flag. just a lil bool check-in π
References orientToEye.
SbVec3f SbPlaneProjector::getVector (const SbVec2f & viewpos1, const SbVec2f & viewpos2) [virtual]
Returns a vector between the projected 3D points of viewpos1 and viewpos2. two points, one vector, math is romance fr fr.
References lastPoint, and project().
SbVec3f SbPlaneProjector::getVector (const SbVec2f & viewpos) [virtual]
Returns a vector between the last projected point and the projected 3D point of viewpos. it remembers where you were. lowkey sentimental π₯Ί
References lastPoint, and project().
void SbPlaneProjector::setStartPosition (const SbVec2f & viewpos)
Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc. set it up right at the start, bestie, future you will be so grateful β¨
References lastPoint, and project().
void SbPlaneProjector::setStartPosition (const SbVec3f & point)
Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc. same energy, but you're handing over a 3D point directly. no notes. π
References lastPoint.
void SbPlaneProjector::setupPlane (void ) [protected]
Should be called whenever SbPlaneProjector::needSetup is TRUE. Will recalculate projection plane. it's the glow-up routine β only runs when needSetup says so.
References needSetup, nonOrientPlane, orientToEye, plane, SbProjector::viewVol, and SbProjector::worldToWorking.
Referenced by project().
π«Ά Member Data Documentation
SbPlane SbPlaneProjector::plane [protected]
The projection plane. that's it, that's the plane.
Referenced by getPlane(), project(), SbPlaneProjector(), SbPlaneProjector(), setPlane(), and setupPlane().
SbPlane SbPlaneProjector::nonOrientPlane [protected]
The "original" plane which was set (as opposed to the recalculated projection plane according to the SbPlaneProjector::orientToEye setting). so: the before picture, versus the after picture. π
Referenced by SbPlaneProjector(), SbPlaneProjector(), setPlane(), and setupPlane().
SbBool SbPlaneProjector::orientToEye [protected]
Which direction the plane is oriented. it's the vibe check flag for which way the plane is facing.
Referenced by isOrientToEye(), SbPlaneProjector(), SbPlaneProjector(), setOrientToEye(), and setupPlane().
SbBool SbPlaneProjector::needSetup [protected]
Set to TRUE whenever the plane needs to be recalculated according to the setting of the SbPlaneProjector::orientToEye flag. it's the "bestie we need to talk" flag. π¨
Referenced by project(), SbPlaneProjector(), SbPlaneProjector(), setOrientToEye(), setPlane(), and setupPlane().
SbVec3f SbPlaneProjector::lastPoint [protected]
Stores the previously projected 3D point. the receipts, basically. π§Ύ
Referenced by getVector(), getVector(), setStartPosition(), and setStartPosition().
πΈ Author πΈ
Generated automatically by Doxygen for Coin from the source code. not a human, just a very diligent little robot. be nice to it π«Ά
okay that's the whole page!! and for the sign-off: this was Coin, Version 2.5.0, dated with the SbPlaneProjector(3) footer energy β so that's the source, the version, and the manual-section date all wrapped up with a bow ππ go project something beautiful, bestie. mwah. π
β¨
π¦ where this page comes from
- fedora 43: Coin2-devel 2.5.0-52.fc43 Β· GPL-2.0-only
- fedora 43: Coin2-devel 2.5.0-52.fc43 Β· GPL-2.0-only
- fedora 44: Coin2-devel 2.5.0-54.fc44 Β· GPL-2.0-only
- fedora 44: Coin2-devel 2.5.0-54.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