19#include <mlModuleIncludes.h>
20#include <Inventor/SbLinear.h>
66 void setAxisTicks (
float xmi,
float xma,
float ymi,
float yma,
float zmi,
float zma);
70 const char *numPrefix2Text ,
71 const char *numPrefix3Text ,
72 const char *numPostfix1Text,
73 const char *numPostfix2Text,
74 const char *numPostfix3Text);
77 void setAxisTexts (
const char *at0,
const char *at1,
const char *at2);
90 void setAxisEnds (
float xmi,
float xma,
float ymi,
float yma,
float zmi,
float zma);
93 void setMultiAxis (
bool xy,
bool xz,
bool yx,
bool yz,
bool zx,
bool zy);
116 float sld[3],
float ad0[3],
float ad1[3],
117 const char *axisText,
118 float startTick,
float endTick,
128 const char *at[3],
bool drawAxis[3],
int baseAxis, MLint32 recursions=0);
135 bool _axisNumberingFlag;
138 const char *_axisTexts[3];
141 const char *_numberPrefixes[3];
144 const char *_numberPostfixes[3];
153 float _axisOrigin[3];
156 float _axisNumBias[3];
159 float _axisNumScale[3];
162 float _axisStepSizes[3];
165 float _axisMarkerLength[3];
168 float _axisEnds[3][2];
171 SbVec4f _axisColors[3];
174 float _axisWingLength[3];
177 float _axisOverScale[3];
180 float _subTickSteps[3];
183 float _subTickScale[3];
189 float _axisTicksExt[3][2];
192 bool _multiAxis[3][2];
A class to administrate an axis coordinate system drawable in OpenGL.
void setSubTickScale(float x, float y, float z)
Set tick lengths on additional cross axis, measured in parts of axisMarkerLength.
void setFontSize(MLuint32 size)
The set size of the font, used in drawString().
void setAxisNumBias(float x, float y, float z)
Set a offset added to the drawn axis numbers.
void setAxisTicks(float xmi, float xma, float ymi, float yma, float zmi, float zma)
Set start and end position of axis ticks.
void setSubTickSteps(float x, float y, float z)
Set tick distances on additional cross axis, measured in parts of axisStepSizes.
void setAxisNumScale(float x, float y, float z)
Set a scale multiplied to the drawn axis numbers.
void setAxisOverScale(float sx, float sy, float sz)
Set scale factors for base axis, so that they're longer then axis ends.
void drawAxis()
Draw axis coordinate system with current parameter set.
AxisTextAlignMode
Type selector for text alignment modes.
void drawString(const char *s, const SbVec4f &color, AxisTextAlignMode alignMode=AXIS_TEXT_ALIGN_LEFT)
Draws a string at the current raster position.
Axis()
Default constructor.
void axisNumberingOn(bool b)
Enable/Disable axis tick numbering for all three axis.
void subTickingOn(bool b1, bool b2, bool b3)
Set sub tick drawing for base coordinate system lines.
void setAxisEnds(float xmi, float xma, float ymi, float yma, float zmi, float zma)
Set minimum and maximum extends of all three axis.
void setAxisTexts(const char *at0, const char *at1, const char *at2)
Set description texts of the three axis.
void setAxisVisibility(bool b1, bool b2, bool b3)
Enable/Disable visibility of the three axis.
void drawSubLines(float axis_ori[3], float len, float step, float sld[3], float ad0[3], float ad1[3], const char *axisText, float startTick, float endTick, bool drawAxis[3], int numAxis, int baseAxis, float numBias, float numScale, MLint32 recursions)
Draws one axis with its additional cross axis. It also calls draw_linearAxis.
void setAxisStepSizes(float x, float y, float z)
Set distances between axis ticks.
void setAxisColors(SbVec4f c[3])
Set colors for the three axis.
void setMultiAxis(bool xy, bool xz, bool yx, bool yz, bool zx, bool zy)
Set which additional cross axis shall be drawn.
void setAxisNumberAlignModes(AxisTextAlignMode align0=AXIS_TEXT_ALIGN_LEFT, AxisTextAlignMode align1=AXIS_TEXT_ALIGN_LEFT, AxisTextAlignMode align2=AXIS_TEXT_ALIGN_LEFT)
Set texts alignment for the three axis numbering texts.
void setAxisTextAlignModes(AxisTextAlignMode align0=AXIS_TEXT_ALIGN_LEFT, AxisTextAlignMode align1=AXIS_TEXT_ALIGN_LEFT, AxisTextAlignMode align2=AXIS_TEXT_ALIGN_LEFT)
Set texts alignment for the three axis tip texts.
void setAxisWingLength(float sx, float sy, float sz)
Set length of arrow wings.
void drawLinearAxis(float axisOri[3], float aml[3], float ass[3], float awl[3], const char *at[3], bool drawAxis[3], int baseAxis, MLint32 recursions=0)
Draw the coordinate system and calls drawSubLines, so it is also called recursively.
void setAxisMarkerLength(float x, float y, float z)
Set length of axis ticks.
void setAxisOrigin(float x, float y, float z)
Set world position where axis coordinate system is drawn.
void setNumberPreAndPostFixes(const char *numPrefix1Text, const char *numPrefix2Text, const char *numPrefix3Text, const char *numPostfix1Text, const char *numPostfix2Text, const char *numPostfix3Text)
Set prefixes and postfixes to be inserted before/after each drawn number next to axis.