00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _PO_CIRCLE_ARC3_CTR_PT_ANGLE_
00025 #define _PO_CIRCLE_ARC3_CTR_PT_ANGLE_
00026
00027 #include <MeshViz/graph/PoCircleArc3.h>
00028 #include <Inventor/fields/SoSFVec3f.h>
00029 #include <Inventor/fields/SoSFFloat.h>
00030
00055 class PoCircleArc3CtrPtAngle : public PoCircleArc3 {
00056
00057 SO_KIT_HEADER(PoCircleArc3CtrPtAngle) ;
00058
00059
00060 public:
00061
00062
00063
00067 SoSFVec3f center ;
00068
00072 SoSFVec3f startPoint ;
00073
00077 SoSFFloat angle ;
00078
00082 SoSFVec3f normal ;
00083
00084
00085
00086
00087
00091 PoCircleArc3CtrPtAngle()
00092 { init(TRUE, SbVec3f(0., 0., 0.), SbVec3f(0., 0., 0.), (float)PDEUXPI, SbVec3f(0., 0., 1.)) ; }
00093
00097 PoCircleArc3CtrPtAngle(const SbVec3f &_center, const SbVec3f &_startPoint,
00098 float _angle, const SbVec3f &_normal)
00099 { init(FALSE, _center, _startPoint, _angle, _normal) ; }
00100
00104 virtual void rebuild() ;
00105
00106
00107 private:
00108 static void initClass() ;
00109 static void exitClass() ;
00110
00111 private:
00112
00113
00114 virtual ~PoCircleArc3CtrPtAngle() ;
00115 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00116 virtual void setDefaultOnNonWritingFields() ;
00117
00118 private:
00119
00120 void init(SbBool isDefault, const SbVec3f &_center, const SbVec3f &_startPoint,
00121 float _angle, const SbVec3f &_normal) ;
00122
00123
00124
00125 FieldSensorList fieldSensorList ;
00126
00127
00128 SoFieldList fieldList ;
00129 } ;
00130
00131
00132
00133 #endif
00134
00135