Go to the documentation of this file.
23 double degToRad(
const double °ree);
28 double radToDeg(
const double &radian);
71 vector<double>
multiplyMatrices(
const vector<double> &matrix1,
const vector<double> &matrix2);
75 void multiplyMat4(
const double a[4][4],
const double b[4][4],
double result[4][4]);
76 void copyMat4(
const double source[4][4],
double target[4][4]);
96 float getMinXForUpStep(
float upMin,
float upMax,
const vector<CscPoint3d *> *positions);
97 float getMaxXForUpStep(
float upMin,
float upMax,
const vector<CscPoint3d *> *positions);
98 float getMinYForUpStep(
float upMin,
float upMax,
const vector<CscPoint3d *> *positions);
99 float getMaxYForUpStep(
float upMin,
float upMax,
const vector<CscPoint3d *> *positions);
159 const vector<CscPolygon *> &polygons,
161 double precisionCm = 5.0);
void removeDuplicatePositionsPerf(std::vector< CscPoint3d * > *positions)
CscPoint3d normalizeXZ(const CscPoint3d &v)
Definition: geom.cpp:417
double getPointsLowestX(const std::vector< const CscPoint3d * > &areaVertices, optional< double > precision)
Definition: geom.cpp:261
double getPointsHighestZ(const std::vector< const CscPoint3d * > &areaVertices, optional< double > precision)
Definition: geom.cpp:273
CscPoint3d * rotatePointWithQuaternion(const CscPoint3d *point, const CscQuaternion &quaternion)
The CscPoint3d class represents a point in three-dimensional space. It is primarily used to denote a ...
Definition: Csc3dTypes.h:24
double radToDeg(const double &radian)
Definition: geom.cpp:44
bool equalCscPoint3d(const CscPoint3d *a, const CscPoint3d *b)
Definition: geom.cpp:26
string vec3ToString(const Vec3 &vec)
Definition: geom.cpp:230
float degToRad(float x)
Definition: CscRsInterface.cpp:46
Definition: Csc2dTypes.cpp:9
void removeDuplicatePositions(std::vector< CscPoint3d * > *positions)
bool isPointInsideArea(const std::vector< const CscPoint3d * > &areaVertices, CscPoint3d *pointToCheck)
Definition: geom.cpp:297
CscPoint3d * zUpToYup(CscPoint3d *position)
Definition: geom.cpp:376
double getPointsHighestX(const std::vector< const CscPoint3d * > &areaVertices, optional< double > precision)
Definition: geom.cpp:249
bool isPointGreaterThan(const CscPoint3d *a, const CscPoint3d *b)
Definition: geom.cpp:16
vector< CscPoint3d * > slicePolygonsAtY(const vector< CscPolygon * > &placePolygons, double ySlice, double precisionCm)
Computes the 2D slice (plan cut) at Y = ySlice and returns a flat list of unique points....
Definition: geom.cpp:460
double averageOfAngleInRad(const vector< double > &angles)
Definition: geom.cpp:61
double angleAdjustmentRadsPiToMinusPi(const double &angle)
Definition: geom.cpp:91
bool pointInQuadXZWithEpsilon(const CscPoint3d &pt, const CscPoint3d &p1, const CscPoint3d &p2, const CscPoint3d &p3, const CscPoint3d &p4, double epsilon)
Definition: geom.cpp:456
double calculateAngleBetweenTwoPosition(CscPoint3d *secondPosition, CscPoint3d *firstPosition)
Definition: geom.cpp:117
double averageOfAngleInDeg(const vector< double > &angles)
Definition: geom.cpp:72
void copyMat4(const double source[4][4], double target[4][4])
Definition: geom.cpp:234
double signedDistanceToLineXZ(const CscPoint3d &p, const CscPoint3d &origin, const CscPoint3d &normal)
Definition: geom.cpp:428
double getShortestAngleSigned(const double &fromAngle, const double &toAngle)
Definition: geom.cpp:48
string mat4ToString(const double matrix[4][4])
Definition: geom.cpp:219
CscPoint3d * getMaxPoint(std::vector< CscPoint3d * > *positions)
Vec4 multiplyMatrixVec4(const double matrix[4][4], const Vec4 &vec)
Definition: geom.cpp:193
double normXZ(const CscPoint3d &v)
Definition: geom.cpp:413
float getMinYForUpStep(float upMin, float upMax, const vector< CscPoint3d * > *positions)
Definition: geom.cpp:357
float getMaxXForUpStep(float upMin, float upMax, const vector< CscPoint3d * > *positions)
Definition: geom.cpp:347
void multiplyMat4(const double a[4][4], const double b[4][4], double result[4][4])
Definition: geom.cpp:208
Definition: Csc3dTypes.h:138
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< double >
Definition: environmentObjectsCommands.h:367
double angleAdjustment(const double &angle)
Definition: geom.cpp:83
double distanceBetween(double x1, double y1, double x2, double y2)
Definition: geom.cpp:136
CscQuaternion toQuaternion(double yaw, double pitch, double roll)
Quaternion is a matrix representation of a rotation in a 3D space. Used to simplify some calculs.
Definition: geom.cpp:99
double c
Definition: HybridAStar.cpp:84
CscQuaternion multiplyQuaternion(const CscQuaternion &quaternion1, const CscQuaternion &quaternion2)
Definition: geom.cpp:142
CscPoint3d * getMinPoint(std::vector< CscPoint3d * > *positions)
double dotXZ(const CscPoint3d &a, const CscPoint3d &b)
Definition: geom.cpp:409
double getPointsLowestZ(const std::vector< const CscPoint3d * > &areaVertices, optional< double > precision)
Definition: geom.cpp:285
CscPoint3d perpendicularXZ(const CscPoint3d &v)
Definition: geom.cpp:424
Definition: Csc3dTypes.h:372
Definition: Csc3dTypes.h:367
vector< double > multiplyMatrices(const vector< double > &matrix1, const vector< double > &matrix2)
bool comparePoint3d(const CscPoint3d *p1, const CscPoint3d *p2)
Compares two 3D points for equality, if a point is nullptr , return true only if the second is nullpt...
Definition: geom.cpp:242
float getMaxYForUpStep(float upMin, float upMax, const vector< CscPoint3d * > *positions)
Definition: geom.cpp:367
float getMinXForUpStep(float upMin, float upMax, const vector< CscPoint3d * > *positions)
Definition: geom.cpp:337
CscPoint3d * transformPointFromMatrix(const CscPoint3d *point, const vector< double > &matrix)
Definition: geom.cpp:159
bool pointInTriangleXZWithEpsilon(const CscPoint3d &pt, const CscPoint3d &a, const CscPoint3d &b, const CscPoint3d &c, double epsilon)
Definition: geom.cpp:432