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_THREE_PTS_
00025 #define _PO_CIRCLE_ARC_THREE_PTS_
00026
00027 #include <MeshViz/graph/PoCircleArc.h>
00028 #include <Inventor/fields/SoSFVec2f.h>
00029 #include <Inventor/fields/SoSFFloat.h>
00030
00054 class PoCircleArcThreePts : public PoCircleArc {
00055
00056 SO_KIT_HEADER(PoCircleArcThreePts) ;
00057
00058
00059 public:
00060
00061
00062
00066 SoSFVec2f startPoint ;
00067
00071 SoSFVec2f middlePoint ;
00072
00076 SoSFVec2f endPoint ;
00077
00078
00079
00080
00081
00085 PoCircleArcThreePts()
00086 { init(SbVec2f(1.0, 0.0), SbVec2f(-1.0, 0.0), SbVec2f(1.0, 0.0)) ; }
00087
00091 PoCircleArcThreePts(const SbVec2f &_startPoint, const SbVec2f &_middlePoint,
00092 const SbVec2f &_endPoint)
00093 { init(_startPoint, _middlePoint, _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 ~PoCircleArcThreePts() ;
00109 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00110 virtual void setDefaultOnNonWritingFields() ;
00111
00112 private:
00113
00114 void init(const SbVec2f &_startPoint, const SbVec2f &_middlePoint,
00115 const SbVec2f &_endPoint) ;
00116
00117
00118
00119
00120 FieldSensorList fieldSensorList ;
00121
00122
00123 SoFieldList fieldList ;
00124 } ;
00125
00126
00127
00128 #endif
00129
00130