FreeCAD C++
|
#include <App/GeoFeatureGroupExtension.h>
The base class for placeable group of DocumentObjects. It represents a local coordnate system.
This class is the FreeCAD way of representing local coordinate systems. It groups its children beneath it and transforms them all with the GeoFeatureGroup placement. A few important properties:
Public Member Functions | |
virtual void | transformPlacement (const Base::Placement &transform) |
transformPlacement applies transform to placement of this shape. Override this function to propagate the change of placement to base features. More... | |
GeoFeatureGroupExtension (void) | |
Constructor. | |
Base::Placement | globalGroupPlacement () |
Calculates the global placement of this group. More... | |
Static Public Member Functions | |
static DocumentObject * | getGroupOfObject (const DocumentObject *obj) |
static bool | isNonGeoGroup (const DocumentObject *obj) |
Returns true if the given DocumentObject is DocumentObjectGroup but not GeoFeatureGroup. | |
static std::vector< App::DocumentObject * > | getCSRelevantLinks (const App::DocumentObject *obj) |
static bool | areLinksValid (const App::DocumentObject *obj) |
static bool | isLinkValid (App::Property *link) |
|
static |
Checks if the links of the given object comply with all GeoFeatureGroup requirements, that means if normal links are only within the parent GeoFeatureGroup.
|
static |
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. The result is the combination of CSOutList and CSInList.
|
static |
Returns the geo feature group which contains this object. In case this object is not part of any geoFeatureGroup 0 is returned. Unlike DocumentObjectGroup::getGroupOfObject serches only for GeoFeatureGroups
obj | the object to search for |
Base::Placement App::GeoFeatureGroupExtension::globalGroupPlacement | ( | ) |
Calculates the global placement of this group.
The returned placement describes the transformation from the global reference coordinate system to the local coordinate system of this geo feature group. If this group has a no parent GeoFeatureGroup the returned placement is the one of this group. For multiple stacked GeoFeatureGroups the returned Placement is the combination of all parent placements including the one of this group.
|
static |
Checks if the given link complies with all GeoFeatureGroup requirements, that means if normal links are only within the parent GeoFeatureGroup.
|
virtual |
transformPlacement applies transform to placement of this shape. Override this function to propagate the change of placement to base features.
transform | (input). |