SoMarker Class Reference
[Nodes]

VSG extension Defines a custom bitmap for SoMarkerSet and SoIndexedMarkerSet. More...

#include <Inventor/nodes/SoMarker.h>

Inheritance diagram for SoMarker:
SoNode SoFieldContainer SoBase SoRefCounter SoTypedObject

List of all members.

Public Types

enum  MarkerType {
  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
}

Public Member Functions

virtual SoType getTypeId () const
 SoMarker ()

Static Public Member Functions

static SoType getClassTypeId ()

Public Attributes

SoMFUByte bitmap
SoMFUInt32 orderedRGBA
SoSFBool upToDown
SoSFBool isLSBFirst
SoSFVec2s size
SoSFInt32 index

Detailed Description

VSG extension Defines a custom bitmap for SoMarkerSet and SoIndexedMarkerSet.

This class defines a Marker. A marker is an image defined by a bitmap and optional color values. If no color values are given then image pixels corresponding to "1" bits are drawn using the current material color (see SoMaterial) and pixels corresponding to "0" bits are not drawn (whatever is behind the marker shows through). If color values are given then each pixel in the image can be assigned an RGBA value.

size is the dimensions of the marker image in pixels. bitmap is the marker bitmap. The bitmap is arranged row by row, from left to right and up to down (or down to up according to the parameter isUpToDown ). Each byte specifies eight pixels. If isLSBFirst is TRUE, bits are ordered within a byte from Least Significant to Most Significant; otherwise the first bit in each byte is the most significant one. If isUpToDown is TRUE, the marker bitmap is described from down to up (first byte is the bottom left corner of the bitmap), otherwise from up to down (first byte is the top left corner).
Also note that each row must use a whole number of bytes. Padding is thus needed at the end of each row if row size is not a multiple of 8.
orderedRGBA is an optional color mask to apply to the marker. The color mask is arranged the same as bitmap, but each value (unsigned integer) specifies the color of one pixel. Each color is an ordered RGBA value. A value of 0xFF for Alpha makes the color mask be ignored for this pixel, and the color is inherited from the state depending on the bitmap value (as if no color values were given).

Note:

Marker definitions are used by the SoMarkerSet and SoIndexedMarkerSet nodes. To make a custom marker available to these nodes, use one of the addMarker methods defined in those classes.

An SoMarker node can be added to the scene graph, but it is not a geometry node or an attribute node (does not render anything and does not affect the traversal state list). However SoMarker nodes are written out to an Inventor file if an SoWriteAction is applied to the scene graph. So adding SoMarker nodes to the scene graph allows custom marker definitions to be saved and restored. For example:

     // Add markers to scene graph in order to export them in IV file.
     root->addChild( SoMarkerSet::getMarker(90) );
     root->addChild( SoMarkerSet::getMarker(91) );
     root->addChild( SoMarkerSet::getMarker(92) );

FILE FORMAT/DEFAULT

SEE ALSO

SoMarkerSet, SoIndexedMarkerSet


Member Enumeration Documentation

Marker type.

Enumerator:
CROSS_5_5 

Cross 5x5.

PLUS_5_5 

Plus 5x5.

MINUS_5_5 

Minus 5x5.

SLASH_5_5 

Slash 5x5.

BACKSLASH_5_5 

Backslash 5x5.

BAR_5_5 

Bar 5x5.

STAR_5_5 

Star 5x5.

Y_5_5 

Y 5x5.

LIGHTNING_5_5 

Lightning 5x5.

WELL_5_5 

Well 5x5.

CIRCLE_LINE_5_5 

Circle line 5x5.

SQUARE_LINE_5_5 

Square line 5x5.

DIAMOND_LINE_5_5 

Diamond line 5x5.

TRIANGLE_LINE_5_5 

Triangle line 5x5.

RHOMBUS_LINE_5_5 

Rhombus line 5x5.

HOURGLASS_LINE_5_5 

Hourglass line 5x5.

SATELLITE_LINE_5_5 

Satellite line 5x5.

PINE_TREE_LINE_5_5 

Pine line 5x5.

CAUTION_LINE_5_5 

Caution line 5x5.

SHIP_LINE_5_5 

Ship line 5x5.

CIRCLE_FILLED_5_5 

Circle filled 5x5.

SQUARE_FILLED_5_5 

Square filled 5x5.

DIAMOND_FILLED_5_5 

Diamond filled 5x5.

TRIANGLE_FILLED_5_5 

Triangle filled 5x5.

RHOMBUS_FILLED_5_5 

Rhombus filled 5x5.

HOURGLASS_FILLED_5_5 

Hourglass filled 5x5.

SATELLITE_FILLED_5_5 

Satellite filled 5x5.

PINE_TREE_FILLED_5_5 

Pine filled 5x5.

CAUTION_FILLED_5_5 

Caution filled 5x5.

SHIP_FILLED_5_5 

Ship filled 5x5.

CROSS_7_7 

Cross 7x7.

PLUS_7_7 

Plus 7x7.

MINUS_7_7 

Minus 7x7.

SLASH_7_7 

Slash 7x7.

BACKSLASH_7_7 

Backslash 7x7.

BAR_7_7 

Bar 7x7.

STAR_7_7 

Star 7x7.

Y_7_7 

Y 7x7.

LIGHTNING_7_7 

Lightning 7x7.

WELL_7_7 

Well 7x7.

CIRCLE_LINE_7_7 

Circle line 7x7.

SQUARE_LINE_7_7 

Square line 7x7.

DIAMOND_LINE_7_7 

Diamond line 7x7.

TRIANGLE_LINE_7_7 

Triangle line 7x7.

RHOMBUS_LINE_7_7 

Rhombus line 7x7.

HOURGLASS_LINE_7_7 

Hourglass line 7x7.

SATELLITE_LINE_7_7 

Satellite line 7x7.

PINE_TREE_LINE_7_7 

Pine line 7x7.

CAUTION_LINE_7_7 

Caution line 7x7.

SHIP_LINE_7_7 

Ship line 7x7.

CIRCLE_FILLED_7_7 

Circle filled 7x7.

SQUARE_FILLED_7_7 

Square filled 7x7.

DIAMOND_FILLED_7_7 

Diamond filled 7x7.

TRIANGLE_FILLED_7_7 

Triangle filled 7x7.

RHOMBUS_FILLED_7_7 

Rhombus filled 7x7.

HOURGLASS_FILLED_7_7 

Hourglass filled 7x7.

SATELLITE_FILLED_7_7 

Satellite filled 7x7.

PINE_TREE_FILLED_7_7 

Pine filled 7x7.

CAUTION_FILLED_7_7 

Caution filled 7x7.

SHIP_FILLED_7_7 

Ship filled 7x7.

CROSS_9_9 

Cross 9x9.

PLUS_9_9 

Plus 9x9.

MINUS_9_9 

Minus 9x9.

SLASH_9_9 

Slash 9x9.

BACKSLASH_9_9 

Backslash 9x9.

BAR_9_9 

Bar 9x9.

STAR_9_9 

Star 9x9.

Y_9_9 

Y 9x9.

LIGHTNING_9_9 

Lightning 9x9.

WELL_9_9 

Well 9x9.

CIRCLE_LINE_9_9 

Circle line 9x9.

SQUARE_LINE_9_9 

Square line 9x9.

DIAMOND_LINE_9_9 

Diamond line 9x9.

TRIANGLE_LINE_9_9 

Triangle line 9x9.

RHOMBUS_LINE_9_9 

Rhombus line 9x9.

HOURGLASS_LINE_9_9 

Hourglass line 9x9.

SATELLITE_LINE_9_9 

Satellite line 9x9.

PINE_TREE_LINE_9_9 

Pine line 9x9.

CAUTION_LINE_9_9 

Caution line 9x9.

SHIP_LINE_9_9 

Ship line 9x9.

CIRCLE_FILLED_9_9 

Circle filled 9x9.

SQUARE_FILLED_9_9 

Square filled 9x9.

DIAMOND_FILLED_9_9 

Diamond filled 9x9.

TRIANGLE_FILLED_9_9 

Triangle filled 9x9.

RHOMBUS_FILLED_9_9 

Rhombus filled 9x9.

HOURGLASS_FILLED_9_9 

Hourglass filled 9x9.

SATELLITE_FILLED_9_9 

Satellite filled 9x9.

PINE_TREE_FILLED_9_9 

Pine filled 9x9.

CAUTION_FILLED_9_9 

Caution filled 9x9.

SHIP_FILLED_9_9 

Ship filled 9x9.


Constructor & Destructor Documentation

SoMarker::SoMarker (  ) 

Marker constructor.


Member Function Documentation

static SoType SoMarker::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoNode.

virtual SoType SoMarker::getTypeId (  )  const [virtual]

Returns the type identifier for this specific instance.

Reimplemented from SoNode.


Member Data Documentation

Defines the current marker data buffer.

Note that each pixel row of the marker must use a whole number of bytes. Padding is thus needed at the end of each row if row size is not a multiple of 8.

Defines the marker index.

if TRUE, bits are ordered within a byte from Least Significant to most significant; otherwise the first bit in each byte is the most significant one.

Defines the marker coloration mask.

Defines the size (in pixels) of the marker.

Must be greater than 1x1

if TRUE, marker bitmap is described from down to up (that is bytes[0] is the left bottom corner of the bitmap), otherwise from up to down (that is bytes[0] is the top left corner).


The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/