The FaceMakerCheese class is a legacy face maker that was extracted from Part Extrude. More...

#include <FaceMakerCheese.h>

Classes

class  Wire_Compare
 The Wire_Compare class is for sorting wires by bounding box diagonal length. More...
 

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

Static Public Member Functions

static bool isInside (const TopoDS_Wire &, const TopoDS_Wire &)
 
static TopoDS_Shape makeFace (const std::vector< TopoDS_Wire > &)
 
static TopoDS_Face validateFace (const TopoDS_Face &)
 
- 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)
 

Protected Member Functions

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

Additional Inherited Members

- 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 FaceMakerCheese class is a legacy face maker that was extracted from Part Extrude.

It is used by almost all PartDesign.

Strengths: makes faces with holes

Weaknesses: can't make islands in holes. All faces must be on same plane.

Member Function Documentation

◆ Build_Essence()

void FaceMakerCheese::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.

Reimplemented in Part::FaceMakerExtrusion.

References makeFace(), Part::FaceMaker::myShapesToReturn, and Part::FaceMaker::myWires.

◆ getBriefExplanation()

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

◆ getUserFriendlyName()

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

◆ isInside()

bool FaceMakerCheese::isInside ( const TopoDS_Wire &  wire1,
const TopoDS_Wire &  wire2 
)
static

References validateFace().

Referenced by makeFace(), and ArchVRM.Renderer::zOverlaps().

◆ makeFace()

◆ validateFace()

TopoDS_Face FaceMakerCheese::validateFace ( const TopoDS_Face &  face)
static

Referenced by isInside().


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