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_ARC_CTR_TWO_PTS_
00025 #define _PO_CIRCLE_ARC_CTR_TWO_PTS_
00026
00027 #include <MeshViz/graph/PoCircleArc.h>
00028 #include <Inventor/fields/SoSFVec2f.h>
00029 #include <Inventor/fields/SoSFFloat.h>
00030
00054 class PoCircleArcCtrTwoPts : public PoCircleArc {
00055
00056 SO_KIT_HEADER(PoCircleArcCtrTwoPts) ;
00057
00058
00059 public:
00060
00061
00062
00066 SoSFVec2f center ;
00067
00071 SoSFVec2f startPoint ;
00072
00076 SoSFVec2f endPoint ;
00077
00078
00079
00080
00081
00085 PoCircleArcCtrTwoPts()
00086 { init(SbVec2f(0.0, 0.0), SbVec2f(1.0, 0.0), SbVec2f(1.0, 0.0)) ; }
00087
00091 PoCircleArcCtrTwoPts(const SbVec2f &_center, const SbVec2f &_startPoint,
00092 const SbVec2f &_endPoint)
00093 { init(_center, _startPoint, _endPoint) ; }
00094
00098 virtual void rebuild() ;
00099
00100
00101 private:
00102 static void initClass() ;
00103 static void exitClass() ;
00104
00105 private:
00106
00107
00108 virtual ~PoCircleArcCtrTwoPts() ;
00109 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00110 virtual void setDefaultOnNonWritingFields() ;
00111
00112 private:
00113
00114 void init(const SbVec2f &_center, const SbVec2f &_startPoint,
00115 const SbVec2f &_endPoint) ;
00116
00117
00118
00119 FieldSensorList fieldSensorList ;
00120
00121
00122 SoFieldList fieldList ;
00123 } ;
00124
00125
00126
00127 #endif
00128
00129