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_ISOVALUES_LIST_
00025 #define _PO_ISOVALUES_LIST_
00026
00027 #include <MeshViz/nodes/PoNode.h>
00028 #include <Inventor/fields/SoMFFloat.h>
00029
00030 class PbIsovaluesList ;
00031 class SoFieldSensor ;
00032
00054 class PoIsovaluesList : public PoNode {
00055
00056 SO_NODE_HEADER(PoIsovaluesList) ;
00057
00058
00059 public:
00060
00061
00062
00066 SoMFFloat isovaluesList ;
00067
00068
00069
00073 PoIsovaluesList() ;
00074
00081 void setRegularIsoList(int numFloats, const float *values, int numValues) ;
00082
00088 void setRegularIsoList(int numValues, float firstValue, float step) ;
00089
00094 void setRegularIsoList(float min, float max, int numValues) ;
00095
00102 const float *getIsoList(int &numValues, float &min, float &max, float &step,
00103 SbBool &isRegularIsoList) ;
00104
00105
00106
00107
00108 private:
00109 virtual void doAction(SoAction *action) ;
00110
00111 private:
00112 static void initClass() ;
00113 static void exitClass() ;
00114
00115 private:
00116 virtual ~PoIsovaluesList() ;
00117
00118 private:
00119 static void isoListChangedCB(void *data, SoSensor *) ;
00120 void updateIsoList() ;
00121
00122 SbBool m_isoListChanged ;
00123 PbIsovaluesList *m_isoList ;
00124 SoFieldSensor *m_isoListSensor ;
00125
00126 } ;
00127
00128
00129 #endif
00130
00131