![]() |
Coin3D is Free Software, published under the BSD 3-clause license. |
https://coin3d.github.io https://www.kongsberg.com/en/kogt/ |
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 } |
![]() | |
enum | TriangleShape { TRIANGLE_STRIP , TRIANGLE_FAN , TRIANGLES , POLYGON , QUADS , QUAD_STRIP , POINTS , LINES , LINE_STRIP } |
![]() | |
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 SoType | getClassTypeId (void) |
static void | initClass (void) |
static int | getNumDefinedMarkers (void) |
static void | addMarker (int idx, const SbVec2s &size, const unsigned char *bytes, SbBool isLSBFirst=TRUE, SbBool isUpToDown=TRUE) |
static SbBool | getMarker (int idx, SbVec2s &size, const unsigned char *&bytes, SbBool &isLSBFirst) |
static SbBool | removeMarker (int idx) |
static SbBool | isMarkerBitSet (int idx, int bitNumber) |
![]() | |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
![]() | |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
![]() | |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
![]() | |
static SoType | getClassTypeId (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 void | getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize) |
static float | getDecimatedComplexity (SoState *state, float complexity) |
![]() | |
static uint32_t | getCompatibilityTypes (const SoType &nodetype) |
static SoType | getClassTypeId (void) |
static SoNode * | getByName (const SbName &name) |
static int | getByName (const SbName &name, SoNodeList &l) |
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 SbUniqueId | getNextNodeId (void) |
static int | getActionMethodIndex (const SoType type) |
static void | getBoundingBoxS (SoAction *action, SoNode *node) |
static void | GLRenderS (SoAction *action, SoNode *node) |
static void | callbackS (SoAction *action, SoNode *node) |
static void | getMatrixS (SoAction *action, SoNode *node) |
static void | handleEventS (SoAction *action, SoNode *node) |
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 void | audioRenderS (SoAction *action, SoNode *node) |
static void | getPrimitiveCountS (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 SoType | getClassTypeId (void) |
This static method returns the SoType object associated with objects of this class. | |
static void | cleanupClass (void) |
static void | initCopyDict (void) |
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
static void | copyDone (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 SoType | getClassTypeId (void) |
This static method returns the SoType object associated with objects of this class. | |
static void | addName (SoBase *const base, const char *const name) |
static void | removeName (SoBase *const base, const char *const name) |
static void | incrementCurrentWriteCounter (void) |
static void | decrementCurrentWriteCounter (void) |
static SoBase * | getNamedBase (const SbName &name, SoType type) |
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
static void | setInstancePrefix (const SbString &c) |
static void | setTraceRefs (SbBool trace) |
static SbBool | getTraceRefs (void) |
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
static SbBool | readRoute (SoInput *input) |
Public Attributes | |
SoMFInt32 | markerIndex |
![]() | |
SoSFInt32 | numPoints |
![]() | |
SoSFInt32 | startIndex |
![]() | |
SoSFNode | vertexProperty |
Additional Inherited Members | |
![]() | |
enum | BaseFlags { IS_ENGINE = 0x01 , IS_GROUP = 0x02 } |
![]() | |
SbUniqueId | uniqueId |
![]() | |
SbBool | isBuiltIn |
![]() | |
static SbUniqueId | nextUniqueId = 1 |
static int | nextActionMethodIndex = 0 |
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.
This static method returns the SoType object associated with objects of this class.
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.
|
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.
|
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.
|
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.
|
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.
|
static |
Returns the number of defined markers.
|
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.
|
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 |
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.
|
static |
Not supported in Coin. Should probably not have been part of the public Open Inventor API.
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.