#include <Body.h>
Public Member Functions | |
Body () | |
True if this body feature is active or was active when the document was last closed. More... | |
![]() | |
BodyBase () | |
std::vector< App::DocumentObject * > getFullModel () | |
Returns all Group objects prepanded by BaseFeature (if any) 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... | |
![]() | |
Feature (void) | |
Constructor. More... | |
virtual ~Feature () | |
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 | |
![]() | |
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... | |
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 () | |
![]() | |
virtual App::Property * addDynamicProperty (const char *type, const char *name=0, const char *group=0, const char *doc=0, short attr=0, bool ro=false, bool hidden=false) override | |
virtual bool adjustRelativeLinks (const std::set< App::DocumentObject * > &inList, std::set< App::DocumentObject * > *visited=0) | |
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 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=0) 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=0, 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... | |
unsigned long getStatus () const | |
return the status bits More... | |
const char * getStatusString (void) const | |
get the status Message More... | |
std::vector< DocumentObject * > getSubObjectList (const char *subname) const | |
Return a list of objects referenced by a given subname including this object. 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 | |
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=0, std::string *childName=0, const char **subElement=0, PyObject **pyObj=0, Base::Matrix4D *mat=0, 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, boost::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 () | |
![]() | |
TransactionalObject (void) | |
Constructor. More... | |
virtual ~TransactionalObject () | |
![]() | |
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) | |
![]() | |
virtual App::Property * getDynamicPropertyByName (const char *name) const | |
DynamicProperty::PropData getDynamicPropertyData (const Property *prop) const | |
virtual std::vector< std::string > getDynamicPropertyNames () 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... | |
const char * getPropertyPrefix () const | |
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... | |
PropertyContainer () | |
A constructor. 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... | |
![]() | |
void dumpToStream (std::ostream &stream, int compression) | |
virtual Base::Type getTypeId (void) const | |
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 SaveDocFile (Writer &) const | |
This method is used to save large amounts of data to a binary file. More... | |
![]() | |
BaseClass () | |
Construction. More... | |
bool isDerivedFrom (const Type type) const | |
virtual void setPyObject (PyObject *) | |
virtual ~BaseClass () | |
Destruction. More... | |
![]() | |
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... | |
App::Origin * getOrigin () const | |
Returns the origin link or throws an exception. 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 () | |
![]() | |
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 () | |
![]() | |
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 * > 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 | |
![]() | |
DocumentObjectExtension () | |
virtual bool extensionGetLinkedObject (DocumentObject *&ret, bool recursive, Base::Matrix4D *mat, bool transform, int depth) const | |
Get the linked object. More... | |
virtual bool extensionHasChildElement () const | |
virtual int extensionIsElementVisible (const char *) | |
virtual int extensionSetElementVisible (const char *, bool) | |
App::DocumentObject * getExtendedObject () | |
const App::DocumentObject * getExtendedObject () const | |
virtual const char * getViewProviderExtensionName (void) 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 ~DocumentObjectExtension () | |
![]() | |
Extension () | |
App::ExtensionContainer * getExtendedContainer () | |
const App::ExtensionContainer * getExtendedContainer () const | |
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 | |
methods override feature | |
App::DocumentObjectExecReturn * execute (void) override | |
recalculate the feature More... | |
short mustExecute () const override | |
mustExecute We call this method to check if the object was modified to be invoked. More... | |
const char * getViewProviderName (void) const override | |
returns the type name of the view provider More... | |
virtual std::vector< App::DocumentObject * > addObject (App::DocumentObject *) override | |
Add the feature into the body at the current insert point. More... | |
virtual std::vector< DocumentObject * > addObjects (std::vector< DocumentObject * > obj) override | |
void insertObject (App::DocumentObject *feature, App::DocumentObject *target, bool after=false) | |
Insert the feature into the body after the given feature. More... | |
void setBaseProperty (App::DocumentObject *feature) | |
virtual std::vector< DocumentObject * > removeObject (DocumentObject *obj) override | |
Remove the feature from the body. More... | |
bool isAfterInsertPoint (App::DocumentObject *feature) | |
Checks if the given document object lays after the current insert point (place before next solid after the Tip) More... | |
virtual bool allowObject (DocumentObject *f) override | |
PyObject * getPyObject (void) override | |
getPyObject returns the Python binding object More... | |
virtual std::vector< std::string > getSubObjects (int reason=0) const override | |
Return name reference of all sub-objects. More... | |
virtual App::DocumentObject * getSubObject (const char *subname, PyObject **pyObj, Base::Matrix4D *pmat, bool transform, int depth) const override | |
Get the sub element/object by name. More... | |
void setShowTip (bool enable) | |
App::DocumentObject * getPrevSolidFeature (App::DocumentObject *start=NULL) | |
Return the solid feature before the given feature, or before the Tip feature That is, sketches and datum features are skipped. More... | |
App::DocumentObject * getNextSolidFeature (App::DocumentObject *start=NULL) | |
Return the next solid feature after the given feature, or after the Tip feature That is, sketches and datum features are skipped. More... | |
static bool isMemberOfMultiTransform (const App::DocumentObject *f) | |
Return true if the given feature is member of a MultiTransform feature. More... | |
static bool isSolidFeature (const App::DocumentObject *f) | |
Return true if the given feature is a solid feature allowed in a Body. More... | |
static bool isAllowed (const App::DocumentObject *f) | |
Return true if the given feature is allowed in a Body. More... | |
static Body * findBodyOf (const App::DocumentObject *feature) | |
Return the body which this feature belongs too, or NULL The only difference to BodyBase::findBodyOf() is that this one casts value to Body*. More... | |
virtual void onSettingDocument () override | |
get called after setting the document More... | |
virtual void onChanged (const App::Property *prop) override | |
Adjusts the first solid's feature's base on BaseFeature getting set. More... | |
virtual void setupObject () override | |
Creates the corresponding Origin object. More... | |
virtual void unsetupObject () override | |
Removes all planes and axis if they are still linked to the document. More... | |
virtual void onDocumentRestored () override | |
get called after a document has been fully restored More... | |
Additional Inherited Members | |
![]() | |
enum ElementNameType { Normal =0, Import =1, Export =2 } | |
Specify the type of element name to return when calling getElementName() More... | |
![]() | |
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... | |
![]() | |
typedef std::map< Base::Type, App::Extension * >::iterator ExtensionIterator | |
![]() | |
static BodyBase * findBodyOf (const App::DocumentObject *f) | |
Return the body which this feature belongs too, or NULL. More... | |
![]() | |
static TopoDS_Shape getShape (const App::DocumentObject *obj, const char *subname=0, bool needSubElement=false, Base::Matrix4D *pmat=0, App::DocumentObject **owner=0, 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=0, bool needSubElement=false, Base::Matrix4D *pmat=0, App::DocumentObject **owner=0, bool resolveLink=true, bool transform=true, bool noElementMap=false) | |
static void clearShapeCache () | |
static App::DocumentObject * getShapeOwner (const App::DocumentObject *obj, const char *subname=0) | |
static bool hasShapeOwner (const App::DocumentObject *obj, const char *subname=0) | |
![]() | |
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=0, const char **element=0, GeoFeature **geo=0) | |
Resolve both the new and old style element name. More... | |
![]() | |
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 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 void * create (void) | |
static Type getClassTypeId (void) | |
static void init (void) | |
![]() | |
static DocumentObject * getGroupOfObject (const DocumentObject *obj) | |
Returns the origin group which contains this object. More... | |
![]() | |
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 DocumentObject * getGroupOfObject (const DocumentObject *obj) | |
Returns the object group of the document which the given object obj is part of. More... | |
![]() | |
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... | |
![]() | |
PropertyPartShape Shape | |
![]() | |
PropertyPlacement Placement | |
![]() | |
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... | |
![]() | |
PropertyLink Origin | |
Origin linked to the group. More... | |
![]() | |
PropertyLinkList Group | |
Properties. More... | |
![]() | |
static DocumentObjectExecReturn * StdReturn | |
![]() | |
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 App::DocumentObjectExecReturn * recompute () override | |
recompute only this object 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 &) | |
![]() | |
virtual void onPropertyStatusChanged (const Property &prop, unsigned long oldStatus) override | |
get called when a property status has changed More... | |
void resetError (void) | |
void setDocument (App::Document *doc) | |
void setError (void) | |
![]() | |
void onBeforeChangeProperty (Document *doc, const Property *prop) | |
![]() | |
virtual const PropertyData & getPropertyData (void) const | |
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 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... | |
![]() | |
void initExtensionType (Base::Type type) | |
![]() | |
static const PropertyData * getPropertyDataPtr (void) | |
![]() | |
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr) | |
![]() | |
static void initExtensionSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Base::Type::instantiationMethod method=0) | |
![]() | |
std::string oldLabel | |
Old label; used for renaming expressions. More... | |
const std::string * pcNameInDocument | |
Py::Object 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... | |
![]() | |
DynamicProperty dynamicProps | |
![]() | |
bool m_isPythonExtension = false | |
Py::Object ExtensionPythonObject | |
Constructor & Destructor Documentation
◆ Body()
Body::Body | ( | ) |
True if this body feature is active or was active when the document was last closed.
References App::Property::Output, and App::DocumentObject::setStatus().
Member Function Documentation
◆ addObject()
|
overridevirtual |
Add the feature into the body at the current insert point.
The insertion poin is the before next solid after the Tip feature
Reimplemented from App::GroupExtension.
References Base::Persistence::getClassTypeId(), App::DocumentObjectExtension::getExtendedObject(), App::GroupExtension::getGroupOfObject(), getNextSolidFeature(), App::PropertyBool::getValue(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, App::GroupExtension::GroupExtension(), insertObject(), isAllowed(), Base::BaseClass::isDerivedFrom(), isSolidFeature(), removeObject(), App::PropertyLink::setValue(), Part::BodyBase::Tip, and App::DocumentObject::Visibility.
Referenced by addObjects(), PartDesignGui::ViewProviderBody::dropObject(), and PartDesignGui::getReferencedSelection().
◆ addObjects()
|
overridevirtual |
References addObject().
Referenced by PartDesignGui::ViewProviderBody::dropObject().
◆ allowObject()
|
overridevirtual |
◆ execute()
|
overridevirtual |
recalculate the feature
Reimplemented from Part::Feature.
References Base::Persistence::getClassTypeId(), Part::PropertyPartShape::getShape(), Part::TopoShape::getShape(), Part::TopoShape::getTransform(), Base::Persistence::getTypeId(), App::PropertyLink::getValue(), Base::Type::isDerivedFrom(), Part::PropertyPartShape::setValue(), Part::Feature::Shape, App::DocumentObject::StdReturn, Part::BodyBase::Tip, and Part::TopoShape::transformShape().
Referenced by PathScripts.PathDressupDogbone.ObjectDressup::boneStateList(), ArchSite.Compass::buildCoordinates(), PathScripts.PathDressupHoldingTags.ObjectTagDressup::generateTags(), ArchSchedule.CommandArchSchedule::IsActive(), Mod.PartDesign.Scripts.Spring.MySpring::onChanged(), Mod.PartDesign.Scripts.Epitrochoid.Epitrochoid::onChanged(), Mod.PartDesign.Scripts.Parallelepiped.Parallelepiped::onChanged(), Mod.PartDesign.Scripts.DistanceBolt.DistanceBolt::onChanged(), Mod.PartDesign.Scripts.Parallelepiped.BoxCylinder::onChanged(), PathScripts.PathStock.StockFromBase::onChanged(), PathScripts.PathStock.StockCreateBox::onChanged(), PathScripts.PathStock.StockCreateCylinder::onChanged(), and FeaturePython.DistanceBolt::onChanged().
◆ findBodyOf()
|
static |
Return the body which this feature belongs too, or NULL The only difference to BodyBase::findBodyOf() is that this one casts value to Body*.
Referenced by PartDesignGui::ReferenceSelection::allow(), PartDesignGui::ViewProviderBody::canDropObject(), PartDesignGui::ViewProvider::doubleClicked(), PartDesignGui::ViewProviderBody::dropObject(), PartDesignGui::TaskRevolutionParameters::fillAxisCombo(), PartDesignGui::TaskTransformedParameters::fillAxisCombo(), PartDesignGui::TaskTransformedParameters::fillPlanesCombo(), PartDesignGui::getBodyFor(), PartDesignGui::ViewProvider::getBodyViewProvider(), PartDesignGui::ViewProviderDatum::getRelevantBoundBox(), PartDesignGui::ViewProvider::onDelete(), PartDesignGui::TaskBooleanParameters::onSelectionChanged(), PartDesignGui::TaskDlgFeatureParameters::reject(), PartDesignGui::relinkToBody(), PartDesignGui::TaskDressUpParameters::setSelection(), PartDesignGui::TaskBoxPrimitives::TaskBoxPrimitives(), PartDesignGui::TaskRevolutionParameters::TaskRevolutionParameters(), PartDesignGui::TaskBoxPrimitives::~TaskBoxPrimitives(), PartDesignGui::TaskLinearPatternParameters::~TaskLinearPatternParameters(), PartDesignGui::TaskMirroredParameters::~TaskMirroredParameters(), PartDesignGui::TaskPolarPatternParameters::~TaskPolarPatternParameters(), and PartDesignGui::TaskRevolutionParameters::~TaskRevolutionParameters().
◆ getNextSolidFeature()
App::DocumentObject * Body::getNextSolidFeature | ( | App::DocumentObject * | start = NULL | ) |
Return the next solid feature after the given feature, or after the Tip feature That is, sketches and datum features are skipped.
References DraftVecUtils::find(), App::PropertyLink::getValue(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, App::OriginGroupExtension::hasObject(), isSolidFeature(), and Part::BodyBase::Tip.
Referenced by addObject(), isAfterInsertPoint(), removeObject(), and setBaseProperty().
◆ getPrevSolidFeature()
App::DocumentObject * Body::getPrevSolidFeature | ( | App::DocumentObject * | start = NULL | ) |
Return the solid feature before the given feature, or before the Tip feature That is, sketches and datum features are skipped.
References DraftVecUtils::find(), App::PropertyLink::getValue(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, App::OriginGroupExtension::hasObject(), isSolidFeature(), and Part::BodyBase::Tip.
Referenced by removeObject(), and setBaseProperty().
◆ getPyObject()
|
overridevirtual |
getPyObject returns the Python binding object
- Returns
- the Python binding object
Reimplemented from Part::BodyBase.
References App::DocumentObject::PythonObject.
◆ getSubObject()
|
overridevirtual |
Get the sub element/object by name.
- Parameters
-
subname a string which is dot separated name to refer to a sub element or object. An empty string can be used to refer to the object itself pyObj if non zero, returns the python object corresponding to this sub object. The actual type of this python object is implementation dependent. For example, The current implementation of Part::Feature will return the TopoShapePy, event if there is no sub-element reference, in which case it returns the whole shape. mat If non zero, it is used as the current transformation matrix on input. And output as the accumulated transformation up until and include the transformation applied by the final object reference in subname
. For Part::Feature, the transformation is applied to the TopoShape insidepyObj
before returning.transform if false, then it will not apply the object's own transformation to mat
, which lets you override the object's placement (and possibly scale).depth depth limitation as hint for cyclic link detection
- Returns
- The last document object referred in subname. If subname is empty, then it shall return itself. If subname is invalid, then it shall return zero.
Reimplemented from Part::Feature.
References Base::Persistence::getClassTypeId(), Part::Feature::getSubObject(), App::PropertyPlacement::getValue(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, Data::ComplexGeoData::isMappedElement(), App::GeoFeature::Placement, and Base::Placement::toMatrix().
◆ getSubObjects()
|
overridevirtual |
Return name reference of all sub-objects.
- Parameters
-
reason indicate reason of obtaining the sub objects
The default implementation returns all object references in PropertyLink, and PropertyLinkList, if any
- Returns
- Return a vector of subname references for all sub-objects. In most cases, the name returned will be the object name plus an ending '.', which can be passed directly to getSubObject() to retrieve the name. The reason to return the name reference instead of the sub object itself is because there may be no real sub object, or the sub object need special transformation. For example, sub objects of an array type of object.
Reimplemented from App::DocumentObject.
References App::DocumentObject::getSubObjects(), and App::DocumentObject::GS_SELECT.
◆ getViewProviderName()
|
overridevirtual |
returns the type name of the view provider
Reimplemented from App::OriginGroupExtension.
◆ insertObject()
void Body::insertObject | ( | App::DocumentObject * | feature, |
App::DocumentObject * | target, | ||
bool | after = false |
||
) |
Insert the feature into the body after the given feature.
- Parameters
-
feature The feature to insert into the body target The feature relative which one should be inserted the given. If target is NULL than insert into the end if where is InsertBefore and into the begin if where is InsertAfter. after if true insert the feature after the target. Default is false.
- Note
- the method doesn't modify the Tip unlike addObject()
References DraftVecUtils::find(), Base::Persistence::getClassTypeId(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, App::OriginGroupExtension::hasObject(), Base::BaseClass::isDerivedFrom(), App::OriginGroupExtension::relinkToOrigin(), setBaseProperty(), and App::PropertyLinkList::setValues().
Referenced by addObject(), PartDesign::BodyPy::insertObject(), and onChanged().
◆ isAfterInsertPoint()
bool Body::isAfterInsertPoint | ( | App::DocumentObject * | feature | ) |
Checks if the given document object lays after the current insert point (place before next solid after the Tip)
References getNextSolidFeature(), and Part::BodyBase::isAfter().
◆ isAllowed()
|
static |
Return true if the given feature is allowed in a Body.
Currently allowed are all features derived from PartDesign::Feature and Part::Datum and sketches
References Base::Persistence::getClassTypeId().
Referenced by addObject(), PartDesignGui::ViewProviderBody::dropObject(), PartDesign::BodyPy::insertObject(), PartDesignGui::isPartDesignAwareObjecta(), and PartDesignGui::Workbench::setupContextMenu().
◆ isMemberOfMultiTransform()
|
static |
Return true if the given feature is member of a MultiTransform feature.
References Base::Persistence::getClassTypeId(), App::PropertyListsT< T, ListT, ParentT >::getValues(), and PartDesign::Transformed::Originals.
Referenced by isSolidFeature().
◆ isSolidFeature()
|
static |
Return true if the given feature is a solid feature allowed in a Body.
Currently this is only valid for features derived from PartDesign::Feature Return false if the given feature is a Sketch or a Part::Datum feature
References Base::Persistence::getClassTypeId(), PartDesign::Feature::isDatum(), and isMemberOfMultiTransform().
Referenced by addObject(), getNextSolidFeature(), getPrevSolidFeature(), removeObject(), and setBaseProperty().
◆ mustExecute()
|
overridevirtual |
mustExecute We call this method to check if the object was modified to be invoked.
If the object label or an argument is modified. If we must recompute the object - to call the method execute(). 0: no recomputation is needed 1: recomputation needed
- Remarks
- If an object is marked as 'touched' then this does not necessarily mean that it will be recomputed. It only means that all objects that link it (i.e. its InList) will be recomputed.
Reimplemented from Part::Feature.
References App::Property::isTouched(), Part::Feature::mustExecute(), and Part::BodyBase::Tip.
◆ onChanged()
|
overrideprotectedvirtual |
Adjusts the first solid's feature's base on BaseFeature getting set.
Reimplemented from Part::BodyBase.
References App::Document::addObject(), PartDesign::Feature::BaseFeature, Part::BodyBase::BaseFeature, Base::Persistence::getClassTypeId(), App::DocumentObject::getDocument(), App::PropertyLink::getValue(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, insertObject(), App::DocumentObject::isRestoring(), Part::BodyBase::onChanged(), App::PropertyLink::setValue(), and Part::BodyBase::Tip.
Referenced by ArchSite.Compass::buildCoordinates(), and ArchAxis.CommandArchGrid::IsActive().
◆ onDocumentRestored()
|
overrideprotectedvirtual |
get called after a document has been fully restored
Reimplemented from App::DocumentObject.
References Base::Persistence::getClassTypeId(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, App::Property::Output, and App::DocumentObject::setStatus().
◆ onSettingDocument()
|
overrideprotectedvirtual |
get called after setting the document
Reimplemented from App::DocumentObject.
References App::DocumentObject::onSettingDocument().
◆ removeObject()
|
overridevirtual |
Remove the feature from the body.
References Part::BodyBase::BaseFeature, DraftVecUtils::find(), Base::Persistence::getClassTypeId(), getNextSolidFeature(), getPrevSolidFeature(), App::PropertyLink::getValue(), App::PropertyListsT< T, ListT, ParentT >::getValues(), App::GroupExtension::Group, Base::BaseClass::isDerivedFrom(), isSolidFeature(), App::PropertyLink::setValue(), App::PropertyLinkList::setValues(), and Part::BodyBase::Tip.
Referenced by addObject().
◆ setBaseProperty()
void Body::setBaseProperty | ( | App::DocumentObject * | feature | ) |
◆ setShowTip()
void PartDesign::Body::setShowTip | ( | bool | enable | ) |
◆ setupObject()
|
overrideprotectedvirtual |
Creates the corresponding Origin object.
Reimplemented from App::DocumentObject.
References App::DocumentObject::setupObject().
◆ unsetupObject()
|
overrideprotectedvirtual |
Removes all planes and axis if they are still linked to the document.
Reimplemented from App::DocumentObject.
References App::DocumentObject::unsetupObject().
The documentation for this class was generated from the following files:
- src/Mod/PartDesign/App/Body.h
- src/Mod/PartDesign/App/Body.cpp