24#ifndef _PO_ANGULAR_AXIS_
25#define _PO_ANGULAR_AXIS_
27#include <MeshViz/graph/PoAxis.h>
29#include <Inventor/fields/SoSFEnum.h>
30#include <Inventor/fields/SoSFFloat.h>
32#define PATH_HOR PATH_RIGHT
33#define PATH_RADIAL PATH_LEFT
34#define PATH_TANGENT PATH_UP
36#define GRAD_INSIDE GRAD_ABOVE
37#define GRAD_OUTSIDE GRAD_BELOW
129 PoAngularAxis(
float _offset,
float _startAngle,
float _endAngle,
float _radius,
131 { init(_offset, _startAngle, _endAngle, _radius, _angleStep) ; }
148 static void initClass() ;
149 static void exitClass() ;
152 struct AngularAxisAttr {
162 virtual void setDefaultOnNonWritingFields() ;
165 virtual void saveAxisAttr() ;
169 virtual void computeGradLimit(
float sAngle,
float eAngle,
170 float &smAngle,
float &emAngle) ;
173 virtual void computeAngularTickLen(
size_t numGrad,
float theta,
174 float &mainTickLen,
float &secdTickLen) ;
177 virtual void setDefaultAttr(Plane plane = XY) ;
180 virtual void buildArrow(
float radius,
float angle,
SoGroup *group) ;
183 void buildTitle(
float start_angle,
float theta,
SoGroup *group) ;
186 virtual void buildTick(
const std::vector<float>& gradAngleList,
187 float tickLen,
SoGroup *group) ;
190 virtual void buildGridLines(
const std::vector<float>& gradAngleList,
194 void computeGradStep(
float _radius,
float theta,
float &step) ;
197 void computeGradListStr(
float theta_m,
float start_angle_m,
float s_angle_m,
198 float angle_step,
size_t &num_grad, std::vector<float>& grad_angle_list,
203 virtual void buildGrads(
const std::vector<float>& gradAngleList,
204 const char **gradStr,
SoGroup *group) ;
208 float rad,
float angle,
const SbString& str) ;
215 AngularAxisAttr angularAxisAttr ;
218 FieldSensorList fieldSensorList ;
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Class to build an angula...
PoAngularAxis()
Default constructor.
SoSFFloat startAngle
Angle in radians of the origin of the axis.
SoSFFloat endAngle
Angle in radians of the end of the axis.
SoSFFloat radius
Radius of the axis.
SoSFFloat offset
Offset for the axis in radians.
PoAngularAxis(float _offset, float _startAngle, float _endAngle, float _radius, float _angleStep)
Constructor.
SoSFEnum gradFit
This flag indicates if the first graduation is rounded or not.
float getAngleStep() const
Returns the current angle step (the step computed can be different from the associated field).
virtual void rebuild()
Forces node-kit rebuilding.
SoSFFloat angleStep
Angular distance in radians between two graduations.
@ GRAD_FIT
The first graduation is rounded.
@ GRAD_UNFIT
The first graduation is not rounded.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Abstract class for axis ...
GradPosition
Graduation position type.
Class for smart character strings.
Maintains a list of pointers to fields.
Base class for all group nodes.
Field containing an enumerated value.
Field containing a floating-point value.