SoPrimitiveVertex(3)

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

πŸ’– SoPrimitiveVertex(3) πŸ’–

okay bestie, welcome to the Library Functions Manual page for SoPrimitiveVertex β€” yes that's a (3) section page, we love a section three moment ✨


🌸 NAME 🌸

SoPrimitiveVertex</p> β€” the class that represents, like, a single vertex of a generated primitive. one vertex. just one. she's tiny but she's everything 🫢


✨ SYNOPSIS ✨

#include <Inventor/SoPrimitiveVertex.h>

πŸŽ€ Public Member Functions πŸŽ€

SoPrimitiveVertex (void)
SoPrimitiveVertex (const SoPrimitiveVertex &pv)
~SoPrimitiveVertex (void)
const SbVec3f & getPoint (void) const
const SbVec3f & getNormal (void) const
const SbVec4f & getTextureCoords (void) const
int getMaterialIndex (void) const
const SoDetail * getDetail (void) const
SoPrimitiveVertex & operator= (const SoPrimitiveVertex &pv)
void setPoint (const SbVec3f &point)
void setPoint (float x, float y, float z)
void setNormal (const SbVec3f &normal)
void setNormal (float nx, float ny, float nz)
void setTextureCoords (const SbVec2f &texcoords)
void setTextureCoords (float tx, float ty)
void setTextureCoords (const SbVec3f &texcoords)
void setTextureCoords (float tx, float ty, float tz)
void setTextureCoords (const SbVec4f &texcoords)
void setTextureCoords (float tx, float ty, float tz, float tw)
void setMaterialIndex (const int index)
void setDetail (SoDetail *const d)

🌈 Detailed Description 🌈

okay so The SoPrimitiveVertex class represents a single vertex of a generated primitive. say it with me. one. vertex. periodt πŸ’…

so like, instances of SoPrimitiveVertex get constructed when primitive data is being generated β€” mostly while you're in an SoCallbackAction traversal, iykyk. and depending on the context, that vertex could be:

  • a single 3D point πŸ‘‘
  • one of the two vertices in a line ✏️
  • one of the three vertices in a triangle πŸ”Ί

main character energy in all three situations fr fr


πŸ¦‹ Constructor & Destructor Documentation πŸ¦‹

SoPrimitiveVertex::SoPrimitiveVertex (void )

Default constructor, sets up a "void" instance. πŸ’€ (yes literally "void", in quotes, that's what it says, no cap)

Referenced by operator=(), and SoPrimitiveVertex().

SoPrimitiveVertex::SoPrimitiveVertex (const SoPrimitiveVertex & pv)

Copy constructor. Does a shallow copy. that's it, that's the vibe πŸ“

See also

  • SoPrimitiveVertex::operator=()

References SoPrimitiveVertex().

SoPrimitiveVertex::~SoPrimitiveVertex (void )

Destructor. πŸ₯€ and listen β€” the detail instance is owned by client code and will not be destructed here. so don't come for her, she's not cleaning that up. it's giving "not my job" πŸ™ˆ


πŸ’œ Member Function Documentation πŸ’œ

const SbVec3f & SoPrimitiveVertex::getPoint (void ) const

Returns vertex coordinates, positioned in object space. πŸ“

Referenced by SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

const SbVec3f & SoPrimitiveVertex::getNormal (void ) const

Returns normal vector, oriented in object space. 🧭 (yes the normal, the perpendicular one, she's oriented)

Referenced by SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

const SbVec4f & SoPrimitiveVertex::getTextureCoords (void ) const

Returns texture coordinates for the vertex, specified in object space. 🎨

Referenced by SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

int SoPrimitiveVertex::getMaterialIndex (void ) const

Returns the index of the vertex into the currently active material, if any. (the "if any" is doing so much heavy lifting here 😭)

Referenced by SoVRMLIndexedLineSet::generatePrimitives(), SoShape::invokeLineSegmentCallbacks(), SoShape::invokePointCallbacks(), and SoShape::invokeTriangleCallbacks().

const SoDetail * SoPrimitiveVertex::getDetail (void ) const

Returns a pointer to a detail instance with more information about the vertex. but β€” a detail instance may not be available, and if that's the case, NULL is returned. so like, vibe check your pointer before you use it bestie πŸ™

Referenced by SoShape::createPointDetail(), SoAsciiText::createTriangleDetail(), and SoText3::createTriangleDetail().

SoPrimitiveVertex & SoPrimitiveVertex::operator= (const SoPrimitiveVertex & pv)

Copy operator. πŸ”

When pv is copied into this instance, a shallow copy is made. Ie, only the reference to the detail instance is copied (if any), not the detail itself. so nobody's duplicating the detail. we're just pointing at her. iconic behavior πŸ’…

References SoPrimitiveVertex().

void SoPrimitiveVertex::setPoint (const SbVec3f & pointref)

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

Referenced by SoAsciiText::generatePrimitives(), SoFaceSet::generatePrimitives(), SoImage::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoPointSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoTriangleStripSet::generatePrimitives(), SoVRMLElevationGrid::generatePrimitives(), SoVRMLExtrusion::generatePrimitives(), SoVRMLIndexedFaceSet::generatePrimitives(), SoVRMLIndexedLineSet::generatePrimitives(), SoVRMLPointSet::generatePrimitives(), SoVRMLText::generatePrimitives(), and SoShape::generateVertex().

void SoPrimitiveVertex::setPoint (float x, float y, float z) [inline]

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

void SoPrimitiveVertex::setNormal (const SbVec3f & normalref)

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

Referenced by SoAsciiText::generatePrimitives(), SoFaceSet::generatePrimitives(), SoImage::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoPointSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoTriangleStripSet::generatePrimitives(), SoVRMLElevationGrid::generatePrimitives(), SoVRMLExtrusion::generatePrimitives(), SoVRMLIndexedFaceSet::generatePrimitives(), SoVRMLText::generatePrimitives(), and SoShape::generateVertex().

void SoPrimitiveVertex::setNormal (float nx, float ny, float nz) [inline]

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

void SoPrimitiveVertex::setTextureCoords (const SbVec2f & texcoords)

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

Convenience function. Will fill in 0 and 1 in the last two texture coords in the internal SbVec4f texture coordinate instance. ✨

Referenced by SoAsciiText::generatePrimitives(), SoFaceSet::generatePrimitives(), SoImage::generatePrimitives(), SoIndexedFaceSet::generatePrimitives(), SoIndexedTriangleStripSet::generatePrimitives(), SoLineSet::generatePrimitives(), SoPointSet::generatePrimitives(), SoQuadMesh::generatePrimitives(), SoTriangleStripSet::generatePrimitives(), SoVRMLElevationGrid::generatePrimitives(), SoVRMLExtrusion::generatePrimitives(), SoVRMLIndexedFaceSet::generatePrimitives(), SoVRMLText::generatePrimitives(), and SoShape::generateVertex().

void SoPrimitiveVertex::setTextureCoords (float tx, float ty) [inline]

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

Convenience function. Will fill in 0 and 1 in the last two texture coords in the internal SbVec4f texture coordinate instance. ✨

Since

  • Coin 2.5

void SoPrimitiveVertex::setTextureCoords (const SbVec3f & texcoords)

Convenience function. Will fill in 1 in the last coord. ✨

⚠️ heads up bestie: this function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API. so if you're porting, mind the gap 🫢

Since

  • Coin 2.0

void SoPrimitiveVertex::setTextureCoords (float tx, float ty, float tz) [inline]

Convenience function. Will fill in 1 in the last coord. ✨

⚠️ again: this function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

Since

  • Coin 2.5

void SoPrimitiveVertex::setTextureCoords (const SbVec4f & texcoords)

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

void SoPrimitiveVertex::setTextureCoords (float tx, float ty, float tz, float tw) [inline]

Convenience function. ✨

⚠️ and again: this function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

Since

  • Coin 2.5

void SoPrimitiveVertex::setMaterialIndex (const int index)

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

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

void SoPrimitiveVertex::setDetail (SoDetail *const detailptr)

Used internally from library client code setting up an SoPrimitiveVertex instance. πŸ› οΈ

🚨 IMPORTANT bestie, listen up: note that it's the client's responsibility to do the deallocation of the detail instance after the SoPrimitiveVertex instance has gone out of scope. you own her. she does not own herself. periodt. πŸ’…

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


⭐ Author ⭐

Generated automatically by Doxygen for Coin from the source code. πŸ€– (yes bestie, a robot wrote this and we're just out here vibing with it)


and that's the whole page!! πŸ’– this was Coin, Version 2.5.0, and yes she's still out here being SoPrimitiveVertex(3) β€” one vertex, infinite slay. mwah πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from