Public Member Functions | Private Member Functions | Private Attributes
meshSurfaceEngineModifier Class Reference
Collaboration diagram for meshSurfaceEngineModifier:
Collaboration graph
[legend]

Public Member Functions

 meshSurfaceEngineModifier (meshSurfaceEngine &surfaceEngine)
 Construct from reference to meshSurfaceEngine. More...
 
 meshSurfaceEngineModifier (const meshSurfaceEngine &surfaceEngine)
 Construct from const reference to meshSurfaceEngine. More...
 
 ~meshSurfaceEngineModifier ()
 
void moveBoundaryVertexNoUpdate (const label bpI, const point &newP)
 relocate the selected boundary vertex More...
 
void moveBoundaryVertex (const label bpI, const point &newP)
 relocate the selected boundary vertex and update geometry data More...
 
void updateVertexNormals ()
 update normals of boundary vertices at processor boundaries More...
 
void updateGeometry (const labelLongList &)
 
void updateGeometry ()
 
void syncVerticesAtParallelBoundaries ()
 
void syncVerticesAtParallelBoundaries (const labelLongList &)
 

Private Member Functions

 meshSurfaceEngineModifier (const meshSurfaceEngineModifier &)
 Disallow default bitwise copy construct. More...
 
void operator= (const meshSurfaceEngineModifier &)
 Disallow default bitwise assignment. More...
 

Private Attributes

meshSurfaceEnginesurfaceEngine_
 reference to the meshSurfaceEngine More...
 

Detailed Description

Definition at line 48 of file meshSurfaceEngineModifier.H.

Constructor & Destructor Documentation

◆ meshSurfaceEngineModifier() [1/3]

Disallow default bitwise copy construct.

◆ meshSurfaceEngineModifier() [2/3]

Construct from reference to meshSurfaceEngine.

Definition at line 45 of file meshSurfaceEngineModifier.C.

◆ meshSurfaceEngineModifier() [3/3]

meshSurfaceEngineModifier ( const meshSurfaceEngine surfaceEngine)

Construct from const reference to meshSurfaceEngine.

Definition at line 53 of file meshSurfaceEngineModifier.C.

◆ ~meshSurfaceEngineModifier()

Definition at line 62 of file meshSurfaceEngineModifier.C.

Member Function Documentation

◆ operator=()

void operator= ( const meshSurfaceEngineModifier )
private

Disallow default bitwise assignment.

◆ moveBoundaryVertexNoUpdate()

void moveBoundaryVertexNoUpdate ( const label  bpI,
const point newP 
)

◆ moveBoundaryVertex()

void moveBoundaryVertex ( const label  bpI,
const point newP 
)

relocate the selected boundary vertex and update geometry data

change normal of vertices connected to bpI

Definition at line 77 of file meshSurfaceEngineModifier.C.

References forAllRow, Foam::mag(), n, pFaces, points, and Vector< scalar >::zero.

Referenced by meshSurfaceOptimizer::edgeNodeDisplacement(), meshSurfaceMapper::mapNodeToPatch(), meshSurfaceMapper2D::mapToSmallestDistance(), meshSurfaceOptimizer::nodeDisplacementLaplacian(), meshSurfaceOptimizer::nodeDisplacementLaplacianFC(), and meshSurfaceOptimizer::nodeDisplacementSurfaceOptimizer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateVertexNormals()

void updateVertexNormals ( )
inline

update normals of boundary vertices at processor boundaries

Definition at line 83 of file meshSurfaceEngineModifier.H.

References meshSurfaceEngine::pointNormalsPtr_, meshSurfaceEngineModifier::surfaceEngine_, and meshSurfaceEngine::updatePointNormalsAtProcBoundaries().

Referenced by meshSurfaceMapper2D::mapToSmallestDistance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateGeometry() [1/2]

void updateGeometry ( const labelLongList updateBndNodes)

updates faceCentres, face normal, and point normals of the boundary faces attached to the selected boundary points

update point normals at inter-processor boundaries

make sure that the points ar updated on all processors

start updating point normals

prepare data for sending

exchange data with other procs

normalize vectors

Definition at line 234 of file meshSurfaceEngineModifier.C.

References Foam::help::exchangeMap(), forAll, forAllConstIter(), forAllRow, Foam::mag(), UPstream::myProcNo(), n, UPstream::parRun(), pFaces, points, UList::size(), and Vector< scalar >::zero.

Referenced by meshSurfaceMapper2D::adjustZCoordinates(), edgeExtractor::checkFacePatchesGeometry(), meshSurfaceMapper::mapCorners(), meshSurfaceMapper2D::mapCorners(), meshSurfaceMapper::mapEdgeNodes(), meshSurfaceMapper::mapVerticesOntoSurface(), meshSurfaceMapper2D::mapVerticesOntoSurface(), meshSurfaceMapper::mapVerticesOntoSurfacePatches(), meshSurfaceMapper2D::mapVerticesOntoSurfacePatches(), edgeExtractor::moveVerticesTowardsDiscontinuities(), boundaryLayerOptimisation::optimiseLayer(), meshSurfaceOptimizer::optimizeSurface(), meshSurfaceOptimizer::optimizeSurface2D(), meshSurfaceMapper::preMapVertices(), meshSurfaceMapper2D::preMapVertices(), edgeExtractor::projectDeterminedFeatureVertices(), meshSurfaceOptimizer::smoothEdgePoints(), meshSurfaceOptimizer::smoothLaplacianFC(), meshSurfaceOptimizer::smoothSurfaceOptimizer(), meshSurfaceOptimizer::untangleSurface(), and meshSurfaceOptimizer::untangleSurface2D().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateGeometry() [2/2]

void updateGeometry ( )

Definition at line 433 of file meshSurfaceEngineModifier.C.

References meshSurfaceEngine::boundaryPoints(), forAll, List::size(), and meshSurfaceEngineModifier::surfaceEngine_.

Here is the call graph for this function:

◆ syncVerticesAtParallelBoundaries() [1/2]

void syncVerticesAtParallelBoundaries ( )

makes sure that all surface vertices at parallel boundaries have the same coordinates

Definition at line 160 of file meshSurfaceEngineModifier.C.

References LongList< T, Offset >::append(), forAllConstIter(), meshSurfaceEngine::globalToLocalBndPointAddressing(), UPstream::parRun(), and meshSurfaceEngineModifier::surfaceEngine_.

Referenced by meshSurfaceMapper2D::preMapVertices(), edgeExtractor::projectDeterminedFeatureVertices(), and meshSurfaceOptimizer::smoothSurfaceOptimizer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ syncVerticesAtParallelBoundaries() [2/2]

void syncVerticesAtParallelBoundaries ( const labelLongList syncNodes)

construct the map

exchange the data with other processors

adjust the coordinates

Definition at line 175 of file meshSurfaceEngineModifier.C.

References labelledPoint::coordinates(), Foam::help::exchangeMap(), forAll, forAllRow, UPstream::myProcNo(), p, UPstream::parRun(), labelledPoint::pointLabel(), points, and VRWGraph::sizeOfRow().

Here is the call graph for this function:

Field Documentation

◆ surfaceEngine_

meshSurfaceEngine& surfaceEngine_
private

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