The FaceMakerBullseye class is a tool to make planar faces with holes, where there can be additional faces inside holes and they can have holes too and so on. More...

#include <FaceMakerBullseye.h>

Classes

class  FaceDriller
 The FaceDriller class is similar to BRepBuilderAPI_MakeFace, except that it is tolerant to wire orientation (wires are oriented as needed automatically). More...
 

Public Member Functions

 FaceMakerBullseye ()
 
virtual std::string getBriefExplanation () const override
 
virtual std::string getUserFriendlyName () const override
 
void setPlane (const gp_Pln &plane)
 setPlane: sets the plane to use when making faces. More...
 
- Public Member Functions inherited from Part::FaceMaker
virtual void addShape (const TopoDS_Shape &sh)
 addShape: add another wire, edge, or compound. More...
 
virtual void addWire (const TopoDS_Wire &w)
 
virtual void Build ()
 
virtual const TopoDS_Face & Face ()
 Face: returns the face (result). More...
 
 FaceMaker ()
 
virtual void useCompound (const TopoDS_Compound &comp)
 useCompound: add children of compound to the FaceMaker. More...
 
virtual ~FaceMaker ()
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction. More...
 
virtual PyObjectgetPyObject (void)
 This method returns the Python wrapper for a C++ object. More...
 
virtual Type getTypeId (void) const
 
bool isDerivedFrom (const Type type) const
 
virtual void setPyObject (PyObject *)
 
virtual ~BaseClass ()
 Destruction. More...
 

Protected Member Functions

virtual void Build_Essence () override
 Build_Essence: build routine that can assume there is no nesting. More...
 

Protected Attributes

gp_Pln myPlane
 
bool planeSupplied
 
- Protected Attributes inherited from Part::FaceMaker
std::vector< TopoDS_Compound > myCompounds
 
std::vector< TopoDS_Shape > myShapesToReturn
 
std::vector< TopoDS_Shape > mySourceShapes
 
std::vector< TopoDS_Wire > myWires
 

Additional Inherited Members

- Static Public Member Functions inherited from Part::FaceMaker
static std::unique_ptr< FaceMakerConstructFromType (Base::Type type)
 
static std::unique_ptr< FaceMakerConstructFromType (const char *className)
 
- Static Public Member Functions inherited from Base::BaseClass
static void * create (void)
 
static Type getClassTypeId (void)
 
static void init (void)
 
- Static Protected Member Functions inherited from Part::FaceMaker
static void throwNotImplemented ()
 
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr)
 

Detailed Description

The FaceMakerBullseye class is a tool to make planar faces with holes, where there can be additional faces inside holes and they can have holes too and so on.

Strengths: makes faces with holes with islands

Weaknesses: faces of one compound must be on same plane. TBD

Constructor & Destructor Documentation

◆ FaceMakerBullseye()

Part::FaceMakerBullseye::FaceMakerBullseye ( )

Member Function Documentation

◆ Build_Essence()

void FaceMakerBullseye::Build_Essence ( )
overrideprotectedvirtual

Build_Essence: build routine that can assume there is no nesting.

Implementing instructions: Add new faces (or whatever) to myShapesToReturn. The rest is done by base class's Build(). Please ignore contents of myCompounds in implementation. If special handling of nesting is required, override whole Build().

Implements Part::FaceMaker.

References Part::FaceMakerBullseye::FaceDriller::addHole(), myPlane, Part::FaceMaker::myShapesToReturn, Part::FaceMaker::myWires, and planeSupplied.

◆ getBriefExplanation()

std::string FaceMakerBullseye::getBriefExplanation ( ) const
overridevirtual

◆ getUserFriendlyName()

std::string FaceMakerBullseye::getUserFriendlyName ( ) const
overridevirtual

◆ setPlane()

void FaceMakerBullseye::setPlane ( const gp_Pln &  plane)

setPlane: sets the plane to use when making faces.

This is optional. If the plane was set, it is not tested that the wires are planar or on the supplied plane, potentially speeding things up.

Parameters
planeFIXME: the plane is not propagated if processing compounds.

Referenced by Part::TopoShape::makeOffset2D(), and Path::Area::makeSections().

Member Data Documentation

◆ myPlane

gp_Pln Part::FaceMakerBullseye::myPlane
protected

◆ planeSupplied

bool Part::FaceMakerBullseye::planeSupplied
protected

Referenced by Build_Essence().


The documentation for this class was generated from the following files:
  • Sources/FreeCAD/src/Mod/Part/App/FaceMakerBullseye.h
  • Sources/FreeCAD/src/Mod/Part/App/FaceMakerBullseye.cpp