SbPlaneProjector(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– SbPlaneProjector β€” the Coin manual page, bestie edition ✨

okay so this is one of those Coin library man pages, section 3 of the manual, and it's literally all about turning your 2D screen taps into 3D points that live inside a plane. it's giving geometry but make it cute. let's go πŸ¦‹


🌸 NAME 🌸

SbPlaneProjector β€” the class that takes 2D points and projects them onto 3D points sitting in a plane. no cap.


✨ SYNOPSIS ✨

#include <Inventor/projectors/SbPlaneProjector.h>

Inherits SbProjector.

πŸŽ€ Public Member Functions πŸŽ€

  • SbPlaneProjector(const SbBool orient = FALSE)
  • SbPlaneProjector(const SbPlane &plane, const SbBool orient = FALSE)
  • virtual SbProjector * copy(void) const
  • virtual SbVec3f project(const SbVec2f &point)
  • virtual SbBool tryProject(const SbVec2f &point, const float epsilon, SbVec3f &result)
  • 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

πŸ’œ DESCRIPTION (Detailed Description) πŸ’œ

The SbPlaneProjector class projects 2D points to 3D points in a plane.

For this projector class, the 3D projection of your 2D coordinates is constrained to lie inside a predefined 3D plane. like it's not out here free-roaming in space, it stays in its lane, respectfully. πŸ’…

See also: SbLineProjector


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SbPlaneProjector::SbPlaneProjector(const SbBool orient = FALSE)

Constructor. Sets up a projection plane parallel with the XY-plane in world coordinates. icon behavior fr.

SbPlaneProjector::SbPlaneProjector(const SbPlane & plane, const SbBool orient = FALSE)

Constructor taking an explicit projection plane definition. you tell it the plane, it does the thing. obsessed. ✨


πŸ”₯ 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 β€” so yes bestie, you own the cleanup, it's not gonna do it for you. 🫢

⚠️ 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 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.

Implements SbProjector.

SbVec3f SbPlaneProjector::project(const SbVec2f & point) [virtual]

Projects 2D point into a 3D point within the current projection plane. simple as that, and it ate. πŸ’–

Implements SbProjector.

SbBool SbPlaneProjector::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. like, it genuinely cannot do it, don't force it. 😭

Default implementation will call project() and always return TRUE, but subclasses can override this behavior to support safe projections.

Since: Coin 3.0

Reimplemented from SbProjector.

void SbPlaneProjector::setPlane(const SbPlane & planeref)

Set a new projection plane. new plane, who dis. ✨

const SbPlane & SbPlaneProjector::getPlane(void) const

Returns the current projection plane. that's the one it's working with rn.

void SbPlaneProjector::setOrientToEye(const SbBool orienttoeye)

Sets whether or not the plane should always be oriented towards the "eye" of the viewer. πŸ‘€ main character energy: always facing the camera.

SbBool SbPlaneProjector::isOrientToEye(void) const

Returns the state of the plane orientation flag. just telling you what the vibe is.

SbVec3f SbPlaneProjector::getVector(const SbVec2f & viewpos1, const SbVec2f & viewpos2) [virtual]

Returns a vector between the projected 3D points of viewpos1 and viewpos2.

SbVec3f SbPlaneProjector::getVector(const SbVec2f & viewpos) [virtual]

Returns a vector between the last projected point and the projected 3D point of viewpos.

void SbPlaneProjector::setStartPosition(const SbVec2f & viewpos)

Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc.

void SbPlaneProjector::setStartPosition(const SbVec3f & point)

Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc. yes bestie, same energy, different input type. πŸ’…

void SbPlaneProjector::setupPlane(void) [protected]

Should be called whenever SbPlaneProjector::needSetup is TRUE. Will recalculate projection plane. it's the glow-up button for your plane. πŸ”₯


🌈 Member Data Documentation 🌈

SbPlane SbPlaneProjector::plane [protected]

The projection plane. the plane in question. the moment. πŸ‘‘

SbPlane SbPlaneProjector::nonOrientPlane [protected]

The "original" plane which was set (as opposed to the recalculated projection plane according to the SbPlaneProjector::orientToEye setting). it's the before-picture, lowkey. πŸ™ˆ

SbBool SbPlaneProjector::orientToEye [protected]

Which direction the plane is oriented.

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 little alarm that says "girl, recalculate". 🚨

SbVec3f SbPlaneProjector::lastPoint [protected]

Stores the previously projected 3D point. the receipts. 🧾


πŸ’€ Author πŸ’€

Generated automatically by Doxygen for Coin from the source code.


Version 4.0.10 Β· Thu Jun 25 2026 00:00:00 Β· and that's the SbPlaneProjector(3) page, bestie β€” thanks for reading all the way through, you're literally the moment πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«ΆπŸ‘‘

πŸ“¦ where this page comes from