24#ifndef _PO_AUTO_CUBE_AXIS_
25#define _PO_AUTO_CUBE_AXIS_
27#include <Inventor/fields/SoSFEnum.h>
28#include <Inventor/fields/SoSFString.h>
29#include <Inventor/fields/SoSFVec3f.h>
30#include <Inventor/fields/SoSFBool.h>
31#include <Inventor/fields/SoSFMatrix.h>
33#include <MeshViz/graph/PoBaseAxis.h>
34#include <MeshViz/graph/PbMiscTextAttr.h>
111 SO_KIT_CATALOG_ENTRY_HEADER(backgroundFaceSep) ;
112 SO_KIT_CATALOG_ENTRY_HEADER(backgroundFaceApp) ;
113 SO_KIT_CATALOG_ENTRY_HEADER(backgroundFace) ;
116 SO_KIT_CATALOG_ENTRY_HEADER(mainGradGridSep) ;
117 SO_KIT_CATALOG_ENTRY_HEADER(mainGradGridApp) ;
118 SO_KIT_CATALOG_ENTRY_HEADER(mainGradGrid) ;
121 SO_KIT_CATALOG_ENTRY_HEADER(subGradGridSep) ;
122 SO_KIT_CATALOG_ENTRY_HEADER(subGradGridApp) ;
123 SO_KIT_CATALOG_ENTRY_HEADER(subGradGrid) ;
127 SO_KIT_CATALOG_ENTRY_HEADER(xAxisSwitch03) ;
128 SO_KIT_CATALOG_ENTRY_HEADER(xAxis03) ;
131 SO_KIT_CATALOG_ENTRY_HEADER(xAxisSwitch12) ;
132 SO_KIT_CATALOG_ENTRY_HEADER(xAxis12) ;
135 SO_KIT_CATALOG_ENTRY_HEADER(xAxisSwitch65) ;
136 SO_KIT_CATALOG_ENTRY_HEADER(xAxis65) ;
139 SO_KIT_CATALOG_ENTRY_HEADER(xAxisSwitch74) ;
140 SO_KIT_CATALOG_ENTRY_HEADER(xAxis74) ;
144 SO_KIT_CATALOG_ENTRY_HEADER(yAxisSwitch01) ;
145 SO_KIT_CATALOG_ENTRY_HEADER(yAxis01) ;
148 SO_KIT_CATALOG_ENTRY_HEADER(yAxisSwitch76) ;
149 SO_KIT_CATALOG_ENTRY_HEADER(yAxis76) ;
152 SO_KIT_CATALOG_ENTRY_HEADER(yAxisSwitch45) ;
153 SO_KIT_CATALOG_ENTRY_HEADER(yAxis45) ;
156 SO_KIT_CATALOG_ENTRY_HEADER(yAxisSwitch32) ;
157 SO_KIT_CATALOG_ENTRY_HEADER(yAxis32) ;
161 SO_KIT_CATALOG_ENTRY_HEADER(zAxisSwitch07) ;
162 SO_KIT_CATALOG_ENTRY_HEADER(zAxis07) ;
165 SO_KIT_CATALOG_ENTRY_HEADER(zAxisSwitch34) ;
166 SO_KIT_CATALOG_ENTRY_HEADER(zAxis34) ;
169 SO_KIT_CATALOG_ENTRY_HEADER(zAxisSwitch25) ;
170 SO_KIT_CATALOG_ENTRY_HEADER(zAxis25) ;
173 SO_KIT_CATALOG_ENTRY_HEADER(zAxisSwitch16) ;
174 SO_KIT_CATALOG_ENTRY_HEADER(zAxis16) ;
324 const char *yTtle = NULL,
const char *zTtle = NULL) ;
334 static void initClass() ;
335 static void exitClass() ;
343 virtual void setDefaultOnNonWritingFields() ;
349 const char *xTtle,
const char *yTtle,
const char *zTtle) ;
352 void computeParalVertices() ;
355 void computeParalFaceNormals() ;
362 void drawBackgroundFaces() ;
365 void handleGradsDrawing(
const int *indexVisibleEdges,
int nbVisibleEdges,
PoCartesianAxis *axis[12]) ;
368 void eliminateIntersectingGrads(
const int *indexVisibleEdges,
const int nbVisibleEdges,
375 void resetAllParts() ;
379 void rebuildWithoutMatrix() ;
384 static void catchActionCB(
void *data,
SoAction *action) ;
393 SbBool m_rebuildWithoutMatrix ;
396 static SbBool m_firstInstance ;
398 SoSFEnum xAxisType, yAxisType, zAxisType ;
401 FieldSensorList m_fieldSensorList ;
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Class to build a set of ...
SoSFMatrix modellingMatrix
This modelling matrix is used to determine the visibility of each face (and thus the axes to draw).
virtual void rebuild()
Forces the node kit to be rebuilt immediately.
SoSFVec3f gradStart
Defines the value of the graduation (tick label) corresponding to the starting point of this group of...
SoSFVec3f start
Start point of the parallelepiped's diagonal.
SoSFBool isGridLinesZVisible
Sets the visibility of the grid lines of the Z axes displayed on the visible faces.
SoSFVec3f gradEnd
Defines the value of the graduation (tick label) corresponding to the end point of this group of axes...
SoSFString zTitle
Title of the Z axes.
SoSFVec3f end
End point of the parallelepiped's diagonal.
SoSFBool isBackgroundFacesVisible
Sets the visibility of visible faces.
SoSFString xTitle
Title of the X axes.
virtual void GLRender(SoGLRenderAction *action)
Forces node-kit rebuilding.
SoSFMatrix viewingMatrix
This viewing matrix is used to determine the visibility of each face (and thus the axes to draw).
SoSFBool isGridLinesYVisible
Sets the visibility of the grid lines of the Y axes displayed on the visible faces.
PoAutoCubeAxis(const SbVec3f &_start, const SbVec3f &_end, AxisType xAxisType, AxisType yAxisType, AxisType zAxisType, const char *xTtle=NULL, const char *yTtle=NULL, const char *zTtle=NULL)
Constructor.
SoSFBool isGridLinesXVisible
Sets the visibility of the grid lines of the X axes displayed on the visible faces.
PoAutoCubeAxis()
Default constructor.
SoSFString yTitle
Title of the Y axes.
AxisType
Type of axes on the parallelepiped edges.
@ LOGARITHMIC
Logarithmic axis.
@ GENERALIZED
Generalized axes.
SoSFBool isIntersectingGradsVisible
Given A1 and A2 2 consecutive axes with the first (the last) graduation of A1 intersects the first or...
SoSFMatrix projectionMatrix
This modelling matrix is used to determine the visibility of each face (and thus the axes to draw).
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class for all axis ...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Abstract class for carte...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> 3D vector class ...
Abstract base class for all actions.
Maintains a list of pointers to fields.
Renders a scene graph using Open Inventor's Render Engine.
Field containing a single Boolean value.
Field containing an enumerated value.
Field containing a 4x4 matrix.
Field containing a string.
Field containing a three-dimensional vector.