1#ifndef LIBS_MATH_CGEOMETRY_HPP_
2#define LIBS_MATH_CGEOMETRY_HPP_
13 static void addPadding(
double x,
double y,
double sizeX,
double sizeY,
double padding,
double *xPadding,
14 double *yPadding,
double *sizeXPadding,
double *sizeYPadding);
15 static void restPadding(
double x,
double y,
double sizeX,
double sizeY,
double padding,
double *xPadding,
16 double *yPadding,
double *sizeXPadding,
double *sizeYPadding);
17 static void addRectangle(
double *xMin,
double *yMin,
double *xMax,
double *yMax,
double propMarginAdd);
18 static double module2D(
double x1,
double y1,
double x2,
double y2);
19 static double module2DSquare(
double x1,
double y1,
double x2,
double y2);
21 double *Vx,
double *Vy,
double *Vz);
23 double xMin,
double yMin,
double zMin,
double xMax,
double yMax,
double zMax,
24 double *xMinOut,
double *yMinOut,
double *zMinOut,
double *xMaxOut,
25 double *yMaxOut,
double *zMaxOut);
26 static double module3D(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2);
27 static void pointsRectangle(
double xCenter,
double yCenter,
double sizeX,
double sizeY,
double *x1,
double *y1,
28 double *x2,
double *y2);
30 double x3,
double y3,
double z3,
double *A,
double *B,
double *C,
32 static double distanceToPlane(
double A,
double B,
double C,
double D,
double x,
double y,
double z);
33 static void point3dProjectedTo2D(
double Xo,
double Yo,
double Zo,
double Ux,
double Uy,
double Uz,
double Vx,
34 double Vy,
double Vz,
double x3D,
double y3D,
double z3D,
double *x2D,
37 double *x,
double *y,
double *z);
38 static void extrusion(
double Nx,
double Ny,
double Nz,
double *Ux,
double *Uy,
double *Uz,
double *Vx,
double *Vy,
40 static void rotate2D(
double x,
double y,
double xc,
double yc,
double Ux,
double Uy,
double *x_rotate,
42 static void movePoint2D(
double x,
double y,
double dx,
double dy,
double Ux,
double Uy,
double *xMove,
45 static void calculateCenter(
double xMin,
double yMin,
double zMin,
double xMax,
double yMax,
double zMax,
46 double *xCenter,
double *yCenter,
double *zCenter);
51 double y2,
double *xIntersectionOpt,
double *yIntersectionOpt,
53 static bool pointIsLimits2D(
double x,
double y,
double xMin,
double yMin,
double xMax,
double yMax,
55 static bool pointIsLimits3D(
double x,
double y,
double z,
double xMin,
double yMin,
double zMin,
double xMax,
56 double yMax,
double zMax,
double precision);
59 unsigned char justify,
double *dx,
double *dy);
61 double distBottomY,
unsigned char justify,
double *dx,
63 static void getParametricValue(
double x1,
double y1,
double x2,
double y2,
double x,
double y,
double *tOpt,
64 double *nOpt,
double *xtOpt,
double *ytOpt);
65 static double getZPointPlane(
double A,
double B,
double C,
double D,
double x,
double y);
66 static double getAreaTrapeze(
double x1,
double y1,
double x2,
double y2);
67 static void getAreaAndXCGTrapeze(
double xInf,
double yInf,
double xSup,
double ySup,
double *areaTrapeze,
72 static bool hasIntersection(
double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double x4,
double y4,
73 double *tOpt,
double *nOpt,
double *xOpt,
double *yOpt,
double precision);
74 static bool areCollinearPoints(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
75 double y3,
double z3,
double precision);
76 static bool areCollinearPoints2D(
double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
78 static bool isPointIntoRectangle(
double x,
double y,
double xOrg,
double yOrg,
double sizeX,
double sizeY,
81 double B,
double C,
double D,
double *tOpt,
double *xOpt,
double *yOpt,
83 static bool isSamePoint3D(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double precision);
84 static bool isSamePoint2D(
double x1,
double y1,
double x2,
double y2,
double precision);
Definition CGeometry.hpp:11
static void getAreaAndXCGTrapeze(double xInf, double yInf, double xSup, double ySup, double *areaTrapeze, double *xcgTrapeze)
Definition CGeometry.cpp:690
static void pointsRectangle(double xCenter, double yCenter, double sizeX, double sizeY, double *x1, double *y1, double *x2, double *y2)
Definition CGeometry.cpp:282
static bool pointIsLimits3D(double x, double y, double z, double xMin, double yMin, double zMin, double xMax, double yMax, double zMax, double precision)
Definition CGeometry.cpp:561
static bool areCollinearPoints(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double precision)
Definition CGeometry.cpp:838
static void calculateCenter(double xMin, double yMin, double zMin, double xMax, double yMax, double zMax, double *xCenter, double *yCenter, double *zCenter)
Definition CGeometry.cpp:444
static void getParametricValue(double x1, double y1, double x2, double y2, double x, double y, double *tOpt, double *nOpt, double *xtOpt, double *ytOpt)
Definition CGeometry.cpp:594
static bool hasIntersection(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double *tOpt, double *nOpt, double *xOpt, double *yOpt, double precision)
Definition CGeometry.cpp:779
static void addPadding(double x, double y, double sizeX, double sizeY, double padding, double *xPadding, double *yPadding, double *sizeXPadding, double *sizeYPadding)
Definition CGeometry.cpp:99
static void movePoint2D(double x, double y, double dx, double dy, double Ux, double Uy, double *xMove, double *yMove)
Definition CGeometry.cpp:420
static double module3D(double x1, double y1, double z1, double x2, double y2, double z2)
Definition CGeometry.cpp:269
static void horizontalAxisFromThePlaneNormal(double A, double B, double C, double *Ux, double *Uy, double *Uz, double *Vx, double *Vy, double *Vz)
Definition CGeometry.cpp:161
static int32_t compare2PointsVertical(double x1, double y1, double x2, double y2)
Definition CGeometry.cpp:465
static bool isSamePoint2D(double x1, double y1, double x2, double y2, double precision)
Definition CGeometry.cpp:985
static double calculatePointYStraight(double y0, double slope, double x)
Definition CGeometry.cpp:456
static void getCoordCornerLeftDownRectangleGeneral(double widthRectangle, double heightRectangle, double distLeftX, double distBottomY, unsigned char justify, double *dx, double *dy)
Definition CGeometry.cpp:578
static double getZPointPlane(double A, double B, double C, double D, double x, double y)
Definition CGeometry.cpp:660
static void calculateCoefficientEquationPlane(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double *A, double *B, double *C, double *D)
Definition CGeometry.cpp:296
static bool pointIsLimits2D(double x, double y, double xMin, double yMin, double xMax, double yMax, double precision)
Definition CGeometry.cpp:555
static void calculateParametricPoint(double x1, double y1, double z1, double x2, double y2, double z2, double t, double *x, double *y, double *z)
Definition CGeometry.cpp:354
static int32_t compare2PointsHorizontal(double x1, double y1, double x2, double y2)
Definition CGeometry.cpp:479
static bool hasIntersectionSegmentPlane(double x1, double y1, double z1, double x2, double y2, double z2, double A, double B, double C, double D, double *tOpt, double *xOpt, double *yOpt, double *zOpt)
Definition CGeometry.cpp:924
static double angleVectorZeroTo2PiRadians(double x, double y)
Definition CGeometry.cpp:430
static bool areCollinearPoints2D(double x1, double y1, double x2, double y2, double x3, double y3, double precision)
Definition CGeometry.cpp:880
static bool isSamePoint3D(double x1, double y1, double z1, double x2, double y2, double z2, double precision)
Definition CGeometry.cpp:979
static void distancePointToLineWithIntersection(double xPoint, double yPoint, double x1, double y1, double x2, double y2, double *xIntersectionOpt, double *yIntersectionOpt, double *distance)
Definition CGeometry.cpp:493
static void addRectangle(double *xMin, double *yMin, double *xMax, double *yMax, double propMarginAdd)
Definition CGeometry.cpp:111
static void getCoordCornerLeftDownRectangleCenter(double widthRectangle, double heightRectangle, unsigned char justify, double *dx, double *dy)
Definition CGeometry.cpp:568
static void restPadding(double x, double y, double sizeX, double sizeY, double padding, double *xPadding, double *yPadding, double *sizeXPadding, double *sizeYPadding)
Definition CGeometry.cpp:105
static void rectangleWithProportional(double widthWindow, double heightWindow, double coefficientPercentageBorder, double xMin, double yMin, double zMin, double xMax, double yMax, double zMax, double *xMinOut, double *yMinOut, double *zMinOut, double *xMaxOut, double *yMaxOut, double *zMaxOut)
Definition CGeometry.cpp:200
static double module2DSquare(double x1, double y1, double x2, double y2)
Definition CGeometry.cpp:150
static void rotate2D(double x, double y, double xc, double yc, double Ux, double Uy, double *x_rotate, double *y_rotate)
Definition CGeometry.cpp:401
static double module2D(double x1, double y1, double x2, double y2)
Definition CGeometry.cpp:139
static double getAreaTriangleByCoordinates2D(const std::shared_ptr< std::vector< iv::math::geometry::Point2d > > &trianglePoints)
Definition CGeometry.cpp:744
static bool isPointIntoRectangle(double x, double y, double xOrg, double yOrg, double sizeX, double sizeY, double precision)
Definition CGeometry.cpp:917
static void point3dProjectedTo2D(double Xo, double Yo, double Zo, double Ux, double Uy, double Uz, double Vx, double Vy, double Vz, double x3D, double y3D, double z3D, double *x2D, double *y2D)
Definition CGeometry.cpp:336
static double distanceToPlane(double A, double B, double C, double D, double x, double y, double z)
Definition CGeometry.cpp:331
static void extrusion(double Nx, double Ny, double Nz, double *Ux, double *Uy, double *Uz, double *Vx, double *Vy, double *Vz)
Definition CGeometry.cpp:366
static double getAreaTrapeze(double x1, double y1, double x2, double y2)
Definition CGeometry.cpp:667