The MeshPoint class represents a point in the mesh data structure. More...
#include <Elements.h>
Public Types | |
enum TFlagType { INVALID =1, VISIT =2, SEGMENT =4, MARKED =8, SELECTED =16, REV =32, TMP0 =64, TMP1 =128 } | |
![]() | |
typedef _Precision num_type | |
typedef float_traits< num_type > traits_type | |
Public Member Functions | |
Construction | |
MeshPoint (void) | |
MeshPoint (float x, float y, float z) | |
MeshPoint (const Base::Vector3f &rclPt) | |
MeshPoint (const MeshPoint &rclPt) | |
~MeshPoint (void) | |
Flag state | |
| |
void SetFlag (TFlagType tF) const | |
void ResetFlag (TFlagType tF) const | |
bool IsFlag (TFlagType tF) const | |
void ResetInvalid (void) const | |
void SetInvalid (void) const | |
bool IsValid (void) const | |
void SetProperty (unsigned long uP) const | |
MeshPoint & operator= (const MeshPoint &rclPt) | |
bool operator== (const MeshPoint &rclPt) const | |
bool operator== (const Base::Vector3f &rclV) const | |
bool operator< (const MeshPoint &rclPt) const | |
![]() | |
_Precision & operator[] (unsigned short usIndex) | |
Returns a reference to a coordinate. usIndex must be in the range [0,2]. More... | |
const _Precision & operator[] (unsigned short usIndex) const | |
Returns a const reference to a coordinate. usIndex must be in the range [0,2]. More... | |
Vector3 operator+ (const Vector3< _Precision > &rcVct) const | |
Vector addition. More... | |
Vector3 operator& (const Vector3< _Precision > &rcVct) const | |
Vector3 operator- (const Vector3< _Precision > &rcVct) const | |
Vector subtraction. More... | |
Vector3 operator- (void) const | |
Negative vector. More... | |
Vector3 & operator+= (const Vector3< _Precision > &rcVct) | |
Vector summation. More... | |
Vector3 & operator-= (const Vector3< _Precision > &rcVct) | |
Vector subtraction. More... | |
Vector3 operator* (_Precision fScale) const | |
Vector scaling. More... | |
Vector3 operator/ (_Precision fDiv) const | |
Vector3 & operator*= (_Precision fScale) | |
Vector3 & operator/= (_Precision fDiv) | |
Vector3 & operator= (const Vector3< _Precision > &rcVct) | |
Assignment. More... | |
_Precision operator* (const Vector3< _Precision > &rcVct) const | |
Scalar product. More... | |
_Precision Dot (const Vector3< _Precision > &rcVct) const | |
Scalar product. More... | |
Vector3 operator% (const Vector3< _Precision > &rcVct) const | |
Cross product. More... | |
Vector3 Cross (const Vector3< _Precision > &rcVct) const | |
Cross product. More... | |
bool operator!= (const Vector3< _Precision > &rcVct) const | |
Comparing for inequality. More... | |
bool operator== (const Vector3< _Precision > &rcVct) const | |
Comparing for equality. More... | |
bool IsOnLineSegment (const Vector3< _Precision > &startVct, const Vector3< _Precision > &endVct) const | |
Check if Vector is on a line segment. More... | |
void ScaleX (_Precision f) | |
void ScaleY (_Precision f) | |
void ScaleZ (_Precision f) | |
void Scale (_Precision fX, _Precision fY, _Precision fZ) | |
void MoveX (_Precision f) | |
void MoveY (_Precision f) | |
void MoveZ (_Precision f) | |
void Move (_Precision fX, _Precision fY, _Precision fZ) | |
void RotateX (_Precision f) | |
void RotateY (_Precision f) | |
void RotateZ (_Precision f) | |
void Set (_Precision fX, _Precision fY, _Precision fZ) | |
_Precision Length (void) const | |
Length of the vector. More... | |
_Precision Sqr (void) const | |
Squared length of the vector. More... | |
Vector3 & Normalize (void) | |
Set length to 1. More... | |
_Precision GetAngle (const Vector3 &rcVect) const | |
Get angle between both vectors. The returned value lies in the interval [0,pi]. More... | |
void TransformToCoordinateSystem (const Vector3 &rclBase, const Vector3 &rclDirX, const Vector3 &rclDirY) | |
Transforms this point to the coordinate system defined by origin rclBase, vector vector rclDirX and vector vector rclDirY. More... | |
bool IsEqual (const Vector3 &rclPnt, _Precision tol) const | |
IsEqual. More... | |
Vector3 & ProjectToPlane (const Vector3 &rclBase, const Vector3 &rclNorm) | |
Projects this point onto the plane given by the base rclBase and the normal rclNorm. More... | |
void ProjectToPlane (const Vector3 &rclBase, const Vector3 &rclNorm, Vector3 &rclProj) const | |
Projects this point onto the plane given by the base rclBase and the normal rclNorm and stores the result in rclProj. More... | |
Vector3 & ProjectToLine (const Vector3 &rclPoint, const Vector3 &rclLine) | |
Projects this point onto the line given by the base rclPoint and the direction rclLine. More... | |
Vector3 Perpendicular (const Vector3 &rclBase, const Vector3 &rclDir) const | |
Get the perpendicular of this point to the line defined by rclBase and rclDir. More... | |
_Precision DistanceToPlane (const Vector3 &rclBase, const Vector3 &rclNorm) const | |
Computes the distance to the given plane. More... | |
_Precision DistanceToLine (const Vector3 &rclBase, const Vector3 &rclDirect) const | |
Computes the distance from this point to the line given by rclBase and rclDirect. More... | |
Vector3 DistanceToLineSegment (const Vector3 &rclP1, const Vector3 &rclP2) const | |
Computes the vector from this point to the point on the line segment with the shortest distance. More... | |
Vector3 (_Precision fx=0.0, _Precision fy=0.0, _Precision fz=0.0) | |
Construction. More... | |
Vector3 (const Vector3< _Precision > &rcVct) | |
Construction. More... | |
Additional Inherited Members | |
![]() | |
static num_type epsilon () | |
![]() | |
_Precision x | |
x-coordinate More... | |
_Precision y | |
y-coordinate More... | |
_Precision z | |
z-coordinate More... | |
Detailed Description
The MeshPoint class represents a point in the mesh data structure.
The class inherits from Vector3f and provides some additional information such as flag state and property value. The flags can be modified by the Set() and Reset() and queried by IsFlag(). A point can temporary be in an invalid state (e.g during deletion of several points), but must not be set in general, i.e. always usable within a mesh-internal algorithm.
Note: The status flag SEGMENT mark a point to be part of certain subset, a segment. This flag must not be set by any algorithm unless it adds or removes points to a segment.
Note: The status flag SELECTED mark a point to be selected which is e.g. used in the GUI. This flag must not be set by any algorithm unless it adds or removes points to the selection.
Member Enumeration Documentation
◆ TFlagType
Constructor & Destructor Documentation
◆ MeshPoint() [1/4]
MeshCore::MeshPoint::MeshPoint | ( | void | ) |
◆ MeshPoint() [2/4]
MeshCore::MeshPoint::MeshPoint | ( | float | x, |
float | y, | ||
float | z | ||
) |
◆ MeshPoint() [3/4]
MeshCore::MeshPoint::MeshPoint | ( | const Base::Vector3f & | rclPt | ) |
◆ MeshPoint() [4/4]
MeshCore::MeshPoint::MeshPoint | ( | const MeshPoint & | rclPt | ) |
◆ ~MeshPoint()
MeshCore::MeshPoint::~MeshPoint | ( | void | ) |
Member Function Documentation
◆ IsFlag()
Referenced by MeshCore::MeshKernel::GetPointFacets().
◆ IsValid()
bool MeshCore::MeshPoint::IsValid | ( | void | ) | const |
Referenced by MeshCore::MeshKernel::DeletePoints(), and MeshCore::MeshKernel::RemoveInvalids().
◆ operator<()
◆ operator=()
◆ operator==() [1/2]
bool MeshCore::MeshPoint::operator== | ( | const Base::Vector3f & | rclV | ) | const |
◆ operator==() [2/2]
◆ ResetFlag()
void MeshCore::MeshPoint::ResetFlag | ( | TFlagType | tF | ) | const |
◆ ResetInvalid()
void MeshCore::MeshPoint::ResetInvalid | ( | void | ) | const |
◆ SetFlag()
void MeshCore::MeshPoint::SetFlag | ( | TFlagType | tF | ) | const |
Referenced by MeshCore::MeshKernel::GetPointFacets().
◆ SetInvalid()
void MeshCore::MeshPoint::SetInvalid | ( | void | ) | const |
Referenced by MeshCore::MeshKernel::DeletePoints().
◆ SetProperty()
void MeshCore::MeshPoint::SetProperty | ( | unsigned long | uP | ) | const |
The documentation for this class was generated from the following file:
- src/Mod/Mesh/App/Core/Elements.h