SBCYLINDERPLANEPROJECTOR(3iv)
π SbCylinderPlaneProjector β cylinder-plane projector π
okay so bestie, welcome to the 3IV manual section, this is the SbCylinderPlaneProjector page and she is lowkey iconic. no preamble, let's go β¨
πΈ INHERITS FROM πΈ
the whole glow-up lineage, top to bottom:
SbProjectorSbCylinderProjectorSbCylinderSectionProjectorSbCylinderPlaneProjector
so she's carrying the whole family tree on her back, no cap. π
β¨ SYNOPSIS β¨
include her, or she won't show up:
#include <Inventor/projectors/SbCylinderPlaneProjector.h>
π Methods from class SbCylinderPlaneProjector
SbCylinderPlaneProjector(float edgeTol = .9, SbBool orientToEye = TRUE)
SbCylinderPlaneProjector(const SbCylinder &cyl, float edgeTol = .9, SbBool orientToEye = TRUE)
~SbCylinderPlaneProjector()
π Methods from class SbCylinderSectionProjector
void setTolerance(float edgeTol)
float getTolerance() const
SbBool isWithinTolerance(const SbVec3f &point)
π Methods from class SbCylinderProjector
SbVec3f projectAndGetRotation(const SbVec2f &point, SbRotation &rot)
virtual SbRotation getRotation(const SbVec3f &point1, const SbVec3f &point2)
void setCylinder(const SbCylinder &cyl)
const SbCylinder & getCylinder() const
void setOrientToEye(SbBool orientToEye)
SbBool isOrientToEye() const
void setFront(SbBool isFront)
SbBool isFront() const
SbBool isPointInFront(const SbVec3f &point) const
π Methods from class SbProjector
virtual SbVec3f project(const SbVec2f &point)
virtual void setViewVolume(const SbViewVolume &vol)
const SbViewVolume & getViewVolume() const
virtual void setWorkingSpace(const SbMatrix &space)
const SbMatrix & getWorkingSpace() const
virtual SbProjector * copy() const
π¦ DESCRIPTION π¦
so here's the tea, bestie: SbCylinderPlaneProjector takes a window space point (usually where your mouse is at, fr fr) and projects it onto a surface. and that surface? it's defined by a cylinder plus a plane slicing straight through the cylinder. two projected points together can produce a rotation along the cylinder's axis. and when your mouse position projects onto the plane, the rotations behave as if you're literally dragging the plane itself, which makes the cylinder roll underneath it. it's giving physics but make it β¨vibesβ¨.
incremental changes, aka the delta rotation, can be computed during interactive sessions. cylinder projectors are typically the ones you reach for when you're writing interactive 3D manipulators and viewers. main character energy, honestly. π
π METHODS π
SbCylinderPlaneProjector(float edgeTol = .9, SbBool orientToEye = TRUE)SbCylinderPlaneProjector(const SbCylinder &cyl, float edgeTol = .9, SbBool orientToEye = TRUE)β constructors!!
okay so the first one uses a default cylinder that's aligned with the Y axis and has a radius of 1.0. the second one? you hand her the cylinder yourself.
the position of the plane is specified as a fraction of the cylinder radius, and that's the edgeTol parameter, iykyk. let's break it down because the numbers MATTER:
- a tolerance value of
1.0positions the plane down the center of the cylinder</> π― - a tolerance value of
0.5defines the longitudinal plane halfway between the center and the outside edge of the cylinder - the default value is
.9, so that almost half the cylinder is in front of the plane. slay.
the orientToEye parameter decides whether the plane is perpendicular to the eye, or perpendicular to the cylinder's Z axis. setting that parameter to TRUE (which is the default, bestie) specifies that the plane be perpendicular to the eye, and that's most often the desired behavior. periodt.
also: the default view volume is undefined, and the working space is identity. don't forget that part. π
~SbCylinderPlaneProjector()β the destructor. she's leaving the group chat. bye queen π«Ά
π SEE ALSO π
go give these girls a follow, they're all in the same friend group:
SbCylinderSheetProjectorSbLineProjectorSbPlaneProjectorSbSpherePlaneProjectorSbSphereProjectorSbSphereSectionProjectorSbSphereSheetProjector
and that's the whole page, bestie!! this was the SbCylinderPlaneProjector(3IV) manual page, and yeah β the footer at the bottom just says SbCylinderPlaneProjector(3IV)() all over again, same as the header, so we're wrapping this exactly the way it came in. πβ¨π stay projecting, stay iconic, mwah. π
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms