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_MESHFILLED_
00025 #define _PO_MESHFILLED_
00026
00027 #include <MeshViz/3Ddata/PoMesh2D.h>
00028 #include <Inventor/fields/SoSFBool.h>
00029
00030 class PbCartesianGrid2D;
00031 class PbParalCartesianGrid2D;
00032 class PbRegularCartesianGrid2D;
00033 class PbPolarGrid2D;
00034 class PbTriangleMesh2D;
00035 class PbQuadrangleMesh2D;
00036 class PbIndexedMesh2D;
00037 class SoNormal;
00038
00083 class PoMeshFilled : public PoMesh2D {
00084
00085 SO_KIT_HEADER(PoMeshFilled) ;
00086
00087
00088 SO_KIT_CATALOG_ENTRY_HEADER(groupFilled) ;
00089
00090
00091 public:
00092
00096 PoMeshFilled() ;
00097
00112 SoSFBool useOverallNormal;
00113
00114
00118 virtual void rebuild() ;
00119
00120
00121 private:
00122 static void initClass() ;
00123 static void exitClass() ;
00124
00125 void regularCartGridFilled(PbRegularCartesianGrid2D *mesh);
00126 void paralCartGridFilled(PbParalCartesianGrid2D *mesh);
00127 void cartGridFilled(PbCartesianGrid2D *mesh) ;
00128 void polarGridFilled(PbPolarGrid2D *mesh) ;
00129 void triangleMeshFilled(PbTriangleMesh2D *mesh) ;
00130 void quadrangleMeshFilled(PbQuadrangleMesh2D *mesh) ;
00131 void indexedMeshFilled(PbIndexedMesh2D *mesh) ;
00132
00133 private:
00134
00135
00136 virtual ~PoMeshFilled() ;
00137 virtual void setDefaultOnNonWritingFields();
00138 virtual void addElementsAllCaches() ;
00139 virtual void preRebuild();
00140
00141 virtual void insertDefaultShapeHints();
00142 SoNormal* m_overallNormal;
00143
00144
00145
00146 private:
00147
00148
00149
00150 void regularCartGridFilledInhColr (PbRegularCartesianGrid2D *mesh, const float *z=0) ;
00151 void regularCartGridFilledMapColr (PbRegularCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00152 void regularCartGridFilledAvergColr(PbRegularCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00153 void regularCartGridFilledContColr (PbRegularCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00154 void regularCartGridFilledTexContColr (PbRegularCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00155
00156 void paralCartGridFilledInhColr (PbParalCartesianGrid2D *mesh, const float *z=0) ;
00157 void paralCartGridFilledMapColr (PbParalCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00158 void paralCartGridFilledAvergColr(PbParalCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00159 void paralCartGridFilledContColr (PbParalCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00160 void paralCartGridFilledTexContColr (PbParalCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00161
00162 void cartGridFilledInhColr (PbCartesianGrid2D *mesh, const float *z=0) ;
00163 void cartGridFilledMapColr (PbCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00164 void cartGridFilledAvergColr(PbCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00165 void cartGridFilledContColr (PbCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00166 void cartGridFilledTexContColr (PbCartesianGrid2D *mesh, const float *v, const float *z=0) ;
00167
00168 void polarGridFilledInhColr (PbPolarGrid2D *mesh, const float *z=0) ;
00169 void polarGridFilledMapColr (PbPolarGrid2D *mesh, const float *v, const float *z=0) ;
00170 void polarGridFilledAvergColr(PbPolarGrid2D *mesh, const float *v, const float *z=0) ;
00171 void polarGridFilledContColr (PbPolarGrid2D *mesh, const float *v, const float *z=0) ;
00172 void polarGridFilledTexContColr (PbPolarGrid2D *mesh, const float *v, const float *z=0) ;
00173
00174 void triangleMeshFilledInhColr (PbTriangleMesh2D *mesh, const float *z=0) ;
00175 void triangleMeshFilledMapColr (PbTriangleMesh2D *mesh, const float *v, const float *z=0) ;
00176 void triangleMeshFilledAvergColr (PbTriangleMesh2D *mesh, const float *v, const float *z=0) ;
00177 void triangleMeshFilledContColr (PbTriangleMesh2D *mesh, const float *v, const float *z=0) ;
00178 void triangleMeshFilledTexContColr (PbTriangleMesh2D *mesh, const float *v, const float *z=0) ;
00179
00180 void quadrangleMeshFilledInhColr (PbQuadrangleMesh2D *mesh, const float *z=0) ;
00181 void quadrangleMeshFilledMapColr (PbQuadrangleMesh2D *mesh, const float *v, const float *z=0) ;
00182 void quadrangleMeshFilledAvergColr(PbQuadrangleMesh2D *mesh, const float *v, const float *z=0) ;
00183 void quadrangleMeshFilledContColr (PbQuadrangleMesh2D *mesh, const float *v, const float *z=0) ;
00184 void quadrangleMeshFilledTexContColr (PbQuadrangleMesh2D *mesh, const float *v, const float *z=0) ;
00185
00186 void indexedMeshFilledInhColr (PbIndexedMesh2D *mesh, const float *z=0) ;
00187 void indexedMeshFilledMapColr (PbIndexedMesh2D *mesh, const float *v, const float *z=0) ;
00188 void indexedMeshFilledAvergColr(PbIndexedMesh2D *mesh, const float *v, const float *z=0) ;
00189 void indexedMeshFilledContColr (PbIndexedMesh2D *mesh, const float *v, const float *z=0) ;
00190 void indexedMeshFilledTexContColr (PbIndexedMesh2D *mesh, const float *v, const float *z=0) ;
00191
00192
00193 FieldSensorList m_fieldSensorList;
00194
00195
00196 SoFieldList m_fieldList;
00197
00198 } ;
00199
00200
00201
00202 #endif
00203
00204