Base class of all body objects in FreeCAD A body is used, e.g. More...
#include <BodyBase.h>
Public Member Functions | |
BodyBase () | |
std::vector< App::DocumentObject * > | getFullModel () |
Returns all Group objects prepanded by BaseFeature (if any) More... | |
virtual PyObject * | getPyObject () override |
getPyObject returns the Python binding object More... | |
bool | isAfter (const App::DocumentObject *feature, const App::DocumentObject *target) const |
Return true if the feature belongs to the body and is located after the target. More... | |
Public Member Functions inherited from Part::Feature | |
Feature (void) | |
Constructor. More... | |
virtual | ~Feature () |
virtual short | mustExecute () const override |
mustExecute We call this method to check if the object was modified to be invoked. More... | |
virtual const char * | getViewProviderName () const override |
returns the type name of the ViewProvider More... | |
virtual const App::PropertyComplexGeoData * | getPropertyOfGeometry () const override |
This method returns the main property of a geometric object that holds the actual geometry. More... | |
TopLoc_Location | getLocation () const |
virtual DocumentObject * | getSubObject (const char *subname, PyObject **pyObj, Base::Matrix4D *mat, bool transform, int depth) const override |
Get the sub element/object by name. More... | |
Public Member Functions inherited from App::GeoFeature | |
GeoFeature (void) | |
Constructor. More... | |
virtual std::pair< std::string, std::string > | getElementName (const char *name, ElementNameType type=Normal) const |
Return the new and old style sub-element name. More... | |
virtual const PropertyComplexGeoData * | getPropertyOfGeometry () const |
This method returns the main property of a geometric object that holds the actual geometry. More... | |
virtual PyObject * | getPyObject (void) |
getPyObject returns the Python binding object More... | |
Base::Placement | globalPlacement () const |
Calculates the placement in the global reference coordinate system. More... | |
virtual void | transformPlacement (const Base::Placement &transform) |
transformPlacement applies transform to placement of this shape. More... | |
virtual | ~GeoFeature () |
Public Member Functions inherited from App::DocumentObject | |
virtual App::Property * | addDynamicProperty (const char *type, const char *name=nullptr, const char *group=nullptr, const char *doc=nullptr, short attr=0, bool ro=false, bool hidden=false) override |
virtual bool | adjustRelativeLinks (const std::set< App::DocumentObject * > &inList, std::set< App::DocumentObject * > *visited=nullptr) |
Called to adjust link properties to avoid cyclic links. More... | |
virtual bool | allowDuplicateLabel () const |
virtual bool | canLinkProperties () const |
virtual int | canLoadPartial () const |
allow partial loading of dependent objects More... | |
void | clearExpression (const ObjectIdentifier &path) |
void | clearOutListCache () const |
clear internal out list cache More... | |
virtual const char * | detachFromDocument () override |
DocumentObject (void) | |
Constructor. More... | |
void | enforceRecompute () |
Enforce this document object to be recomputed. More... | |
App::Document * | getDocument (void) const |
gets the document in which this Object is handled More... | |
std::string | getExportName (bool forced=false) const |
returns the name that is safe to be exported to other document More... | |
virtual const PropertyExpressionEngine::ExpressionInfo | getExpression (const ObjectIdentifier &path) const |
virtual std::string | getFullName () const override |
Return the object full name of the form DocName::ObjName. More... | |
DocumentObjectGroup * | getGroup () const |
get group if object is part of a group, otherwise 0 is returned More... | |
long | getID () const |
Return the object ID that is unique within its owner document. More... | |
const std::vector< App::DocumentObject * > & | getInList (void) const |
std::set< App::DocumentObject * > | getInListEx (bool recursive) const |
Return a set of all objects linking to this object, including possible external parent objects. More... | |
void | getInListEx (std::set< App::DocumentObject * > &inSet, bool recursive, std::vector< App::DocumentObject * > *inList=nullptr) const |
Get a set of all objects linking to this object, including possible external parent objects. More... | |
std::vector< App::DocumentObject * > | getInListRecursive (void) const |
get all objects link directly or indirectly to this object More... | |
virtual DocumentObject * | getLinkedObject (bool recurse=true, Base::Matrix4D *mat=nullptr, bool transform=false, int depth=0) const |
Return the linked object with optional transformation. More... | |
const char * | getNameInDocument (void) const |
returns the name which is set in the document for this object (not the name property!) More... | |
const std::string & | getOldLabel () const |
const std::vector< App::DocumentObject * > & | getOutList () const |
returns a list of objects this object is pointing to by Links More... | |
std::vector< App::DocumentObject * > | getOutList (int option) const |
void | getOutList (int option, std::vector< App::DocumentObject * > &res) const |
std::vector< App::DocumentObject * > | getOutListOfProperty (App::Property *) const |
returns a list of objects linked by the property More... | |
std::vector< App::DocumentObject * > | getOutListRecursive (void) const |
returns a list of objects this object is pointing to by Links and all further descended More... | |
std::vector< std::pair< App::DocumentObject *, std::string > > | getParents (int depth=0) const |
Obtain top parents and subnames of this object using its InList. More... | |
std::vector< std::list< App::DocumentObject * > > | getPathsByOutList (App::DocumentObject *to) const |
get all possible paths from this to another object following the OutList More... | |
virtual PyObject * | getPyObject (void) override |
This method returns the Python wrapper for a C++ object. More... | |
unsigned long | getStatus () const |
return the status bits More... | |
const char * | getStatusString (void) const |
get the status Message More... | |
virtual DocumentObject * | getSubObject (const char *subname, PyObject **pyObj=nullptr, Base::Matrix4D *mat=nullptr, bool transform=true, int depth=0) const |
Get the sub element/object by name. More... | |
std::vector< DocumentObject * > | getSubObjectList (const char *subname) const |
Return a list of objects referenced by a given subname including this object. More... | |
virtual std::vector< std::string > | getSubObjects (int reason=0) const |
Return name reference of all sub-objects. More... | |
virtual const char * | getViewProviderName (void) const |
returns the type name of the ViewProvider More... | |
virtual const char * | getViewProviderNameOverride () const |
This function is introduced to allow Python feature override its view provider. More... | |
const char * | getViewProviderNameStored () const |
virtual bool | hasChildElement () const |
return true to activate tree view group object handling and element visibility More... | |
virtual bool | isAttachedToDocument () const override |
virtual int | isElementVisible (const char *element) const |
Get sub-element visibility. More... | |
bool | isError (void) const |
set this feature to error More... | |
int | isExporting () const |
bool | isInInList (DocumentObject *objToTest) const |
test if this object is directly (non recursive) in the InList More... | |
bool | isInInListRecursive (DocumentObject *objToTest) const |
test if this object is in the InList and recursive further down More... | |
bool | isInOutList (DocumentObject *objToTest) const |
test if this object is directly (non recursive) in the OutList More... | |
bool | isInOutListRecursive (DocumentObject *objToTest) const |
test if the given object is in the OutList and recursive further down More... | |
bool | isRecomputing () const |
returns true if this objects is currently recomputing More... | |
bool | isRemoving () const |
returns true if this objects is currently removed from the document More... | |
bool | isRestoring () const |
returns true if this objects is currently restoring from file More... | |
bool | isTouched (void) const |
test if this document object is touched More... | |
bool | isValid (void) const |
virtual short | mustExecute (void) const |
mustExecute We call this method to check if the object was modified to be invoked. More... | |
bool | mustRecompute (void) const |
Test if this document object must be recomputed. More... | |
virtual void | onBeforeChangeLabel (std::string &newLabel) |
virtual void | onLostLinkToObject (DocumentObject *) |
Called in case of losing a link Get called by the document when a object got deleted a link property of this object ist pointing to. More... | |
virtual void | onUpdateElementReference (const Property *) |
void | purgeError (void) |
remove the error from the object More... | |
void | purgeTouched (void) |
reset this document object touched More... | |
bool | recomputeFeature (bool recursive=false) |
Recompute only this feature. More... | |
virtual bool | redirectSubName (std::ostringstream &ss, DocumentObject *topParent, DocumentObject *child) const |
Allow object to redirect a subname path. More... | |
virtual bool | removeDynamicProperty (const char *prop) override |
virtual void | renameObjectIdentifiers (const std::map< App::ObjectIdentifier, App::ObjectIdentifier > &paths) |
App::DocumentObject * | resolve (const char *subname, App::DocumentObject **parent=nullptr, std::string *childName=nullptr, const char **subElement=nullptr, PyObject **pyObj=nullptr, Base::Matrix4D *mat=nullptr, bool transform=true, int depth=0) const |
Resolve the last document object referenced in the subname. More... | |
App::DocumentObject * | resolveRelativeLink (std::string &subname, App::DocumentObject *&link, std::string &linkSub) const |
Resolve a link reference that is relative to this object reference. More... | |
virtual void | Save (Base::Writer &writer) const override |
This method is used to save properties to an XML document. More... | |
virtual int | setElementVisible (const char *element, bool visible) |
Child element handling. More... | |
virtual void | setExpression (const ObjectIdentifier &path, std::shared_ptr< App::Expression > expr) |
void | setStatus (ObjectStatus pos, bool on) |
bool | testIfLinkDAGCompatible (App::PropertyLinkSub &linkTo) const |
bool | testIfLinkDAGCompatible (App::PropertyLinkSubList &linksTo) const |
bool | testIfLinkDAGCompatible (const std::vector< DocumentObject * > &linksTo) const |
bool | testIfLinkDAGCompatible (DocumentObject *linkTo) const |
testIfLinkIsDAG tests a link that is about to be created for circular references. More... | |
bool | testStatus (ObjectStatus pos) const |
void | touch (bool noRecompute=false) |
Set the property touched -> changed, cause recomputation in Update() More... | |
virtual | ~DocumentObject () |
Public Member Functions inherited from App::TransactionalObject | |
virtual const char * | detachFromDocument () |
virtual bool | isAttachedToDocument () const |
TransactionalObject (void) | |
Constructor. More... | |
virtual | ~TransactionalObject () |
Public Member Functions inherited from App::ExtensionContainer | |
ExtensionIterator | extensionBegin () |
ExtensionContainer () | |
ExtensionIterator | extensionEnd () |
App::Extension * | getExtension (Base::Type, bool derived=true, bool no_except=false) const |
App::Extension * | getExtension (const std::string &name) const |
template<typename ExtensionT > | |
ExtensionT * | getExtensionByType (bool no_except=false, bool derived=true) const |
std::vector< Extension * > | getExtensionsDerivedFrom (Base::Type type) const |
template<typename ExtensionT > | |
std::vector< ExtensionT * > | getExtensionsDerivedFromType () const |
bool | hasExtension (Base::Type, bool derived=true) const |
bool | hasExtension (const std::string &name) const |
bool | hasExtensions () const |
void | registerExtension (Base::Type extension, App::Extension *ext) |
virtual | ~ExtensionContainer () |
virtual Property * | getPropertyByName (const char *name) const override |
find a property by its name More... | |
virtual const char * | getPropertyName (const Property *prop) const override |
get the name of a property More... | |
virtual void | getPropertyMap (std::map< std::string, Property * > &Map) const override |
get all properties of the class (including properties of the parent) More... | |
virtual void | getPropertyList (std::vector< Property * > &List) const override |
get all properties of the class (including properties of the parent) More... | |
virtual short | getPropertyType (const Property *prop) const override |
get the Type of a Property More... | |
virtual short | getPropertyType (const char *name) const override |
get the Type of a named Property More... | |
virtual const char * | getPropertyGroup (const Property *prop) const override |
get the Group of a Property More... | |
virtual const char * | getPropertyGroup (const char *name) const override |
get the Group of a named Property More... | |
virtual const char * | getPropertyDocumentation (const Property *prop) const override |
get the Group of a Property More... | |
virtual const char * | getPropertyDocumentation (const char *name) const override |
get the Group of a named Property More... | |
virtual void | Restore (Base::XMLReader &reader) override |
This method is used to restore properties from an XML document. More... | |
void | saveExtensions (Base::Writer &writer) const |
void | restoreExtensions (Base::XMLReader &reader) |
Public Member Functions inherited from App::PropertyContainer | |
virtual App::Property * | addDynamicProperty (const char *type, const char *name=nullptr, const char *group=nullptr, const char *doc=nullptr, short attr=0, bool ro=false, bool hidden=false) |
bool | changeDynamicProperty (const Property *prop, const char *group, const char *doc) |
virtual void | editProperty (const char *) |
virtual App::Property * | getDynamicPropertyByName (const char *name) const |
DynamicProperty::PropData | getDynamicPropertyData (const Property *prop) const |
virtual std::vector< std::string > | getDynamicPropertyNames () const |
virtual std::string | getFullName () const |
virtual unsigned int | getMemSize (void) const |
This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB? More... | |
virtual Property * | getPropertyByName (const char *name) const |
find a property by its name More... | |
virtual const char * | getPropertyDocumentation (const char *name) const |
get the Group of a named Property More... | |
virtual const char * | getPropertyDocumentation (const Property *prop) const |
get the Group of a Property More... | |
virtual const char * | getPropertyGroup (const char *name) const |
get the Group of a named Property More... | |
virtual const char * | getPropertyGroup (const Property *prop) const |
get the Group of a Property More... | |
virtual void | getPropertyList (std::vector< Property * > &List) const |
get all properties of the class (including properties of the parent) More... | |
virtual void | getPropertyMap (std::map< std::string, Property * > &Map) const |
get all properties of the class (including properties of the parent) More... | |
virtual const char * | getPropertyName (const Property *prop) const |
get the name of a property More... | |
virtual void | getPropertyNamedList (std::vector< std::pair< const char *, Property * > > &List) const |
get all properties with their names, may contain duplicates and aliases More... | |
const char * | getPropertyPrefix () const |
virtual short | getPropertyType (const char *name) const |
get the Type of a named Property More... | |
virtual short | getPropertyType (const Property *prop) const |
get the Type of a Property More... | |
bool | isHidden (const char *name) const |
check if the named property is hidden More... | |
bool | isHidden (const Property *prop) const |
check if the property is hidden More... | |
bool | isReadOnly (const char *name) const |
check if the named property is read-only More... | |
bool | isReadOnly (const Property *prop) const |
check if the property is read-only More... | |
virtual void | onPropertyStatusChanged (const Property &prop, unsigned long oldStatus) |
PropertyContainer () | |
A constructor. More... | |
virtual bool | removeDynamicProperty (const char *name) |
virtual void | Restore (Base::XMLReader &reader) |
This method is used to restore properties from an XML document. More... | |
virtual void | Save (Base::Writer &writer) const |
This method is used to save properties to an XML document. More... | |
void | setPropertyPrefix (const char *prefix) |
void | setPropertyStatus (unsigned char bit, bool value) |
set the Status bit of all properties at once More... | |
virtual | ~PropertyContainer () |
A destructor. More... | |
Public Member Functions inherited from Base::Persistence | |
void | dumpToStream (std::ostream &stream, int compression) |
virtual unsigned int | getMemSize () const =0 |
This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB? More... | |
virtual Base::Type | getTypeId (void) const |
virtual void | Restore (XMLReader &)=0 |
This method is used to restore properties from an XML document. More... | |
virtual void | RestoreDocFile (Reader &) |
This method is used to restore large amounts of data from a file In this method you simply stream in your SaveDocFile() saved data. More... | |
void | restoreFromStream (std::istream &stream) |
virtual void | Save (Writer &) const =0 |
This method is used to save properties to an XML document. More... | |
virtual void | SaveDocFile (Writer &) const |
This method is used to save large amounts of data to a binary file. More... | |
Public Member Functions inherited from Base::BaseClass | |
BaseClass () | |
Construction. More... | |
BaseClass (const BaseClass &)=default | |
virtual PyObject * | getPyObject () |
This method returns the Python wrapper for a C++ object. More... | |
virtual Type | getTypeId () const |
bool | isDerivedFrom (const Type type) const |
BaseClass & | operator= (const BaseClass &)=default |
virtual void | setPyObject (PyObject *) |
virtual | ~BaseClass () |
Destruction. More... | |
Public Member Functions inherited from App::OriginGroupExtension | |
virtual std::vector< DocumentObject * > | addObjects (std::vector< DocumentObject * > obj) override |
virtual bool | extensionGetSubObject (DocumentObject *&ret, const char *subname, PyObject **pyObj, Base::Matrix4D *mat, bool transform, int depth) const override |
Get the sub object by name. More... | |
virtual short | extensionMustExecute () override |
Returns true on changing OriginFeature set. More... | |
virtual void | extensionOnChanged (const Property *p) override |
App::Origin * | getOrigin () const |
Returns the origin link or throws an exception. More... | |
virtual const char * | getViewProviderName () const |
returns the type name of the ViewProvider More... | |
virtual bool | hasObject (const DocumentObject *obj, bool recursive=false) const override |
Checks whether the object obj is part of this group. More... | |
OriginGroupExtension () | |
void | relinkToOrigin (App::DocumentObject *obj) |
virtual | ~OriginGroupExtension () |
Public Member Functions inherited from App::GeoFeatureGroupExtension | |
virtual std::vector< DocumentObject * > | addObjects (std::vector< DocumentObject * > obj) override |
virtual bool | extensionGetSubObject (DocumentObject *&ret, const char *subname, PyObject **pyObj, Base::Matrix4D *mat, bool transform, int depth) const override |
Get the sub object by name. More... | |
virtual bool | extensionGetSubObjects (std::vector< std::string > &ret, int reason) const override |
Get name references of all sub objects. More... | |
virtual void | extensionOnChanged (const Property *p) override |
GeoFeatureGroupExtension (void) | |
Constructor. More... | |
Base::Placement | globalGroupPlacement () |
Calculates the global placement of this group. More... | |
virtual void | initExtension (ExtensionContainer *obj) override |
PropertyPlacement & | placement () |
virtual std::vector< DocumentObject * > | removeObjects (std::vector< DocumentObject * > obj) override |
Removes objects from this group. More... | |
virtual void | transformPlacement (const Base::Placement &transform) |
transformPlacement applies transform to placement of this shape. More... | |
virtual | ~GeoFeatureGroupExtension () |
Public Member Functions inherited from App::GroupExtension | |
GroupExtension (void) | |
Constructor. More... | |
virtual | ~GroupExtension () |
virtual DocumentObject * | addObject (const char *sType, const char *pObjectName) |
Adds an object of sType with pObjectName to the document this group belongs to and append it to this group as well. More... | |
virtual std::vector< DocumentObject * > | addObject (DocumentObject *obj) |
virtual std::vector< DocumentObject * > | setObjects (std::vector< DocumentObject * > obj) |
virtual bool | allowObject (DocumentObject *) |
virtual std::vector< DocumentObject * > | removeObject (DocumentObject *obj) |
Removes an object from this group. More... | |
virtual void | removeObjectsFromDocument () |
Removes all children objects from this group and the document. More... | |
DocumentObject * | getObject (const char *Name) const |
Returns the object of this group with Name. More... | |
bool | isChildOf (const GroupExtension *group, bool recursive=true) const |
Checks whether this group object is a child (or sub-child if enabled) of the given group object. More... | |
const std::vector< DocumentObject * > & | getObjects () const |
Returns a list of all objects this group does have. More... | |
std::vector< DocumentObject * > | getObjectsOfType (const Base::Type &typeId) const |
Returns a list of all objects of typeId this group does have. More... | |
int | countObjectsOfType (const Base::Type &typeId) const |
Returns the number of objects of typeId this group does have. More... | |
virtual PyObject * | getExtensionPyObject (void) override |
std::vector< DocumentObject * > | getAllChildren () const |
void | getAllChildren (std::vector< DocumentObject * > &, std::set< DocumentObject * > &) const |
Public Member Functions inherited from App::DocumentObjectExtension | |
DocumentObjectExtension () | |
virtual App::DocumentObjectExecReturn * | extensionExecute () |
virtual bool | extensionGetLinkedObject (DocumentObject *&ret, bool recursive, Base::Matrix4D *mat, bool transform, int depth) const |
Get the linked object. More... | |
virtual bool | extensionGetSubObject (DocumentObject *&ret, const char *subname, PyObject **pyObj, Base::Matrix4D *mat, bool transform, int depth) const |
Get the sub object by name. More... | |
virtual bool | extensionGetSubObjects (std::vector< std::string > &ret, int reason) const |
Get name references of all sub objects. More... | |
virtual bool | extensionHasChildElement () const |
virtual int | extensionIsElementVisible (const char *) |
virtual short | extensionMustExecute () |
virtual int | extensionSetElementVisible (const char *, bool) |
App::DocumentObject * | getExtendedObject () |
const App::DocumentObject * | getExtendedObject () const |
virtual PyObject * | getExtensionPyObject () override |
virtual const char * | getViewProviderExtensionName () const |
returns the type name of the ViewProviderExtension which is automatically attached to the viewprovider object when it is initiated More... | |
virtual void | onExtendedDocumentRestored () |
get called after a document has been fully restored More... | |
virtual void | onExtendedSettingDocument () |
get called after setting the document More... | |
virtual void | onExtendedSetupObject () |
get called after a brand new object was created More... | |
virtual void | onExtendedUnsetupObject () |
get called when object is going to be removed from the document More... | |
virtual | ~DocumentObjectExtension () |
Public Member Functions inherited from App::Extension | |
Extension () | |
App::ExtensionContainer * | getExtendedContainer () |
const App::ExtensionContainer * | getExtendedContainer () const |
virtual PyObject * | getExtensionPyObject () |
virtual void | initExtension (App::ExtensionContainer *obj) |
bool | isPythonExtension () |
std::string | name () const |
virtual | ~Extension () |
virtual Property * | extensionGetPropertyByName (const char *name) const |
find a property by its name More... | |
virtual const char * | extensionGetPropertyName (const Property *prop) const |
get the name of a property More... | |
virtual void | extensionGetPropertyMap (std::map< std::string, Property * > &Map) const |
get all properties of the class (including properties of the parent) More... | |
virtual void | extensionGetPropertyList (std::vector< Property * > &List) const |
get all properties of the class (including properties of the parent) More... | |
virtual short | extensionGetPropertyType (const Property *prop) const |
get the Type of a Property More... | |
virtual short | extensionGetPropertyType (const char *name) const |
get the Type of a named Property More... | |
virtual const char * | extensionGetPropertyGroup (const Property *prop) const |
get the Group of a Property More... | |
virtual const char * | extensionGetPropertyGroup (const char *name) const |
get the Group of a named Property More... | |
virtual const char * | extensionGetPropertyDocumentation (const Property *prop) const |
get the Group of a Property More... | |
virtual const char * | extensionGetPropertyDocumentation (const char *name) const |
get the Group of a named Property More... | |
virtual void | extensionSave (Base::Writer &) const |
virtual void | extensionRestore (Base::XMLReader &) |
bool | extensionIsDerivedFrom (const Base::Type type) const |
Static Public Member Functions | |
static BodyBase * | findBodyOf (const App::DocumentObject *f) |
Return the body which this feature belongs too, or NULL. More... | |
Static Public Member Functions inherited from Part::Feature | |
static TopoDS_Shape | getShape (const App::DocumentObject *obj, const char *subname=nullptr, bool needSubElement=false, Base::Matrix4D *pmat=nullptr, App::DocumentObject **owner=nullptr, bool resolveLink=true, bool transform=true) |
Convenience function to extract shape from fully qualified subname. More... | |
static TopoShape | getTopoShape (const App::DocumentObject *obj, const char *subname=nullptr, bool needSubElement=false, Base::Matrix4D *pmat=nullptr, App::DocumentObject **owner=nullptr, bool resolveLink=true, bool transform=true, bool noElementMap=false) |
static void | clearShapeCache () |
static App::DocumentObject * | getShapeOwner (const App::DocumentObject *obj, const char *subname=nullptr) |
static bool | hasShapeOwner (const App::DocumentObject *obj, const char *subname=nullptr) |
Static Public Member Functions inherited from App::GeoFeature | |
static DocumentObject * | resolveElement (App::DocumentObject *obj, const char *subname, std::pair< std::string, std::string > &elementName, bool append=false, ElementNameType type=Normal, const DocumentObject *filter=nullptr, const char **element=nullptr, GeoFeature **geo=nullptr) |
Resolve both the new and old style element name. More... | |
Static Public Member Functions inherited from App::DocumentObject | |
static const char * | hasHiddenMarker (const char *subname) |
Check if the subname reference ends with hidden marker. More... | |
static const std::string & | hiddenMarker () |
Special marker to mark the object as hidden. More... | |
Static Public Member Functions inherited from Base::Persistence | |
static void * | create (void) |
static std::string | encodeAttribute (const std::string &) |
Encodes an attribute upon saving. More... | |
static Base::Type | getClassTypeId (void) |
static void | init (void) |
Static Public Member Functions inherited from Base::BaseClass | |
static void * | create () |
static Type | getClassTypeId () |
static void | init () |
Static Public Member Functions inherited from App::OriginGroupExtension | |
static DocumentObject * | getGroupOfObject (const DocumentObject *obj) |
Returns the origin group which contains this object. More... | |
Static Public Member Functions inherited from App::GeoFeatureGroupExtension | |
static bool | areLinksValid (const App::DocumentObject *obj) |
Checks if the links of the given object comply with all GeoFeatureGroup requirements, that means if normal links are only within the parent GeoFeatureGroup. More... | |
static std::vector< App::DocumentObject * > | getCSRelevantLinks (const App::DocumentObject *obj) |
Collects all links that are relevant for the coordinate system, meaning all recursive links to obj and from obj excluding expressions and stopping the recursion at other geofeaturegroups. More... | |
static DocumentObject * | getGroupOfObject (const DocumentObject *obj) |
Returns the geo feature group which contains this object. More... | |
static void | getInvalidLinkObjects (const App::DocumentObject *obj, std::vector< App::DocumentObject * > &vec) |
static bool | isLinkValid (App::Property *link) |
Checks if the given link complies with all GeoFeatureGroup requirements, that means if normal links are only within the parent GeoFeatureGroup. More... | |
static bool | isNonGeoGroup (const DocumentObject *obj) |
Returns true if the given DocumentObject is DocumentObjectGroup but not GeoFeatureGroup. More... | |
Static Public Member Functions inherited from App::GroupExtension | |
static DocumentObject * | getGroupOfObject (const DocumentObject *obj) |
Returns the object group of the document which the given object obj is part of. More... | |
Public Attributes | |
App::PropertyLink | BaseFeature |
A base object of the body, serves as a base object for the first feature of the body. More... | |
App::PropertyLink | Tip |
The final feature of the body it is associated with. More... | |
Public Attributes inherited from Part::Feature | |
PropertyPartShape | Shape |
Public Attributes inherited from App::GeoFeature | |
PropertyPlacement | Placement |
Public Attributes inherited from App::DocumentObject | |
PropertyExpressionEngine | ExpressionEngine |
PropertyString | Label |
PropertyString | Label2 |
boost::signals2::signal< void(const App::DocumentObject &, const App::Property &)> | signalBeforeChange |
signal before changing a property of this object More... | |
boost::signals2::signal< void(const App::DocumentObject &, const App::Property &)> | signalChanged |
signal on changed property of this object More... | |
PropertyBool | Visibility |
Allow control visibility status in App name space. More... | |
Public Attributes inherited from App::OriginGroupExtension | |
PropertyLink | Origin |
Origin linked to the group. More... | |
Public Attributes inherited from App::GroupExtension | |
PropertyLinkList | Group |
Properties. More... | |
Protected Member Functions | |
virtual void | handleChangedPropertyName (Base::XMLReader &reader, const char *TypeName, const char *PropName) override |
PropertyContainer::handleChangedPropertyName is called during restore to possibly fix reading of older versions of this property container. More... | |
virtual void | onBeforeChange (const App::Property *prop) override |
If BaseFeature is getting changed and Tip points to it reset the Tip. More... | |
virtual void | onChanged (const App::Property *prop) override |
If BaseFeature is set and Tip is null set the Tip to it. More... | |
Protected Member Functions inherited from Part::Feature | |
virtual App::DocumentObjectExecReturn * | recompute () override |
recompute only this object More... | |
virtual App::DocumentObjectExecReturn * | execute () override |
recalculate the feature More... | |
ShapeHistory | buildHistory (BRepBuilderAPI_MakeShape &, TopAbs_ShapeEnum type, const TopoDS_Shape &newS, const TopoDS_Shape &oldS) |
Build a history of changes MakeShape: The operation that created the changes, e.g. More... | |
ShapeHistory | joinHistory (const ShapeHistory &, const ShapeHistory &) |
Protected Member Functions inherited from App::DocumentObject | |
virtual App::DocumentObjectExecReturn * | execute (void) |
get called by the document to recompute this feature Normally this method get called in the processing of Document::recompute(). More... | |
App::DocumentObjectExecReturn * | executeExtensions () |
Executes the extensions of a document object. More... | |
virtual void | onBeforeChange (const Property *prop) override |
get called before the value is changed More... | |
virtual void | onChanged (const Property *prop) override |
get called by the container when a property was changed More... | |
virtual void | onDocumentRestored () |
get called after a document has been fully restored More... | |
virtual void | onPropertyStatusChanged (const Property &prop, unsigned long oldStatus) override |
get called when a property status has changed More... | |
virtual void | onSettingDocument () |
get called after setting the document More... | |
virtual void | onUndoRedoFinished () |
get called after an undo/redo transaction is finished More... | |
virtual App::DocumentObjectExecReturn * | recompute (void) |
recompute only this object More... | |
void | resetError (void) |
void | setDocument (App::Document *doc) |
void | setError (void) |
virtual void | setupObject () |
get called after a brand new object was created More... | |
virtual void | unsetupObject () |
get called when object is going to be removed from the document More... | |
Protected Member Functions inherited from App::TransactionalObject | |
void | onBeforeChangeProperty (Document *doc, const Property *prop) |
Protected Member Functions inherited from App::PropertyContainer | |
virtual const PropertyData & | getPropertyData (void) const |
virtual void | handleChangedPropertyName (Base::XMLReader &reader, const char *TypeName, const char *PropName) |
PropertyContainer::handleChangedPropertyName is called during restore to possibly fix reading of older versions of this property container. More... | |
virtual void | handleChangedPropertyType (Base::XMLReader &reader, const char *TypeName, Property *prop) |
PropertyContainer::handleChangedPropertyType is called during restore to possibly fix reading of older versions of the property container. More... | |
virtual void | onBeforeChange (const Property *) |
get called before the value is changed More... | |
virtual void | onChanged (const Property *) |
get called by the container when a property has changed More... | |
Protected Member Functions inherited from App::OriginGroupExtension | |
virtual App::DocumentObjectExecReturn * | extensionExecute () override |
Checks integrity of the Origin. More... | |
virtual void | onExtendedSetupObject () override |
Creates the corresponding Origin object. More... | |
virtual void | onExtendedUnsetupObject () override |
Removes all planes and axis if they are still linked to the document. More... | |
Protected Member Functions inherited from App::Extension | |
void | initExtensionType (Base::Type type) |
Additional Inherited Members | |
Public Types inherited from App::GeoFeature | |
enum | ElementNameType { Normal =0 , Import =1 , Export =2 } |
Specify the type of element name to return when calling getElementName() More... | |
Public Types inherited from App::DocumentObject | |
enum | GSReason { GS_DEFAULT , GS_SELECT } |
reason of calling getSubObjects() More... | |
enum | OutListOption { OutListNoExpression = 1 , OutListNoHidden = 2 , OutListNoXLinked = 4 } |
DAG handling This part of the interface deals with viewing the document as a DAG (directed acyclic graph). More... | |
Public Types inherited from App::ExtensionContainer | |
typedef std::map< Base::Type, App::Extension * >::iterator | ExtensionIterator |
Static Public Attributes inherited from App::DocumentObject | |
static DocumentObjectExecReturn * | StdReturn |
Static Protected Member Functions inherited from App::PropertyContainer | |
static const PropertyData * | getPropertyDataPtr (void) |
Static Protected Member Functions inherited from Base::BaseClass | |
static void | initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr) |
Static Protected Member Functions inherited from App::Extension | |
static void | initExtensionSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Base::Type::instantiationMethod method=nullptr) |
Protected Attributes inherited from App::DocumentObject | |
std::string | oldLabel |
Old label; used for renaming expressions. More... | |
const std::string * | pcNameInDocument |
Py::SmartPtr | PythonObject |
python object of this class and all descendent More... | |
std::bitset< 32 > | StatusBits |
Status bits of the document object The first 8 bits are used for the base system the rest can be used in descendent classes to mark special statuses on the objects. More... | |
Protected Attributes inherited from App::PropertyContainer | |
DynamicProperty | dynamicProps |
Protected Attributes inherited from App::Extension | |
bool | m_isPythonExtension = false |
Py::SmartPtr | ExtensionPythonObject |
Base class of all body objects in FreeCAD A body is used, e.g.
in PartDesign, to aggregate some modeling features to one shape. As long as not in edit or active on a workbench, the body shows only the resulting shape to the outside (Tip link).
Part::BodyBase::BodyBase | ( | ) |
References App::Child, and App::GeoFeatureGroupExtension::initExtension().
|
static |
Return the body which this feature belongs too, or NULL.
Note: Normally each PartDesign feature belongs to a single body, But if a body is based on the feature it also will be return... But there are could be more features based on the same body. TODO introduce a findBodiesOf() if needed (2015-08-04, Fat-Zer)
References Base::Persistence::getClassTypeId(), and App::OriginGroupExtension::hasObject().
Referenced by PartDesign::Boolean::execute(), Sketcher::SketchObject::isCarbonCopyAllowed(), Sketcher::SketchObject::isExternalAllowed(), and PartDesignGui::ViewProvider::onChanged().
std::vector< App::DocumentObject * > Part::BodyBase::getFullModel | ( | ) |
Returns all Group objects prepanded by BaseFeature (if any)
References App::PropertyLink::getValue().
Referenced by PartDesignGui::ViewProviderDatum::getRelevantBoundBox(), PartDesign::Body::isSolid(), and PartDesignGui::ViewProviderBody::updateOriginDatumSize().
|
overridevirtual |
getPyObject returns the Python binding object
Reimplemented from Part::Feature.
Reimplemented in PartDesign::Body.
References App::DocumentObject::PythonObject.
|
overrideprotectedvirtual |
PropertyContainer::handleChangedPropertyName is called during restore to possibly fix reading of older versions of this property container.
This method is typically called if the property on file has changed its name in more recent versions.
The default implementation does nothing.
reader | The XML stream to read from. |
TypeName | Name of property type on file. |
PropName | Name of property on file that does not exist in the container anymore. |
Reimplemented from App::PropertyContainer.
References Base::Type::fromName(), Base::Persistence::getClassTypeId(), App::GroupExtension::Group, App::PropertyContainer::handleChangedPropertyName(), and App::PropertyLinkList::Restore().
bool Part::BodyBase::isAfter | ( | const App::DocumentObject * | feature, |
const App::DocumentObject * | target | ||
) | const |
Return true if the feature belongs to the body and is located after the target.
References BaseFeature, DraftVecUtils::find(), App::PropertyLink::getValue(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, and App::OriginGroupExtension::hasObject().
Referenced by PartDesign::Body::isAfterInsertPoint().
|
overrideprotectedvirtual |
If BaseFeature is getting changed and Tip points to it reset the Tip.
Reimplemented from App::DocumentObject.
References App::DocumentObject::onBeforeChange().
Referenced by PathScripts.PathGui.QuantitySpinBox::updateProperty().
|
overrideprotectedvirtual |
If BaseFeature is set and Tip is null set the Tip to it.
Reimplemented from Part::Feature.
Reimplemented in PartDesign::Body.
References Part::Feature::onChanged().
Referenced by ArchStructure.CommandStructuralSystem::Activated(), draftviewproviders.view_base.ViewProviderDraft::attach(), ArchSite.Compass::buildCoordinates(), draftobjects.wire.Wire::execute(), PartDesign::Body::onChanged(), ArchBuildingPart.ViewProviderBuildingPart::updateData(), ArchPanel.ViewProviderPanelCut::updateData(), ArchPanel.ViewProviderPanelSheet::updateData(), draftviewproviders.view_label.ViewProviderLabel::updateData(), draftviewproviders.view_layer.ViewProviderLayer::updateData(), and draftviewproviders.view_wpproxy.ViewProviderWorkingPlaneProxy::updateData().
App::PropertyLink Part::BodyBase::BaseFeature |
A base object of the body, serves as a base object for the first feature of the body.
A Part::Feature link to make bodies be able based upon non-PartDesign Features.
Referenced by PartDesignGui::ViewProviderBody::canDropObjects(), PartDesignGui::ViewProviderBody::dropObject(), isAfter(), PartDesign::Body::onChanged(), PartDesign::Body::removeObject(), PartDesign::Body::setBaseProperty(), PartDesignGui::Workbench::setupContextMenu(), and PartDesignGui::ViewProviderBody::updateData().
App::PropertyLink Part::BodyBase::Tip |
The final feature of the body it is associated with.
Note: tip may either point to the BaseFeature or to some feature inside the Group list. in case it points to the model the PartDesign::Body guaranties that it is a solid.
Referenced by MeshPartGui::Tessellation::accept(), PartDesign::Body::addObject(), PartDesign::Body::execute(), PartDesign::Body::getNextSolidFeature(), PartDesign::Body::getPrevSolidFeature(), PartDesign::Body::mustExecute(), PartDesign::Body::onChanged(), PartDesign::Body::onDocumentRestored(), PartDesignGui::TaskDlgFeatureParameters::reject(), PartDesign::Body::removeObject(), and PartDesignGui::ViewProviderBody::updateData().