35 #ifndef AIMS_MESH_MESHER_H 36 #define AIMS_MESH_MESHER_H 46 typedef std::map< uint, Facet*, std::less< int > >
MapOfFacet;
65 _smoothFeatureAngle( 180. ),
67 _smoothType( LOWPASS ),
69 _splittingFlag( false ),
73 _triOutputFlag( false ),
74 _minFacetNumber( 50 ),
80 void getInterface( std::map<
size_t, std::list< MapOfFacet > >& interface,
83 const std::string& mode =
"binar" );
85 std::map<
size_t, std::list<AimsSurfaceTriangle> >& surface );
109 void setSmoothing(
SmoothingType smoothType,
int smoothIt,
float smoothRate );
110 void setSmoothingLaplacian(
float smoothFeatureAngle );
111 void setSmoothingSpring(
float smoothForce );
112 void unsetSmoothing();
121 void setDecimation(
float deciReductionRate,
122 float deciMaxClearance,
124 float deciFeatureAngle );
125 void unsetDecimation();
136 const std::vector<float> & precthresholds,
142 std::map<
size_t, std::list< std::map<
short,
143 std::list<AimsSurfaceTriangle > > > >& surface );
145 void unsetSplitting();
162 __attribute__((__deprecated__("specify extension in the output filename "
163 "of setMeshOutputFile() or doit()")))
164 { _triOutputFlag =
true; }
202 void getReducedNeighOutwardCycles(
MapOfFacet& thing );
203 void getExtendedNeighOfFacet(
MapOfFacet& thing );
205 void getVertices(
const std::vector< Facet* >& vfac,
206 std::vector< Point3df >& vertex,
207 float sizeX,
float sizeY,
float sizeZ );
208 void getSmoothedVertices(
const std::vector< Facet* >& vfac,
211 void getSmoothedLaplacian(
const std::vector< Facet* >& vfac,
216 void getSmoothedSimpleSpring(
const std::vector< Facet* >& vfac,
221 void getSmoothedPolygonSpring(
const std::vector< Facet* >& vfac,
226 void getSmoothedLowPassFilter(
const std::vector< Facet* >& vfac,
230 void getDecimatedVertices( std::vector< Facet* >& vfac,
231 std::vector< Point3df >& vertex,
232 float reductionRatePercent,
233 float maxClearanceMm,
235 float minFeatureEdgeAngleDegree );
236 void getDecimatedVertices( std::vector< Facet* >& vfac,
237 std::vector< Point3df >& vertex,
238 float reductionRatePercent,
239 float maxClearanceMm,
241 float minFeatureEdgeAngleDegree,
242 const std::vector<float> & thresholds,
246 const std::vector<float> & thresholds,
249 void getNormals(
const std::vector< Facet* >& vfac,
250 const std::vector< Point3df >& vertex,
251 std::vector< Point3df >& normal );
252 void getTriangles(
const std::vector< Facet* >& vfac,
256 const std::vector< Facet* >& vfac,
258 std::map<
short,std::list< AimsSurfaceTriangle> >&
262 std::vector< Facet* >& vfac );
264 void clear( std::map<
size_t, std::list< MapOfFacet > >& interface );
void setTriOutputFile() __attribute__((__deprecated__("specify extension in the output filename " "of setMeshOutputFile() or doit()")))
OBSOLETE - specify extension in the output filename of setMeshOutputFile() or doit() ...
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle
void setMinFacetNumber(uint m)
void setLabelInf(int labelInf)
void setMinSurface(float minSurface)
SmoothingType _smoothType
float _smoothFeatureAngle
void setLabelSup(int labelSup)
std::map< uint, Facet *, std::less< int > > MapOfFacet