Part::FaceMakerSimple Class Reference

The FaceMakerSimple class: make plane faces from all closed wires supplied, ignoring overlaps. More...

#include <FaceMaker.h>

Public Member Functions

virtual std::string getBriefExplanation () const override
 
virtual std::string getUserFriendlyName () const override
 
- 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...
 

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)
 
- 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
 

Detailed Description

The FaceMakerSimple class: make plane faces from all closed wires supplied, ignoring overlaps.

Strengths: can work with non-coplanar sets of wires. Will not make broken faces if wires overlap*.

Limitations: can't make faces with holes (will generate overlapping faces instead). Can't make faces from nonplanar wires.

  • Compound of valid but overlapping faces is created. The compound is invalid for BOPs, but the faces themselves are valid, provided that the source wires are valid.

Member Function Documentation

◆ Build_Essence()

void Part::FaceMakerSimple::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.

◆ getBriefExplanation()

std::string Part::FaceMakerSimple::getBriefExplanation ( ) const
overridevirtual

◆ getUserFriendlyName()

std::string Part::FaceMakerSimple::getUserFriendlyName ( ) const
overridevirtual

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