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_THREE_PTS_
00025 #define _PO_CIRCLE_ARC3_THREE_PTS_
00026
00027 #include <MeshViz/graph/PoCircleArc3.h>
00028 #include <Inventor/fields/SoSFVec3f.h>
00029
00053 class PoCircleArc3ThreePts : public PoCircleArc3 {
00054
00055 SO_KIT_HEADER(PoCircleArc3ThreePts) ;
00056
00057
00058 public:
00059
00060
00061
00065 SoSFVec3f startPoint ;
00066
00070 SoSFVec3f middlePoint ;
00071
00075 SoSFVec3f endPoint ;
00076
00077
00078
00079
00080
00084 PoCircleArc3ThreePts()
00085 { init(TRUE, SbVec3f(1.0, 0.0, 0.0), SbVec3f(-1.0, 0.0, 0.0), SbVec3f(1.0, 0.0, 0.0)) ; }
00086
00090 PoCircleArc3ThreePts(const SbVec3f &_startPoint, const SbVec3f &_middlePoint,
00091 const SbVec3f &_endPoint)
00092 { init(FALSE, _startPoint, _middlePoint, _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 ~PoCircleArc3ThreePts() ;
00108 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00109 virtual void setDefaultOnNonWritingFields() ;
00110
00111 private:
00112
00113 void init(SbBool isDefault, const SbVec3f &_startPoint, const SbVec3f &_middlePoint,
00114 const SbVec3f &_endPoint) ;
00115
00116
00117
00118 FieldSensorList fieldSensorList ;
00119
00120
00121 SoFieldList fieldList ;
00122 } ;
00123
00124
00125
00126 #endif
00127
00128