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_TWO_PTS_
00025 #define _PO_CIRCLE_ARC3_CTR_TWO_PTS_
00026
00027 #include <MeshViz/graph/PoCircleArc3.h>
00028 #include <Inventor/fields/SoSFVec3f.h>
00029
00053 class PoCircleArc3CtrTwoPts : public PoCircleArc3 {
00054
00055 SO_KIT_HEADER(PoCircleArc3CtrTwoPts) ;
00056
00057
00058 public:
00059
00060
00061
00065 SoSFVec3f center ;
00066
00070 SoSFVec3f startPoint ;
00071
00075 SoSFVec3f endPoint ;
00076
00077
00078
00079
00080
00084 PoCircleArc3CtrTwoPts()
00085 { init(TRUE, SbVec3f(0., 0., 0.), SbVec3f(1., 0., 0.), SbVec3f(1., 0., 0.)) ; }
00086
00090 PoCircleArc3CtrTwoPts(const SbVec3f &_center, const SbVec3f &_startPoint,
00091 const SbVec3f &_endPoint)
00092 { init(FALSE, _center, _startPoint, _endPoint) ; }
00093
00097 virtual void rebuild() ;
00098
00099
00100 private:
00101 static void initClass() ;
00102 static void exitClass() ;
00103
00104 private:
00105
00106
00107 virtual ~PoCircleArc3CtrTwoPts() ;
00108 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00109 virtual void setDefaultOnNonWritingFields() ;
00110
00111 private:
00112
00113 void init(SbBool isDefault, const SbVec3f &_center, const SbVec3f &_startPoint,
00114 const SbVec3f &_endPoint) ;
00115
00116
00117
00118
00119 FieldSensorList fieldSensorList ;
00120
00121
00122 SoFieldList fieldList ;
00123 } ;
00124
00125
00126
00127 #endif
00128
00129