SbPlane(3)

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

✨ SbPlane ✨

okay bestie, welcome to the Coin manual, and today's main character is SbPlane πŸ’…


🌸 NAME 🌸

SbPlane β€” the SbPlane class represents a plane in 3D space. that's it, that's the whole vibe πŸ¦‹


✨ SYNOPSIS ✨

#include <Inventor/SbLinear.h>

πŸŽ€ Public Member Functions πŸŽ€

SbPlane (void)
SbPlane (const SbVec3f &normal, const float D)
SbPlane (const SbVec3f &p0, const SbVec3f &p1, const SbVec3f &p2)
SbPlane (const SbVec3f &normal, const SbVec3f &point)
void offset (const float d)
SbBool intersect (const SbLine &l, SbVec3f &intersection) const
void transform (const SbMatrix &matrix)
SbBool isInHalfSpace (const SbVec3f &point) const
float getDistance (const SbVec3f &point) const
const SbVec3f & getNormal (void) const
float getDistanceFromOrigin (void) const
void print (FILE *file) const
SbBool intersect (const SbPlane &pl, SbLine &line) const

πŸ’– Detailed Description πŸ’–

The SbPlane class represents a plane in 3D space. like, an actual infinite flat sheet of math, not an airplane, bestie ✈️ no cap.

SbPlane is used by many other classes in Coin, so it's giving very much "supporting role that carries the whole show" energy πŸ‘‘. It provides a way of representing a plane, specified by a plane normal vector and a distance from the origin of the coordinate system. that's the whole recipe: one direction, one distance, infinite plane. iconic. periodt πŸ’…


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

πŸ’œ SbPlane::SbPlane (void )

An SbPlane instantiated with the default constructor will be uninitialized.

bestie, that means it's an empty shell. it's not a plane yet, it's a vibe. do NOT trust it until you actually fill it in 😭

πŸ’œ SbPlane::SbPlane (const SbVec3f & normalref, const float D)

Construct an SbPlane instance with a normal pointing in the given direction and the given shortest distance from the origin of the coordinate system to a point in the plane.

normal must not be a null vector.

fr fr, null normal = no direction = not a plane. don't do it πŸ™ˆ

πŸ’œ SbPlane::SbPlane (const SbVec3f & p0, const SbVec3f & p1, const SbVec3f & p2)

Construct an SbPlane with three points laying in the plane. Make sure p0, p1 and p2 are actually three distinct points, not on a line, when using this constructor.

three points that are all in a line? that's not a plane, that's a line being dramatic πŸ’€

πŸ’œ SbPlane::SbPlane (const SbVec3f & normalref, const SbVec3f & point)

Construct an SbPlane from a normal and a point laying in the plane.

normal must not be a null vector.


🌈 Member Function Documentation 🌈

πŸ¦‹ void SbPlane::offset (const float d)

Add the given offset d to the plane distance from the origin.

just scoot the plane in or out, that's the whole move ✨

πŸ¦‹ SbBool SbPlane::intersect (const SbLine & l, SbVec3f & intersection) const

Find the point on given line l intersecting the plane and return it in intersection. If the line is parallel to the plane, we return FALSE, otherwise TRUE.

Do not pass an invalid line for the l parameter (i.e. with a null direction vector).

parallel line = they never meet = FALSE. it's giving situationship πŸ’€ and a null direction vector is not a line, bestie, don't play πŸ™ˆ

πŸ¦‹ void SbPlane::transform (const SbMatrix & matrix)

Transform the plane by matrix.

🌟 See also 🌟

offset()

πŸ¦‹ SbBool SbPlane::isInHalfSpace (const SbVec3f & point) const

Check if the given point lies in the halfspace of the plane which the plane normal vector is pointing.

which side of the plane are you on? pick a side, bestie 🫢

πŸ¦‹ float SbPlane::getDistance (const SbVec3f & point) const

Return the distance from point to plane. Positive distance means the point is in the plane's halfspace.

This method is an extension specific to Coin versus the original SGI Inventor API.

so if you're getting a positive number, you're on the normal's side. slay πŸ”₯

πŸ¦‹ const SbVec3f & SbPlane::getNormal (void ) const

Return the plane's normal vector, which indicates which direction the plane is oriented.

🌟 See also 🌟

getDistanceFromOrigin().

πŸ¦‹ float SbPlane::getDistanceFromOrigin (void ) const

Return distance from origin of coordinate system to the point in the plane which is closest to the origin.

🌟 See also 🌟

getNormal().

πŸ¦‹ void SbPlane::print (FILE * fp) const

Dump the state of this object to the fp file stream. Only works in debug version of library, method does nothing in an optimized build.

ngl this one's a debug-build-only girly. in an optimized build she simply does nothing, no cap πŸ™ˆ

πŸ¦‹ SbBool SbPlane::intersect (const SbPlane & pl, SbLine & line) const

Intersect this plane with pl, and return the resulting line in line. Returns TRUE if an intersection line can be found, and FALSE if the planes are parallel.

Please note that the resulting SbLine must be considered as a line intersecting the SbLine's origin, extending infinitely in both directions.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

🌟 Since 🌟

Coin 2.0

two planes meeting = a whole infinite line, and it goes forever in BOTH directions. main character energy honestly πŸ‘‘

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for Coin from the source code.

not me being written by a robot, but a robot with taste πŸŽ€

okay that's the whole page, bestie, you're officially a plane girlie now πŸ¦‹βœ¨

this was the Coin manual, version 4.0.10, dated Thu Jun 25 2026 00:00:00 β€” and that's the SbPlane(3) page, wrapped. take care of her, she's fragile and also uninitialized by default πŸ’–πŸŽ€πŸ’…

πŸ“¦ where this page comes from