8 #include <gp_Ax22d.hxx> 10 #include <gp_Circ.hxx> 12 #include <gp_Dir2d.hxx> 13 #include <gp_GTrsf.hxx> 15 #include <gp_Lin2d.hxx> 18 #include <gp_Pnt2d.hxx> 20 #include <gp_Vec2d.hxx> 91 static bool isPointOnPlane(
const Geom::Pnt& p,
const Geom::Pln& plane,
double tolerance = 1E-06);
131 static Geom::Pnt findClosestPointToPoints(
const Geom::Pnt& pnt,
const std::vector<Geom::Pnt>& pnts);
133 static bool isEqual(
double v1,
double v2,
double tolerance = 1E-06);
134 static bool isEqual(
const Geom::XYZ& v1,
const Geom::XYZ& v2,
double tolerance = 1E-06);
135 static bool isEqual(
const Geom::Pnt& p1,
const Geom::Pnt& p2,
double tolerance = 1E-06);
136 static bool isEqual(
const Geom::Vec& v1,
const Geom::Vec& v2,
double tolerance = 1E-06);
137 static bool isEqual(
const Geom::Dir& d1,
const Geom::Dir& d2,
double tolerance = 1E-06);
138 static bool isEqual(
const Geom::XY& p1,
const Geom::XY& p2,
double tolerance = 1E-06);
142 static bool isEqual(
const Geom::Ax1& a1,
const Geom::Ax1& a2,
double tolerance = 1E-06);
143 static bool isEqual(
const Geom::Ax2& a1,
const Geom::Ax2& a2,
double tolerance = 1E-06);
145 static bool isEqual(
const Geom::Ax3& a1,
const Geom::Ax3& a2,
double tolerance = 1E-06);
149 static bool isEqual(
const Geom::Pln& p1,
const Geom::Pln& p2,
double tolerance = 1E-06);
152 static bool intersectLineWithLine(
const Geom::Lin& lin1,
const Geom::Lin& lin2,
Geom::Pnt& intersectPnt,
double tolerance = 1E-06);
153 static bool intersectDirWithDir(
const Geom::Dir& dir1,
166 static bool makeCirclesFrom2TangentsAndRadius(
const Geom::Lin& lin1,
169 std::vector<Geom::Circ>& circles,
170 std::vector<Geom::Pnt>& pnt1,
171 std::vector<Geom::Pnt>& pnt2,
172 std::vector<double>& paramOnLin1 = std::vector<double>(),
173 std::vector<double>& paramOnLin2 = std::vector<double>(),
174 std::vector<double>& paramOnCirclesFromLin1 = std::vector<double>(),
175 std::vector<double>& paramOnCirclesFromLin2 = std::vector<double>(),
178 double tolerance = 1E-06);
179 static bool makeCirclesFrom2TangentsAndCenterOnLine(
const Geom::Lin& lin1,
182 std::vector<Geom::Circ>& circles,
183 std::vector<Geom::Pnt>& pnt1,
184 std::vector<Geom::Pnt>& pnt2,
185 std::vector<double>& paramOnLin1 = std::vector<double>(),
186 std::vector<double>& paramOnLin2 = std::vector<double>(),
187 std::vector<double>& paramOnCirclesFromLin1 = std::vector<double>(),
188 std::vector<double>& paramOnCirclesFromLin2 = std::vector<double>(),
191 double tolerance = 1E-06);
192 static bool makeLinePerpendicularToLineThroughPoint(
const Geom::Pln& plane,
198 double& paramOnSolution);
199 static bool make2DLines_Tangent2Circles(
const Geom::Circ& circle1,
201 std::vector<Geom::Lin>& lines,
202 std::vector<Geom::Pnt>& tangentPoints1,
203 std::vector<Geom::Pnt>& tangentPoints2);
204 static bool make2DLines_TangentCirclePoint(
const Geom::Circ& circle,
206 std::vector<Geom::Lin>& lines,
207 std::vector<Geom::Pnt>& tangentPoints);
208 static bool makeLines_BisLineLine(
const Geom::Lin l1,
const Geom::Lin l2, std::vector<Geom::Lin>& result);
209 static bool make2DCircles_RadiusPointPoint(
double radius,
const Geom::Pnt& point1,
const Geom::Pnt& point2, std::vector<Geom::Circ>& result);
210 static bool makeCircles_RadiusLinePoint(
double radius,
const Geom::Lin& line,
const Geom::Pnt& point, std::vector<Geom::Circ>& result);
211 static bool makeCircles_RadiusCirclePoint(
double radius,
const Geom::Circ& circle,
const Geom::Pnt& point, std::vector<Geom::Circ>& result);
212 static bool makeCircles_RadiusLineLine(
double radius,
const Geom::Lin& line1,
const Geom::Lin& line2, std::vector<Geom::Circ>& result);
213 static bool makeCircles_RadiusLineCircle(
double radius,
const Geom::Lin& line,
const Geom::Circ& circle, std::vector<Geom::Circ>& result);
214 static bool makeCircles_RadiusCircleCircle(
double radius,
const Geom::Circ& circle1,
const Geom::Circ& circle2, std::vector<Geom::Circ>& result);
216 static double getSignedDistanceFromPointToPlane(
const Geom::Pnt& p,
const Geom::Pln& plane);
217 static double convertRadianToDegree(
double radValue);
218 static double convertDegreeToRadian(
double degValue);
219 static double convertPercentToRadian(
double percentValue);
220 static double convertRadianToPercent(
double radValue);
223 static void getAnglesFromPosition(
const Geom::Ax2& position,
double& rotx,
double& roty,
double& rotz);
224 static bool pointsOnSamePlane(
const std::vector<Geom::Pnt>& inVector,
Geom::Pln& outPlane);
225 static bool pointsAreCollinear(
const std::vector<Geom::Pnt>& inVector);
233 const double& cylinder_radius,
239 static int gcd(
int a,
int b);
241 static bool getIntersectionWithTriangle(
const Geom::Pnt& p1,
246 static void calculatePositionToViewBoundingBoxForDefaultView(
Geom::Bnd_Box bbox,
254 static bool computeClothoidMaxR(
const double& radians,
const double& TG,
double& R);
256 static bool isConvexPolyon(
const std::vector<Geom::Pnt>& inVector);
257 static bool isConvexPolyon(
const std::vector<int>& inModel,
const std::vector<Geom::Pnt>& inVector);
258 static bool rayTriangleIntersect(
const Geom::Vec& orig,
266 static bool centroid(
Geom::Pnt& ret_centroid, std::vector<Geom::Pnt>& pnts);
267 static bool testRayThruTriangle(
const Geom::Pnt& P1,
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:43
Struct holding the return values from GeomTools::makeAxisPlacementFrom2Points(). Returns ok=true if t...
Definition: ToolResults.h:120
Qualifier
Definition: GeomTools.h:69
Definition: GeomTools.h:74
Definition: GeomTools.h:71
Struct holding the return values from GeomTools::makePlaneFrom3Points(). Returns ok=true if the opera...
Definition: ToolResults.h:18
void transform(Container container, OutputIt out, BinaryFunction function)
Definition: Algorithms.h:29
Struct holding the return values from GeomTools::projectPointOnCircle1(). Returns ok=true if the oper...
Definition: ToolResults.h:106
Struct holding the return values from GeomTools::projectPointOnPlane1(). Returns ok=true if the opera...
Definition: ToolResults.h:47
Struct holding the return values from GeomTools::projectPointOnPlane2(). Returns ok=true if the opera...
Definition: ToolResults.h:61
Defines a non-persistent vector in 2D space.
Definition: Vec2d.h:34
Struct holding the return values from GeomTools::projectPointOnLine1(). Returns ok=true if the operat...
Definition: ToolResults.h:77
Definition: GeomTools.h:73
Struct holding the return values from GeomTools::makeLineFrom2Points1(). Returns ok=true if the opera...
Definition: ToolResults.h:33
Defines a non-persistent vector in 3D space.
Definition: Vec.h:44
Struct holding the return values from GeomTools::projectPointOnLine2(). Returns ok=true if the operat...
Definition: ToolResults.h:91
Definition: GeomTools.h:72
Defines a non-persistent 2D cartesian point.
Definition: Pnt2d.h:33