OpenLexocad  27.1
Geom::GeometricTools Class Reference

#include <GeometricTools.h>

Public Member Functions

 GeometricTools (void)
 
 ~GeometricTools (void)
 

Static Public Member Functions

static Geom::Dir getFaceNormal (const COORDS &face)
 Throws Base::ConstructionError if construction fails. More...
 
static Geom::Dir getFaceNormal (const std::vector< Geom::Pnt > &face)
 
static Geom::Dir getNFaceNormal (const std::vector< Geom::Pnt > &face)
 Implements robust Newell's method. Throws Base::ConstructionError if construction fails. More...
 
static Geom::Dir getNFaceNormal (const COORDS &face)
 
static bool getNFaceNormalNoExc (const std::vector< Geom::Pnt > &face, Geom::Dir &dir)
 
static Geom::Dir getConcaveFaceNormalXY (const std::vector< Geom::Pnt > &face)
 
static bool getNonColinearEdges (const COORDS &face, Geom::Vec &edge1, Geom::Vec &edge2)
 
static int savePoint (const Geom::XYZ &p, COORDS &points)
 
static bool isEqual (double d1, double d2, double tolerance=1E-06)
 
static bool isEqual (const Geom::XYZ &v1, const Geom::XYZ &v2, double tolerance=1E-06)
 
static bool isEqual (const Geom::Dir &d1, const Geom::Dir &d2, double tolerance=1E-06)
 
static bool isEqual (const Geom::Vec &v1, const Geom::Vec &v2, double tolerance=1E-06)
 
static bool isEqual (const Geom::Pnt &p1, const Geom::Pnt &p2, double tolerance=1E-06)
 
static double roundValue (double value, double roundValue)
 
static float roundfValue (float value, float roundValue)
 
static double round (double value, int digits)
 
static double roundValueOffset (const double &coord, const double &valueToRound, const double &roundToValue)
 
static bool isEven (const int Value)
 
static bool isOdd (const int Value)
 
static int factorial (int x)
 
static bool getMedianPlaneFromPoints (const std::vector< Geom::Pnt > &points, Geom::Pln &pln)
 

Constructor & Destructor Documentation

◆ GeometricTools()

Geom::GeometricTools::GeometricTools ( void  )

◆ ~GeometricTools()

Geom::GeometricTools::~GeometricTools ( void  )

Member Function Documentation

◆ factorial()

static int Geom::GeometricTools::factorial ( int  x)
inlinestatic

◆ getConcaveFaceNormalXY()

static Geom::Dir Geom::GeometricTools::getConcaveFaceNormalXY ( const std::vector< Geom::Pnt > &  face)
static

Get normal vector for non-convex faces in XY plane. Should be more reliable than getFaceNormal but still do not cover every case. Throws Base::ConstructionError if construction fails.

◆ getFaceNormal() [1/2]

static Geom::Dir Geom::GeometricTools::getFaceNormal ( const COORDS face)
static

Throws Base::ConstructionError if construction fails.

◆ getFaceNormal() [2/2]

static Geom::Dir Geom::GeometricTools::getFaceNormal ( const std::vector< Geom::Pnt > &  face)
static

◆ getMedianPlaneFromPoints()

static bool Geom::GeometricTools::getMedianPlaneFromPoints ( const std::vector< Geom::Pnt > &  points,
Geom::Pln pln 
)
static

◆ getNFaceNormal() [1/2]

static Geom::Dir Geom::GeometricTools::getNFaceNormal ( const std::vector< Geom::Pnt > &  face)
static

Implements robust Newell's method. Throws Base::ConstructionError if construction fails.

◆ getNFaceNormal() [2/2]

static Geom::Dir Geom::GeometricTools::getNFaceNormal ( const COORDS face)
static

◆ getNFaceNormalNoExc()

static bool Geom::GeometricTools::getNFaceNormalNoExc ( const std::vector< Geom::Pnt > &  face,
Geom::Dir dir 
)
static

◆ getNonColinearEdges()

static bool Geom::GeometricTools::getNonColinearEdges ( const COORDS face,
Geom::Vec edge1,
Geom::Vec edge2 
)
static

◆ isEqual() [1/5]

static bool Geom::GeometricTools::isEqual ( double  d1,
double  d2,
double  tolerance = 1E-06 
)
static

◆ isEqual() [2/5]

static bool Geom::GeometricTools::isEqual ( const Geom::XYZ v1,
const Geom::XYZ v2,
double  tolerance = 1E-06 
)
static

◆ isEqual() [3/5]

static bool Geom::GeometricTools::isEqual ( const Geom::Dir d1,
const Geom::Dir d2,
double  tolerance = 1E-06 
)
static

◆ isEqual() [4/5]

static bool Geom::GeometricTools::isEqual ( const Geom::Vec v1,
const Geom::Vec v2,
double  tolerance = 1E-06 
)
static

◆ isEqual() [5/5]

static bool Geom::GeometricTools::isEqual ( const Geom::Pnt p1,
const Geom::Pnt p2,
double  tolerance = 1E-06 
)
static

◆ isEven()

static bool Geom::GeometricTools::isEven ( const int  Value)
inlinestatic

◆ isOdd()

static bool Geom::GeometricTools::isOdd ( const int  Value)
inlinestatic

◆ round()

static double Geom::GeometricTools::round ( double  value,
int  digits 
)
static

◆ roundfValue()

static float Geom::GeometricTools::roundfValue ( float  value,
float  roundValue 
)
static

◆ roundValue()

static double Geom::GeometricTools::roundValue ( double  value,
double  roundValue 
)
static

◆ roundValueOffset()

static double Geom::GeometricTools::roundValueOffset ( const double &  coord,
const double &  valueToRound,
const double &  roundToValue 
)
static

◆ savePoint()

static int Geom::GeometricTools::savePoint ( const Geom::XYZ p,
COORDS points 
)
static

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