45#ifndef Foam_twoDPointCorrector_H
46#define Foam_twoDPointCorrector_H
65class twoDPointCorrector
67 public MeshObject<polyMesh, UpdateableMeshObject, twoDPointCorrector>
85 mutable bool isWedge_;
88 mutable std::unique_ptr<vector> planeNormalPtr_;
91 mutable std::unique_ptr<labelList> normalEdgeIndicesPtr_;
97 mutable scalar wedgeAngle_;
103 twoDPointCorrector(
const twoDPointCorrector&) =
delete;
106 void operator=(
const twoDPointCorrector&) =
delete;
110 void calcAddressing()
const;
113 void clearAddressing()
const;
122 static const scalar edgeOrthogonalityTol;
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
MeshObject(const polyMesh &mesh)
const polyMesh & mesh() const noexcept
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Mesh consisting of general polyhedral cells.
bool movePoints()
Correct weighting factors for moving mesh.
~twoDPointCorrector()
Destructor.
void correctDisplacement(const pointField &p, vectorField &disp) const
Correct motion displacements.
direction normalDir() const
Return direction normal to plane.
bool required() const
Is 2D correction required, i.e. is the mesh a wedge or slab.
void correctPoints(pointField &p) const
Correct motion points.
ClassName("twoDPointCorrector")
void updateMesh(const mapPolyMesh &)
Update topology.
const labelList & normalEdgeIndices() const
Return indices of normal edges.
const vector & planeNormal() const
Return plane normal.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
List< label > labelList
A List of labels.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vector point
Point is a vector.
vectorField pointField
pointField is a vectorField.