Purpose

SoExtendedAxis is a convenience macro supporting application builders. It provides a configurable coordinate system built of multiple components:

  • Three coordinate axis which can be configured individually in most parts.
  • A corner built of three planes which can be configured with colors and textures.
  • A grid in the corner whose extents and stepping is adapted to the extents of the three axis.

The three axis can be flipped, their value ranges can be modified as well as the position in space where they are drawn.

Windows

Default Panel

../../../Projects/SoExtendedAxis/Modules/mhelp/Images/Screenshots/SoExtendedAxis._default.png

Output Fields

self

name: self, type: SoNode

Output connector to insert the node into an OpenInventor scene graph.

AxisSeparatorSelf

name: AxisSeparatorSelf, type: SoNode

An output only providing the axis coordinate system without corner or grid.

CornerSeparatorSelf

name: CornerSeparatorSelf, type: SoNode

An output only providing the corner system without axis or grid.

GridSeparatorSelf

name: GridSeparatorSelf, type: SoNode

An output only providing the axis coordinate system without axis or corner.

Parameter Fields

Field Index

Auto Adjust: Trigger Corner Blend Color3: Color Grid3: Bool
Axis: Bool Corner Blend Model1: Enum Shift X (axisShift1X): Double
Axis 1 (axis1Visibility): Bool Corner Blend Model2: Enum Shift X (axisShift2X): Double
Axis 1 (axis1Text): String Corner Blend Model3: Enum Shift X (axisShift2Z): Double
Axis 1 (axis1Color): Color Corner Color1: Color Shift X (axisShift3X): Double
Axis 2 (axis2Visibility): Bool Corner Color2: Color Shift Y (axisShift1Y): Double
Axis 2 (axis2Text): String Corner Color3: Color Shift Y (axisShift2Y): Double
Axis 2 (axis2Color): Color Corner Plane1: Bool Shift Y (axisShift3Y): Double
Axis 3 (axis3Visibility): Bool Corner Plane2: Bool Shift Z (axisShift1Z): Double
Axis 3 (axis3Text): String Corner Plane3: Bool Shift Z (axisShift3Z): Double
Axis 3 (axis3Color): Color Corner Texture Wrap S1: Enum X (axisExtentX): Integer
Axis Box: Bool Corner Texture Wrap S2: Enum X (axisStepSizeX): Double
Axis Numbers: Bool Corner Texture Wrap S3: Enum X (axisNumBiasX): Double
Axis1 (numPrefix1Text): String Corner Texture Wrap T1: Enum X (axisOverScaleX): Double
Axis1 (numPostfix1Text): String Corner Texture Wrap T2: Enum X (axisMarkerLengthX): Double
Axis1 (axisText1AlignMode): Enum Corner Texture Wrap T3: Enum X (axisWingLengthX): Double
Axis1 (axisNum1AlignMode): Enum Corner Texture1: String Y (axisExtentY): Integer
Axis2 (numPrefix2Text): String Corner Texture2: String Y (axisStepSizeY): Double
Axis2 (numPostfix2Text): String Corner Texture3: String Y (axisNumBiasY): Double
Axis2 (axisText2AlignMode): Enum Corner Thickness: Double Y (axisOverScaleY): Double
Axis2 (axisNum2AlignMode): Enum Font Size: Integer Y (axisMarkerLengthY): Double
Axis3 (numPrefix3Text): String Grid Color1: Color Y (axisWingLengthY): Double
Axis3 (numPostfix3Text): String Grid Color2: Color Z (axisExtentZ): Integer
Axis3 (axisText3AlignMode): Enum Grid Color3: Color Z (axisStepSizeZ): Double
Axis3 (axisNum3AlignMode): Enum Grid Line Radius1: Double Z (axisNumBiasZ): Double
axisNumBias: Vector3 Grid Line Radius2: Double Z (axisOverScaleZ): Double
Box: Color Grid Line Radius3: Double Z (axisMarkerLengthZ): Double
Corner: Bool Grid On: Bool Z (axisWingLengthZ): Double
Corner Blend Color1: Color Grid1: Bool  
Corner Blend Color2: Color Grid2: Bool  

Visible Fields

Axis

name: axisOn, type: Bool, default: TRUE

Controls the visibility of the three axis.

Axis Box

name: axisBoxOn, type: Bool, default: TRUE

Controls the visibility of the box.

Axis Numbers

name: axisNumberingOn, type: Bool, default: TRUE

Controls the visibility of the axis end texts.

Axis 1 (axis1Visibility)

name: axis1Visibility, type: Bool, default: TRUE

Controls the visibility of axis 1.

Axis 2 (axis2Visibility)

name: axis2Visibility, type: Bool, default: TRUE

Controls the visibility of axis 2.

Axis 3 (axis3Visibility)

name: axis3Visibility, type: Bool, default: TRUE

Controls the visibility of axis 3.

Axis 1 (axis1Text)

name: axis1Text, type: String, default: X

The text to be drawn at the end of axis 1.

Axis 2 (axis2Text)

name: axis2Text, type: String, default: Y

The text to be drawn at the end of axis 2.

Axis 3 (axis3Text)

name: axis3Text, type: String, default: Z

The text to be drawn at the end of axis 3.

Axis 1 (axis1Color)

name: axis1Color, type: Color, default: 1 1 1

The color to be used when axis 1 is drawn.

Axis 2 (axis2Color)

name: axis2Color, type: Color, default: 1 1 1

The color to be used when axis 2 is drawn.

Axis 3 (axis3Color)

name: axis3Color, type: Color, default: 1 1 1

The color to be used when axis 3 is drawn.

X (axisExtentX)

name: axisExtentX, type: Integer, default: 10, minimum: 1, maximum: 1.07374e+09

The extent to be used by axis 1.

Y (axisExtentY)

name: axisExtentY, type: Integer, default: 10, minimum: 1, maximum: 1.07374e+09

The extent to be used by axis 2.

Z (axisExtentZ)

name: axisExtentZ, type: Integer, default: 10, minimum: 1, maximum: 1.07374e+09

The extent to be used by axis 3.

Auto Adjust

name: autoAdjust, type: Trigger

Adjust a number of fields heuristically to the current extent of the axis to make the relations between their sizes more or less appropriate. This indirectly changes the thickness of the corner planes, the grid line radii, wing lengths, step sizes, marker and wing lengths.

X (axisStepSizeX)

name: axisStepSizeX, type: Double, default: 2, minimum: 1e-05

The steps between two ticks on axis 1.

Y (axisStepSizeY)

name: axisStepSizeY, type: Double, default: 2, minimum: 1e-05

The steps between two ticks on axis 2.

Z (axisStepSizeZ)

name: axisStepSizeZ, type: Double, default: 2, minimum: 1e-05

The steps between two ticks on axis 3.

X (axisNumBiasX)

name: axisNumBiasX, type: Double, default: 0

The values at which numbering of axis 1 starts.

Y (axisNumBiasY)

name: axisNumBiasY, type: Double, default: 0

The values at which numbering of axis 2 starts.

Z (axisNumBiasZ)

name: axisNumBiasZ, type: Double, default: 0

The values at which numbering of axis 3 starts.

Shift X (axisShift1X)

name: axisShift1X, type: Double, default: 0

The x-translation in space of axis 1.

Shift Y (axisShift1Y)

name: axisShift1Y, type: Double, default: 0

The y-translation in space of axis 1.

Shift Z (axisShift1Z)

name: axisShift1Z, type: Double, default: 0

The z-translation in space of axis 1.

Shift X (axisShift2X)

name: axisShift2X, type: Double, default: 0

The x-translation in space of axis 2.

Shift Y (axisShift2Y)

name: axisShift2Y, type: Double, default: 0

The y-translation in space of axis 2.

Shift X (axisShift2Z)

name: axisShift2Z, type: Double, default: 0

The z-translation in space of axis 2.

Shift X (axisShift3X)

name: axisShift3X, type: Double, default: 0

The x-translation in space of axis 3.

Shift Y (axisShift3Y)

name: axisShift3Y, type: Double, default: 0

The y-translation in space of axis 3.

Shift Z (axisShift3Z)

name: axisShift3Z, type: Double, default: 0

The z-translation in space of axis 3.

X (axisOverScaleX)

name: axisOverScaleX, type: Double, default: 1.1, minimum: 1

Scales axes 1, exceeding the extents, such that it is a bit longer then the specified extent. This usually improves the visual appearance and provides enough space for the axis tip and text at the end.

Y (axisOverScaleY)

name: axisOverScaleY, type: Double, default: 1.1, minimum: 1

Scales axes 1, exceeding the extents, such that it is a bit longer then the specified extent. This usually improves the visual appearance and provides enough space for the axis tip and text at the end.

Z (axisOverScaleZ)

name: axisOverScaleZ, type: Double, default: 1.1, minimum: 1

Scales axes 1, exceeding the extents, such that it is a bit longer then the specified extent. This usually improves the visual appearance and provides enough space for the axis tip and text at the end.

X (axisMarkerLengthX)

name: axisMarkerLengthX, type: Double, default: 0.5, minimum: 0

The length of the markers indicating the positions to which drawn numbers belong.

Y (axisMarkerLengthY)

name: axisMarkerLengthY, type: Double, default: 0.5, minimum: 0

The length of the markers indicating the positions to which drawn numbers belong.

Z (axisMarkerLengthZ)

name: axisMarkerLengthZ, type: Double, default: 0.5, minimum: 0

The length of the markers indicating the positions to which drawn numbers belong.

X (axisWingLengthX)

name: axisWingLengthX, type: Double, default: 0.5, minimum: 0

The length of the wings of the arrow tip.

Y (axisWingLengthY)

name: axisWingLengthY, type: Double, default: 0.5, minimum: 0

The length of the wings of the arrow tip.

Z (axisWingLengthZ)

name: axisWingLengthZ, type: Double, default: 0.5, minimum: 0

The length of the wings of the arrow tip.

Font Size

name: axisFontSize, type: Integer, default: 15, minimum: 6, maximum: 128

The font size to be used for all texts and numbers drawn next to the axis.

Box

name: axisBoxColor, type: Color, default: 1 1 1

The color to be used when the axis box is drawn.

Axis1 (numPrefix1Text)

name: numPrefix1Text, type: String, default: None

A text string added as prefix (or postfix) before (or after) numbers, which are drawn next to the ticks of the axis. This can be useful to add unit strings, or only spaces when numbers tend to be drawn too near to the axis lines.

Axis2 (numPrefix2Text)

name: numPrefix2Text, type: String, default: None

See Axis1.

Axis3 (numPrefix3Text)

name: numPrefix3Text, type: String, default: None

See Axis1.

Axis1 (numPostfix1Text)

name: numPostfix1Text, type: String, default: None

See Axis1.

Axis2 (numPostfix2Text)

name: numPostfix2Text, type: String, default: None

See Axis1.

Axis3 (numPostfix3Text)

name: numPostfix3Text, type: String, default: None

See Axis1.

Axis1 (axisText1AlignMode)

name: axisText1AlignMode, type: Enum, default: Axis::AXIS_TEXT_ALIGN_LEFT

Controls the alignment of the text drawn at tip ends of the axis.

Values:

Title Name Description
LEFT Axis::AXIS_TEXT_ALIGN_LEFT The text is drawn right from the calculated drawing position.
CENTER Axis::AXIS_TEXT_ALIGN_CENTER The text is drawn centered at the calculated drawing position.
RIGHT Axis::AXIS_TEXT_ALIGN_RIGHT The text is drawn left from the calculated drawing position.

Axis2 (axisText2AlignMode)

name: axisText2AlignMode, type: Enum, default: Axis::AXIS_TEXT_ALIGN_LEFT

See Axis1.

Axis3 (axisText3AlignMode)

name: axisText3AlignMode, type: Enum, default: Axis::AXIS_TEXT_ALIGN_RIGHT

See Axis1.

Axis1 (axisNum1AlignMode)

name: axisNum1AlignMode, type: Enum, default: Axis::AXIS_TEXT_ALIGN_RIGHT

Controls the alignment of the number strings drawn at ticks of the axis.

Values:

Title Name Description
LEFT Axis::AXIS_TEXT_ALIGN_LEFT See Axis1.
CENTER Axis::AXIS_TEXT_ALIGN_CENTER See Axis1.
RIGHT Axis::AXIS_TEXT_ALIGN_RIGHT See Axis1.

Axis2 (axisNum2AlignMode)

name: axisNum2AlignMode, type: Enum, default: Axis::AXIS_TEXT_ALIGN_LEFT

See Axis1.

Axis3 (axisNum3AlignMode)

name: axisNum3AlignMode, type: Enum, default: Axis::AXIS_TEXT_ALIGN_RIGHT

See Axis1.

Grid On

name: gridOn, type: Bool, default: TRUE

Controls the visibility of all three grids.

Grid1

name: grid1, type: Bool, default: TRUE

Controls the visibility of grid 1.

Grid2

name: grid2, type: Bool, default: TRUE

Controls the visibility of grid 2.

Grid3

name: grid3, type: Bool, default: TRUE

Controls the visibility of grid 3.

Grid Color1

name: gridColor1, type: Color, default: 1 1 1

The color of grid 1.

Grid Color2

name: gridColor2, type: Color, default: 1 1 1

The color of grid 2.

Grid Color3

name: gridColor3, type: Color, default: 1 1 1

The color of grid 3.

Grid Line Radius1

name: gridLineRadius1, type: Double, default: 0.045, minimum: 0.0001

The radius for grid lines in plane 1.

Grid Line Radius2

name: gridLineRadius2, type: Double, default: 0.045, minimum: 0.0001

The radius for grid lines in plane 2.

Grid Line Radius3

name: gridLineRadius3, type: Double, default: 0.045, minimum: 0.0001

The radius for grid lines in plane 3.

Corner

name: cornerOn, type: Bool, default: TRUE

Controls the visibility of the three corner planes.

Corner Plane1

name: cornerPlane1, type: Bool, default: TRUE

See SoCorner.plane1.

Corner Plane2

name: cornerPlane2, type: Bool, default: TRUE

See SoCorner.plane2.

Corner Plane3

name: cornerPlane3, type: Bool, default: TRUE

See SoCorner.plane3.

Corner Color1

name: cornerColor1, type: Color, default: 0.8 0.8 0.8

See SoCorner.color1.

Corner Color2

name: cornerColor2, type: Color, default: 0.8 0.8 0.8

See SoCorner.color2.

Corner Color3

name: cornerColor3, type: Color, default: 0.8 0.8 0.8

See SoCorner.color3.

Corner Thickness

name: cornerThickness, type: Double, default: 0.06, minimum: 0.0001

See SoCorner.thickness.

Corner Texture1

name: cornerTexture1, type: String

See SoCorner.t1filename.

Corner Texture Wrap S1

name: cornerTextureWrapS1, type: Enum, default: REPEAT

See SoCorner.t1WrapS.

Corner Texture Wrap T1

name: cornerTextureWrapT1, type: Enum, default: REPEAT

See SoCorner.t1WrapT.

Corner Blend Model1

name: cornerBlendModel1, type: Enum, default: MODULATE

See SoCorner.t1Model.

Corner Blend Color1

name: cornerBlendColor1, type: Color, default: 0.819607853889465 0.69803923368454 0.69803923368454

See SoCorner.t1BlendColor.

Corner Texture2

name: cornerTexture2, type: String

See SoCorner.t2filename.

Corner Texture Wrap S2

name: cornerTextureWrapS2, type: Enum, default: REPEAT

See SoCorner.t2WrapS.

Corner Texture Wrap T2

name: cornerTextureWrapT2, type: Enum, default: REPEAT

See SoCorner.t2WrapT.

Corner Blend Model2

name: cornerBlendModel2, type: Enum, default: MODULATE

See SoCorner.t2Model.

Corner Blend Color2

name: cornerBlendColor2, type: Color, default: 0.819607853889465 0.69803923368454 0.69803923368454

See SoCorner.t2BlendColor.

Corner Texture3

name: cornerTexture3, type: String

See SoCorner.t3filename.

Corner Texture Wrap S3

name: cornerTextureWrapS3, type: Enum, default: REPEAT

See SoCorner.t3WrapS.

Corner Texture Wrap T3

name: cornerTextureWrapT3, type: Enum, default: REPEAT

See SoCorner.t3WrapT.

Corner Blend Model3

name: cornerBlendModel3, type: Enum, default: MODULATE

See SoCorner.t3Model.

Corner Blend Color3

name: cornerBlendColor3, type: Color, default: 0.819607853889465 0.69803923368454 0.69803923368454

See SoCorner.t3BlendColor.

Hidden Fields

axisNumBias

name: axisNumBias, type: Vector3, default: 0 0 0