Coin
4.0.3
Coin3D core library
|
The SoMarkerSet class displays a set of 2D bitmap markers in 3D. More...
#include <Inventor/nodes/SoMarkerSet.h>
Public Types | |
enum | MarkerType { NONE = -1 , CROSS_5_5 , PLUS_5_5 , MINUS_5_5 , SLASH_5_5 , BACKSLASH_5_5 , BAR_5_5 , STAR_5_5 , Y_5_5 , LIGHTNING_5_5 , WELL_5_5 , CIRCLE_LINE_5_5 , SQUARE_LINE_5_5 , DIAMOND_LINE_5_5 , TRIANGLE_LINE_5_5 , RHOMBUS_LINE_5_5 , HOURGLASS_LINE_5_5 , SATELLITE_LINE_5_5 , PINE_TREE_LINE_5_5 , CAUTION_LINE_5_5 , SHIP_LINE_5_5 , CIRCLE_FILLED_5_5 , SQUARE_FILLED_5_5 , DIAMOND_FILLED_5_5 , TRIANGLE_FILLED_5_5 , RHOMBUS_FILLED_5_5 , HOURGLASS_FILLED_5_5 , SATELLITE_FILLED_5_5 , PINE_TREE_FILLED_5_5 , CAUTION_FILLED_5_5 , SHIP_FILLED_5_5 , CROSS_7_7 , PLUS_7_7 , MINUS_7_7 , SLASH_7_7 , BACKSLASH_7_7 , BAR_7_7 , STAR_7_7 , Y_7_7 , LIGHTNING_7_7 , WELL_7_7 , CIRCLE_LINE_7_7 , SQUARE_LINE_7_7 , DIAMOND_LINE_7_7 , TRIANGLE_LINE_7_7 , RHOMBUS_LINE_7_7 , HOURGLASS_LINE_7_7 , SATELLITE_LINE_7_7 , PINE_TREE_LINE_7_7 , CAUTION_LINE_7_7 , SHIP_LINE_7_7 , CIRCLE_FILLED_7_7 , SQUARE_FILLED_7_7 , DIAMOND_FILLED_7_7 , TRIANGLE_FILLED_7_7 , RHOMBUS_FILLED_7_7 , HOURGLASS_FILLED_7_7 , SATELLITE_FILLED_7_7 , PINE_TREE_FILLED_7_7 , CAUTION_FILLED_7_7 , SHIP_FILLED_7_7 , CROSS_9_9 , PLUS_9_9 , MINUS_9_9 , SLASH_9_9 , BACKSLASH_9_9 , BAR_9_9 , STAR_9_9 , Y_9_9 , LIGHTNING_9_9 , WELL_9_9 , CIRCLE_LINE_9_9 , SQUARE_LINE_9_9 , DIAMOND_LINE_9_9 , TRIANGLE_LINE_9_9 , RHOMBUS_LINE_9_9 , HOURGLASS_LINE_9_9 , SATELLITE_LINE_9_9 , PINE_TREE_LINE_9_9 , CAUTION_LINE_9_9 , SHIP_LINE_9_9 , CIRCLE_FILLED_9_9 , SQUARE_FILLED_9_9 , DIAMOND_FILLED_9_9 , TRIANGLE_FILLED_9_9 , RHOMBUS_FILLED_9_9 , HOURGLASS_FILLED_9_9 , SATELLITE_FILLED_9_9 , PINE_TREE_FILLED_9_9 , CAUTION_FILLED_9_9 , SHIP_FILLED_9_9 , NUM_MARKERS } |
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 } |
Static Public Member Functions | |
static void | addMarker (int idx, const SbVec2s &size, const unsigned char *bytes, SbBool isLSBFirst=TRUE, SbBool isUpToDown=TRUE) |
static SoType | getClassTypeId (void) |
static SbBool | getMarker (int idx, SbVec2s &size, const unsigned char *&bytes, SbBool &isLSBFirst) |
static int | getNumDefinedMarkers (void) |
static void | initClass (void) |
static SbBool | isMarkerBitSet (int idx, int bitNumber) |
static SbBool | removeMarker (int idx) |
Static Public Member Functions inherited from SoPointSet | |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
Static Public Member Functions inherited from SoNonIndexedShape | |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
Static Public Member Functions inherited from SoVertexShape | |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
Static Public Member Functions inherited from SoShape | |
static SoType | getClassTypeId (void) |
static float | getDecimatedComplexity (SoState *state, float complexity) |
static void | getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize) |
static void | initClass (void) |
Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. | |
Static Public Member Functions inherited from SoNode | |
static void | audioRenderS (SoAction *action, SoNode *node) |
static void | callbackS (SoAction *action, SoNode *node) |
static int | getActionMethodIndex (const SoType type) |
static void | getBoundingBoxS (SoAction *action, SoNode *node) |
static SoNode * | getByName (const SbName &name) |
static int | getByName (const SbName &name, SoNodeList &l) |
static SoType | getClassTypeId (void) |
static uint32_t | getCompatibilityTypes (const SoType &nodetype) |
static void | getMatrixS (SoAction *action, SoNode *node) |
static SbUniqueId | getNextNodeId (void) |
static void | getPrimitiveCountS (SoAction *action, SoNode *node) |
static void | GLRenderS (SoAction *action, SoNode *node) |
static void | handleEventS (SoAction *action, SoNode *node) |
static void | initClass (void) |
Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. | |
static void | initClasses (void) |
static void | pickS (SoAction *action, SoNode *node) |
static void | rayPickS (SoAction *action, SoNode *node) |
static void | searchS (SoAction *action, SoNode *node) |
static void | writeS (SoAction *action, SoNode *node) |
Static Public Member Functions inherited from SoFieldContainer | |
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
static void | cleanupClass (void) |
static void | copyDone (void) |
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
static SoType | getClassTypeId (void) |
This static method returns the SoType object associated with objects of this class. | |
static void | initClass (void) |
Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. | |
static void | initCopyDict (void) |
Static Public Member Functions inherited from SoBase | |
static void | addName (SoBase *const base, const char *const name) |
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
static void | decrementCurrentWriteCounter (void) |
static SoType | getClassTypeId (void) |
This static method returns the SoType object associated with objects of this class. | |
static SoBase * | getNamedBase (const SbName &name, SoType type) |
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
static SbBool | getTraceRefs (void) |
static void | incrementCurrentWriteCounter (void) |
static void | initClass (void) |
Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. | |
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
static SbBool | readRoute (SoInput *input) |
static void | removeName (SoBase *const base, const char *const name) |
static void | setInstancePrefix (const SbString &c) |
static void | setTraceRefs (SbBool trace) |
Public Attributes | |
SoMFInt32 | markerIndex |
Public Attributes inherited from SoPointSet | |
SoSFInt32 | numPoints |
Public Attributes inherited from SoNonIndexedShape | |
SoSFInt32 | startIndex |
Public Attributes inherited from SoVertexShape | |
SoSFNode | vertexProperty |
Additional Inherited Members | |
Protected Types inherited from SoBase | |
enum | BaseFlags { IS_ENGINE = 0x01 , IS_GROUP = 0x02 } |
Protected Attributes inherited from SoNode | |
SbUniqueId | uniqueId |
Protected Attributes inherited from SoFieldContainer | |
SbBool | isBuiltIn |
Static Protected Attributes inherited from SoNode | |
static int | nextActionMethodIndex = 0 |
static SbUniqueId | nextUniqueId = 1 |
The SoMarkerSet 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.
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.
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.)
FILE FORMAT/DEFAULTS:
Defines the different standard markers.
SoMarkerSet::SoMarkerSet | ( | void | ) |
Constructor.
|
protectedvirtual |
Destructor.
|
static |
Replace the bitmap for the marker at idx with the representation given by size dimensions with the bitmap data at bytes. isLSBFirst and isUpToDown indicates how the bitmap data is ordered. Does nothing if markerIndex is NONE.
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 addMarker() because addMarker() supports only bitmaps.
This will provide you with an index given by MYAPP_ARROW_IDX which can be used in SoMarkerSet::markerIndex to display the new marker.
This static method returns the SoType object associated with objects of this class.
|
protectedvirtual |
Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL
.
Reimplemented from SoPointSet.
|
staticprotected |
This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Returns the SoFieldData class which holds information about fields in this node.
|
static |
Returns data for marker at idx in the size, bytes and isLSBFirst parameters.
If no marker is defined for given idx, or SoMarkerSet::markerIndex is NONE (not removable), FALSE
is returned. If everything is OK, TRUE
is returned.
|
static |
Returns the number of defined markers.
|
virtual |
Action method for the SoGetPrimitiveCountAction.
Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the action.
Nodes influencing how geometry nodes calculate their primitive count also override this method to change the relevant state variables.
Reimplemented from SoPointSet.
Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.
Reimplemented from SoPointSet.
|
virtual |
Action method for the SoGLRenderAction.
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.
Reimplemented from SoPointSet.
|
static |
Not supported in Coin. Should probably not have been part of the public Open Inventor API.
|
static |
Removes marker at idx.
If no marker is defined for given idx, or SoMarkerSet::markerIndex is NONE (not removable), FALSE
is returned. If everything is OK, TRUE
is returned.
SoMFInt32 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.