App::FeatureTest Class Reference

The testing feature. More...

#include <FeatureTest.h>

Public Member Functions

 FeatureTest ()
 
 ~FeatureTest ()
 
methods override Feature
virtual short mustExecute (void) const
 mustExecute We call this method to check if the object was modified to be invoked. More...
 
virtual DocumentObjectExecReturnexecute (void)
 recalculate the Feature More...
 
virtual const char * getViewProviderName (void) const
 returns the type name of the ViewProvider More...
 
- Public Member Functions inherited from App::DocumentObject
virtual App::PropertyaddDynamicProperty (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::DocumentgetDocument (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...
 
DocumentObjectGroupgetGroup () 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 DocumentObjectgetLinkedObject (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...
 
virtual PyObjectgetPyObject (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 DocumentObjectgetSubObject (const char *subname, PyObject **pyObj=0, Base::Matrix4D *mat=0, 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 * 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::DocumentObjectresolve (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::DocumentObjectresolveRelativeLink (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 ()
 
- Public Member Functions inherited from App::TransactionalObject
 TransactionalObject (void)
 Constructor. More...
 
virtual ~TransactionalObject ()
 
- Public Member Functions inherited from App::ExtensionContainer
ExtensionIterator extensionBegin ()
 
 ExtensionContainer ()
 
ExtensionIterator extensionEnd ()
 
App::ExtensiongetExtension (Base::Type, bool derived=true, bool no_except=false) const
 
App::ExtensiongetExtension (const std::string &name) const
 
template<typename ExtensionT >
ExtensionTgetExtensionByType (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 PropertygetPropertyByName (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::PropertygetDynamicPropertyByName (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...
 
- Public Member Functions inherited from Base::Persistence
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...
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction. More...
 
bool isDerivedFrom (const Type type) const
 
virtual void setPyObject (PyObject *)
 
virtual ~BaseClass ()
 Destruction. More...
 

Public Attributes

App::PropertyAngle Angle
 
App::PropertyBool Bool
 
App::PropertyBoolList BoolList
 
App::PropertyColor Colour
 
App::PropertyColorList ColourList
 
App::PropertyFloatConstraint ConstraintFloat
 
App::PropertyIntegerConstraint ConstraintInt
 
App::PropertyDistance Distance
 
App::PropertyEnumeration Enum
 
App::PropertyInteger ExceptionType
 
App::PropertyInteger ExecCount
 
App::PropertyString ExecResult
 
App::PropertyFloat Float
 
App::PropertyFloatList FloatList
 
App::PropertyInteger Integer
 
App::PropertyIntegerList IntegerList
 
App::PropertyLink Link
 
App::PropertyLinkList LinkList
 
App::PropertyLinkSub LinkSub
 
App::PropertyLinkSubList LinkSubList
 
App::PropertyMaterial Material
 
App::PropertyMaterialList MaterialList
 
App::PropertyMatrix Matrix
 
App::PropertyPath Path
 
App::PropertyPlacement Placement
 
App::PropertyQuantity QuantityLength
 
App::PropertyQuantity QuantityOther
 
App::PropertyLink Source1
 
App::PropertyLink Source2
 
App::PropertyLinkList SourceN
 
App::PropertyString String
 
App::PropertyStringList StringList
 
App::PropertyInteger TypeAll
 
App::PropertyInteger TypeHidden
 
App::PropertyInteger TypeNoRecompute
 
App::PropertyInteger TypeOutput
 
App::PropertyInteger TypeReadOnly
 
App::PropertyInteger TypeTransient
 
App::PropertyVector Vector
 
App::PropertyVectorList VectorList
 
- 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...
 

Additional Inherited Members

- 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 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 (void)
 
static Type getClassTypeId (void)
 
static void init (void)
 
- Static Public Attributes inherited from App::DocumentObject
static DocumentObjectExecReturnStdReturn
 
- Protected Member Functions inherited from App::DocumentObject
App::DocumentObjectExecReturnexecuteExtensions ()
 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::DocumentObjectExecReturnrecompute (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 PropertyDatagetPropertyData (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...
 
- Static Protected Member Functions inherited from App::PropertyContainer
static const PropertyDatagetPropertyDataPtr (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)
 
- Protected Attributes inherited from App::DocumentObject
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...
 
- Protected Attributes inherited from App::PropertyContainer
DynamicProperty dynamicProps
 

Detailed Description

The testing feature.

Constructor & Destructor Documentation

◆ FeatureTest()

◆ ~FeatureTest()

FeatureTest::~FeatureTest ( )

Member Function Documentation

◆ execute()

◆ getViewProviderName()

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

returns the type name of the ViewProvider

Reimplemented from App::DocumentObject.

Reimplemented in App::FeatureTestException.

◆ mustExecute()

short FeatureTest::mustExecute ( void  ) const
virtual

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 App::DocumentObject.

References App::DocumentObject::mustExecute().

Member Data Documentation

◆ Angle

App::PropertyAngle App::FeatureTest::Angle

Referenced by FeatureTest().

◆ Bool

App::PropertyBool App::FeatureTest::Bool

Referenced by FeatureTest().

◆ BoolList

App::PropertyBoolList App::FeatureTest::BoolList

Referenced by FeatureTest().

◆ Colour

App::PropertyColor App::FeatureTest::Colour

Referenced by FeatureTest().

◆ ColourList

App::PropertyColorList App::FeatureTest::ColourList

Referenced by FeatureTest().

◆ ConstraintFloat

App::PropertyFloatConstraint App::FeatureTest::ConstraintFloat

Referenced by FeatureTest().

◆ ConstraintInt

App::PropertyIntegerConstraint App::FeatureTest::ConstraintInt

Referenced by FeatureTest().

◆ Distance

App::PropertyDistance App::FeatureTest::Distance

Referenced by FeatureTest().

◆ Enum

App::PropertyEnumeration App::FeatureTest::Enum

Referenced by FeatureTest().

◆ ExceptionType

App::PropertyInteger App::FeatureTest::ExceptionType

Referenced by execute(), and FeatureTest().

◆ ExecCount

App::PropertyInteger App::FeatureTest::ExecCount

Referenced by execute(), and FeatureTest().

◆ ExecResult

App::PropertyString App::FeatureTest::ExecResult

Referenced by execute(), and FeatureTest().

◆ Float

App::PropertyFloat App::FeatureTest::Float

Referenced by FeatureTest().

◆ FloatList

App::PropertyFloatList App::FeatureTest::FloatList

Referenced by FeatureTest().

◆ Integer

App::PropertyInteger App::FeatureTest::Integer

Referenced by FeatureTest().

◆ IntegerList

App::PropertyIntegerList App::FeatureTest::IntegerList

Referenced by FeatureTest().

◆ Link

App::PropertyLink App::FeatureTest::Link

◆ LinkList

App::PropertyLinkList App::FeatureTest::LinkList

Referenced by FeatureTest().

◆ LinkSub

App::PropertyLinkSub App::FeatureTest::LinkSub

Referenced by FeatureTest().

◆ LinkSubList

App::PropertyLinkSubList App::FeatureTest::LinkSubList

Referenced by FeatureTest().

◆ Material

App::PropertyMaterial App::FeatureTest::Material

◆ MaterialList

App::PropertyMaterialList App::FeatureTest::MaterialList

Referenced by FeatureTest().

◆ Matrix

App::PropertyMatrix App::FeatureTest::Matrix

Referenced by FeatureTest().

◆ Path

App::PropertyPath App::FeatureTest::Path

◆ Placement

App::PropertyPlacement App::FeatureTest::Placement

◆ QuantityLength

App::PropertyQuantity App::FeatureTest::QuantityLength

Referenced by FeatureTest().

◆ QuantityOther

App::PropertyQuantity App::FeatureTest::QuantityOther

Referenced by FeatureTest().

◆ Source1

App::PropertyLink App::FeatureTest::Source1

Referenced by FeatureTest().

◆ Source2

App::PropertyLink App::FeatureTest::Source2

Referenced by FeatureTest().

◆ SourceN

App::PropertyLinkList App::FeatureTest::SourceN

Referenced by FeatureTest().

◆ String

App::PropertyString App::FeatureTest::String

◆ StringList

App::PropertyStringList App::FeatureTest::StringList

◆ TypeAll

App::PropertyInteger App::FeatureTest::TypeAll

Referenced by FeatureTest().

◆ TypeHidden

App::PropertyInteger App::FeatureTest::TypeHidden

Referenced by FeatureTest().

◆ TypeNoRecompute

App::PropertyInteger App::FeatureTest::TypeNoRecompute

Referenced by FeatureTest().

◆ TypeOutput

App::PropertyInteger App::FeatureTest::TypeOutput

Referenced by FeatureTest().

◆ TypeReadOnly

App::PropertyInteger App::FeatureTest::TypeReadOnly

Referenced by FeatureTest().

◆ TypeTransient

App::PropertyInteger App::FeatureTest::TypeTransient

Referenced by FeatureTest().

◆ Vector

App::PropertyVector App::FeatureTest::Vector

◆ VectorList

App::PropertyVectorList App::FeatureTest::VectorList

Referenced by FeatureTest().


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