SoExtendedAxis

MacroModule

genre

Analysis

author

Wolf Spindler

package

FMEwork/ReleaseMeVis

definition

SoExtendedAxis.def

see also

SoAxis, SoBoundingBoxVis, SoGrid, SoCorner

keywords

axes, axis, ticks, subticks, coordinates, system, euclidean, origin, orthogonal

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