FreeCAD C++
Public Member Functions | Protected Member Functions | List of all members
Part::FaceMaker Class Referenceabstract

#include <Mod/Part/App/FaceMaker.h>

Detailed Description

FaceMaker class is the base class for implementing various "smart" face making routines. This was created to address the problem of multiple private implementations of making faces with holes, which are quite complex. The two most important facemaking routines then was: one in Part Extrude, and one in PartDesign (there, it is used in every sketch-based feature). Plus, another one (new) was needed for filling 2D offset.

Public Member Functions

virtual void addShape (const TopoDS_Shape &sh)
 addShape: add another wire, edge, or compound. If compound is added, its internals will be treated as isolated from the rest, and the compounding structure of result will follow. More...
 
virtual void useCompound (const TopoDS_Compound &comp)
 useCompound: add children of compound to the FaceMaker. Note that this is different from addShape(comp) - structure is lost. The compound is NOT expanded recursively. More...
 
virtual const TopoDS_Face & Face ()
 Face: returns the face (result). If result is not a single face, throws Base::TypeError. (hint: use .Shape() instead) More...
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction.
 
virtual ~BaseClass ()
 Destruction.
 

Protected Member Functions

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

Member Function Documentation

◆ addShape()

virtual void Part::FaceMaker::addShape ( const TopoDS_Shape &  sh)
virtual

addShape: add another wire, edge, or compound. If compound is added, its internals will be treated as isolated from the rest, and the compounding structure of result will follow.

Parameters
sh

◆ Build_Essence()

virtual void Part::FaceMaker::Build_Essence ( )
protectedpure virtual

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

◆ Face()

virtual const TopoDS_Face& Part::FaceMaker::Face ( )
virtual

Face: returns the face (result). If result is not a single face, throws Base::TypeError. (hint: use .Shape() instead)

Returns

◆ useCompound()

virtual void Part::FaceMaker::useCompound ( const TopoDS_Compound &  comp)
virtual

useCompound: add children of compound to the FaceMaker. Note that this is different from addShape(comp) - structure is lost. The compound is NOT expanded recursively.

Parameters
comp