Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
PoMeshSkin.h
Go to the documentation of this file.
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : VSG (MMM YYYY)
22**=======================================================================*/
23
24#ifndef _PO_MESHSKIN_
25#define _PO_MESHSKIN_
26
28
29class PbIndexedMesh3D;
35class PoCellFilter;
36
61class PoMeshSkin : public PoMesh3D {
62
64
65 /* Define fields for new parts */
67
68
69 public:
70
75
79 virtual void rebuild() ;
80
81 /*----------------------------------------------------------------------------*/
82 private:
83 static void initClass() ;
84 static void exitClass() ;
85
86 void indexedMeshSkin(PbIndexedMesh3D *mesh) ;
87 void cartGrid3DSkin(PbCartesianGrid3D *mesh) ;
88 void paralCartGrid3DSkin(PbParalCartesianGrid3D *mesh) ;
89 void regularGrid3DSkin(PbRegularCartesianGrid3D *mesh) ;
90
91 void grid3DSkinFilter(const PbGrid3D *mesh,const PoCellFilter* cellFilter);
92
93 private:
94 // Destructor
95 virtual ~PoMeshSkin() ;
96 virtual void setDefaultOnNonWritingFields();
97 virtual void addElementsAllCaches() ;
98 virtual void preRebuild();
99
100 /*----------------------------------------------------------------------------*/
101 private:
102 void updateUnStSkinColors() ;
103 void updateUnStSkinTextures();
104
105 void updateUnStSkinGeometry(PbIndexedMesh3D *mesh) ;
106 void updateUnStSkinTopology() ;
107 void updateUnStSkinData() ;
108 void updateUnStSkinShape() ;
109
110 void updateUnStSkinTopologyContouring(const PbIndexedMesh3D *mesh);
111 void updateUnStSkinShapeContouring(const PbIndexedMesh3D *mesh);
112
113 void updateGridSkinGeometry(const PbGrid3D *mesh) ;
114 void updateGridSkinFilterTopology(const PbGrid3D *mesh) ;
115
116 void updateGridSkinTopology(const PbGrid3D *mesh, SbBool add_normals) ;
117 void updateGridSkinColors(PbGrid3D *mesh);
118 void updateGridSkinTextures(PbGrid3D *mesh);
119
120 void updateCartGridSkinGeometry(const PbCartesianGrid3D *mesh) ;
121 void updateCartGridSkinContouringGeo(const PbCartesianGrid3D *mesh);
122
123 void updateParalGridSkinGeometry(const PbParalCartesianGrid3D *mesh) ;
124 void updateParalGridSkinContouringGeo(const PbParalCartesianGrid3D *mesh);
125
126 void updateRegularGridSkinGeometry(const PbRegularCartesianGrid3D *mesh) ;
127 void updateRegularGridSkinContouringGeo(const PbRegularCartesianGrid3D *mesh);
128
129 void updateGridSkinContouringTopo(const PbGrid3D *mesh);
130
131 uint32_t m_topoStateId; // id defining the state of the last PiMeshSkin used
132
133 SbBool m_lastBuiltWithFilter;
134 SbBool m_topologyRebuilt;
135};
136
137/*----------------------------------------------------------------------------*/
138
139#endif /* _PO_MESHSKIN_ */
140
141
142
#define SO_KIT_CATALOG_ENTRY_HEADER(partName)
Definition SoSubKit.h:107
#define SO_KIT_HEADER(className)
Definition SoSubKit.h:91
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a cartesian grid...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract grid...
Definition PbGrid3D.h:44
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a mesh of hexahe...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a volume mesh of...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a parallel carte...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a regular cartes...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a mesh of tetrah...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Interface class defining...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class for all volum...
Definition PoMesh3D.h:53
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Representation of the me...
Definition PoMeshSkin.h:61
virtual void rebuild()
Forces node-kit rebuilding.
PoMeshSkin()
Constructor.
int SbBool
Boolean type.
Definition SbBase.h:87