App::OriginGroupExtension Class Reference

Represents an abstract placeable group of objects with an associated Origin. More...

#include <OriginGroupExtension.h>

Public Member Functions

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::OrigingetOrigin () 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
 
PropertyPlacementplacement ()
 
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 DocumentObjectaddObject (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...
 
DocumentObjectgetObject (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 PyObjectgetExtensionPyObject (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::DocumentObjectExecReturnextensionExecute ()
 
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::DocumentObjectgetExtendedObject ()
 
const App::DocumentObjectgetExtendedObject () const
 
virtual PyObjectgetExtensionPyObject () 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::ExtensionContainergetExtendedContainer ()
 
const App::ExtensionContainergetExtendedContainer () const
 
virtual PyObjectgetExtensionPyObject ()
 
virtual void initExtension (App::ExtensionContainer *obj)
 
bool isPythonExtension ()
 
std::string name () const
 
virtual ~Extension ()
 
virtual PropertyextensionGetPropertyByName (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 DocumentObjectgetGroupOfObject (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 DocumentObjectgetGroupOfObject (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 DocumentObjectgetGroupOfObject (const DocumentObject *obj)
 Returns the object group of the document which the given object obj is part of. More...
 

Public Attributes

PropertyLink Origin
 Origin linked to the group. More...
 
- Public Attributes inherited from App::GroupExtension
PropertyLinkList Group
 Properties. More...
 

Protected Member Functions

virtual App::DocumentObjectExecReturnextensionExecute () 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

- 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::Extension
bool m_isPythonExtension = false
 
Py::SmartPtr ExtensionPythonObject
 

Detailed Description

Represents an abstract placeable group of objects with an associated Origin.

Constructor & Destructor Documentation

◆ OriginGroupExtension()

OriginGroupExtension::OriginGroupExtension ( )

References App::Prop_Hidden.

◆ ~OriginGroupExtension()

OriginGroupExtension::~OriginGroupExtension ( )
virtual

Member Function Documentation

◆ addObjects()

std::vector< DocumentObject * > OriginGroupExtension::addObjects ( std::vector< DocumentObject * >  obj)
overridevirtual

◆ extensionExecute()

App::DocumentObjectExecReturn * OriginGroupExtension::extensionExecute ( void  )
overrideprotectedvirtual

Checks integrity of the Origin.

Reimplemented from App::GroupExtension.

References App::GroupExtension::extensionExecute(), getOrigin(), and Base::Exception::what().

◆ extensionGetSubObject()

bool OriginGroupExtension::extensionGetSubObject ( DocumentObject *&  ret,
const char *  subname,
PyObject **  pyObj,
Base::Matrix4D mat,
bool  transform,
int  depth 
) const
overridevirtual

◆ extensionMustExecute()

short OriginGroupExtension::extensionMustExecute ( void  )
overridevirtual

◆ extensionOnChanged()

◆ getGroupOfObject()

App::DocumentObject * OriginGroupExtension::getGroupOfObject ( const DocumentObject obj)
static

Returns the origin group which contains this object.

In case this object is not part of any geoFeatureGroup, 0 is returned.

Parameters
objthe object to search for

References Base::Persistence::getClassTypeId(), getGroupOfObject(), and Base::BaseClass::isDerivedFrom().

Referenced by App::GeoFeatureGroupExtension::getGroupOfObject(), and getGroupOfObject().

◆ getOrigin()

◆ getViewProviderName()

virtual const char * App::OriginGroupExtension::getViewProviderName ( void  ) const
virtual

returns the type name of the ViewProvider

Reimplemented in App::Part, and PartDesign::Body.

◆ hasObject()

bool OriginGroupExtension::hasObject ( const DocumentObject obj,
bool  recursive = false 
) const
overridevirtual

◆ onExtendedSetupObject()

void OriginGroupExtension::onExtendedSetupObject ( )
overrideprotectedvirtual

◆ onExtendedUnsetupObject()

void OriginGroupExtension::onExtendedUnsetupObject ( )
overrideprotectedvirtual

◆ relinkToOrigin()

Member Data Documentation

◆ Origin

PropertyLink App::OriginGroupExtension::Origin

Origin linked to the group.


The documentation for this class was generated from the following files: