SoPointSet(3)
SoPointSet(3) โ Coin ๐
okay bestie, welcome to the SoPointSet(3) manpage from Coin ๐ this is part 1 of 3, so buckle up โจ
NAME
SoPointSet โ the SoPointSet class is used to display a set of 3D points. she's literally the point queen ๐๐
SYNOPSIS
#include <Inventor/nodes/SoPointSet.h>
Inherits SoNonIndexedShape.
Inherited by SoMarkerSet.
๐ Public Member Functions ๐
virtual SoType getTypeId (void) constโ she's virtual, she's iconic ๐SoPointSet (void)โ the constructor, she's here to build your point set โจvirtual void GLRender (SoGLRenderAction *action)โ does the GL render thing, slay ๐virtual void getBoundingBox (SoGetBoundingBoxAction *action)โ gets that bounding box, periodt ๐ฆvirtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)โ counts primitives, no cap ๐ข
Public Member Functions inherited from SoVertexShape
virtual void notify (SoNotList *nl)โ notifies, she's a communicator ๐ฌvirtual void write (SoWriteAction *action)โ writes, iconic โ๏ธ
Public Member Functions inherited from SoShape
virtual SbBool affectsState (void) constโ does it affect state? maybe ๐คvirtual void rayPick (SoRayPickAction *action)โ ray picking, so cool ๐ฆvirtual void callback (SoCallbackAction *action)โ callback time ๐const SoBoundingBoxCache * getBoundingBoxCache (void) constโ returns the bounding box cache, periodt ๐
Public Member Functions inherited from SoNode
void setOverride (const SbBool state)โ sets override, she's over it ๐ โโ๏ธSbBool isOverride (void) constโ is it override? ๐void setNodeType (const NodeType type)โ sets node type, slay ๐NodeType getNodeType (void) constโ gets node type, iconic โจvirtual SoNode * copy (SbBool copyconnections=FALSE) constโ copies, withcopyconnections=FALSEby default ๐virtual void doAction (SoAction *action)โ does the action, periodt ๐virtual void GLRenderBelowPath (SoGLRenderAction *action)โ GL render below path, she's on a journey ๐ฃ๏ธvirtual void GLRenderInPath (SoGLRenderAction *action)โ GL render in path, iconic ๐ค๏ธvirtual void GLRenderOffPath (SoGLRenderAction *action)โ GL render off path, she's off the beaten track ๐ฟvirtual void getMatrix (SoGetMatrixAction *action)โ gets the matrix, wake up bestie ๐ถ๏ธvirtual void handleEvent (SoHandleEventAction *action)โ handles events, she's a handler ๐โโ๏ธvirtual void pick (SoPickAction *action)โ pick, pick, pick ๐ฏvirtual void search (SoSearchAction *action)โ search, she's looking ๐virtual void audioRender (SoAudioRenderAction *action)โ audio render, sound on ๐virtual void grabEventsSetup (void)โ grabs events setup, iconic ๐virtual void grabEventsCleanup (void)โ grabs events cleanup, she cleans up nice ๐งนvirtual void startNotify (void)โ starts notify, here we go ๐SbUniqueId getNodeId (void) constโ gets node ID, she has an identity ๐virtual SoChildList * getChildren (void) constโ gets children, she's a mom ๐ผvirtual void writeInstance (SoOutput *out)โ writes instance, periodt โ๏ธvirtual SoNode * addToCopyDict (void) constโ adds to copy dict, slay ๐virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections)โ copies contents, so thorough ๐virtual SoFieldContainer * copyThroughConnection (void) constโ copies through connection, iconic ๐
Public Member Functions inherited from SoFieldContainer
void setToDefaults (void)โ sets to defaults, back to basics โจSbBool hasDefaultValues (void) constโ has default values? ๐คSbBool fieldsAreEqual (const SoFieldContainer *container) constโ fields are equal? check bestie ๐ฏโโ๏ธvoid copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)โ copies field values, withcopyconnections=FALSEdefault ๐SbBool set (const char *const fielddata)โ sets fromfielddata, slay ๐void get (SbString &fielddata)โ gets intofielddata, iconic ๐คvirtual int getFields (SoFieldList &l) constโ gets fields, so many ๐virtual int getAllFields (SoFieldList &l) constโ gets all fields, she's greedy ๐virtual SoField * getField (const SbName &name) constโ gets a field by name, periodt ๐virtual SoField * getEventIn (const SbName &name) constโ gets event in, she's in ๐ฅvirtual SoField * getEventOut (const SbName &name) constโ gets event out, she's out ๐คSbBool getFieldName (const SoField *const field, SbName &name) constโ gets field name, name drop ๐SbBool enableNotify (const SbBool flag)โ enables notify, flag it ๐ฉSbBool isNotifyEnabled (void) constโ is notify enabled? ๐SbBool set (const char *fielddata, SoInput *input)โ sets fromfielddatawithinput, slay ๐void get (SbString &fielddata, SoOutput *out)โ gets intofielddatawithout, iconic ๐คvirtual SbBool validateNewFieldValue (SoField *field, void *newval)โ validates new field value, she's checking โvirtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)โ adds write reference,isfromfield=FALSEdefault ๐SbBool getIsBuiltIn (void) constโ is it built in? ๐virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) constโ gets fields memory size, so technical ๐พvoid setUserData (void *userdata) constโ sets user data, she's got your data ๐พvoid * getUserData (void) constโ gets user data, periodt ๐
Public Member Functions inherited from SoBase
void ref (void) constโ ref, she's referencing ๐void unref (void) constโ unref, she's done ๐void unrefNoDelete (void) constโ unref no delete, she's gentle ๐๏ธint32_t getRefCount (void) constโ gets ref count, numbers don't lie ๐ขvoid touch (void)โ touch, she's tactile โSbBool isOfType (SoType type) constโ returnsTRUEif the type of this object is either of the same type or inherited from type. periodt. ๐virtual SbName getName (void) constโ gets name, what's her name? ๐virtual void setName (const SbName &newname)โ sets name to newname, name change slay ๐void addAuditor (void *const auditor, const SoNotRec::Type type)โ adds auditor, she's listening ๐void removeAuditor (void *const auditor, const SoNotRec::Type type)โ removes auditor, she's over it ๐const SoAuditorList & getAuditors (void) constโ gets auditors, the whole list ๐SbBool shouldWrite (void)โ should write? maybe โ๏ธvoid assertAlive (void) constโ assert alive, she's alive and thriving ๐ฑ
๐ Static Public Member Functions ๐
static SoType getClassTypeId (void)โ gets class type ID, iconic ๐static void initClass (void)โ sets up initialization for data common to all instances of this class, like submitting necessary info to the Coin type system. she's the setup queen ๐
Static Public Member Functions inherited from SoNonIndexedShape
static SoType getClassTypeId (void)โ gets class type ID, again ๐static void initClass (void)โ init class, slay โจ
Static Public Member Functions inherited from SoVertexShape
static SoType getClassTypeId (void)โ gets class type ID, periodt ๐static void initClass (void)โ init class, iconic ๐
Static Public Member Functions inherited from SoShape
static SoType getClassTypeId (void)โ gets class type ID, she's back ๐static void initClass (void)โ sets up initialization for data common to all instances of this class, like submitting necessary info to the Coin type system. ๐static void getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize)โ gets screen size, so handy ๐static float getDecimatedComplexity (SoState *state, float complexity)โ gets decimated complexity, complex but she's got it ๐ง
Static Public Member Functions inherited from SoNode
static uint32_t getCompatibilityTypes (const SoType &nodetype)โ gets compatibility types, matching vibes ๐static SoType getClassTypeId (void)โ gets class type ID, again and again ๐static SoNode * getByName (const SbName &name)โ gets by name, name search ๐static int getByName (const SbName &name, SoNodeList &l)โ gets by name into list, so many ๐static void initClass (void)โ sets up initialization for data common to all instances of this class, like submitting necessary info to the Coin type system. โจstatic void initClasses (void)โ init classes, plural slay ๐static SbUniqueId getNextNodeId (void)โ gets next node ID, next up ๐ขstatic int getActionMethodIndex (const SoType type)โ gets action method index, indexing ๐static void getBoundingBoxS (SoAction *action, SoNode *node)โ gets bounding box S, static style ๐ฆstatic void GLRenderS (SoAction *action, SoNode *node)โ GL render S, static render ๐จstatic void callbackS (SoAction *action, SoNode *node)โ callback S, static callback ๐static void getMatrixS (SoAction *action, SoNode *node)โ get matrix S, static matrix ๐งฎstatic void handleEventS (SoAction *action, SoNode *node)โ handle event S, static handle ๐โโ๏ธstatic void pickS (SoAction *action, SoNode *node)โ pick S, static pick ๐ฏstatic void rayPickS (SoAction *action, SoNode *node)โ ray pick S, static ray ๐ฆstatic void searchS (SoAction *action, SoNode *node)โ search S, static search ๐static void writeS (SoAction *action, SoNode *node)โ write S, static write โ๏ธstatic void audioRenderS (SoAction *action, SoNode *node)โ audio render S, static sound ๐static void getPrimitiveCountS (SoAction *action, SoNode *node)โ get primitive count S, static count ๐ข
Static Public Member Functions inherited from SoFieldContainer
static void initClass (void)โ sets up initialization for data common to all instances of this class, like submitting necessary info to the Coin type system. ๐static SoType getClassTypeId (void)โ this static method returns theSoTypeobject associated with objects of this class. iconic. ๐static void cleanupClass (void)โ cleanup class, she cleans up ๐งนstatic void initCopyDict (void)โ init copy dict, copy time ๐static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)โ adds a copy, so meta ๐ฏโโ๏ธstatic SoFieldContainer * checkCopy (const SoFieldContainer *orig)โ checks copy, verifying โstatic SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)โ finds copy, withcopyconnections๐static void copyDone (void)โ copy done, finished ๐
Static Public Member Functions inherited from SoBase
static void initClass (void)โ sets up initialization for data common to all instances of this class, like submitting necessary info to the Coin type system. ๐static SoType getClassTypeId (void)โ this static method returns theSoTypeobject associated with objects of this class. periodt. ๐static void addName (SoBase *const base, const char *const name)โ adds name, name tag ๐ท๏ธstatic void removeName (SoBase *const base, const char *const name)โ removes name, bye name ๐static void incrementCurrentWriteCounter (void)โ increments current write counter, plus one โstatic void decrementCurrentWriteCounter (void)โ decrements current write counter, minus one โstatic SoBase * getNamedBase (const SbName &name, SoType type)โ gets named base, base search ๐static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)โ gets named bases into list, so many ๐static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)โ reads, input time ๐ฅstatic void setInstancePrefix (const SbString &c)โ sets instance prefix, prefix slay ๐static void setTraceRefs (SbBool trace)โ sets trace refs, tracing ๐ต๏ธโโ๏ธstatic SbBool getTraceRefs (void)โ gets trace refs, periodt ๐static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)โ connects route, so many names ๐ฃ๏ธstatic SbBool readRoute (SoInput *input)โ reads route, reading the route ๐
๐ Public Attributes ๐
SoSFInt32 numPointsโ number of points, iconic ๐ข
Public Attributes inherited from SoNonIndexedShape
SoSFInt32 startIndexโ start index, where it begins ๐
Public Attributes inherited from SoVertexShape
SoSFNode vertexPropertyโ vertex property, property of the vertex ๐
๐ Protected Member Functions ๐
virtual const SoFieldData * getFieldData (void) constโ gets field data, protected but powerful ๐ชvirtual ~SoPointSet ()โ the destructor, she's breaking down ๐virtual void generatePrimitives (SoAction *action)โ generates primitives, so generative โจvirtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)โ computes bounding box, math queen ๐virtual SbBool generateDefaultNormals (SoState *, SoNormalCache *nc)โ generates default normals, normal but iconic ๐virtual SbBool generateDefaultNormals (SoState *state, SoNormalBundle *bundle)โ generates default normals with bundle, bundle up ๐งฃ
Protected Member Functions inherited from SoNonIndexedShape
SoNonIndexedShape (void)โ constructor, she's building ๐๏ธvirtual ~SoNonIndexedShape ()โ destructor, she's breaking down ๐void computeCoordBBox (SoAction *action, int numVertices, SbBox3f &box, SbVec3f ¢er)โ computes coord bounding box, coordinates and boxes ๐ฆvoid fixNumVerticesPointers (SoState *state, const int32_t *&start, const int32_t *&end, int32_t *dummyarray) constโ fixes num vertices pointers, fixing things ๐ง
Protected Member Functions inherited from SoVertexShape
SoVertexShape (void)โ constructor, vertex shape building ๐๏ธvirtual ~SoVertexShape ()โ destructor, breaking down ๐virtual SbBool shouldGLRender (SoGLRenderAction *action)โ should GL render? maybe ๐จvoid setNormalCache (SoState *const state, const int num, const SbVec3f *normals)โ sets normal cache, caching normals ๐พSoNormalCache * getNormalCache (void) constโ gets normal cache, cache retrieval ๐SoNormalCache * generateAndReadLockNormalCache (SoState *const state)โ generates and read locks normal cache, locking it ๐void getVertexData (SoState *state, const SoCoordinateElement *&coords, const SbVec3f *&normals, const SbBool neednormals)โ gets vertex data, data time ๐void readLockNormalCache (void)โ read locks normal cache, read lock ๐void readUnlockNormalCache (void)โ read unlocks normal cache, unlock ๐
to be continued in part 2... ๐
๐ Protected Member Functions inherited from SoShape
okay so these are the protected goodies SoPointSet inherits from its parent SoShape โ not stuff you call from the outside, but the family tree is real and we respect it ๐
SoShape (void)โ the constructor, handed down.virtual ~SoShape ()โ the destructor, and yes it's virtual.float getComplexityValue (SoAction *action)โ pulls out the complexity value for the action in question.void beginSolidShape (SoGLRenderAction *action)โ kicks off solid-shape rendering.void endSolidShape (SoGLRenderAction *action)โ wraps that solid-shape rendering back up.void GLRenderBoundingBox (SoGLRenderAction *action)โ renders the bounding box, GL-style.SbBool shouldPrimitiveCount (SoGetPrimitiveCountAction *action)โ decides if the primitive count should actually be counted.SbBool shouldRayPick (SoRayPickAction *const action)โ decides whether this is doing ray pick or not.void computeObjectSpaceRay (SoRayPickAction *const action)โ works out the object-space ray, no matrix version.void computeObjectSpaceRay (SoRayPickAction *const action, const SbMatrix &matrix)โ same thing but you hand it a matrix too.virtual SoDetail * createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp)โ makes the triangle detail for picking, virtual.virtual SoDetail * createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp)โ makes the line-segment detail, also virtual.virtual SoDetail * createPointDetail (SoRayPickAction *action, const SoPrimitiveVertex *v, SoPickedPoint *pp)โ and here's the point version โจvoid invokeTriangleCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2, const SoPrimitiveVertex *const v3)โ fires off the triangle callbacks.void invokeLineSegmentCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2)โ fires off the line-segment callbacks.void invokePointCallbacks (SoAction *const action, const SoPrimitiveVertex *const v)โ fires off the point callbacks.void beginShape (SoAction *const action, const TriangleShape shapetype, SoDetail *const detail=NULL)โ opens a shape with a givenTriangleShape,detaildefaults toNULL.void shapeVertex (const SoPrimitiveVertex *const v)โ feeds a vertex into the shape.void endShape (void)โ closes the shape.void generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const SbVec3f &normal)โ builds a vertex from a point, texture coordss/t, and a normal.void generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const float r, const SbVec3f &normal)โ the 3-coord version, adds thatr๐ฆSbBool startVertexArray (SoGLRenderAction *action, const SoCoordinateElement *coords, const SbVec3f *pervertexnormals, const SbBool texpervertex, const SbBool colorpervertex)โ spins up the vertex array.void finishVertexArray (SoGLRenderAction *action, const SbBool vbo, const SbBool normpervertex, const SbBool texpervertex, const SbBool colorpervertex)โ and tears it back down.
๐ Protected Member Functions inherited from SoNode
SoNode (void)โ constructor, inherited.virtual ~SoNode ()โ virtual destructor.virtual SbBool readInstance (SoInput *in, unsigned short flags)โ reads an instance, virtual, takes anSoInput *andunsigned short flags.
๐ฉท Protected Member Functions inherited from SoFieldContainer
SoFieldContainer (void)โ constructor.virtual ~SoFieldContainer ()โ destructor, virtual as always.
๐ Protected Member Functions inherited from SoBase
SoBase (void)โ constructor.virtual ~SoBase ()โ destructor, virtual.virtual void destroy (void)โ the destroy hook, virtual.SbBool hasMultipleWriteRefs (void) constโ checks for multiple write refs,const.SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) constโ writes the header,const.void writeFooter (SoOutput *out) constโ writes the footer, alsoconst.virtual const char * getFileFormatName (void) constโ hands back the file format name,const, virtual.virtual SoNotRec createNotRec (void)โ builds aSoNotRec, virtual.
๐ธ Static Protected Member Functions
static const SoFieldData ** getFieldDataPtr (void)โ grabs the field data pointer.
๐ Static Protected Member Functions inherited from SoNonIndexedShape
static const SoFieldData ** getFieldDataPtr (void)โ same deal, inherited.
๐ท Static Protected Member Functions inherited from SoVertexShape
static const SoFieldData ** getFieldDataPtr (void)โ yep, this one too.
๐บ Static Protected Member Functions inherited from SoShape
static const SoFieldData ** getFieldDataPtr (void)โ inherited again, no cap.
๐ฆ Static Protected Member Functions inherited from SoNode
static const SoFieldData ** getFieldDataPtr (void)โ the pointer getter.static void setNextActionMethodIndex (int index)โ sets the next action method index.static int getNextActionMethodIndex (void)โ gets the next action method index.static void incNextActionMethodIndex (void)โ increments that index, one at a time bestie.static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask)โ sets compatibility types from a nodetype and auint32_tbitmask.
๐ Static Protected Member Functions inherited from SoBase
static uint32_t getCurrentWriteCounter (void)โ grabs the current write counter.static void staticDataLock (void)โ locks the static data.static void staticDataUnlock (void)โ unlocks it. balance, periodt.
โจ Additional Inherited Members โจ
๐ Public Types inherited from SoShape
enum TriangleShape { TRIANGLE_STRIP, TRIANGLE_FAN, TRIANGLES, POLYGON,
QUADS, QUAD_STRIP, POINTS, LINES, LINE_STRIP }
๐ Public Types inherited from SoNode
enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000, COIN_4_0 = 0x20000 }
๐ Protected Types inherited from SoBase
enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }
๐ง Protected Attributes inherited from SoNode
SbUniqueId uniqueIdโ the unique id, protected.
๐ Protected Attributes inherited from SoFieldContainer
SbBool isBuiltInโ whether it's built in, protected.
โญ Static Protected Attributes inherited from SoNode
static SbUniqueId nextUniqueId = 1โ starts at1, iconic.static int nextActionMethodIndex = 0โ starts at0.
๐ Detailed Description ๐
The SoPointSet class is used to display a set of 3D points. yes bestie, that's literally the whole job and it eats ๐
This node either uses the coordinates currently on the state (typically set up by a leading SoCoordinate3 node in the scene graph) or from a SoVertexProperty node attached to this node to render a set of 3D points.
The SoPointSet::numPoints field specifies the number of points in the coordinate set which should be rendered (or otherwise handled by traversal actions).
Here's a simple usage example of SoPointSet in a scene graph:
#Inventor V2.1 ascii
Separator {
Material {
diffuseColor [
1 0 0, 0 1 0, 0 0 1, 1 1 0, 1 0 1, 1 1 1, 1 0.8 0.6, 0.6 0.8 1
]
}
MaterialBinding { value PER_PART }
Coordinate3 {
point [
-1 1 0, -1 -1 0, 1 -1 0, 1 1 0, 0 2 -1, -2 0 -1, 0 -2 -1, 2 0 -1
]
}
DrawStyle { pointSize 3 }
PointSet { }
}
FILE FORMAT/DEFAULTS:
PointSet {
vertexProperty NULL
startIndex 0
numPoints -1
}
๐ Constructor & Destructor Documentation ๐
๐ SoPointSet::SoPointSet (void )
Constructor.
๐ฆ SoPointSet::~SoPointSet () [protected], [virtual]
Destructor.
๐ Member Function Documentation ๐
okay bestie, this is the part where we meet the actual methods โ the little functions that do the work. every single one, no skipping, i promise. let's get into it ๐ซถ
โจ SoType SoPointSet::getClassTypeId(void) [static]
it's giving "who am i" but for classes. this static method hands you back the SoType object that's associated with objects of this class. that's it, that's the whole vibe. โจ
๐ฆ SoType SoPointSet::getTypeId(void) const [virtual]
returns the type identification of an object derived from a class inheriting SoBase. literally its whole job is runtime type checking and doing that "downward" casting thing. iykyk ๐
- Reimplemented from
SoNonIndexedShape. - Reimplemented in
SoMarkerSet.
๐ const SoFieldData ** SoPointSet::getFieldDataPtr(void) [static], [protected]
internal library business, bestie. this API member is considered internal to the library, since it's not likely to be of interest to the application programmer. no cap.
returns the SoFieldData class which holds info about the fields in this node. ๐
๐ const SoFieldData * SoPointSet::getFieldData(void) const [protected], [virtual]
returns a pointer to the class-wide field data storage object for this instance. and if there are no fields present? it returns NULL. that's the whole tea. ๐ต
- Reimplemented from
SoNonIndexedShape. - Reimplemented in
SoMarkerSet.
๐ธ void SoPointSet::initClass(void) [static]
no description on this one, bestie โ the manpage just leaves it standing there looking iconic. that's the whole entry. ๐
๐ฅ void SoPointSet::GLRender(SoGLRenderAction * action) [virtual]
this is the action method for SoGLRenderAction, and it gets called during rendering traversals. any node that influences the rendering state in any way โ or that just wants to hurl geometry primitives at OpenGL โ overrides this method. main character behavior fr fr. ๐ฅ
- Reimplemented from
SoShape. - Reimplemented in
SoMarkerSet.
๐ void SoPointSet::getBoundingBox(SoGetBoundingBoxAction * action) [virtual]
action method for SoGetBoundingBoxAction, periodt.
it calculates the bounding box and center coordinates for the node, then modifies the values of the action so they encompass the bounding box for this node โ and shifts the center point for the scene more towards the one for this node. very "make it about me" of it, and honestly? valid. โจ
nodes that influence how geometry nodes calculate their bounding box also override this method to change the relevant state variables.
- Reimplemented from
SoShape.
๐ void SoPointSet::getPrimitiveCount(SoGetPrimitiveCountAction * action) [virtual]
action method for SoGetPrimitiveCountAction.
calculates the number of triangle, line segment and point primitives for the node, and adds these to the counters of the action. it's a headcount but for geometry. ๐งฎ
nodes influencing how geometry nodes calculate their primitive count also override this method to change the relevant state variables.
- Reimplemented from
SoShape. - Reimplemented in
SoMarkerSet.
๐ง void SoPointSet::generatePrimitives(SoAction * action) [protected], [virtual]
this method implements action behavior for shape nodes for SoCallbackAction. it gets invoked from SoShape::callback().
heads up, bestie: subclasses should not override SoNode::callback(). don't do it. ๐
the subclass implementations use the convenience methods SoShape::beginShape(), SoShape::shapeVertex(), and SoShape::endShape(), with SoDetail instances, to pass the primitives making up the shape back to the caller.
- Implements
SoShape.
๐ void SoPointSet::computeBBox(SoAction * action, SbBox3f & box, SbVec3f & center) [protected], [virtual]
this one is implemented by SoShape subclasses to let the SoShape superclass know the exact size and weighted center point of the shape's bounding box.
the bounding box and center point should be calculated and returned in the local coordinate system.
this method implements action behavior for shape nodes for SoGetBoundingBoxAction. it gets invoked from SoShape::getBoundingBox().
again with the warning, and it matters: subclasses should not override SoNode::getBoundingBox().
and here's the fine print: the box parameter sent in is guaranteed to be an empty box, while center is undefined upon function entry. so don't come for it before it's been filled in. ๐ซถ
- Implements
SoShape.
๐ SbBool SoPointSet::generateDefaultNormals(SoState * state, SoNormalCache * cache) [protected], [virtual]
internal API alert ๐ this API member is considered internal to the library, since it's not likely to be of interest to the application programmer.
subclasses should override this method to generate default normals using the SoNormalCache class. this is more effective than using SoNormalGenerator. return TRUE if normals were generated, FALSE otherwise.
the default method just returns FALSE. lowkey lazy of it but okay. ๐
๐ this function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
- Reimplemented from
SoVertexShape.
๐ธ SbBool SoPointSet::generateDefaultNormals(SoState * state, SoNormalBundle * bundle) [protected], [virtual]
also internal API, bestie ๐ this API member is considered internal to the library, since it's not likely to be of interest to the application programmer.
subclasses should override this method to generate default normals using the SoNormalBundle class. TRUE should be returned if normals were generated, FALSE otherwise.
the default method returns FALSE. (yes, again. the default is not the moment. ๐ญ)
๐ this function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
- Reimplemented from
SoVertexShape.
๐ Member Data Documentation ๐
๐ SoSFInt32 SoPointSet::numPoints
used to specify the number of points in the point set. the coordinates for those points get taken from the state stack's set of 3D coordinates โ typically set up by a leading SoCoordinate3 node. ๐ฏ
if this field is equal to -1 (the default value) all coordinates currently on the state will be rendered or otherwise handled by traversal actions.
also, so you know: SoPointSet inherits the field SoNonIndexedShape::startIndex, which specifies the start index for points from the current state set of coordinates.
โ ๏ธ bestie, please note: that field has been obsoleted, but it's still provided for compatibility. it's a legacy icon, we keep it around out of respect. ๐
๐ฆ Author ๐ฆ
generated automatically by Doxygen for Coin from the source code. (not a human, just a very thorough robot doing its thing. respect. ๐คโจ)
and that's the whole page, bestie!! ๐ this was Coin manual page for SoPointSet, from version 4.0.10, dated Thu Jun 25 2026 00:00:00, and it lives at SoPointSet(3). slay, you made it to the end. go render some points. ๐
๐
๐ฆ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 ยท BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 ยท BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 ยท BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 ยท BSD-3-Clause AND GPL-3.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms