9 #include <gp_Ax22d.hxx> 11 #include <gp_Circ.hxx> 13 #include <gp_Dir2d.hxx> 14 #include <gp_GTrsf.hxx> 16 #include <gp_Lin2d.hxx> 19 #include <gp_Pnt2d.hxx> 21 #include <gp_Vec2d.hxx> 98 static bool isPointOnPlane(
const Geom::Pnt& p,
const Geom::Pln& plane,
double tolerance = 1E-06);
138 static Geom::Pnt findClosestPointToPoints(
const Geom::Pnt& pnt,
const std::vector<Geom::Pnt>& pnts);
140 static bool isEqual(
double v1,
double v2,
double tolerance = 1E-06);
141 static bool isEqual(
const Geom::XYZ& v1,
const Geom::XYZ& v2,
double tolerance = 1E-06);
142 static bool isEqual(
const Geom::Pnt& p1,
const Geom::Pnt& p2,
double tolerance = 1E-06);
143 static bool isEqual(
const Geom::Vec& v1,
const Geom::Vec& v2,
double tolerance = 1E-06);
144 static bool isEqual(
const Geom::Dir& d1,
const Geom::Dir& d2,
double tolerance = 1E-06);
145 static bool isEqual(
const Geom::XY& p1,
const Geom::XY& p2,
double tolerance = 1E-06);
149 static bool isEqual(
const Geom::Ax1& a1,
const Geom::Ax1& a2,
double tolerance = 1E-06);
150 static bool isEqual(
const Geom::Ax2& a1,
const Geom::Ax2& a2,
double tolerance = 1E-06);
152 static bool isEqual(
const Geom::Ax3& a1,
const Geom::Ax3& a2,
double tolerance = 1E-06);
156 static bool isEqual(
const Geom::Pln& p1,
const Geom::Pln& p2,
double tolerance = 1E-06);
159 static bool intersectLineWithLine(
const Geom::Lin& lin1,
const Geom::Lin& lin2,
Geom::Pnt& intersectPnt,
double tolerance = 1E-06);
160 static bool intersectDirWithDir(
const Geom::Dir& dir1,
173 static bool makeCirclesFrom2TangentsAndRadius(
const Geom::Lin& lin1,
176 std::vector<Geom::Circ>& circles,
177 std::vector<Geom::Pnt>& pnt1,
178 std::vector<Geom::Pnt>& pnt2,
179 std::vector<double>& paramOnLin1 = std::vector<double>(),
180 std::vector<double>& paramOnLin2 = std::vector<double>(),
181 std::vector<double>& paramOnCirclesFromLin1 = std::vector<double>(),
182 std::vector<double>& paramOnCirclesFromLin2 = std::vector<double>(),
185 double tolerance = 1E-06);
186 static bool makeCirclesFrom2TangentsAndCenterOnLine(
const Geom::Lin& lin1,
189 std::vector<Geom::Circ>& circles,
190 std::vector<Geom::Pnt>& pnt1,
191 std::vector<Geom::Pnt>& pnt2,
192 std::vector<double>& paramOnLin1 = std::vector<double>(),
193 std::vector<double>& paramOnLin2 = std::vector<double>(),
194 std::vector<double>& paramOnCirclesFromLin1 = std::vector<double>(),
195 std::vector<double>& paramOnCirclesFromLin2 = std::vector<double>(),
198 double tolerance = 1E-06);
199 static bool makeLinePerpendicularToLineThroughPoint(
const Geom::Pln& plane,
205 double& paramOnSolution);
206 static bool make2DLines_Tangent2Circles(
const Geom::Circ& circle1,
208 std::vector<Geom::Lin>& lines,
209 std::vector<Geom::Pnt>& tangentPoints1,
210 std::vector<Geom::Pnt>& tangentPoints2);
211 static bool make2DLines_TangentCirclePoint(
const Geom::Circ& circle,
213 std::vector<Geom::Lin>& lines,
214 std::vector<Geom::Pnt>& tangentPoints);
215 static bool makeLines_BisLineLine(
const Geom::Lin l1,
const Geom::Lin l2, std::vector<Geom::Lin>& result);
216 static bool make2DCircles_RadiusPointPoint(
double radius,
const Geom::Pnt& point1,
const Geom::Pnt& point2, std::vector<Geom::Circ>& result);
217 static bool makeCircles_RadiusLinePoint(
double radius,
const Geom::Lin& line,
const Geom::Pnt& point, std::vector<Geom::Circ>& result);
218 static bool makeCircles_RadiusCirclePoint(
double radius,
const Geom::Circ& circle,
const Geom::Pnt& point, std::vector<Geom::Circ>& result);
219 static bool makeCircles_RadiusLineLine(
double radius,
const Geom::Lin& line1,
const Geom::Lin& line2, std::vector<Geom::Circ>& result);
220 static bool makeCircles_RadiusLineCircle(
double radius,
const Geom::Lin& line,
const Geom::Circ& circle, std::vector<Geom::Circ>& result);
221 static bool makeCircles_RadiusCircleCircle(
double radius,
const Geom::Circ& circle1,
const Geom::Circ& circle2, std::vector<Geom::Circ>& result);
223 static double getSignedDistanceFromPointToPlane(
const Geom::Pnt& p,
const Geom::Pln& plane);
224 static double convertRadiantToDegree(
double radValue);
225 static double convertDegreeToRadiant(
double degValue);
228 static void getAnglesFromPosition(
const Geom::Ax2& position,
double& rotx,
double& roty,
double& rotz);
229 static bool pointsOnSamePlane(
const std::vector<Geom::Pnt>& inVector,
Geom::Pln& outPlane);
230 static bool pointsAreCollinear(
const std::vector<Geom::Pnt>& inVector);
231 static void debugOccTransform(
const Geom::GTrsf& transform,
const std::string& msg =
"");
232 static void debugOccTransform(
const Geom::Trsf& transform,
const std::string& msg =
"");
238 const double& cylinder_radius,
244 static int gcd(
int a,
int b);
246 static bool getIntersectionWithTriangle(
const Geom::Pnt& p1,
251 static void calculatePositionToViewBoundingBoxForDefaultView(
Geom::Bnd_Box bbox,
259 static bool computeClothoidMaxR(
const double& radians,
const double& TG,
double& R);
261 static bool isConvexPolyon(
const std::vector<Geom::Pnt>& inVector);
262 static bool isConvexPolyon(
const std::vector<int>& inModel,
const std::vector<Geom::Pnt>& inVector);
263 static bool rayTriangleIntersect(
const Geom::Vec& orig,
271 static bool centroid(
Geom::Pnt& ret_centroid, std::vector<Geom::Pnt>& pnts);
272 static bool testRayThruTriangle(
const Geom::Pnt& P1,
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
Struct holding the return values from GeomTools::makeAxisPlacementFrom2Points(). Returns ok=true if t...
Definition: ToolResults.h:123
Qualifier
Definition: GeomTools.h:76
#define GEOM_EXPORT
Definition: geom_defines.h:8
Definition: GeomTools.h:81
Definition: GeomTools.h:78
Struct holding the return values from GeomTools::makePlaneFrom3Points(). Returns ok=true if the opera...
Definition: ToolResults.h:21
Struct holding the return values from GeomTools::projectPointOnCircle1(). Returns ok=true if the oper...
Definition: ToolResults.h:109
Struct holding the return values from GeomTools::projectPointOnPlane1(). Returns ok=true if the opera...
Definition: ToolResults.h:50
Struct holding the return values from GeomTools::projectPointOnPlane2(). Returns ok=true if the opera...
Definition: ToolResults.h:64
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:80
Definition: GeomTools.h:80
Struct holding the return values from GeomTools::makeLineFrom2Points1(). Returns ok=true if the opera...
Definition: ToolResults.h:36
Defines a non-persistent vector in 3D space.
Definition: Vec.h:45
Struct holding the return values from GeomTools::projectPointOnLine2(). Returns ok=true if the operat...
Definition: ToolResults.h:94
Definition: GeomTools.h:79
Defines a non-persistent 2D cartesian point.
Definition: Pnt2d.h:33