4 #pragma warning(disable : 4100) 5 #pragma warning(disable : 4005) 64 static std::vector<pConstEdge> getClosestEdgesToPoint(
const Geom::Pnt& p,
pConstWire wire,
double& distance,
double tolerance = 1E-06);
68 static void getAdjacentEdgesToPointOnWire(
const Geom::Pnt& point,
pConstWire wire, std::vector<pConstEdge>& adjacentEdges);
81 static pWire makePolygon(
const std::vector<Geom::Pnt>& points);
83 static pWire makePolyline(
const std::vector<Geom::Pnt>& points);
85 static std::vector<pConstEdge> getEdges(
pConstWire wire);
87 static std::vector<pEdge> getEdgesCopy(
pConstWire wire);
89 static std::vector<pConstVertex> getVertices(
pConstWire wire);
91 static void getPoints(
pConstWire wire, std::vector<Geom::Pnt>& pnts);
97 static bool fixReorder(
pWire wire);
108 static bool removeEdgesFromWire(
pWire wire,
109 std::vector<pConstEdge> edges,
111 bool stayInBndBox =
false);
115 static bool isSelfIntersecting(
pConstWire wire);
129 #ifndef LXAPI // INTERFACES BELOW ARE -NOT- PART OF THE LEXOCAD API 133 static void __setDefaultWireTool__(
Topo::WireTool* tool) { _defaultTool = tool; }
139 combineWireWithWire(
pConstWire hWire,
pConstWire vWire,
const uint& x,
const uint& y,
const uint& z,
const double& start,
const double& end);
149 virtual pWire _addedEdge(
pConstWire wire,
const std::vector<pConstEdge>& edges,
double precision);
151 virtual std::vector<pConstEdge> _getClosestEdgesToPoint(
const Geom::Pnt& p,
pConstWire wire,
double& distance,
double precision = 1E-06);
153 virtual void _getAdjacentEdgesToPointOnWire(
const Geom::Pnt& point,
pConstWire wire, std::vector<pConstEdge>& adjacentEdges);
154 virtual pWire _makeWire(
const std::vector<pEdge>& edges,
double precision);
156 virtual std::vector<pWire> _makeWires(
const std::vector<pEdge>& edges,
double precision);
158 virtual pWire _makePolygon(
const std::vector<Geom::Pnt>& points);
159 virtual pWire _makePolyline(
const std::vector<Geom::Pnt>& points);
160 virtual std::vector<pConstEdge> _getEdges(
pConstWire wire);
161 virtual std::vector<pConstVertex> _getVertices(
pConstWire wire);
162 virtual void _getPoints(
pConstWire wire, std::vector<Geom::Pnt>& pnts);
163 virtual pWire _reverseWirePointsConnection(
pConstWire wire,
double precision);
165 virtual bool _fixReorder(
pWire wire);
168 virtual bool _filletWireAtVertex(
pWire wire,
const Geom::Pnt& p,
double radius,
double precision);
169 virtual bool _chamferWireAtVertex(
pWire wire,
const Geom::Pnt& p,
double offset,
double precision);
170 virtual bool _removeEdgesFromWire(
pWire wire, std::vector<pConstEdge> edges,
double precision,
bool stayInBndBox =
false);
171 virtual bool _isSelfIntersecting(
pConstWire wire);
175 _combineWireWithWire(
pConstWire hWire,
pConstWire vWire,
const uint& x,
const uint& y,
const uint& z,
const double& start,
const double& end);
std::shared_ptr< Topo::Wire const > pConstWire
Definition: Shape.h:98
#define TOPO_EXPORT
Definition: topo_defines.h:8
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
std::shared_ptr< Topo::Edge const > pConstEdge
Definition: Shape.h:99
static const double linear_Resolution()
Definition: Precision.h:26
std::shared_ptr< Topo::Vertex const > pConstVertex
Definition: Shape.h:101
std::shared_ptr< Topo::Wire > pWire
Definition: Shape.h:83
std::shared_ptr< Topo::Edge > pEdge
Definition: Shape.h:84