Plugins
ProMesh

Classes

class  ug::promesh::Box
 
class  ug::promesh::Mesh
 
class  ug::promesh::ProMeshRegistry
 Register functions for ug-script and ProMesh through this class. More...
 

Enumerations

enum  ug::promesh::CSGOperation { ug::promesh::CSG_UNION , ug::promesh::CSG_INTERSECTION , ug::promesh::CSG_DIFFERENCE }
 
enum  ug::promesh::RegistryTargets {
  ug::promesh::RT_NONE = 0 , ug::promesh::RT_UGSCRIPT = 1 , ug::promesh::RT_PROMESH = 1 << 1 , ug::promesh::RT_DEFAULT = RT_UGSCRIPT | RT_PROMESH ,
  ug::promesh::RT_NO_PROMESH = RT_UGSCRIPT , ug::promesh::RT_NO_UGSCRIPT = RT_PROMESH
}
 

Functions

void ug::promesh::AdaptSurfaceToCylinder (Mesh *obj, number radius, number threshold)
 
void ug::promesh::AdjustEdgeLength (Mesh *obj, number minEdgeLen, number maxEdgeLen, int numIterations, bool adaptive, bool automarkBoundaries)
 
void ug::promesh::AdjustEdgeLengthExtended (Mesh *obj, number minEdgeLen, number maxEdgeLen, number approximation, number triQuality, int numIterations, bool automarkBoundaries)
 
void ug::promesh::AdjustEdgeOrientation (Mesh *obj)
 
void ug::promesh::AdjustSubsetsForUG3 (Mesh *obj, bool keepIntfSubs)
 
void ug::promesh::AdjustSubsetsForUG4 (Mesh *obj, bool preserveExistingSubsets)
 
void ug::promesh::AssignNewSubset (Mesh *obj, const char *name, bool vertices, bool edges, bool faces, bool volumes)
 
void ug::promesh::AssignSubset (Mesh *obj, int newIndex)
 
void ug::promesh::AssignSubset (Mesh *obj, int newIndex, bool vertices, bool edges, bool faces, bool volumes)
 
void ug::promesh::AssignSubsetColors (Mesh *obj)
 
template<class elem_t >
void ug::promesh::AssignSubsetsByAspectRatio (Mesh *msh, int numHistoSecs, bool eraseOldSubsets)
 
void ug::promesh::AssignSubsetsByElementType (Mesh *obj)
 
void ug::promesh::AssignSubsetsByQuality (Mesh *obj, int numSections)
 
void ug::promesh::AssignSubsetsFromRaster (Mesh *obj, const char *rasterFileName, int rasterDimension, bool vertices, bool edges, bool faces, bool volumes)
 
void ug::promesh::AssignVolumeConstraints (Mesh *obj, number volConstraint)
 
void ug::promesh::ClearMarks (Mesh *obj)
 
void ug::promesh::ClearSelection (Mesh *obj)
 
void ug::promesh::ClearVolumeConstraints (Mesh *obj)
 
SmartPtr< Meshug::promesh::CloneMesh (Mesh *mesh)
 
void ug::promesh::CloseSelection (Mesh *obj)
 
void ug::promesh::CollapseEdge (Mesh *obj)
 
void ug::promesh::ConeTransform (Mesh *obj, const vector3 &base, const vector3 &axis, number scaleAtTip)
 
void ug::promesh::ConvertToQuadrilaterals (Mesh *obj)
 
void ug::promesh::ConvertToTetrahedra (Mesh *obj)
 
void ug::promesh::ConvertToTriangles (Mesh *obj)
 
void ug::promesh::CopySelection (Mesh *srcMesh, Mesh *destMesh)
 
void ug::promesh::CopySubsetIndicesToSides (Mesh *obj, bool selectionOnly, bool toUnassignedOnly)
 
void ug::promesh::CreateBox (Mesh *obj, const vector3 &boxMin, const vector3 &boxMax, int subsetInd, bool fill)
 
void ug::promesh::CreateCircle (Mesh *obj, const vector3 &center, number radius, int numRimVertices, int subsetInd, bool fill)
 
Edgeug::promesh::CreateEdge (Mesh *obj, int subsetInd)
 
Faceug::promesh::CreateFace (Mesh *obj, int subsetInd)
 
void ug::promesh::CreateHexahedraFromSelectedPrisms (Mesh *obj)
 
void ug::promesh::CreatePlane (Mesh *obj, const vector3 &upLeft, const vector3 &upRight, const vector3 &lowLeft, const vector3 &lowRight, int subsetInd, bool fill)
 
void ug::promesh::CreatePlane (Mesh *obj, number width, number height, const vector3 &center, int subsetInd, bool fill)
 
void ug::promesh::CreatePrism (Mesh *obj, int subsetInd, bool fill)
 
void ug::promesh::CreatePyramid (Mesh *obj, int subsetInd, bool fill)
 
template<class TElemIter >
void ug::promesh::CreateShrinkElements (Mesh *obj, number scale, TElemIter elemsBegin, TElemIter elemsEnd)
 
void ug::promesh::CreateShrinkGeometry (Mesh *obj, number scale)
 
void ug::promesh::CreateSphere (Mesh *obj, const vector3 &center, number radius, int numRefinements, int subsetInd)
 
void ug::promesh::CreateTetrahedron (Mesh *obj, int subsetInd, bool fill)
 
void ug::promesh::CreateTKD (Mesh *obj, int subsetInd, number a, number w, number h)
 
void ug::promesh::CreateTKDWithOuterLayer (Mesh *obj, int innerSubsetInd, int outerSubsetInd, number a, number w, number h, number d)
 
Vertexug::promesh::CreateVertex (Mesh *obj, const vector3 &pos, int subsetInd)
 
Volumeug::promesh::CreateVolume (Mesh *obj, int subsetInd)
 
void ug::promesh::CSGFaceDifference (Mesh *obj, int subsetIndex0, int subsetIndex1, number snapThreshold)
 
void ug::promesh::CSGFaceIntersection (Mesh *obj, int subsetIndex0, int subsetIndex1, number snapThreshold)
 
void ug::promesh::CSGFaceOperation (Mesh *obj, CSGOperation op, int subsetIndex0, int subsetIndex1, number snapThreshold)
 
void ug::promesh::CSGFaceUnion (Mesh *obj, int subsetIndex0, int subsetIndex1, number snapThreshold)
 
void ug::promesh::DeselectAllEdges (Mesh *obj)
 
void ug::promesh::DeselectAllFaces (Mesh *obj)
 
void ug::promesh::DeselectAllVertices (Mesh *obj)
 
void ug::promesh::DeselectAllVolumes (Mesh *obj)
 
void ug::promesh::Duplicate (Mesh *obj, const vector3 &offset, bool deselectOld, bool selectNew)
 
void ug::promesh::EdgeSelectionFill (Mesh *obj)
 
void ug::promesh::EraseEmptySubsets (Mesh *obj)
 
void ug::promesh::EraseSelectedElements (Mesh *obj, bool eraseUnusedVrts, bool eraseUnusedEdges, bool eraseUnusedFaces)
 
void ug::promesh::EraseSubset (Mesh *obj, int si, bool eraseGeometry)
 
bool ug::promesh::ExportToUG3 (Mesh *obj, const char *filenamePrefix, const char *lgmName, const char *problemName)
 
void ug::promesh::ExtendSelection (Mesh *obj, int neighborhoodSize)
 
void ug::promesh::ExtendSelectionInDirection (Mesh *obj, int neighborhoodSize, const vector3 &dir, number minAngle, number maxAngle)
 
void ug::promesh::ExtrudeAlongNormal (Mesh *obj, number totalLength, int numSteps, bool createFaces, bool createVolumes)
 
void ug::promesh::ExtrudeAndMove (Mesh *obj, const vector3 &totalDir, int numSteps, bool createFaces, bool createVolumes)
 
void ug::promesh::ExtrudeAndScale (Mesh *obj, number totalScale, bool scaleAroundPivot, int numSteps, bool createFaces, bool createVolumes)
 
void ug::promesh::ExtrudeCylinders (Mesh *obj, number height, number radius, number snapThreshold)
 
void ug::promesh::ExtrudeFacesWithTets (Mesh *obj, int fromSi, int toSi, const number factor)
 
void ug::promesh::ExtrudeLayers (Mesh *obj, RasterLayers &layers, bool allowForTetsAndPyras)
 
void ug::promesh::ExtrudeLayersAndAddProjector (Mesh *obj, SPRasterLayers layers, bool allowForTetsAndPyras)
 
void ug::promesh::ExtrudeToThickness (Mesh *obj, number thickness, int numSteps, bool createFaces, bool createVolumes)
 
void ug::promesh::FaceSelectionFill (Mesh *obj)
 
void ug::promesh::FixFaceOrientation (Mesh *obj)
 
void ug::promesh::FixFaceSubsetOrientations (Mesh *obj)
 
int ug::promesh::FixVolumeOrientation (Mesh *obj)
 
void ug::promesh::FlattenBentQuadrilaterals (Mesh *obj, number stepSize, int numIterations)
 
SmartPtr< Boxug::promesh::GetBoundingBox (Mesh *obj)
 
ProMeshRegistryug::promesh::GetProMeshRegistry ()
 
bool ug::promesh::GetSelectionCenter (Mesh *obj, vector3 &centerOut)
 
void ug::promesh::HangingNodeRefine (Mesh *obj, bool anisotropic)
 
void ug::promesh::HangingNodeRefine (Mesh *obj, bool strictSubsetInheritance, bool anisotropic)
 
void ug::promesh::InsertCenter (Mesh *obj)
 
void ug::promesh::InsertCenter (Mesh *obj, bool strictSubsetInheritance)
 
void ug::promesh::IntersectCloseEdges (Mesh *obj, number snapThreshold)
 
void ug::promesh::InvertFaceOrientation (Mesh *obj)
 
void ug::promesh::InvertSelection (Mesh *obj, bool invVrts, bool invEdges, bool invFaces, bool invVols)
 
void ug::promesh::JoinSubsets (Mesh *obj, int target, int si1, int si2, bool eraseUnused)
 
void ug::promesh::LaplacianSmooth (Mesh *obj, number alpha, int numIterations)
 
bool ug::promesh::LoadMesh (Mesh *obj, const char *filename)
 
void ug::promesh::MarkCornersOfMarkedEdges (Mesh *obj, number angle)
 
void ug::promesh::MarkCreaseEdges (Mesh *obj, number minAngle, bool clearMarks)
 
void ug::promesh::MarkSelection (Mesh *obj)
 
number ug::promesh::MeasureGridArea (Mesh *obj)
 
number ug::promesh::MeasureGridLength (Mesh *obj)
 
number ug::promesh::MeasureGridVolume (Mesh *obj)
 
number ug::promesh::MeasureSelectionArea (Mesh *obj)
 
number ug::promesh::MeasureSelectionLength (Mesh *obj)
 
number ug::promesh::MeasureSelectionVolume (Mesh *obj)
 
number ug::promesh::MeasureSubsetArea (Mesh *obj, int subsetInd)
 
number ug::promesh::MeasureSubsetLength (Mesh *obj, int subsetInd)
 
number ug::promesh::MeasureSubsetVolume (Mesh *obj, int subsetInd)
 
void ug::promesh::MergeAtCenter (Mesh *obj)
 
void ug::promesh::MergeAtFirst (Mesh *obj)
 
void ug::promesh::MergeAtLast (Mesh *obj)
 
void ug::promesh::MeshLayerBoundaries (Mesh *m, const RasterLayers &layers)
 
void ug::promesh::MeshLayers (Mesh *m, const RasterLayers &layers)
 
void ug::promesh::Mirror (Mesh *obj, const vector3 &axisOrig, const vector3 &origin)
 
void ug::promesh::Move (Mesh *obj, const vector3 &offset)
 
void ug::promesh::MoveAlongNormal (Mesh *obj, number offset)
 
void ug::promesh::MoveMeshTo (Mesh *obj, const vector3 &newPos)
 
bool ug::promesh::MoveSelectionTo (Mesh *obj, const vector3 &center)
 
void ug::promesh::MoveSubset (Mesh *obj, int oldIndex, int newIndex)
 
void ug::promesh::MoveVerticesAlongEdges (Mesh *obj, number relVal)
 
void ug::promesh::MoveVerticesToEdgeLength (Mesh *obj, number edgeLen)
 
void ug::promesh::MoveVerticesToProjectedEdgeLength (Mesh *obj, number projEdgeLen, const vector3 &projNormal)
 
void ug::promesh::PlaneCut (Mesh *obj, const vector3 &p, const vector3 &n)
 
number ug::promesh::ProjectedDistance (Mesh *obj, const vector3 &projectionNormal)
 
void ug::promesh::ProjectToLayer (Mesh *obj, RasterLayers &layers, int layerIndex)
 
void ug::promesh::ProjectToLimitPLoop (Mesh *obj)
 
void ug::promesh::ProjectToLimitSmoothBoundary (Mesh *obj)
 
void ug::promesh::ProjectToPlane (Mesh *obj, const vector3 &planeCenter, const vector3 &planeNormal)
 
void ug::promesh::ProjectToTopLayer (Mesh *obj, RasterLayers &layers)
 
void ug::promesh::ProjectVerticesToCloseEdges (Mesh *obj, number snapThreshold)
 
void ug::promesh::ProjectVerticesToCloseFaces (Mesh *obj, number snapThreshold)
 
void ug::promesh::Refine (Mesh *obj)
 
void ug::promesh::Refine (Mesh *obj, bool strictSubsetInheritance, bool useSnapPoints)
 
void ug::promesh::RefineSmooth (Mesh *obj)
 
void ug::promesh::RefineSmooth (Mesh *obj, bool strictSubsetInheritance)
 
void ug::promesh::RefineWithSnapPoints (Mesh *obj)
 
void ug::promesh::RefineWithSnapPointsOrtho (Mesh *obj)
 
void ug::promesh::RegularizingRefinement (Mesh *obj, const number aspectRatio)
 
size_t ug::promesh::RemoveDoubleEdges (Mesh *obj)
 
size_t ug::promesh::RemoveDoubleFaces (Mesh *obj)
 
size_t ug::promesh::RemoveDoubles (Mesh *obj, number threshold)
 returns the number of removed vertices More...
 
void ug::promesh::ReplaceLowValenceVertices (Mesh *obj, number maxSquaredHeightToBaseAreaRatio)
 
void ug::promesh::ReplaceValence3Vertices (Mesh *obj, number maxSquaredHeightToBaseAreaRatio)
 
void ug::promesh::ResolveEdgeIntersection (Mesh *obj, number snapThreshold)
 
void ug::promesh::ResolveSelfIntersections (Mesh *obj, number snapThreshold)
 
void ug::promesh::ResolveTriangleIntersections (Mesh *obj, number snapThreshold)
 
void ug::promesh::RestrictSelectionToSubset (Mesh *obj, int si)
 
void ug::promesh::Retetrahedralize (Mesh *obj, number quality, bool preserveOuter, bool preserveAll, bool applyVolumeConstraint, int verbosity)
 
void ug::promesh::Retriangulate (Mesh *obj, number minAngle)
 
void ug::promesh::RotateAroundCenter (Mesh *obj, const vector3 &rotRad)
 
void ug::promesh::RotateAroundPivot (Mesh *obj, const vector3 &rotRad)
 
bool ug::promesh::SaveMesh (Mesh *obj, const char *filename)
 
void ug::promesh::ScaleAroundCenter (Mesh *obj, const vector3 &scale)
 
void ug::promesh::ScaleAroundPivot (Mesh *obj, const vector3 &scale)
 
void ug::promesh::ScaleAroundPoint (Mesh *obj, const vector3 &scale, const vector3 &point)
 
void ug::promesh::SelectAll (Mesh *obj)
 
void ug::promesh::SelectAllEdges (Mesh *obj)
 
void ug::promesh::SelectAllFaces (Mesh *obj)
 
void ug::promesh::SelectAllVertices (Mesh *obj)
 
void ug::promesh::SelectAllVolumes (Mesh *obj)
 
template<class TElem >
void ug::promesh::SelectAnisotropicElements (Mesh *obj, number minEdgeRatio)
 
void ug::promesh::SelectAssociatedEdges (Mesh *obj)
 
void ug::promesh::SelectAssociatedFaces (Mesh *obj)
 
void ug::promesh::SelectAssociatedVertices (Mesh *obj)
 
size_t ug::promesh::SelectBentQuadrilaterals (Mesh *obj, number dotThreshold)
 
void ug::promesh::SelectBoundaryEdges (Mesh *obj)
 
void ug::promesh::SelectBoundaryFaces (Mesh *obj)
 
void ug::promesh::SelectBoundaryVertices (Mesh *obj)
 
Edgeug::promesh::SelectClosestEdge (Mesh *m, const vector3 &coord)
 
void ug::promesh::SelectCreaseEdges (Mesh *obj, number minAngle)
 
void ug::promesh::SelectDegenerateFaces (Mesh *obj, number maxHeight)
 
bool ug::promesh::SelectEdgeByIndex (Mesh *obj, int index)
 
void ug::promesh::SelectEdgesByDirection (Mesh *m, const vector3 &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped)
 
template<class TElem >
TElem * ug::promesh::SelectElemByCoordinate (Mesh *obj, const vector3 &coord)
 
template<class TElem >
TElem * ug::promesh::SelectElemByCylindricalCoordinate (Mesh *obj, number rho, number phi, number z)
 
void ug::promesh::SelectElementsByIndexRange (Mesh *obj, const char *vrtRanges, const char *edgeRanges, const char *faceRanges, const char *volRanges, bool clearSelection)
 
void ug::promesh::SelectElementsBySplitPlane (Mesh *obj, bool selectVrts, bool selectEdges, bool selectFaces, bool selectVols, const vector3 &pivot, const vector3 &normal)
 
template<class TElem >
void ug::promesh::SelectElementsInBox (Mesh *obj, const vector3 &min, const vector3 &max)
 Selects elements whose center lie in a box. More...
 
template<int icoord, int selFlag>
void ug::promesh::SelectElementsInCoordinateRange (Mesh *mesh, number min, number max, bool vrts, bool edges, bool faces, bool vols)
 
template<int icoord, int selFlag, class TElem >
void ug::promesh::SelectElementsInCoordinateRange (Mesh *obj, number min, number max)
 
template<class TElem >
void ug::promesh::SelectElementsInCylinder (Mesh *obj, const vector3 &cylBase, const vector3 &cylTop, number radius)
 Selects elements whose center lie in a cylinder. More...
 
bool ug::promesh::SelectFaceByIndex (Mesh *obj, int index)
 
void ug::promesh::SelectFacesByNormal (Mesh *obj, const vector3 &refNormal, number maxDeviationAngle)
 
void ug::promesh::SelectFacesByNormal (Mesh *obj, const vector3 &refNormal, number minDeviationAngle, number maxDeviationAngle, bool noInnerFaces)
 
void ug::promesh::SelectInnerEdges (Mesh *obj)
 
void ug::promesh::SelectInnerFaces (Mesh *obj)
 
void ug::promesh::SelectInnerVertices (Mesh *obj)
 
template<class TElem >
void ug::promesh::SelectInterfaceElements (Mesh *obj, bool regardSelectedNbrsOnly)
 
void ug::promesh::SelectIntersectingTriangles (Mesh *obj)
 
void ug::promesh::SelectLinkedBoundaryEdges (Mesh *obj, bool stopAtSelectedVrts)
 
void ug::promesh::SelectLinkedBoundaryFaces (Mesh *obj, bool stopAtSelectedEdges)
 
template<class TElem >
void ug::promesh::SelectLinkedElements (Mesh *obj)
 
void ug::promesh::SelectLinkedFlatFaces (Mesh *obj, number maxDeviationAngle, bool ignoreOrientation, bool traverseDegeneratedFaces, bool stopAtSelectedEdges)
 
void ug::promesh::SelectLinkedManifoldFaces (Mesh *obj)
 
void ug::promesh::SelectLongEdges (Mesh *obj, number minLength)
 
void ug::promesh::SelectMarkedEdges (Mesh *obj)
 
void ug::promesh::SelectMarkedFaces (Mesh *obj)
 
void ug::promesh::SelectMarkedVertices (Mesh *obj)
 
void ug::promesh::SelectNonManifoldEdges (Mesh *obj)
 
void ug::promesh::SelectSelectionBoundary (Mesh *obj)
 
size_t ug::promesh::SelectSelectionKinkVertices (Mesh *obj, number thresholdAngle, bool selectDarts)
 
void ug::promesh::SelectShortEdges (Mesh *obj, number maxLength)
 
void ug::promesh::SelectShortPolychains (Mesh *m, number maxChainLength, bool closedChainsOnly)
 
int ug::promesh::SelectSlivers (Mesh *obj, number thresholdRatio)
 
void ug::promesh::SelectSmoothEdgePath (Mesh *obj, number maxDeviation, number normalWeight, bool stopAtSelectedVrts)
 
void ug::promesh::SelectSubset (Mesh *obj, int si, bool selVrts, bool selEdges, bool selFaces, bool selVols)
 
void ug::promesh::SelectSubsetBoundary (Mesh *obj, int si, bool edgeBnds, bool faceBnds, bool volBnds)
 
void ug::promesh::SelectSubsetEdgesByDirection (Mesh *m, int subsetIndex, const vector3 &dir, number minDeviationAngle, number maxDeviationAngle, bool selectFlipped)
 
size_t ug::promesh::SelectSubsetKinkVertices (Mesh *obj, int subsetIndex, number thresholdAngle, bool selectDarts)
 
void ug::promesh::SelectUnassignedElements (Mesh *obj, bool selVrts, bool selEdges, bool selFaces, bool selVols)
 
size_t ug::promesh::SelectUnconnectedVertices (Mesh *obj, bool edgeCons, bool faceCons, bool volCons)
 
int ug::promesh::SelectUnorientableVolumes (Mesh *obj)
 
bool ug::promesh::SelectVertexByIndex (Mesh *obj, int index)
 
bool ug::promesh::SelectVolumeByIndex (Mesh *obj, int index)
 
void ug::promesh::SelectVolumesByType (Mesh *obj, bool selHexahedra, bool selOctahedra, bool selPrisms, bool selPyramids, bool selTetrahedra)
 
void ug::promesh::SeparateDegeneratedBoundaryFaceSubsets (Mesh *obj, number angle)
 
void ug::promesh::SeparateFacesByEdgeSubsets (Mesh *obj)
 
void ug::promesh::SeparateFacesBySelectedEdges (Mesh *obj)
 
void ug::promesh::SeparateFaceSubsetByNormal (Mesh *obj, int si)
 
void ug::promesh::SeparateFaceSubsetsByNormal (Mesh *obj)
 
void ug::promesh::SeparateIrregularManifoldSubsets (Mesh *obj)
 
void ug::promesh::SeparateVolumesByFaceSubsets (Mesh *obj)
 
void ug::promesh::SeparateVolumesBySelectedFaces (Mesh *obj)
 
void ug::promesh::SetPivot (Mesh *obj, const vector3 &pos)
 
void ug::promesh::SetPivotToMeshCenter (Mesh *obj)
 
void ug::promesh::SetPivotToSelectionCenter (Mesh *obj)
 
void ug::promesh::SetSubsetName (Mesh *obj, int si, const char *name)
 
void ug::promesh::SimplifyPolylines (Mesh *m, number curvatureThreshold)
 
void ug::promesh::SimplifySmoothedPolylines (Mesh *m, number curvatureThreshold, number smoothingAlpha, int smoothingIterations)
 
void ug::promesh::SlopeSmooth (Mesh *obj, number alpha, int numIterations)
 
void ug::promesh::SnapToHorizontalRaster (Mesh *obj, SPRasterLayers layers)
 
void ug::promesh::SnapVerticesToVertices (Mesh *obj, Mesh *targetMesh)
 
void ug::promesh::SplitEdge (Mesh *obj)
 
void ug::promesh::SwapEdge (Mesh *obj)
 
void ug::promesh::SwapSubsets (Mesh *obj, int oldIndex, int newIndex)
 
void ug::promesh::TangentialSmooth (Mesh *obj, number alpha, int numIterations)
 
void ug::promesh::Tetrahedralize (Mesh *obj, number quality, bool preserveOuter, bool preserveAll, bool separateVolumes, bool appendSubsetsAtEnd, int verbosity)
 
void ug::promesh::TriangleFill (Mesh *obj, bool qualityGeneration, number minAngle, int si)
 
void ug::promesh::UnassignSubsets (Mesh *obj, bool vertices, bool edges, bool faces, bool volumes)
 
void ug::promesh::UnmarkSelection (Mesh *obj)
 
void ug::promesh::VolumeSelectionFill (Mesh *obj)
 
void ug::promesh::WeightedEdgeSmooth (Mesh *obj, number alpha, int numIterations)
 
void ug::promesh::WeightedFaceSmooth (Mesh *obj, number alpha, int numIterations)
 
void ug::promesh::WeightedNormalSmooth (Mesh *obj, number alpha, number dotThreshold, int numIterations)
 

Detailed Description

This plugin provides an interface to lib_grid's meshing algorithms.

Enumeration Type Documentation

◆ CSGOperation

Enumerator
CSG_UNION 
CSG_INTERSECTION 
CSG_DIFFERENCE 

◆ RegistryTargets

Enumerator
RT_NONE 
RT_UGSCRIPT 
RT_PROMESH 
RT_DEFAULT 
RT_NO_PROMESH 
RT_NO_UGSCRIPT 

Function Documentation

◆ AdaptSurfaceToCylinder()

◆ AdjustEdgeLength()

void ug::promesh::AdjustEdgeLength ( Mesh obj,
number  minEdgeLen,
number  maxEdgeLen,
int  numIterations,
bool  adaptive,
bool  automarkBoundaries 
)

◆ AdjustEdgeLengthExtended()

◆ AdjustEdgeOrientation()

◆ AdjustSubsetsForUG3()

void ug::promesh::AdjustSubsetsForUG3 ( Mesh obj,
bool  keepIntfSubs 
)

◆ AdjustSubsetsForUG4()

void ug::promesh::AdjustSubsetsForUG4 ( Mesh obj,
bool  preserveExistingSubsets 
)

◆ AssignNewSubset()

◆ AssignSubset() [1/2]

◆ AssignSubset() [2/2]

void ug::promesh::AssignSubset ( Mesh obj,
int  newIndex,
bool  vertices,
bool  edges,
bool  faces,
bool  volumes 
)

◆ AssignSubsetColors()

void ug::promesh::AssignSubsetColors ( Mesh obj)

◆ AssignSubsetsByAspectRatio()

◆ AssignSubsetsByElementType()

◆ AssignSubsetsByQuality()

◆ AssignSubsetsFromRaster()

void ug::promesh::AssignSubsetsFromRaster ( Mesh obj,
const char *  rasterFileName,
int  rasterDimension,
bool  vertices,
bool  edges,
bool  faces,
bool  volumes 
)

References UG_THROW, and vertices().

Referenced by ug::promesh::RegisterSubsetTools().

◆ AssignVolumeConstraints()

void ug::promesh::AssignVolumeConstraints ( Mesh obj,
number  volConstraint 
)

◆ ClearMarks()

void ug::promesh::ClearMarks ( Mesh obj)

◆ ClearSelection()

void ug::promesh::ClearSelection ( Mesh obj)

◆ ClearVolumeConstraints()

void ug::promesh::ClearVolumeConstraints ( Mesh obj)

◆ CloneMesh()

SmartPtr< Mesh > ug::promesh::CloneMesh ( Mesh mesh)

References make_sp().

Referenced by ug::promesh::RegisterMeshingTools().

◆ CloseSelection()

◆ CollapseEdge()

◆ ConeTransform()

◆ ConvertToQuadrilaterals()

◆ ConvertToTetrahedra()

void ug::promesh::ConvertToTetrahedra ( Mesh obj)

◆ ConvertToTriangles()

◆ CopySelection()

◆ CopySubsetIndicesToSides()

◆ CreateBox()

◆ CreateCircle()

◆ CreateEdge()

◆ CreateFace()

◆ CreateHexahedraFromSelectedPrisms()

◆ CreatePlane() [1/2]

◆ CreatePlane() [2/2]

void ug::promesh::CreatePlane ( Mesh obj,
number  width,
number  height,
const vector3 center,
int  subsetInd,
bool  fill 
)

◆ CreatePrism()

◆ CreatePyramid()

◆ CreateShrinkElements()

template<class TElemIter >
void ug::promesh::CreateShrinkElements ( Mesh obj,
number  scale,
TElemIter  elemsBegin,
TElemIter  elemsEnd 
)

For each element of type TElem in obj this method creates a new element with separate corners. The new element will be scaled by 'scale'. All original elements will be deleted before the method terminates. It should thus be called for 'Volumes' first, then for 'Faces' and finally for 'Edges'.

References ug::CalculateCenter(), ug::CustomVertexGroup::clear(), ug::Grid::create_by_cloning(), ug::Grid::erase(), ug::promesh::Mesh::grid(), ug::promesh::Mesh::position_accessor(), ug::CustomVertexGroup::push_back(), and ug::VecScaleAdd().

Referenced by ug::promesh::CreateShrinkGeometry().

◆ CreateShrinkGeometry()

void ug::promesh::CreateShrinkGeometry ( Mesh obj,
number  scale 
)

For each element in obj this method creates a new element with separate corners. The new element will be scaled by 'scale'. All original elements will be deleted before the method terminates.

References ug::promesh::Mesh::begin(), ug::Grid::begin(), ug::promesh::CreateShrinkElements(), ug::Grid::end(), and ug::promesh::Mesh::grid().

Referenced by ug::promesh::RegisterMeshingTools().

◆ CreateSphere()

◆ CreateTetrahedron()

◆ CreateTKD()

◆ CreateTKDWithOuterLayer()

◆ CreateVertex()

◆ CreateVolume()

◆ CSGFaceDifference()

void ug::promesh::CSGFaceDifference ( Mesh obj,
int  subsetIndex0,
int  subsetIndex1,
number  snapThreshold 
)

◆ CSGFaceIntersection()

void ug::promesh::CSGFaceIntersection ( Mesh obj,
int  subsetIndex0,
int  subsetIndex1,
number  snapThreshold 
)

◆ CSGFaceOperation()

◆ CSGFaceUnion()

void ug::promesh::CSGFaceUnion ( Mesh obj,
int  subsetIndex0,
int  subsetIndex1,
number  snapThreshold 
)

◆ DeselectAllEdges()

◆ DeselectAllFaces()

◆ DeselectAllVertices()

◆ DeselectAllVolumes()

◆ Duplicate()

void ug::promesh::Duplicate ( Mesh obj,
const vector3 offset,
bool  deselectOld,
bool  selectNew 
)

◆ EdgeSelectionFill()

void ug::promesh::EdgeSelectionFill ( Mesh obj)

◆ EraseEmptySubsets()

◆ EraseSelectedElements()

◆ EraseSubset()

◆ ExportToUG3()

◆ ExtendSelection()

void ug::promesh::ExtendSelection ( Mesh obj,
int  neighborhoodSize 
)

◆ ExtendSelectionInDirection()

void ug::promesh::ExtendSelectionInDirection ( Mesh obj,
int  neighborhoodSize,
const vector3 dir,
number  minAngle,
number  maxAngle 
)

◆ ExtrudeAlongNormal()

◆ ExtrudeAndMove()

◆ ExtrudeAndScale()

◆ ExtrudeCylinders()

◆ ExtrudeFacesWithTets()

◆ ExtrudeLayers()

void ug::promesh::ExtrudeLayers ( Mesh obj,
RasterLayers layers,
bool  allowForTetsAndPyras 
)

◆ ExtrudeLayersAndAddProjector()

◆ ExtrudeToThickness()

◆ FaceSelectionFill()

void ug::promesh::FaceSelectionFill ( Mesh obj)

◆ FixFaceOrientation()

◆ FixFaceSubsetOrientations()

◆ FixVolumeOrientation()

◆ FlattenBentQuadrilaterals()

◆ GetBoundingBox()

◆ GetProMeshRegistry()

UG_API ProMeshRegistry & ug::promesh::GetProMeshRegistry ( )

◆ GetSelectionCenter()

◆ HangingNodeRefine() [1/2]

void ug::promesh::HangingNodeRefine ( Mesh obj,
bool  anisotropic 
)

◆ HangingNodeRefine() [2/2]

◆ InsertCenter() [1/2]

void ug::promesh::InsertCenter ( Mesh obj)

◆ InsertCenter() [2/2]

◆ IntersectCloseEdges()

◆ InvertFaceOrientation()

◆ InvertSelection()

void ug::promesh::InvertSelection ( Mesh obj,
bool  invVrts,
bool  invEdges,
bool  invFaces,
bool  invVols 
)

◆ JoinSubsets()

void ug::promesh::JoinSubsets ( Mesh obj,
int  target,
int  si1,
int  si2,
bool  eraseUnused 
)

◆ LaplacianSmooth()

◆ LoadMesh()

◆ MarkCornersOfMarkedEdges()

◆ MarkCreaseEdges()

◆ MarkSelection()

◆ MeasureGridArea()

◆ MeasureGridLength()

◆ MeasureGridVolume()

◆ MeasureSelectionArea()

◆ MeasureSelectionLength()

◆ MeasureSelectionVolume()

◆ MeasureSubsetArea()

◆ MeasureSubsetLength()

◆ MeasureSubsetVolume()

◆ MergeAtCenter()

◆ MergeAtFirst()

◆ MergeAtLast()

◆ MeshLayerBoundaries()

void ug::promesh::MeshLayerBoundaries ( Mesh m,
const RasterLayers layers 
)

◆ MeshLayers()

◆ Mirror()

◆ Move()

◆ MoveAlongNormal()

◆ MoveMeshTo()

◆ MoveSelectionTo()

◆ MoveSubset()

void ug::promesh::MoveSubset ( Mesh obj,
int  oldIndex,
int  newIndex 
)

◆ MoveVerticesAlongEdges()

◆ MoveVerticesToEdgeLength()

◆ MoveVerticesToProjectedEdgeLength()

◆ PlaneCut()

void ug::promesh::PlaneCut ( Mesh obj,
const vector3 p,
const vector3 n 
)

◆ ProjectedDistance()

◆ ProjectToLayer()

void ug::promesh::ProjectToLayer ( Mesh obj,
RasterLayers layers,
int  layerIndex 
)

◆ ProjectToLimitPLoop()

void ug::promesh::ProjectToLimitPLoop ( Mesh obj)

◆ ProjectToLimitSmoothBoundary()

◆ ProjectToPlane()

void ug::promesh::ProjectToPlane ( Mesh obj,
const vector3 planeCenter,
const vector3 planeNormal 
)

◆ ProjectToTopLayer()

◆ ProjectVerticesToCloseEdges()

◆ ProjectVerticesToCloseFaces()

◆ Refine() [1/2]

◆ Refine() [2/2]

◆ RefineSmooth() [1/2]

void ug::promesh::RefineSmooth ( Mesh obj)

◆ RefineSmooth() [2/2]

◆ RefineWithSnapPoints()

void ug::promesh::RefineWithSnapPoints ( Mesh obj)

◆ RefineWithSnapPointsOrtho()

◆ RegularizingRefinement()

void ug::promesh::RegularizingRefinement ( Mesh obj,
const number  aspectRatio 
)

◆ RemoveDoubleEdges()

◆ RemoveDoubleFaces()

◆ RemoveDoubles()

size_t ug::promesh::RemoveDoubles ( Mesh obj,
number  threshold 
)

◆ ReplaceLowValenceVertices()

void ug::promesh::ReplaceLowValenceVertices ( Mesh obj,
number  maxSquaredHeightToBaseAreaRatio 
)

◆ ReplaceValence3Vertices()

void ug::promesh::ReplaceValence3Vertices ( Mesh obj,
number  maxSquaredHeightToBaseAreaRatio 
)

◆ ResolveEdgeIntersection()

◆ ResolveSelfIntersections()

◆ ResolveTriangleIntersections()

◆ RestrictSelectionToSubset()

void ug::promesh::RestrictSelectionToSubset ( Mesh obj,
int  si 
)

◆ Retetrahedralize()

void ug::promesh::Retetrahedralize ( Mesh obj,
number  quality,
bool  preserveOuter,
bool  preserveAll,
bool  applyVolumeConstraint,
int  verbosity 
)

◆ Retriangulate()

◆ RotateAroundCenter()

◆ RotateAroundPivot()

◆ SaveMesh()

◆ ScaleAroundCenter()

◆ ScaleAroundPivot()

◆ ScaleAroundPoint()

void ug::promesh::ScaleAroundPoint ( Mesh obj,
const vector3 scale,
const vector3 point 
)

◆ SelectAll()

◆ SelectAllEdges()

void ug::promesh::SelectAllEdges ( Mesh obj)

◆ SelectAllFaces()

void ug::promesh::SelectAllFaces ( Mesh obj)

◆ SelectAllVertices()

void ug::promesh::SelectAllVertices ( Mesh obj)

◆ SelectAllVolumes()

void ug::promesh::SelectAllVolumes ( Mesh obj)

◆ SelectAnisotropicElements()

template<class TElem >
void ug::promesh::SelectAnisotropicElements ( Mesh obj,
number  minEdgeRatio 
)

◆ SelectAssociatedEdges()

void ug::promesh::SelectAssociatedEdges ( Mesh obj)

◆ SelectAssociatedFaces()

void ug::promesh::SelectAssociatedFaces ( Mesh obj)

◆ SelectAssociatedVertices()

void ug::promesh::SelectAssociatedVertices ( Mesh obj)

◆ SelectBentQuadrilaterals()

◆ SelectBoundaryEdges()

void ug::promesh::SelectBoundaryEdges ( Mesh obj)

◆ SelectBoundaryFaces()

void ug::promesh::SelectBoundaryFaces ( Mesh obj)

◆ SelectBoundaryVertices()

void ug::promesh::SelectBoundaryVertices ( Mesh obj)

◆ SelectClosestEdge()

◆ SelectCreaseEdges()

void ug::promesh::SelectCreaseEdges ( Mesh obj,
number  minAngle 
)

◆ SelectDegenerateFaces()

◆ SelectEdgeByIndex()

bool ug::promesh::SelectEdgeByIndex ( Mesh obj,
int  index 
)

◆ SelectEdgesByDirection()

void ug::promesh::SelectEdgesByDirection ( Mesh m,
const vector3 dir,
number  minDeviationAngle,
number  maxDeviationAngle,
bool  selectFlipped 
)

◆ SelectElemByCoordinate()

template<class TElem >
TElem* ug::promesh::SelectElemByCoordinate ( Mesh obj,
const vector3 coord 
)

◆ SelectElemByCylindricalCoordinate()

template<class TElem >
TElem* ug::promesh::SelectElemByCylindricalCoordinate ( Mesh obj,
number  rho,
number  phi,
number  z 
)

◆ SelectElementsByIndexRange()

void ug::promesh::SelectElementsByIndexRange ( Mesh obj,
const char *  vrtRanges,
const char *  edgeRanges,
const char *  faceRanges,
const char *  volRanges,
bool  clearSelection 
)

◆ SelectElementsBySplitPlane()

void ug::promesh::SelectElementsBySplitPlane ( Mesh obj,
bool  selectVrts,
bool  selectEdges,
bool  selectFaces,
bool  selectVols,
const vector3 pivot,
const vector3 normal 
)

◆ SelectElementsInBox()

template<class TElem >
void ug::promesh::SelectElementsInBox ( Mesh obj,
const vector3 min,
const vector3 max 
)

◆ SelectElementsInCoordinateRange() [1/2]

template<int icoord, int selFlag>
void ug::promesh::SelectElementsInCoordinateRange ( Mesh mesh,
number  min,
number  max,
bool  vrts,
bool  edges,
bool  faces,
bool  vols 
)

◆ SelectElementsInCoordinateRange() [2/2]

template<int icoord, int selFlag, class TElem >
void ug::promesh::SelectElementsInCoordinateRange ( Mesh obj,
number  min,
number  max 
)

◆ SelectElementsInCylinder()

template<class TElem >
void ug::promesh::SelectElementsInCylinder ( Mesh obj,
const vector3 cylBase,
const vector3 cylTop,
number  radius 
)

◆ SelectFaceByIndex()

bool ug::promesh::SelectFaceByIndex ( Mesh obj,
int  index 
)

◆ SelectFacesByNormal() [1/2]

void ug::promesh::SelectFacesByNormal ( Mesh obj,
const vector3 refNormal,
number  maxDeviationAngle 
)

◆ SelectFacesByNormal() [2/2]

void ug::promesh::SelectFacesByNormal ( Mesh obj,
const vector3 refNormal,
number  minDeviationAngle,
number  maxDeviationAngle,
bool  noInnerFaces 
)

◆ SelectInnerEdges()

void ug::promesh::SelectInnerEdges ( Mesh obj)

◆ SelectInnerFaces()

void ug::promesh::SelectInnerFaces ( Mesh obj)

◆ SelectInnerVertices()

void ug::promesh::SelectInnerVertices ( Mesh obj)

◆ SelectInterfaceElements()

template<class TElem >
void ug::promesh::SelectInterfaceElements ( Mesh obj,
bool  regardSelectedNbrsOnly 
)

◆ SelectIntersectingTriangles()

◆ SelectLinkedBoundaryEdges()

void ug::promesh::SelectLinkedBoundaryEdges ( Mesh obj,
bool  stopAtSelectedVrts 
)

◆ SelectLinkedBoundaryFaces()

void ug::promesh::SelectLinkedBoundaryFaces ( Mesh obj,
bool  stopAtSelectedEdges 
)

◆ SelectLinkedElements()

template<class TElem >
void ug::promesh::SelectLinkedElements ( Mesh obj)

◆ SelectLinkedFlatFaces()

void ug::promesh::SelectLinkedFlatFaces ( Mesh obj,
number  maxDeviationAngle,
bool  ignoreOrientation,
bool  traverseDegeneratedFaces,
bool  stopAtSelectedEdges 
)

◆ SelectLinkedManifoldFaces()

◆ SelectLongEdges()

◆ SelectMarkedEdges()

◆ SelectMarkedFaces()

◆ SelectMarkedVertices()

◆ SelectNonManifoldEdges()

◆ SelectSelectionBoundary()

◆ SelectSelectionKinkVertices()

size_t ug::promesh::SelectSelectionKinkVertices ( Mesh obj,
number  thresholdAngle,
bool  selectDarts 
)

◆ SelectShortEdges()

◆ SelectShortPolychains()

void ug::promesh::SelectShortPolychains ( Mesh m,
number  maxChainLength,
bool  closedChainsOnly 
)

◆ SelectSlivers()

◆ SelectSmoothEdgePath()

void ug::promesh::SelectSmoothEdgePath ( Mesh obj,
number  maxDeviation,
number  normalWeight,
bool  stopAtSelectedVrts 
)

◆ SelectSubset()

void ug::promesh::SelectSubset ( Mesh obj,
int  si,
bool  selVrts,
bool  selEdges,
bool  selFaces,
bool  selVols 
)

◆ SelectSubsetBoundary()

void ug::promesh::SelectSubsetBoundary ( Mesh obj,
int  si,
bool  edgeBnds,
bool  faceBnds,
bool  volBnds 
)

◆ SelectSubsetEdgesByDirection()

void ug::promesh::SelectSubsetEdgesByDirection ( Mesh m,
int  subsetIndex,
const vector3 dir,
number  minDeviationAngle,
number  maxDeviationAngle,
bool  selectFlipped 
)

◆ SelectSubsetKinkVertices()

◆ SelectUnassignedElements()

void ug::promesh::SelectUnassignedElements ( Mesh obj,
bool  selVrts,
bool  selEdges,
bool  selFaces,
bool  selVols 
)

◆ SelectUnconnectedVertices()

size_t ug::promesh::SelectUnconnectedVertices ( Mesh obj,
bool  edgeCons,
bool  faceCons,
bool  volCons 
)

◆ SelectUnorientableVolumes()

◆ SelectVertexByIndex()

bool ug::promesh::SelectVertexByIndex ( Mesh obj,
int  index 
)

◆ SelectVolumeByIndex()

bool ug::promesh::SelectVolumeByIndex ( Mesh obj,
int  index 
)

◆ SelectVolumesByType()

void ug::promesh::SelectVolumesByType ( Mesh obj,
bool  selHexahedra,
bool  selOctahedra,
bool  selPrisms,
bool  selPyramids,
bool  selTetrahedra 
)

◆ SeparateDegeneratedBoundaryFaceSubsets()

◆ SeparateFacesByEdgeSubsets()

void ug::promesh::SeparateFacesByEdgeSubsets ( Mesh obj)

◆ SeparateFacesBySelectedEdges()

void ug::promesh::SeparateFacesBySelectedEdges ( Mesh obj)

◆ SeparateFaceSubsetByNormal()

◆ SeparateFaceSubsetsByNormal()

void ug::promesh::SeparateFaceSubsetsByNormal ( Mesh obj)

◆ SeparateIrregularManifoldSubsets()

void ug::promesh::SeparateIrregularManifoldSubsets ( Mesh obj)

◆ SeparateVolumesByFaceSubsets()

void ug::promesh::SeparateVolumesByFaceSubsets ( Mesh obj)

◆ SeparateVolumesBySelectedFaces()

void ug::promesh::SeparateVolumesBySelectedFaces ( Mesh obj)

◆ SetPivot()

void ug::promesh::SetPivot ( Mesh obj,
const vector3 pos 
)

◆ SetPivotToMeshCenter()

◆ SetPivotToSelectionCenter()

◆ SetSubsetName()

void ug::promesh::SetSubsetName ( Mesh obj,
int  si,
const char *  name 
)

◆ SimplifyPolylines()

void ug::promesh::SimplifyPolylines ( Mesh m,
number  curvatureThreshold 
)

◆ SimplifySmoothedPolylines()

void ug::promesh::SimplifySmoothedPolylines ( Mesh m,
number  curvatureThreshold,
number  smoothingAlpha,
int  smoothingIterations 
)

◆ SlopeSmooth()

◆ SnapToHorizontalRaster()

void ug::promesh::SnapToHorizontalRaster ( Mesh obj,
SPRasterLayers  layers 
)

◆ SnapVerticesToVertices()

◆ SplitEdge()

◆ SwapEdge()

◆ SwapSubsets()

void ug::promesh::SwapSubsets ( Mesh obj,
int  oldIndex,
int  newIndex 
)

◆ TangentialSmooth()

◆ Tetrahedralize()

void ug::promesh::Tetrahedralize ( Mesh obj,
number  quality,
bool  preserveOuter,
bool  preserveAll,
bool  separateVolumes,
bool  appendSubsetsAtEnd,
int  verbosity 
)

◆ TriangleFill()

◆ UnassignSubsets()

void ug::promesh::UnassignSubsets ( Mesh obj,
bool  vertices,
bool  edges,
bool  faces,
bool  volumes 
)

◆ UnmarkSelection()

◆ VolumeSelectionFill()

void ug::promesh::VolumeSelectionFill ( Mesh obj)

◆ WeightedEdgeSmooth()

◆ WeightedFaceSmooth()

◆ WeightedNormalSmooth()