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_REGULARCARTESIANGRID2D_
00025 #define _PO_REGULARCARTESIANGRID2D_
00026
00027 #include <MeshViz/nodes/PoMeshProperty.h>
00028 #include <MeshViz/fields/PoSFRegularCartesianGrid2D.h>
00029
00030 class PbMesh;
00031
00040 class PoRegularCartesianGrid2D : public PoMeshProperty {
00041
00042 SO_NODE_HEADER(PoRegularCartesianGrid2D) ;
00043
00044
00045 public:
00046
00047
00048
00052 PoRegularCartesianGrid2D() ;
00053
00057 PoSFRegularCartesianGrid2D mesh;
00058
00062 const PbMesh* getMesh() const { return (const PbMesh*)&mesh.getValue();};
00063
00068 void setGeometry(int num_x, int num_y,
00069 float x_min, float y_min,
00070 float x_max, float y_max,
00071 const float *zn=NULL);
00072
00073
00074 private:
00075 virtual void doAction(SoAction *action) ;
00076
00077 private:
00078 static void initClass() ;
00079 static void exitClass() ;
00080
00081 private:
00082 const PoSFMesh* getSFieldMesh() const { return &mesh; }
00083 virtual ~PoRegularCartesianGrid2D() ;
00084
00085 private:
00086
00087 } ;
00088
00089
00090
00091
00092 inline void
00093 PoRegularCartesianGrid2D::setGeometry(int num_x, int num_y,
00094 float x_min, float y_min,
00095 float x_max, float y_max,
00096 const float *zn)
00097 {
00098 mesh.setGeometry(num_x, num_y,
00099 x_min, y_min,
00100 x_max, y_max,
00101 zn);
00102 }
00103
00104 #endif
00105
00106