.TH "SoMarkerSet" 3 "Fri Sep 6 2024 15:32:06" "Version 4.0.3" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoMarkerSet \- The \fBSoMarkerSet\fP class displays a set of 2D bitmap markers in 3D\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBSoPointSet\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "enum \fBMarkerType\fP { \fBNONE\fP = -1, \fBCROSS_5_5\fP, \fBPLUS_5_5\fP, \fBMINUS_5_5\fP, \fBSLASH_5_5\fP, \fBBACKSLASH_5_5\fP, \fBBAR_5_5\fP, \fBSTAR_5_5\fP, \fBY_5_5\fP, \fBLIGHTNING_5_5\fP, \fBWELL_5_5\fP, \fBCIRCLE_LINE_5_5\fP, \fBSQUARE_LINE_5_5\fP, \fBDIAMOND_LINE_5_5\fP, \fBTRIANGLE_LINE_5_5\fP, \fBRHOMBUS_LINE_5_5\fP, \fBHOURGLASS_LINE_5_5\fP, \fBSATELLITE_LINE_5_5\fP, \fBPINE_TREE_LINE_5_5\fP, \fBCAUTION_LINE_5_5\fP, \fBSHIP_LINE_5_5\fP, \fBCIRCLE_FILLED_5_5\fP, \fBSQUARE_FILLED_5_5\fP, \fBDIAMOND_FILLED_5_5\fP, \fBTRIANGLE_FILLED_5_5\fP, \fBRHOMBUS_FILLED_5_5\fP, \fBHOURGLASS_FILLED_5_5\fP, \fBSATELLITE_FILLED_5_5\fP, \fBPINE_TREE_FILLED_5_5\fP, \fBCAUTION_FILLED_5_5\fP, \fBSHIP_FILLED_5_5\fP, \fBCROSS_7_7\fP, \fBPLUS_7_7\fP, \fBMINUS_7_7\fP, \fBSLASH_7_7\fP, \fBBACKSLASH_7_7\fP, \fBBAR_7_7\fP, \fBSTAR_7_7\fP, \fBY_7_7\fP, \fBLIGHTNING_7_7\fP, \fBWELL_7_7\fP, \fBCIRCLE_LINE_7_7\fP, \fBSQUARE_LINE_7_7\fP, \fBDIAMOND_LINE_7_7\fP, \fBTRIANGLE_LINE_7_7\fP, \fBRHOMBUS_LINE_7_7\fP, \fBHOURGLASS_LINE_7_7\fP, \fBSATELLITE_LINE_7_7\fP, \fBPINE_TREE_LINE_7_7\fP, \fBCAUTION_LINE_7_7\fP, \fBSHIP_LINE_7_7\fP, \fBCIRCLE_FILLED_7_7\fP, \fBSQUARE_FILLED_7_7\fP, \fBDIAMOND_FILLED_7_7\fP, \fBTRIANGLE_FILLED_7_7\fP, \fBRHOMBUS_FILLED_7_7\fP, \fBHOURGLASS_FILLED_7_7\fP, \fBSATELLITE_FILLED_7_7\fP, \fBPINE_TREE_FILLED_7_7\fP, \fBCAUTION_FILLED_7_7\fP, \fBSHIP_FILLED_7_7\fP, \fBCROSS_9_9\fP, \fBPLUS_9_9\fP, \fBMINUS_9_9\fP, \fBSLASH_9_9\fP, \fBBACKSLASH_9_9\fP, \fBBAR_9_9\fP, \fBSTAR_9_9\fP, \fBY_9_9\fP, \fBLIGHTNING_9_9\fP, \fBWELL_9_9\fP, \fBCIRCLE_LINE_9_9\fP, \fBSQUARE_LINE_9_9\fP, \fBDIAMOND_LINE_9_9\fP, \fBTRIANGLE_LINE_9_9\fP, \fBRHOMBUS_LINE_9_9\fP, \fBHOURGLASS_LINE_9_9\fP, \fBSATELLITE_LINE_9_9\fP, \fBPINE_TREE_LINE_9_9\fP, \fBCAUTION_LINE_9_9\fP, \fBSHIP_LINE_9_9\fP, \fBCIRCLE_FILLED_9_9\fP, \fBSQUARE_FILLED_9_9\fP, \fBDIAMOND_FILLED_9_9\fP, \fBTRIANGLE_FILLED_9_9\fP, \fBRHOMBUS_FILLED_9_9\fP, \fBHOURGLASS_FILLED_9_9\fP, \fBSATELLITE_FILLED_9_9\fP, \fBPINE_TREE_FILLED_9_9\fP, \fBCAUTION_FILLED_9_9\fP, \fBSHIP_FILLED_9_9\fP, \fBNUM_MARKERS\fP }" .br .in -1c Public Types inherited from \fBSoShape\fP .in +1c .ti -1c .RI "enum \fBTriangleShape\fP { \fBTRIANGLE_STRIP\fP, \fBTRIANGLE_FAN\fP, \fBTRIANGLES\fP, \fBPOLYGON\fP, \fBQUADS\fP, \fBQUAD_STRIP\fP, \fBPOINTS\fP, \fBLINES\fP, \fBLINE_STRIP\fP }" .br .in -1c Public Types inherited from \fBSoNode\fP .in +1c .ti -1c .RI "enum \fBNodeType\fP { \fBINVENTOR\fP = 0x0000, \fBVRML1\fP = 0x0001, \fBVRML2\fP = 0x0002, \fBINVENTOR_1\fP = 0x0004, \fBINVENTOR_2_0\fP = 0x0008, \fBINVENTOR_2_1\fP = 0x0010, \fBINVENTOR_2_5\fP = 0x0020, \fBINVENTOR_2_6\fP = 0x0040, \fBCOIN_1_0\fP = 0x0080, \fBCOIN_2_0\fP = 0x0100, \fBEXTENSION\fP = 0x0200, \fBCOIN_2_2\fP = 0x0400, \fBCOIN_2_3\fP = 0x0800, \fBCOIN_2_4\fP = 0x1000, \fBINVENTOR_5_0\fP = 0x2000, \fBCOIN_2_5\fP = 0x4000, \fBCOIN_3_0\fP = 0x8000, \fBINVENTOR_6_0\fP = 0x10000, \fBCOIN_4_0\fP = 0x20000 }" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const" .br .ti -1c .RI "\fBSoMarkerSet\fP (void)" .br .ti -1c .RI "virtual void \fBGLRender\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBgetPrimitiveCount\fP (\fBSoGetPrimitiveCountAction\fP *action)" .br .in -1c Public Member Functions inherited from \fBSoPointSet\fP .in +1c .ti -1c .RI "\fBSoPointSet\fP (void)" .br .ti -1c .RI "virtual void \fBgetBoundingBox\fP (\fBSoGetBoundingBoxAction\fP *action)" .br .in -1c Public Member Functions inherited from \fBSoNonIndexedShape\fP Public Member Functions inherited from \fBSoVertexShape\fP .in +1c .ti -1c .RI "virtual void \fBnotify\fP (\fBSoNotList\fP *nl)" .br .ti -1c .RI "virtual void \fBwrite\fP (\fBSoWriteAction\fP *action)" .br .in -1c Public Member Functions inherited from \fBSoShape\fP .in +1c .ti -1c .RI "virtual SbBool \fBaffectsState\fP (void) const" .br .ti -1c .RI "virtual void \fBrayPick\fP (\fBSoRayPickAction\fP *action)" .br .ti -1c .RI "virtual void \fBcallback\fP (\fBSoCallbackAction\fP *action)" .br .ti -1c .RI "const \fBSoBoundingBoxCache\fP * \fBgetBoundingBoxCache\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "void \fBsetOverride\fP (const SbBool state)" .br .ti -1c .RI "SbBool \fBisOverride\fP (void) const" .br .ti -1c .RI "void \fBsetNodeType\fP (const \fBNodeType\fP type)" .br .ti -1c .RI "\fBNodeType\fP \fBgetNodeType\fP (void) const" .br .ti -1c .RI "virtual \fBSoNode\fP * \fBcopy\fP (SbBool copyconnections=FALSE) const" .br .ti -1c .RI "virtual void \fBdoAction\fP (\fBSoAction\fP *action)" .br .ti -1c .RI "virtual void \fBGLRenderBelowPath\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBGLRenderInPath\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBGLRenderOffPath\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBgetMatrix\fP (\fBSoGetMatrixAction\fP *action)" .br .ti -1c .RI "virtual void \fBhandleEvent\fP (\fBSoHandleEventAction\fP *action)" .br .ti -1c .RI "virtual void \fBpick\fP (\fBSoPickAction\fP *action)" .br .ti -1c .RI "virtual void \fBsearch\fP (\fBSoSearchAction\fP *action)" .br .ti -1c .RI "virtual void \fBaudioRender\fP (\fBSoAudioRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBgrabEventsSetup\fP (void)" .br .ti -1c .RI "virtual void \fBgrabEventsCleanup\fP (void)" .br .ti -1c .RI "virtual void \fBstartNotify\fP (void)" .br .ti -1c .RI "SbUniqueId \fBgetNodeId\fP (void) const" .br .ti -1c .RI "virtual \fBSoChildList\fP * \fBgetChildren\fP (void) const" .br .ti -1c .RI "virtual void \fBwriteInstance\fP (\fBSoOutput\fP *out)" .br .ti -1c .RI "virtual \fBSoNode\fP * \fBaddToCopyDict\fP (void) const" .br .ti -1c .RI "virtual void \fBcopyContents\fP (const \fBSoFieldContainer\fP *from, SbBool copyconnections)" .br .ti -1c .RI "virtual \fBSoFieldContainer\fP * \fBcopyThroughConnection\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "void \fBsetToDefaults\fP (void)" .br .ti -1c .RI "SbBool \fBhasDefaultValues\fP (void) const" .br .ti -1c .RI "SbBool \fBfieldsAreEqual\fP (const \fBSoFieldContainer\fP *container) const" .br .ti -1c .RI "void \fBcopyFieldValues\fP (const \fBSoFieldContainer\fP *container, SbBool copyconnections=FALSE)" .br .ti -1c .RI "SbBool \fBset\fP (const char *const fielddata)" .br .ti -1c .RI "void \fBget\fP (\fBSbString\fP &fielddata)" .br .ti -1c .RI "virtual int \fBgetFields\fP (\fBSoFieldList\fP &l) const" .br .ti -1c .RI "virtual int \fBgetAllFields\fP (\fBSoFieldList\fP &l) const" .br .ti -1c .RI "virtual \fBSoField\fP * \fBgetField\fP (const \fBSbName\fP &name) const" .br .ti -1c .RI "virtual \fBSoField\fP * \fBgetEventIn\fP (const \fBSbName\fP &name) const" .br .ti -1c .RI "virtual \fBSoField\fP * \fBgetEventOut\fP (const \fBSbName\fP &name) const" .br .ti -1c .RI "SbBool \fBgetFieldName\fP (const \fBSoField\fP *const field, \fBSbName\fP &name) const" .br .ti -1c .RI "SbBool \fBenableNotify\fP (const SbBool flag)" .br .ti -1c .RI "SbBool \fBisNotifyEnabled\fP (void) const" .br .ti -1c .RI "SbBool \fBset\fP (const char *fielddata, \fBSoInput\fP *input)" .br .ti -1c .RI "void \fBget\fP (\fBSbString\fP &fielddata, \fBSoOutput\fP *out)" .br .ti -1c .RI "virtual SbBool \fBvalidateNewFieldValue\fP (\fBSoField\fP *field, void *newval)" .br .ti -1c .RI "virtual void \fBaddWriteReference\fP (\fBSoOutput\fP *out, SbBool isfromfield=FALSE)" .br .ti -1c .RI "SbBool \fBgetIsBuiltIn\fP (void) const" .br .ti -1c .RI "virtual void \fBgetFieldsMemorySize\fP (size_t &managed, size_t &unmanaged) const" .br .ti -1c .RI "void \fBsetUserData\fP (void *userdata) const" .br .ti -1c .RI "void * \fBgetUserData\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "void \fBref\fP (void) const" .br .ti -1c .RI "void \fBunref\fP (void) const" .br .ti -1c .RI "void \fBunrefNoDelete\fP (void) const" .br .ti -1c .RI "int32_t \fBgetRefCount\fP (void) const" .br .ti -1c .RI "void \fBtouch\fP (void)" .br .ti -1c .RI "SbBool \fBisOfType\fP (\fBSoType\fP type) const" .br .RI "Returns \fRTRUE\fP if the type of this object is either of the same type or inherited from \fItype\fP\&. " .ti -1c .RI "virtual \fBSbName\fP \fBgetName\fP (void) const" .br .ti -1c .RI "virtual void \fBsetName\fP (const \fBSbName\fP &newname)" .br .ti -1c .RI "void \fBaddAuditor\fP (void *const auditor, const \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "void \fBremoveAuditor\fP (void *const auditor, const \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "const \fBSoAuditorList\fP & \fBgetAuditors\fP (void) const" .br .ti -1c .RI "SbBool \fBshouldWrite\fP (void)" .br .ti -1c .RI "void \fBassertAlive\fP (void) const" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static int \fBgetNumDefinedMarkers\fP (void)" .br .ti -1c .RI "static void \fBaddMarker\fP (int idx, const \fBSbVec2s\fP &size, const unsigned char *bytes, SbBool isLSBFirst=TRUE, SbBool isUpToDown=TRUE)" .br .ti -1c .RI "static SbBool \fBgetMarker\fP (int idx, \fBSbVec2s\fP &size, const unsigned char *&bytes, SbBool &isLSBFirst)" .br .ti -1c .RI "static SbBool \fBremoveMarker\fP (int idx)" .br .ti -1c .RI "static SbBool \fBisMarkerBitSet\fP (int idx, int bitNumber)" .br .in -1c Static Public Member Functions inherited from \fBSoPointSet\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoNonIndexedShape\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoVertexShape\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoShape\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static void \fBgetScreenSize\fP (\fBSoState\fP *const state, const \fBSbBox3f\fP &boundingbox, \fBSbVec2s\fP &rectsize)" .br .ti -1c .RI "static float \fBgetDecimatedComplexity\fP (\fBSoState\fP *state, float complexity)" .br .in -1c Static Public Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "static uint32_t \fBgetCompatibilityTypes\fP (const \fBSoType\fP &nodetype)" .br .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static \fBSoNode\fP * \fBgetByName\fP (const \fBSbName\fP &name)" .br .ti -1c .RI "static int \fBgetByName\fP (const \fBSbName\fP &name, \fBSoNodeList\fP &l)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static void \fBinitClasses\fP (void)" .br .ti -1c .RI "static SbUniqueId \fBgetNextNodeId\fP (void)" .br .ti -1c .RI "static int \fBgetActionMethodIndex\fP (const \fBSoType\fP type)" .br .ti -1c .RI "static void \fBgetBoundingBoxS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBGLRenderS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBcallbackS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBgetMatrixS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBhandleEventS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBpickS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBrayPickS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBsearchS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBwriteS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBaudioRenderS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBgetPrimitiveCountS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .in -1c Static Public Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "static void \fBcleanupClass\fP (void)" .br .ti -1c .RI "static void \fBinitCopyDict\fP (void)" .br .ti -1c .RI "static void \fBaddCopy\fP (const \fBSoFieldContainer\fP *orig, const \fBSoFieldContainer\fP *copy)" .br .ti -1c .RI "static \fBSoFieldContainer\fP * \fBcheckCopy\fP (const \fBSoFieldContainer\fP *orig)" .br .ti -1c .RI "static \fBSoFieldContainer\fP * \fBfindCopy\fP (const \fBSoFieldContainer\fP *orig, const SbBool copyconnections)" .br .ti -1c .RI "static void \fBcopyDone\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "static void \fBaddName\fP (\fBSoBase\fP *const base, const char *const name)" .br .ti -1c .RI "static void \fBremoveName\fP (\fBSoBase\fP *const base, const char *const name)" .br .ti -1c .RI "static void \fBincrementCurrentWriteCounter\fP (void)" .br .ti -1c .RI "static void \fBdecrementCurrentWriteCounter\fP (void)" .br .ti -1c .RI "static \fBSoBase\fP * \fBgetNamedBase\fP (const \fBSbName\fP &name, \fBSoType\fP type)" .br .ti -1c .RI "static int \fBgetNamedBases\fP (const \fBSbName\fP &name, \fBSoBaseList\fP &baselist, \fBSoType\fP type)" .br .ti -1c .RI "static SbBool \fBread\fP (\fBSoInput\fP *input, \fBSoBase\fP *&base, \fBSoType\fP expectedtype)" .br .ti -1c .RI "static void \fBsetInstancePrefix\fP (const \fBSbString\fP &c)" .br .ti -1c .RI "static void \fBsetTraceRefs\fP (SbBool trace)" .br .ti -1c .RI "static SbBool \fBgetTraceRefs\fP (void)" .br .ti -1c .RI "static SbBool \fBconnectRoute\fP (\fBSoInput\fP *input, const \fBSbName\fP &fromnodename, const \fBSbName\fP &fromfieldname, const \fBSbName\fP &tonodename, const \fBSbName\fP &tofieldname)" .br .ti -1c .RI "static SbBool \fBreadRoute\fP (\fBSoInput\fP *input)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "\fBSoMFInt32\fP \fBmarkerIndex\fP" .br .in -1c Public Attributes inherited from \fBSoPointSet\fP .in +1c .ti -1c .RI "\fBSoSFInt32\fP \fBnumPoints\fP" .br .in -1c Public Attributes inherited from \fBSoNonIndexedShape\fP .in +1c .ti -1c .RI "\fBSoSFInt32\fP \fBstartIndex\fP" .br .in -1c Public Attributes inherited from \fBSoVertexShape\fP .in +1c .ti -1c .RI "\fBSoSFNode\fP \fBvertexProperty\fP" .br .in -1c Public Attributes inherited from \fBSoBase\fP .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual const \fBSoFieldData\fP * \fBgetFieldData\fP (void) const" .br .ti -1c .RI "virtual \fB~SoMarkerSet\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoPointSet\fP .in +1c .ti -1c .RI "virtual \fB~SoPointSet\fP ()" .br .ti -1c .RI "virtual void \fBgeneratePrimitives\fP (\fBSoAction\fP *action)" .br .ti -1c .RI "virtual void \fBcomputeBBox\fP (\fBSoAction\fP *action, \fBSbBox3f\fP &box, \fBSbVec3f\fP ¢er)" .br .ti -1c .RI "virtual SbBool \fBgenerateDefaultNormals\fP (\fBSoState\fP *, \fBSoNormalCache\fP *nc)" .br .ti -1c .RI "virtual SbBool \fBgenerateDefaultNormals\fP (\fBSoState\fP *state, \fBSoNormalBundle\fP *bundle)" .br .in -1c Protected Member Functions inherited from \fBSoNonIndexedShape\fP .in +1c .ti -1c .RI "\fBSoNonIndexedShape\fP (void)" .br .ti -1c .RI "virtual \fB~SoNonIndexedShape\fP ()" .br .ti -1c .RI "void \fBcomputeCoordBBox\fP (\fBSoAction\fP *action, int numVertices, \fBSbBox3f\fP &box, \fBSbVec3f\fP ¢er)" .br .ti -1c .RI "void \fBfixNumVerticesPointers\fP (\fBSoState\fP *state, const int32_t *&start, const int32_t *&end, int32_t *dummyarray) const" .br .in -1c Protected Member Functions inherited from \fBSoVertexShape\fP .in +1c .ti -1c .RI "\fBSoVertexShape\fP (void)" .br .ti -1c .RI "virtual \fB~SoVertexShape\fP ()" .br .ti -1c .RI "virtual SbBool \fBshouldGLRender\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "void \fBsetNormalCache\fP (\fBSoState\fP *const state, const int num, const \fBSbVec3f\fP *normals)" .br .ti -1c .RI "\fBSoNormalCache\fP * \fBgetNormalCache\fP (void) const" .br .ti -1c .RI "\fBSoNormalCache\fP * \fBgenerateAndReadLockNormalCache\fP (\fBSoState\fP *const state)" .br .ti -1c .RI "void \fBgetVertexData\fP (\fBSoState\fP *state, const \fBSoCoordinateElement\fP *&coords, const \fBSbVec3f\fP *&normals, const SbBool neednormals)" .br .ti -1c .RI "void \fBreadLockNormalCache\fP (void)" .br .ti -1c .RI "void \fBreadUnlockNormalCache\fP (void)" .br .in -1c Protected Member Functions inherited from \fBSoShape\fP .in +1c .ti -1c .RI "\fBSoShape\fP (void)" .br .ti -1c .RI "virtual \fB~SoShape\fP ()" .br .ti -1c .RI "float \fBgetComplexityValue\fP (\fBSoAction\fP *action)" .br .ti -1c .RI "void \fBbeginSolidShape\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "void \fBendSolidShape\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "void \fBGLRenderBoundingBox\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "SbBool \fBshouldPrimitiveCount\fP (\fBSoGetPrimitiveCountAction\fP *action)" .br .ti -1c .RI "SbBool \fBshouldRayPick\fP (\fBSoRayPickAction\fP *const action)" .br .ti -1c .RI "void \fBcomputeObjectSpaceRay\fP (\fBSoRayPickAction\fP *const action)" .br .ti -1c .RI "void \fBcomputeObjectSpaceRay\fP (\fBSoRayPickAction\fP *const action, const \fBSbMatrix\fP &matrix)" .br .ti -1c .RI "virtual \fBSoDetail\fP * \fBcreateTriangleDetail\fP (\fBSoRayPickAction\fP *action, const \fBSoPrimitiveVertex\fP *v1, const \fBSoPrimitiveVertex\fP *v2, const \fBSoPrimitiveVertex\fP *v3, \fBSoPickedPoint\fP *pp)" .br .ti -1c .RI "virtual \fBSoDetail\fP * \fBcreateLineSegmentDetail\fP (\fBSoRayPickAction\fP *action, const \fBSoPrimitiveVertex\fP *v1, const \fBSoPrimitiveVertex\fP *v2, \fBSoPickedPoint\fP *pp)" .br .ti -1c .RI "virtual \fBSoDetail\fP * \fBcreatePointDetail\fP (\fBSoRayPickAction\fP *action, const \fBSoPrimitiveVertex\fP *v, \fBSoPickedPoint\fP *pp)" .br .ti -1c .RI "void \fBinvokeTriangleCallbacks\fP (\fBSoAction\fP *const action, const \fBSoPrimitiveVertex\fP *const v1, const \fBSoPrimitiveVertex\fP *const v2, const \fBSoPrimitiveVertex\fP *const v3)" .br .ti -1c .RI "void \fBinvokeLineSegmentCallbacks\fP (\fBSoAction\fP *const action, const \fBSoPrimitiveVertex\fP *const v1, const \fBSoPrimitiveVertex\fP *const v2)" .br .ti -1c .RI "void \fBinvokePointCallbacks\fP (\fBSoAction\fP *const action, const \fBSoPrimitiveVertex\fP *const v)" .br .ti -1c .RI "void \fBbeginShape\fP (\fBSoAction\fP *const action, const \fBTriangleShape\fP shapetype, \fBSoDetail\fP *const detail=NULL)" .br .ti -1c .RI "void \fBshapeVertex\fP (const \fBSoPrimitiveVertex\fP *const v)" .br .ti -1c .RI "void \fBendShape\fP (void)" .br .ti -1c .RI "void \fBgenerateVertex\fP (\fBSoPrimitiveVertex\fP *const pv, const \fBSbVec3f\fP &point, const SbBool useTexFunc, const \fBSoMultiTextureCoordinateElement\fP *const tce, const float s, const float t, const \fBSbVec3f\fP &normal)" .br .ti -1c .RI "void \fBgenerateVertex\fP (\fBSoPrimitiveVertex\fP *const pv, const \fBSbVec3f\fP &point, const SbBool useTexFunc, const \fBSoMultiTextureCoordinateElement\fP *const tce, const float s, const float t, const float r, const \fBSbVec3f\fP &normal)" .br .ti -1c .RI "SbBool \fBstartVertexArray\fP (\fBSoGLRenderAction\fP *action, const \fBSoCoordinateElement\fP *coords, const \fBSbVec3f\fP *pervertexnormals, const SbBool texpervertex, const SbBool colorpervertex)" .br .ti -1c .RI "void \fBfinishVertexArray\fP (\fBSoGLRenderAction\fP *action, const SbBool vbo, const SbBool normpervertex, const SbBool texpervertex, const SbBool colorpervertex)" .br .in -1c Protected Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "\fBSoNode\fP (void)" .br .ti -1c .RI "virtual \fB~SoNode\fP ()" .br .ti -1c .RI "virtual SbBool \fBreadInstance\fP (\fBSoInput\fP *in, unsigned short flags)" .br .in -1c Protected Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "\fBSoFieldContainer\fP (void)" .br .ti -1c .RI "virtual \fB~SoFieldContainer\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "\fBSoBase\fP (void)" .br .ti -1c .RI "virtual \fB~SoBase\fP ()" .br .ti -1c .RI "virtual void \fBdestroy\fP (void)" .br .ti -1c .RI "SbBool \fBhasMultipleWriteRefs\fP (void) const" .br .ti -1c .RI "SbBool \fBwriteHeader\fP (\fBSoOutput\fP *out, SbBool isgroup, SbBool isengine) const" .br .ti -1c .RI "void \fBwriteFooter\fP (\fBSoOutput\fP *out) const" .br .ti -1c .RI "virtual const char * \fBgetFileFormatName\fP (void) const" .br .ti -1c .RI "virtual \fBSoNotRec\fP \fBcreateNotRec\fP (void)" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoPointSet\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoNonIndexedShape\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoVertexShape\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoShape\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .ti -1c .RI "static void \fBsetNextActionMethodIndex\fP (int index)" .br .ti -1c .RI "static int \fBgetNextActionMethodIndex\fP (void)" .br .ti -1c .RI "static void \fBincNextActionMethodIndex\fP (void)" .br .ti -1c .RI "static void \fBsetCompatibilityTypes\fP (const \fBSoType\fP &nodetype, const uint32_t bitmask)" .br .in -1c Static Protected Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "static uint32_t \fBgetCurrentWriteCounter\fP (void)" .br .ti -1c .RI "static void \fBstaticDataLock\fP (void)" .br .ti -1c .RI "static void \fBstaticDataUnlock\fP (void)" .br .in -1c .SS "Additional Inherited Members" Protected Types inherited from \fBSoBase\fP .in +1c .ti -1c .RI "enum \fBBaseFlags\fP { \fBIS_ENGINE\fP = 0x01, \fBIS_GROUP\fP = 0x02 }" .br .in -1c Protected Attributes inherited from \fBSoNode\fP .in +1c .ti -1c .RI "SbUniqueId \fBuniqueId\fP" .br .in -1c Protected Attributes inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "SbBool \fBisBuiltIn\fP" .br .in -1c Static Protected Attributes inherited from \fBSoNode\fP .in +1c .ti -1c .RI "static SbUniqueId \fBnextUniqueId\fP = 1" .br .ti -1c .RI "static int \fBnextActionMethodIndex\fP = 0" .br .in -1c .SH "Detailed Description" .PP The \fBSoMarkerSet\fP class displays a set of 2D bitmap markers in 3D\&. This node uses the coordinates currently on the state (or in the vertexProperty field) in order\&. The numPoints field specifies the number of points in the set\&. .PP In addition to supplying the user with a set of standard markers to choose from, it is also possible to specify one's own bitmaps for markers\&. .PP This node class is an extension versus the original SGI Inventor v2\&.1 API\&. In addition to being a Coin extension, it is also present in TGS' Inventor implementation\&. (Note that TGS's implementation doesn't support the NONE markerIndex value\&.) .PP \fBFILE FORMAT/DEFAULTS:\fP .PP .nf MarkerSet { vertexProperty NULL startIndex 0 numPoints \-1 markerIndex 0 } .fi .PP .PP \fBSince\fP .RS 4 TGS Inventor 2\&.5 .PP Coin 1\&.0 .RE .PP .SH "Member Enumeration Documentation" .PP .SS "enum \fBSoMarkerSet::MarkerType\fP" Defines the different standard markers\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoMarkerSet::SoMarkerSet (void )" Constructor\&. .SS "SoMarkerSet::~SoMarkerSet ()\fR [protected]\fP, \fR [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoMarkerSet::getClassTypeId (void )\fR [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "\fBSoType\fP SoMarkerSet::getTypeId (void ) const\fR [virtual]\fP" Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for runtime type checking and 'downward' casting\&. .br .PP Reimplemented from \fBSoPointSet\fP\&. .SS "const \fBSoFieldData\fP ** SoMarkerSet::getFieldDataPtr (void )\fR [static]\fP, \fR [protected]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br Returns the \fBSoFieldData\fP class which holds information about fields in this node\&. .br .SS "const \fBSoFieldData\fP * SoMarkerSet::getFieldData (void ) const\fR [protected]\fP, \fR [virtual]\fP" Returns a pointer to the class-wide field data storage object for this instance\&. If no fields are present, returns \fRNULL\fP\&. .PP Reimplemented from \fBSoPointSet\fP\&. .SS "void SoMarkerSet::initClass (void )\fR [static]\fP" .SS "void SoMarkerSet::GLRender (\fBSoGLRenderAction\fP * action)\fR [virtual]\fP" Action method for the \fBSoGLRenderAction\fP\&. .PP This is called during rendering traversals\&. Nodes influencing the rendering state in any way or want to throw geometry primitives at OpenGL override this method\&. .PP Reimplemented from \fBSoPointSet\fP\&. .SS "void SoMarkerSet::getPrimitiveCount (\fBSoGetPrimitiveCountAction\fP * action)\fR [virtual]\fP" Action method for the \fBSoGetPrimitiveCountAction\fP\&. .PP Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the \fIaction\fP\&. .PP Nodes influencing how geometry nodes calculate their primitive count also override this method to change the relevant state variables\&. .PP Reimplemented from \fBSoPointSet\fP\&. .SS "int SoMarkerSet::getNumDefinedMarkers (void )\fR [static]\fP" Returns the number of defined markers\&. .SS "void SoMarkerSet::addMarker (int idx, const \fBSbVec2s\fP & size, const unsigned char * bytes, SbBool isLSBFirst = \fRTRUE\fP, SbBool isUpToDown = \fRTRUE\fP)\fR [static]\fP" Replace the bitmap for the marker at \fIidx\fP with the representation given by \fIsize\fP dimensions with the bitmap data at \fIbytes\fP\&. \fIisLSBFirst\fP and \fIisUpToDown\fP indicates how the bitmap data is ordered\&. Does nothing if \fImarkerIndex\fP is NONE\&. .PP Here's a complete usage example which demonstrates how to set up a user specified marker from a character map\&. Note that the 'multi colored' pixmap data is converted to a monochrome bitmap before being passed to \fBaddMarker()\fP because \fBaddMarker()\fP supports only bitmaps\&. .PP .PP .nf const int WIDTH = 18; const int HEIGHT = 19; const int BYTEWIDTH = (WIDTH + 7) / 2; const char coin_marker[WIDTH * HEIGHT + 1] = { "\&.+ " "+@\&.+ " " \&.@#\&.+ " " +$@##\&.+ " " \&.%@&##\&.+ " " +$@&&*##\&.+ " " \&.%@&&*=##\&.+ " " +$@&&&&=\-##\&.+ " " \&.%@&&&&&\-;#&+ " " +$@&&&&&&=#\&. " " \&.%@&&&&*#\&. " " +$@&&&&#\&. " " \&.%@&@%@#\&. " " +$%@%\&.$@#\&. " " \&.%%\&. \&.$@#\&. " " +$\&. \&.$>#\&." " + \&.$\&. " " \&. " " " }; int byteidx = 0; unsigned char bitmapbytes[BYTEWIDTH * HEIGHT]; for (int h = 0; h < HEIGHT; h++) { unsigned char bits = 0; for (int w = 0; w < WIDTH; w++) { if (coin_marker[(h * WIDTH) + w] != ' ') { bits |= (0x80 >> (w % 8)); } if ((((w + 1) % 8) == 0) || (w == WIDTH \- 1)) { bitmapbytes[byteidx++] = bits; bits = 0; } } } int MYAPP_ARROW_IDX = SoMarkerSet::getNumDefinedMarkers(); // add at end SoMarkerSet::addMarker(MYAPP_ARROW_IDX, SbVec2s(WIDTH, HEIGHT), bitmapbytes, FALSE, TRUE); .fi .PP .PP This will provide you with an index given by MYAPP_ARROW_IDX which can be used in \fBSoMarkerSet::markerIndex\fP to display the new marker\&. .SS "SbBool SoMarkerSet::getMarker (int idx, \fBSbVec2s\fP & size, const unsigned char *& bytes, SbBool & isLSBFirst)\fR [static]\fP" Returns data for marker at \fIidx\fP in the \fIsize\fP, \fIbytes\fP and \fIisLSBFirst\fP parameters\&. .PP If no marker is defined for given \fIidx\fP, or \fBSoMarkerSet::markerIndex\fP is NONE (not removable), \fRFALSE\fP is returned\&. If everything is OK, \fRTRUE\fP is returned\&. .SS "SbBool SoMarkerSet::removeMarker (int idx)\fR [static]\fP" Removes marker at \fIidx\fP\&. .PP If no marker is defined for given \fIidx\fP, or \fBSoMarkerSet::markerIndex\fP is NONE (not removable), \fRFALSE\fP is returned\&. If everything is OK, \fRTRUE\fP is returned\&. .SS "SbBool SoMarkerSet::isMarkerBitSet (int idx, int bitNumber)\fR [static]\fP" Not supported in Coin\&. Should probably not have been part of the public Open Inventor API\&. .SH "Member Data Documentation" .PP .SS "\fBSoMFInt32\fP SoMarkerSet::markerIndex" Contains the set of index markers to display, defaults to 0 (CROSS_5_5)\&. The special value NONE renders nothing for that marker\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.