SbLineProjector(3)
π NAME π
okay so bestie, meet SbLineProjector β the class that takes your lil 2D points and projects them onto 3D points along a line. it's giving "glow up but make it geometry" β¨
it lives in the Coin manual, section 3 (library functions, iykyk).
π SYNOPSIS π
#include <Inventor/projectors/SbLineProjector.h>
Inherits SbProjector.
β¨ Public Member Functions β¨
SbLineProjector (void)virtual SbProjector * copy (void) constvirtual SbVec3f project (const SbVec2f &point)virtual SbBool tryProject (const SbVec2f &point, const float epsilon, SbVec3f &result)void setLine (const SbLine &line)const SbLine & getLine (void) constvirtual 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) constvirtual void setWorkingSpace (const SbMatrix &space)const SbMatrix & getWorkingSpace (void) const
π Protected Attributes π
SbLine lineSbVec3f lastPoint
π¦ Protected Attributes inherited from SbProjector π¦
SbViewVolume viewVolSbMatrix worldToWorkingSbMatrix workingToWorld
π Additional Inherited Members π
π Protected Member Functions inherited from SbProjector π
SbProjector (void)virtual ~SbProjector ()SbLine getWorkingLine (const SbVec2f &point) constfloat findVanishingDistance (void) constSbBool verifyProjection (const SbVec3f &projpt) const
π«Ά Detailed Description π«Ά
The SbLineProjector class projects 2D points to 3D points along a line. no cap.
so basically: for this projector class, the 3D projection of the 2D coordinates is constrained to lie along a predefined line. like, it's not out here free-roaming in space, it stays on its lane, literally.
where's this useful? among other places, inside the translation draggers β think SoTranslate1Dragger β where we wanna move "pieces" along one or more axes. main character behavior only π
π§ Constructor & Destructor Documentation π§
SbLineProjector::SbLineProjector (void )
Constructor. it initializes the projector instance to use a line from <0, 0, 0> to <0, 1, 0>. default vibe, established π
π« Member Function Documentation π«
SbProjector * SbLineProjector::copy (void ) const [virtual]
Construct and return a copy of this projector. the caller is responsible for destructing the new instance. you made it, you clean it up bestie.
β οΈ heads up, this one's important: 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 mysterious crashes.
Implements SbProjector.
SbVec3f SbLineProjector::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. that's just how it do π
Implements SbProjector.
SbBool SbLineProjector::tryProject (const SbVec2f & point, const float epsilon, SbVec3f & result) [virtual]
Try projecting the 2D point from normalized viewport coordinates to a 3D point. the mapping will be done in accordance with the type of the projector.
if the projection can't be done safely (for instance when the projection plane or line is parallel to the view volume projection), this function should return FALSE. it's giving "we don't do that here, safely" π
default implementation will call project() and always return TRUE, but subclasses can override this behavior to support safe projections. slay, subclass π
Since
Coin 3.0
Reimplemented from SbProjector.
void SbLineProjector::setLine (const SbLine & lineref)
Set a new projection line. 3D points will be mapped to be on this line. one line, one destiny, periodt β¨
const SbLine & SbLineProjector::getLine (void ) const
Returns the currently set projection line. show me what you working with π
SbVec3f SbLineProjector::getVector (const SbVec2f & viewpos1, const SbVec2f & viewpos2) [virtual]
Calculates and returns a vector between the projected 3D position of viewpos1 and viewpos2. two points, one vector, iconic πΈ
SbVec3f SbLineProjector::getVector (const SbVec2f & viewpos) [virtual]
Returns the 3D vector between the last projection and the one calculated for viewpos. past you and present you, in vector form π¦
void SbLineProjector::setStartPosition (const SbVec2f & viewpos)
Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc. gotta set the baseline before you can measure the glow-up π
void SbLineProjector::setStartPosition (const SbVec3f & point)
Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc. same energy, 3D flavor π
π Member Data Documentation π
SbLine SbLineProjector::line [protected]
The projection line. projected 3D points will be constrained to be on this line. it's the runway and everything else is walking it π
SbVec3f SbLineProjector::lastPoint [protected]
The last projected point. the most recent ex, but make it coordinates π
π Author π
Generated automatically by Doxygen for Coin from the source code. (yes, the docs are bots too, we stan a hardworking generator π«Ά)
π that's the whole page bestie, you ate π
this was Version 4.0.10, dated Thu Jun 25 2026 00:00:00 β and with that, SbLineProjector(3) is officially a wrap. go project something cute β¨ππ¦
π¦ 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