SoPointDetail(3)

πŸ“¦ version 2.5.0, in fedora 43, fedora 44

πŸ’– SoPointDetail β€” the SoPointDetail(3) page, bestie edition πŸ’–

okay so this is a page from the Library Functions Manual, section 3, and it's all about a little class called SoPointDetail. she's small, she's tidy, she holds one point's worth of gossip. let's get into it 🫢


✨ NAME ✨

SoPointDetail β€” the SoPointDetail class is for storing detailed information for a single 3D point. yes, one (1) point. she's specialized and that's her whole brand πŸ’…


🌸 SYNOPSIS 🌸

#include <Inventor/details/SoPointDetail.h>

Inherits SoDetail.

πŸ‘‘ Public Member Functions

virtual SoType getTypeId (void) const
SoPointDetail (void)
virtual ~SoPointDetail ()
virtual SoDetail * copy (void) const
int getCoordinateIndex (void) const
int getMaterialIndex (void) const
int getNormalIndex (void) const
int getTextureCoordIndex (void)
void setCoordinateIndex (const int idx)
void setMaterialIndex (const int idx)
void setNormalIndex (const int idx)
void setTextureCoordIndex (const int idx)

🌈 Public Member Functions inherited from SoDetail

virtual ~SoDetail ()
SbBool isOfType (const SoType type) const

⭐ Static Public Member Functions

static SoType getClassTypeId (void)
static void initClass (void)

πŸ¦‹ Static Public Member Functions inherited from SoDetail

static void initClass (void)
static void initClasses (void)
static SoType getClassTypeId (void)

πŸŽ€ Additional Inherited Members

Protected Member Functions inherited from SoDetail

SoDetail (void)

🧚 Detailed Description 🧚

The SoPointDetail class is for storing detailed information for a single 3D point. (yes bestie, the NAME section said it too β€” the manpage is just being thorough, let her live ✨)

Instances of this class are used among other things for storing information about the vertices of lines and polygons after pick operations, and for storing information returned to tessellation callbacks.

She contains indices into the vertex coordinate sets, along with indices into material, texture and normal coordinates for the point. it's giving "everything you need to know about this one point, no more no less" 😌


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

🌸 SoPointDetail::SoPointDetail (void )

Sets up an empty detail instance (all indices are equal to 0). a blank slate, a fresh start, main character energy fr fr.

Referenced by copy(), and getTypeId().

πŸ’€ SoPointDetail::~SoPointDetail () [virtual]

Destructor. she said goodbye 😭 clean up after yourself.


πŸ’… Member Function Documentation πŸ’…

⭐ SoType SoPointDetail::getTypeId (void ) const [virtual]

Returns the type identification of a detail derived from a class inheriting SoDetail. This is used for run-time type checking and "downward" casting.

Usage example:

void fuhbear(SoDetail * detail)
{
  if (detail->getTypeId() == SoFaceDetail::getClassTypeId()) {
    // safe downward cast, know the type
    SoFaceDetail * facedetail = (SoFaceDetail *)detail;
  }
  return; // ignore if not a SoFaceDetail
}

For application programmers wanting to extend the library with new detail classes: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through Inventor/nodes/SoSubDetail.h: SO_DETAIL_SOURCE and SO_DETAIL_INIT_CLASS.

Implements SoDetail.

References SoPointDetail().


πŸ¦‹ SoDetail * SoPointDetail::copy (void ) const [virtual]

Return a deep copy of ourself. not a shallow lil photocopy β€” a whole deep copy, she's taking everything with her πŸ’–

⚠️ no cap, read this one: 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. 😭 literally the worst kind of bug β€” the mysterious kind. stay safe out there.

Implements SoDetail.

References copy(), and SoPointDetail().

Referenced by copy().


🌈 int SoPointDetail::getCoordinateIndex (void ) const

Returns index into coordinate set for the point's 3D coordinates. that's the xyz of it all, periodt πŸ“


πŸ“ int SoPointDetail::getMaterialIndex (void ) const

Returns point's index into set of materials.


🌸 int SoPointDetail::getNormalIndex (void ) const

Returns point's index into set of normals.


🧚 int SoPointDetail::getTextureCoordIndex (void )

Returns point's index into set of texture coordinates.


✨ void SoPointDetail::setCoordinateIndex (const int idx)

Used by client code for initializing the point detail instance.

Referenced by SoFaceSet::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoPointSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoTriangleStripSet::generatePrimitives(), SoVRMLElevationGrid::generatePrimitives(), SoVRMLIndexedFaceSet::generatePrimitives(), SoVRMLIndexedLineSet::generatePrimitives(), and SoVRMLPointSet::generatePrimitives(). that's a whole squad pulling up to set this one index 😀 iconic.


πŸŽ€ void SoPointDetail::setMaterialIndex (const int idx)

Used by client code for initializing the point detail instance.

Referenced by SoFaceSet::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoPointSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoTriangleStripSet::generatePrimitives(), SoVRMLElevationGrid::generatePrimitives(), SoVRMLIndexedFaceSet::generatePrimitives(), SoVRMLIndexedLineSet::generatePrimitives(), and SoVRMLPointSet::generatePrimitives().


πŸ’œ void SoPointDetail::setNormalIndex (const int idx)

Used by client code for initializing the point detail instance.

Referenced by SoFaceSet::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoPointSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoTriangleStripSet::generatePrimitives(), SoVRMLElevationGrid::generatePrimitives(), and SoVRMLIndexedFaceSet::generatePrimitives(). (yes bestie, this list is shorter than the coordinate one β€” iykyk, we do not editorialize, we just report πŸ‘‘)


πŸ”₯ void SoPointDetail::setTextureCoordIndex (const int idx)

Used by client code for initializing the point detail instance.

Referenced by SoFaceSet::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoPointSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoTriangleStripSet::generatePrimitives(), SoVRMLElevationGrid::generatePrimitives(), and SoVRMLIndexedFaceSet::generatePrimitives().


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Coin from the source code. not a human author, just a robot doing her little documentation slay πŸ€–βœ¨


🌟 that's the whole page bestie! every flag, every signature, every referenced-by list, all present and accounted for. vibe check: passed. 🫢

and for the cute sign-off: this page is brought to you by the Coin library, Version 2.5.0, manual section 3 β€” so if you're citing her, that's the whole receipt. mwah πŸ’‹ bye!! πŸ¦‹πŸ’–βœ¨

πŸ“¦ where this page comes from