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_COORDINATE_SYSTEM_AXIS_
00025 #define _PO_COORDINATE_SYSTEM_AXIS_
00026
00027 #include <MeshViz/graph/PoGraphMaster.h>
00028
00029 #include <Inventor/fields/SoSFFloat.h>
00030 #include <Inventor/fields/SoSFVec3f.h>
00031 #include <Inventor/fields/SoSFString.h>
00032
00061 class PoCoordinateSystemAxis : public PoGraphMaster {
00062
00063 SO_KIT_HEADER(PoCoordinateSystemAxis) ;
00064
00065
00066 SO_KIT_CATALOG_ENTRY_HEADER(xArrow) ;
00067 SO_KIT_CATALOG_ENTRY_HEADER(yArrow) ;
00068 SO_KIT_CATALOG_ENTRY_HEADER(zArrow) ;
00069
00070 SO_KIT_CATALOG_ENTRY_HEADER(xTitleTextSep) ;
00071 SO_KIT_CATALOG_ENTRY_HEADER(xTitleTextApp) ;
00072 SO_KIT_CATALOG_ENTRY_HEADER(xTitleText) ;
00073
00074 SO_KIT_CATALOG_ENTRY_HEADER(yTitleTextSep) ;
00075 SO_KIT_CATALOG_ENTRY_HEADER(yTitleTextApp) ;
00076 SO_KIT_CATALOG_ENTRY_HEADER(yTitleText) ;
00077
00078 SO_KIT_CATALOG_ENTRY_HEADER(zTitleTextSep) ;
00079 SO_KIT_CATALOG_ENTRY_HEADER(zTitleTextApp) ;
00080 SO_KIT_CATALOG_ENTRY_HEADER(zTitleText) ;
00081
00082
00083 public:
00084
00085
00086
00090 SoSFVec3f start ;
00091
00095 SoSFVec3f end ;
00096
00100 SoSFString xTitle ;
00101
00105 SoSFString yTitle ;
00106
00110 SoSFString zTitle ;
00111
00116 SoSFFloat arrowLengthFactor ;
00117
00121 SoSFFloat titleTranslationFactor ;
00122
00123
00124
00125
00126
00130 PoCoordinateSystemAxis()
00131 { init(TRUE, SbVec3f(0.0, 0.0, 0.0), SbVec3f(1.0, 1.0, 1.0), NULL, NULL, NULL, 0.05F,
00132 0.0F) ; }
00133
00137 PoCoordinateSystemAxis(const SbVec3f &_start, const SbVec3f &_end, const char *_xTitle,
00138 const char *_yTitle, const char *_zTitle, float _arrowLengthFactor,
00139 float _titleTranslationFactor)
00140 { init(FALSE, _start, _end, _xTitle, _yTitle, _zTitle, _arrowLengthFactor,
00141 _titleTranslationFactor) ; }
00142
00146 virtual void rebuild() ;
00147
00148
00149
00150
00151 private:
00152 static void initClass() ;
00153 static void exitClass() ;
00154
00155 private:
00156
00157
00158 virtual ~PoCoordinateSystemAxis() ;
00159 virtual void setDefaultOnNonWritingFields() ;
00160 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00161
00162 private:
00163
00164 void init(SbBool isDefault, const SbVec3f &_start, const SbVec3f &_end,
00165 const char *_xTitle, const char *_yTitle, const char *_zTitle,
00166 float _arrowLengthFactor, float _titleTranslationFactor) ;
00167
00168
00169 FieldSensorList fieldSensorList ;
00170
00171
00172 SoFieldList fieldList ;
00173
00174 } ;
00175
00176
00177
00178 #endif
00179
00180