xmsmesh  1.0
xms::MePolyInput Class Reference

Meshing inputs for one polygon. More...

#include <MeMultiPolyMesherIo.h>

Public Member Functions

 MePolyInput (const VecPt3d &a_outPoly=VecPt3d(), const VecPt3d2d &a_insidePolys=VecPt3d2d(), double a_bias=1.0, const BSHP< InterpBase > a_sizeFunction=nullptr, const VecInt &a_polyCorners=VecInt(), const BSHP< InterpBase > a_elevFunction=nullptr)
 Constructor. More...
 

Public Attributes

VecPt3d m_outPoly
 Required. Outer polygons. Clockwise. 1st pt != last.
 
VecPt3d2d m_insidePolys
 Optional. Inner polygons (holes). Counter clockwise. 1st pt != last.
 
double m_bias
 
BSHP< InterpBasem_sizeFunction
 Optional. Size function for scalar paving.
 
double m_constSizeFunction
 Optional. Constant value size function.
 
double m_constSizeBias
 Optional. Transition factor for constant size function.
 
VecInt m_polyCorners
 
BSHP< InterpBasem_elevFunction
 Optional. Elevation function for interpolating z coordinate of mesh points.
 
VecPt3d m_boundPtsToRemove
 
bool m_removeInternalFourTrianglePts
 
int m_polyId
 
VecPt3d m_seedPoints
 
std::string m_relaxationMethod
 

Detailed Description

Meshing inputs for one polygon.

Definition at line 35 of file MeMultiPolyMesherIo.h.

Constructor & Destructor Documentation

◆ MePolyInput()

xms::MePolyInput::MePolyInput ( const VecPt3d a_outPoly = VecPt3d(),
const VecPt3d2d a_insidePolys = VecPt3d2d(),
double  a_bias = 1.0,
const BSHP< InterpBase a_sizeFunction = nullptr,
const VecInt a_polyCorners = VecInt(),
const BSHP< InterpBase a_elevFunction = nullptr 
)
inline

Constructor.

Parameters
[in]a_outPolysee member variable
[in]a_insidePolyssee member variable
[in]a_biassee member variable
[in]a_sizeFunctionsee member variable
[in]a_polyCornerssee member variable
[in]a_elevFunctionsee member variable

Definition at line 45 of file MeMultiPolyMesherIo.h.

Member Data Documentation

◆ m_bias

double xms::MePolyInput::m_bias

Optional. Factor for transitioning between areas of high refinement to less refinement.

Definition at line 73 of file MeMultiPolyMesherIo.h.

Referenced by xms::MePolyMesherImpl::MeshIt(), MeMultiPolyTo2dmUnitTests::testCase4(), and xms::tutReadMeshIoFromFile().

◆ m_boundPtsToRemove

VecPt3d xms::MePolyInput::m_boundPtsToRemove

Optional. Outer boundary locations to remove after the paving process. Used by the ugAutoCorrectCells class

Definition at line 92 of file MeMultiPolyMesherIo.h.

Referenced by xms::MePolyMesherImpl::MeshIt().

◆ m_polyCorners

VecInt xms::MePolyInput::m_polyCorners

Optional. Corner nodes for creating meshes using the patch algorithm. 3 per outer poly (not 4 - outer poly index point [0] is assumed to be a corner).

Definition at line 85 of file MeMultiPolyMesherIo.h.

Referenced by xms::MePolyMesherImpl::MeshIt(), TutMeshingIntermediateTests::test_Example_Patch(), xms::tutReadMeshIoFromFile(), and xms::MeMultiPolyMesherImpl::ValidateInput().

◆ m_polyId

int xms::MePolyInput::m_polyId

Optional. Polygon id. Useful for reporting errors if calling software stores ids for polygons and would like to report those back to the user.

Definition at line 100 of file MeMultiPolyMesherIo.h.

Referenced by xms::MePolyMesherImpl::MeshIt(), and xms::MeMultiPolyMesherImpl::ValidateInput().

◆ m_relaxationMethod

std::string xms::MePolyInput::m_relaxationMethod

Optional. Relaxation method. The default relaxation method is an area relax. Set the value to "spring_relaxation". See MeRelaxer.cpp for details on spring relaxation;

Definition at line 111 of file MeMultiPolyMesherIo.h.

Referenced by xms::MePolyMesherImpl::MeshIt(), TutMeshingIntermediateTests::test_Example_SpringRelax(), and xms::tutReadMeshIoFromFile().

◆ m_removeInternalFourTrianglePts

bool xms::MePolyInput::m_removeInternalFourTrianglePts

Optional. Remove internal points that are only connected to 4 cells. Used by the ugAutoCorrectCells class

Definition at line 96 of file MeMultiPolyMesherIo.h.

Referenced by xms::MePolyMesherImpl::MeshIt().

◆ m_seedPoints

VecPt3d xms::MePolyInput::m_seedPoints

Optional. Seed points. If the user has some other methodology for creating point inside the polygon then those points can be specified here. If these points are specified then the paving is not performed. These points will not be used if the meshing option is patch.

Definition at line 106 of file MeMultiPolyMesherIo.h.

Referenced by xms::MePolyMesherImpl::MeshIt(), and xms::tutReadMeshIoFromFile().


The documentation for this class was generated from the following file: