FreeCAD C++
List of all members
Mesh::Facet Class Reference

#include <Mod/Mesh/App/Facet.h>

Detailed Description

The Facet helper class The MeshFacet class provides an interface for the MeshFacetPy class for convenient access to the Mesh data structure. This class should not be used for programming algorithms in C++. Use Mesh Core classes instead!

Additional Inherited Members

- Public Member Functions inherited from MeshCore::MeshGeomFacet
bool IsPointOf (const Base::Vector3f &rclPoint, float fDistance) const
 
bool IsPointOf (const Base::Vector3f &rclPoint) const
 
bool IsPointOfFace (const Base::Vector3f &rclP, float fDistance) const
 
bool Weights (const Base::Vector3f &rclP, float &w0, float &w1, float &w2) const
 
float DistancePlaneToPoint (const Base::Vector3f &rclPoint) const
 
void ProjectPointToPlane (const Base::Vector3f &rclPoint, Base::Vector3f &rclProj) const
 
void ProjectFacetToPlane (MeshGeomFacet &rclFacet) const
 
bool IsDegenerated (float epsilon) const
 
bool IsDeformed (float fCosOfMinAngle, float fCosOfMaxAngle) const
 
void Enlarge (float fDist)
 
void CalcNormal (void)
 
void ArrangeNormal (const Base::Vector3f &rclN)
 
void AdjustCirculationDirection (void)
 
void NormalInvalid (void)
 
bool IsFlag (MeshFacet::TFlagType tF) const
 
void SetFlag (MeshFacet::TFlagType tF)
 
void ResetFlag (MeshFacet::TFlagType tF)
 
Base::Vector3f GetGravityPoint (void) const
 
Base::Vector3f GetNormal (void) const
 
void SetNormal (const Base::Vector3f &rclNormal)
 
Base::BoundBox3f GetBoundBox (void) const
 
float Perimeter () const
 
float Area () const
 
float MaximumAngle () const
 
float MinimumAngle () const
 
bool ContainedByOrIntersectBoundingBox (const Base::BoundBox3f &rcBB) const
 
bool IntersectBoundingBox (const Base::BoundBox3f &rclBB) const
 
bool IntersectWithFacet (const MeshGeomFacet &rclFacet) const
 
int IntersectWithFacet (const MeshGeomFacet &facet, Base::Vector3f &rclPt0, Base::Vector3f &rclPt1) const
 
float DistanceToLineSegment (const Base::Vector3f &rcP1, const Base::Vector3f &rcP2) const
 
float DistanceToPoint (const Base::Vector3f &rcPt) const
 
float DistanceToPoint (const Base::Vector3f &rclPt, Base::Vector3f &rclNt) const
 
bool IntersectWithLine (const Base::Vector3f &rclPt, const Base::Vector3f &rclDir, Base::Vector3f &rclRes) const
 
bool Foraminate (const Base::Vector3f &rclPt, const Base::Vector3f &rclDir, Base::Vector3f &rclRes, float fMaxAngle=Mathf::PI) const
 
bool IntersectWithPlane (const Base::Vector3f &rclBase, const Base::Vector3f &rclNormal, Base::Vector3f &rclP1, Base::Vector3f &rclP2) const
 
bool IntersectWithPlane (const Base::Vector3f &rclBase, const Base::Vector3f &rclNormal) const
 
bool IntersectPlaneWithLine (const Base::Vector3f &rclBase, const Base::Vector3f &rclNormal, Base::Vector3f &rclRes) const
 
float VolumeOfPrism (const MeshGeomFacet &rclF) const
 
void SubSample (float fStep, std::vector< Base::Vector3f > &rclPoints) const
 
float CenterOfInscribedCircle (Base::Vector3f &rclCenter) const
 
float CenterOfCircumCircle (Base::Vector3f &rclCenter) const
 
unsigned short NearestEdgeToPoint (const Base::Vector3f &rclPt) const
 
void NearestEdgeToPoint (const Base::Vector3f &rclPt, float &fDistance, unsigned short &side) const
 
bool IsPointOfSphere (const Base::Vector3f &rP) const
 
bool IsPointOfSphere (const MeshGeomFacet &rFacet) const
 
float AspectRatio () const
 
float AspectRatio2 () const
 
float Roundness () const
 
 MeshGeomFacet (void)
 default constructor
 
 MeshGeomFacet (const Base::Vector3f &v1, const Base::Vector3f &v2, const Base::Vector3f &v3)
 Constructor with the corner points.
 
 ~MeshGeomFacet (void)
 Destruction.
 
- Public Attributes inherited from MeshCore::MeshGeomFacet
Base::Vector3f _aclPoints [3]
 
unsigned char _ucFlag
 
unsigned long _ulProp
 
- Protected Attributes inherited from MeshCore::MeshGeomFacet
Base::Vector3f _clNormal
 
bool _bNormalCalculated