pointConstraint Class Reference

Accumulates point constraints through successive applications of the applyConstraint function. More...

Inheritance diagram for pointConstraint:
[legend]
Collaboration diagram for pointConstraint:
[legend]

Public Member Functions

 pointConstraint ()
 Construct null. More...
 
 pointConstraint (const Tuple2< label, vector > &)
 Construct from components. More...
 
 pointConstraint (Istream &)
 Construct from Istream. More...
 
void applyConstraint (const vector &cd)
 Apply and accumulate the effect of the given constraint direction. More...
 
void combine (const pointConstraint &)
 Combine constraints. More...
 
tensor constraintTransformation () const
 Return the accumulated constraint transformation tensor. More...
 
void unconstrainedDirections (label &n, tensor &vecs) const
 Return the accumulated unconstrained directions. Directions. More...
 
vector constrainDisplacement (const vector &disp) const
 Constrain a displacement. More...
 
- Public Member Functions inherited from Tuple2< label, vector >
 Tuple2 ()=default
 Default construct. More...
 
 Tuple2 (const label &f, const vector &s)
 Copy construct from components. More...
 
 Tuple2 (label &&f, vector &&s)
 Move construct from components. More...
 
 Tuple2 (const std::pair< label, vector > &vals)
 Copy construct from std::pair. More...
 
 Tuple2 (std::pair< label, vector > &&vals)
 Move construct from std::pair. More...
 
 Tuple2 (Istream &is)
 Construct from Istream. More...
 
const label & first () const noexcept
 Return first. More...
 
label & first () noexcept
 Return first. More...
 
const vectorsecond () const noexcept
 Return second. More...
 
vectorsecond () noexcept
 Return second. More...
 

Additional Inherited Members

- Public Types inherited from Tuple2< label, vector >
typedef label first_type
 Type of member first, the first template parameter (T1) More...
 
typedef vector second_type
 Type of member second, the second template parameter (T2) More...
 

Detailed Description

Accumulates point constraints through successive applications of the applyConstraint function.

After all the constraints have been entered the resulting transformation tensor is returned by the constraintTransformation function.

Source files

Definition at line 60 of file pointConstraint.H.

Constructor & Destructor Documentation

◆ pointConstraint() [1/3]

pointConstraint ( )
inline

Construct null.

Definition at line 30 of file pointConstraintI.H.

◆ pointConstraint() [2/3]

pointConstraint ( const Tuple2< label, vector > &  pc)
inline

Construct from components.

Definition at line 36 of file pointConstraintI.H.

◆ pointConstraint() [3/3]

pointConstraint ( Istream is)
inline

Construct from Istream.

Definition at line 42 of file pointConstraintI.H.

Member Function Documentation

◆ applyConstraint()

void applyConstraint ( const vector cd)
inline

Apply and accumulate the effect of the given constraint direction.

Definition at line 50 of file pointConstraintI.H.

References e, Foam::mag(), and Foam::Zero.

Referenced by cyclicSlipPointPatch::applyConstraint(), emptyPointPatch::applyConstraint(), nonuniformTransformCyclicPointPatch::applyConstraint(), symmetryPointPatch::applyConstraint(), symmetryPlanePointPatch::applyConstraint(), wedgePointPatch::applyConstraint(), and plane::constrainTranslation().

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

◆ combine()

void combine ( const pointConstraint pc)
inline

Combine constraints.

Definition at line 79 of file pointConstraintI.H.

References e, Tuple2< T1, T2 >::first(), Foam::mag(), n, Tuple2< T1, T2 >::second(), and Foam::Zero.

Referenced by axis::constrainRotation(), orientation::constrainRotation(), line::constrainTranslation(), and point::constrainTranslation().

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

◆ constraintTransformation()

Foam::tensor constraintTransformation ( ) const
inline

Return the accumulated constraint transformation tensor.

Definition at line 120 of file pointConstraintI.H.

References Foam::I, Foam::sqr(), and Foam::Zero.

Referenced by sixDoFRigidBodyMotion::addConstraints().

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

◆ unconstrainedDirections()

void unconstrainedDirections ( label &  n,
tensor vecs 
) const
inline

Return the accumulated unconstrained directions. Directions.

coded as first n rows of tensor.

Definition at line 141 of file pointConstraintI.H.

References e, Foam::mag(), n, FixedList< T, N >::size(), x, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Foam::Zero.

Here is the call graph for this function:

◆ constrainDisplacement()

Foam::vector constrainDisplacement ( const vector disp) const
inline

Constrain a displacement.

Definition at line 187 of file pointConstraintI.H.

References Foam::Zero.


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