Go to the documentation of this file.
14 class ShapeTesselator;
15 class ShapeTesselator_OCC;
17 class TriangleData_OCC;
22 class ShapeTesselator_Acis;
23 class TriangleData_Acis;
45 class SurfaceStyleAssignment;
50 struct SpecialFaceInfo;
64 friend class Mesher::ShapeTesselator;
65 friend class Mesher::ShapeTesselator_OCC;
66 friend class MesherAcis::ShapeTesselator_Acis;
67 friend class Mesher::TriangleData;
68 friend class Mesher::TriangleData_OCC;
69 friend class MesherAcis::TriangleData_Acis;
70 friend class Part::SnapPointTool;
124 static bool extendFace(
pFace face,
const std::vector<pConstEdge>& edges,
double offset);
168 #ifndef LXAPI // INTERFACES BELOW ARE -NOT- PART OF THE LEXOCAD API
172 static void __setDefaultFaceTool__(
Topo::FaceTool* tool) { _defaultTool = tool; }
173 static void __setAcisShapeTool__(
Topo::FaceTool* tool) { _acisTool = tool; }
178 static bool getTopoDS_Face(
pConstFace face, TopoDS_Face& topoFace);
181 virtual pFace _makeFace(
pWire outer,
double precision);
182 virtual pFace _makeFace(
pWire outerWire,
const std::vector<pWire>& innerWires,
double precision);
183 virtual pFace _makePolygon(
const std::vector<Geom::Pnt>& points);
189 virtual bool _getTopoDS_Face(
pConstFace face, TopoDS_Face& topoFace);
191 virtual std::vector<pConstWire> _getInnerBoundaries(
pConstFace face);
192 virtual pShape _makeConnectedFaceSet(
const std::vector<int>& model,
const std::vector<Geom::Pnt>& vertices);
194 virtual bool _extendFace(
pFace face,
const std::vector<pConstEdge>& edges,
double offset);
195 virtual bool _getCylinderSurfaceParams(FACE* face,
Geom::Ax2& position,
double& radius);
196 virtual bool _getCylinderSurfaceParams(
pConstFace face,
Geom::Ax2& position,
double& radius);
197 virtual bool _getConeSurfaceParams(FACE* face,
Geom::Ax2& position,
double& angle,
double& radius);
198 virtual bool _getConeSurfaceParams(
pConstFace face,
Geom::Ax2& position,
double& angle,
double& radius);
201 virtual bool _projectPointOnFace(
const Geom::Pnt& p,
pConstFace face,
double& u,
double& v);
202 virtual bool _isSelfIntersecting(
pConstFace face);
203 virtual pFace _makePlanarFace(
pWire outerWire,
const std::vector<pWire>& innerWires,
double precision);
204 virtual pFace _makePlanarFaceWithoutVoids(
const std::vector<pWire>& wires,
double precision);
206 virtual void _getOuterBoundaryPoints(
pConstFace face, std::vector<Geom::Pnt>& pnts);
207 virtual void _getOuterBoundaryPointsFast(
pConstFace face, std::vector<Geom::Pnt>& pnts);
208 virtual void _getOuterBoundaryPointsFast(FACE*, std::vector<Geom::Pnt>& pnts);
211 virtual bool _createTextureCoordinates(
pConstFace face,
213 const App::SurfaceStyleAssignment* ssa,
214 std::vector<Geom::Pnt2d>& coord);
void transform(Container container, OutputIt out, BinaryFunction function)
Definition: Algorithms.h:30
std::shared_ptr< Topo::Wire const > pConstWire
Definition: Types.h:71
std::shared_ptr< Topo::Face > pFace
Definition: Types.h:53
FaceClashType
Definition: Clash.h:25
std::shared_ptr< Topo::Shape > pShape
Definition: Variant.h:64
std::shared_ptr< Topo::Wire > pWire
Definition: Types.h:54
std::shared_ptr< Topo::Face const > pConstFace
Definition: Types.h:70
Definition: FaceTool.h:21
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:44
SurfaceType
Definition: GeomEnums.h:24
double distance(const Geom::Vec &v1, const Geom::Vec &v2)
Returns the distance between two points.
Definition: Vec.h:341
std::shared_ptr< const Geom::BrepData > pConstBrepData
Definition: BrepData.h:31
static constexpr double linear_Resolution()
Definition: Precision.h:23
Definition: PropertyContainer.h:33