28#include <Inventor/nodes/SoNode.h>
29#include <Inventor/fields/SoMFUInt32.h>
30#include <Inventor/fields/SoSFBool.h>
31#include <Inventor/fields/SoMFUByte.h>
32#include <Inventor/fields/SoSFVec2s.h>
33#include <Inventor/fields/SoSFInt32.h>
38#define MARKER_HASH_TAB_SIZE 151
371 static void initClass();
372 static void exitClass();
374 virtual void notify( SoNotList* list );
380 {
return m_markerIndex; }
385 void setMarkerIndex(
const int tindex )
386 { m_markerIndex = tindex; }
391 static int getNumDefinedMarkers();
396 static int getMaxIndexDefinedMarker();
401 static void addMarker(
int markerIndex,
403 const unsigned char *bytes,
406 SbBool isUpToDown = TRUE);
410 static void addMarker(
int markerIndex,
SoMarker* marker );
415 static SbBool removeMarker(
int markerIndex);
417 static SoMarker* getMarkerDesc(
int markerInd );
419 static SbBool isMarkerBitSet(
int markerIndex,
int bitNumber) ;
422 static void updateListInstanciedMarkerSet();
423 static void addMarkerSetDependency(
SoNode* );
424 static void removeMarkerSetDependency(
SoNode* );
434 virtual SbBool readInstance(
SoInput *in,
unsigned short flags);
442 SoGLObjectCache* m_objCache;
445 static SbPList m_markerHashTab[MARKER_HASH_TAB_SIZE];
448 static void createListOfPreDefinedMarkers();
449 static void destroyListOfPreDefinedMarkers();
450 static bool m_isBuildingPredefinedMarkers;
453 static inline int getMarkerHashTabIndex(
int markerIndex);
456 static SbPList m_listInstanciedMarkerSet;
458 void setPredefined(
bool b);
464 static int s_cachedCurrentMarkerIndex;
List of generic (void *) pointers.
Multiple-value field containing any number of uint8_t integers.
Multiple-value field containing any number of uint32_t integers.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Defines a custom...
@ BACKSLASH_7_7
Backslash 7x7.
@ SATELLITE_FILLED_7_7
Satellite filled 7x7.
@ LIGHTNING_5_5
Lightning 5x5.
@ CIRCLE_FILLED_9_9
Circle filled 9x9.
@ RHOMBUS_LINE_9_9
Rhombus line 9x9.
@ SHIP_FILLED_9_9
Ship filled 9x9.
@ SQUARE_LINE_7_7
Square line 7x7.
@ SATELLITE_LINE_9_9
Satellite line 9x9.
@ PINE_TREE_LINE_5_5
Pine line 5x5.
@ DIAMOND_FILLED_7_7
Diamond filled 7x7.
@ CIRCLE_LINE_9_9
Circle line 9x9.
@ SATELLITE_LINE_5_5
Satellite line 5x5.
@ RHOMBUS_FILLED_7_7
Rhombus filled 7x7.
@ SHIP_LINE_7_7
Ship line 7x7.
@ CAUTION_FILLED_5_5
Caution filled 5x5.
@ DIAMOND_FILLED_9_9
Diamond filled 9x9.
@ SATELLITE_FILLED_9_9
Satellite filled 9x9.
@ DIAMOND_FILLED_5_5
Diamond filled 5x5.
@ BACKSLASH_5_5
Backslash 5x5.
@ LIGHTNING_7_7
Lightning 7x7.
@ RHOMBUS_FILLED_5_5
Rhombus filled 5x5.
@ DIAMOND_LINE_7_7
Diamond line 7x7.
@ HOURGLASS_FILLED_5_5
Hourglass filled 5x5.
@ PINE_TREE_FILLED_9_9
Pine filled 9x9.
@ CIRCLE_FILLED_7_7
Circle filled 7x7.
@ SATELLITE_FILLED_5_5
Satellite filled 5x5.
@ SQUARE_LINE_9_9
Square line 9x9.
@ RHOMBUS_FILLED_9_9
Rhombus filled 9x9.
@ CIRCLE_FILLED_5_5
Circle filled 5x5.
@ CAUTION_LINE_5_5
Caution line 5x5.
@ SQUARE_FILLED_7_7
Square filled 7x7.
@ SHIP_FILLED_7_7
Ship filled 7x7.
@ PINE_TREE_FILLED_5_5
Pine filled 5x5.
@ CIRCLE_LINE_7_7
Circle line 7x7.
@ DIAMOND_LINE_9_9
Diamond line 9x9.
@ HOURGLASS_LINE_7_7
Hourglass line 7x7.
@ TRIANGLE_LINE_9_9
Triangle line 9x9.
@ TRIANGLE_LINE_5_5
Triangle line 5x5.
@ CAUTION_FILLED_7_7
Caution filled 7x7.
@ BACKSLASH_9_9
Backslash 9x9.
@ CAUTION_LINE_9_9
Caution line 9x9.
@ SHIP_FILLED_5_5
Ship filled 5x5.
@ DIAMOND_LINE_5_5
Diamond line 5x5.
@ HOURGLASS_FILLED_7_7
Hourglass filled 7x7.
@ TRIANGLE_FILLED_7_7
Triangle filled 7x7.
@ RHOMBUS_LINE_7_7
Rhombus line 7x7.
@ TRIANGLE_LINE_7_7
Triangle line 7x7.
@ HOURGLASS_LINE_5_5
Hourglass line 5x5.
@ TRIANGLE_FILLED_5_5
Triangle filled 5x5.
@ PINE_TREE_LINE_7_7
Pine line 7x7.
@ CAUTION_LINE_7_7
Caution line 7x7.
@ CAUTION_FILLED_9_9
Caution filled 9x9.
@ TRIANGLE_FILLED_9_9
Triangle filled 9x9.
@ HOURGLASS_FILLED_9_9
Hourglass filled 9x9.
@ SATELLITE_LINE_7_7
Satellite line 7x7.
@ SHIP_LINE_9_9
Ship line 9x9.
@ SQUARE_LINE_5_5
Square line 5x5.
@ LIGHTNING_9_9
Lightning 9x9.
@ HOURGLASS_LINE_9_9
Hourglass line 9x9.
@ SHIP_LINE_5_5
Ship line 5x5.
@ PINE_TREE_LINE_9_9
Pine line 9x9.
@ CIRCLE_LINE_5_5
Circle line 5x5.
@ PINE_TREE_FILLED_7_7
Pine filled 7x7.
@ SQUARE_FILLED_9_9
Square filled 9x9.
@ RHOMBUS_LINE_5_5
Rhombus line 5x5.
@ SQUARE_FILLED_5_5
Square filled 5x5.
SoMFUByte bitmap
Defines the current marker data buffer.
SoSFBool upToDown
if TRUE, marker bitmap is described from down to up (that is bytes[0] is the left bottom corner of th...
SoSFInt32 index
Defines the marker index.
SoMarker()
Marker constructor.
SoSFVec2s size
Defines the size (in pixels) of the marker.
SoMFUInt32 orderedRGBA
Defines the marker coloration mask.
SoSFBool isLSBFirst
if TRUE, bits are ordered within a byte from Least Significant to most significant; otherwise the fir...
Abstract base class for all database nodes.
Field containing a single Boolean value.
Field containing a int32_t integer.
Field containing a two-dimensional vector.