Specialized SwissKnife for float nodes. More...
#include <SwissKnife.h>
Public Member Functions | |
CSwissKnifeImpl () | |
Constructor. More... | |
virtual void | FinalConstruct () |
virtual bool | GetProperty (CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const |
virtual double | GetValueWithInput (double input, bool Verify=false, bool IgnoreCache=false) |
Get feature value using m_InputName as hard coded variable name. More... | |
virtual void | Parse () |
virtual void | SetProperty (CProperty &Property) |
virtual | ~CSwissKnifeImpl () |
Destructor. More... | |
Public Member Functions inherited from GENAPI_NAMESPACE::CNodeImpl | |
void | add_child (CPropertyID::EProperty_ID_t PropertyID, CProperty &, INodePrivate *pNode) |
void | add_orphan_child (CPropertyID::EProperty_ID_t PropertyID, CProperty &, INodePrivate *pNode) |
INodeMapPrivate * | GetNodeMapPrivate () |
Retrieves the INodeMapPrivate interface. More... | |
void | SetParent (INodePrivate *pParent) |
Sets a parent : CAVE : for internal use only... More... | |
CNodeImpl () | |
Constructor. More... | |
virtual | ~CNodeImpl () |
Destructor. More... | |
virtual void | Initialize (GENAPI_NAMESPACE::INodeMapPrivate *const pNodeMap, CNodeData::ENodeType_t NodeType, NodeID_t &NodeID) |
virtual CNodeData::ENodeType_t | GetNodeType () |
virtual NodeID_t | GetNodeID () |
virtual void | SetInvalid (ESetInvalidMode simMode) |
virtual void | CollectCallbacksToFire (std::list< CNodeCallback * > &CallbacksToFire, bool allDependents=false) |
virtual bool | IsTerminalNode () const |
virtual void | GetTerminalNodes (GENAPI_NAMESPACE::NodeList_t &Terminals) const |
virtual bool | Poll (int64_t ElapsedTime) |
virtual bool | IsSelector () const |
virtual void | GetSelectedFeatures (FeatureList_t &list) const |
virtual void | GetSelectingFeatures (FeatureList_t &) const |
Protected Member Functions | |
virtual EAccessMode | InternalGetAccessMode () const |
Get the access mode of the node. More... | |
virtual ECachingMode | InternalGetCachingMode () const |
Get Caching Mode. More... | |
virtual EDisplayNotation | InternalGetDisplayNotation () const |
Get the way the float should be converted to a string. More... | |
virtual int64_t | InternalGetDisplayPrecision () const |
Get the precision to be used when converting the float to a string. More... | |
virtual double | InternalGetInc () |
Get the constant increment if there is any. More... | |
virtual const double_autovector_t | InternalGetListOfValidValues () |
Get list of valid value. More... | |
virtual double | InternalGetMax () |
virtual double | InternalGetMin () |
virtual EInterfaceType | InternalGetPrincipalInterfaceType () const |
Implementation of IBase::GetPrincipalInterfaceType() More... | |
virtual ERepresentation | InternalGetRepresentation () |
virtual GENICAM_NAMESPACE::gcstring | InternalGetUnit () const |
virtual double | InternalGetValue (bool Verify=false, bool IgnoreCache=false) |
virtual bool | InternalHasInc () |
True if the float has a constant increment. More... | |
virtual void | InternalSetValue (double, bool) |
Protected Member Functions inherited from GENAPI_NAMESPACE::CNodeImpl | |
EAccessMode | InternalGetAccessMode (IBase *pValue) const |
Default implementation of GetAccessMode taking into account another node. More... | |
virtual GENICAM_NAMESPACE::gcstring | InternalGetName (bool FullQualified=false) const |
Get node name. More... | |
virtual GENAPI_NAMESPACE::ENameSpace | InternalGetNameSpace () const |
Get name space. More... | |
virtual EVisibility | InternalGetVisibility () const |
Get the recommended visibility of the node. More... | |
virtual void | InternalInvalidateNode (std::list< CNodeCallback * > &CallbacksToFire) |
virtual bool | InternalIsCachable () const |
Is the node value cachable. More... | |
virtual int64_t | InternalGetPollingTime () const |
recommended polling time (for not cachable nodes) More... | |
virtual GENICAM_NAMESPACE::gcstring | InternalGetToolTip () const |
Get a short description of the node. More... | |
virtual GENICAM_NAMESPACE::gcstring | InternalGetDescription () const |
Get a long description of the node. More... | |
virtual GENICAM_NAMESPACE::gcstring | InternalGetDisplayName () const |
virtual GENICAM_NAMESPACE::gcstring | InternalGetDeviceName () const |
Get a name of the device. More... | |
virtual void | InternalGetChildren (GENAPI_NAMESPACE::NodeList_t &Children, ELinkType LinkType) const |
Get all children of the node. More... | |
virtual CallbackHandleType | InternalRegisterCallback (CNodeCallback *pCallback) |
Register change callback. More... | |
virtual bool | InternalDeregisterCallback (CallbackHandleType hCallback) |
Deregister change callback. More... | |
virtual INodeMap * | InternalGetNodeMap () const |
Retrieves the node map. More... | |
virtual GENICAM_NAMESPACE::gcstring | GetEventID () const |
Get the EventId of the node. More... | |
virtual bool | IsStreamable () const |
True if the node is streamable. More... | |
virtual void | GetParents (GENAPI_NAMESPACE::NodeList_t &Parents) const |
virtual void | GetPropertyNames (GENICAM_NAMESPACE::gcstring_vector &PropertyNames) const |
Returns a list of the names all properties set during initialization. More... | |
virtual bool | GetProperty (const GENICAM_NAMESPACE::gcstring &PropertyName, GENICAM_NAMESPACE::gcstring &ValueStr, GENICAM_NAMESPACE::gcstring &AttributeStr) const |
Retrieves a property plus an additional attribute by name. More... | |
virtual void | ImposeAccessMode (EAccessMode ImposedAccessMode) |
Imposes an access mode to the natural access mode of the node. More... | |
virtual void | ImposeVisibility (EVisibility ImposedVisibility) |
Imposes a visibility to the natural visibility of the node. More... | |
virtual INode * | GetAlias () const |
Retrieves the a node which describes the same feature in a different way. More... | |
virtual INode * | GetCastAlias () const |
Retrieves the a node which describes the same feature so that it can be casted. More... | |
virtual void | InternalCheckError () const |
Checks for an explicitly via the <pError> element defined error. More... | |
virtual GENICAM_NAMESPACE::gcstring | InternalGetDocuURL () const |
Gets a URL pointing to the documentation of that feature. More... | |
virtual bool | InternalIsDeprecated () const |
True if the node should not be used any more. More... | |
virtual bool | IsFeature () const |
True if the node can be reached via category nodes from a category node named "Std::Root". More... | |
virtual EYesNo | InternalIsAccessModeCacheable () const |
True if the AccessMode can be cached. More... | |
bool | IsAccessModeCached () const |
returns true, if the AccessModeCache is valid More... | |
GENICAM_NAMESPACE::gcstring | GetNodeType () const |
void | CacheAccessModeIfPossible (EAccessMode AccessMode) const |
virtual bool | InternalIsValueCacheValid () const |
Checks if the value comes from cache or is requested from another node. More... | |
CLock & | GetLock () const |
Acquire central lock. More... | |
Counter & | GetBathometer () const |
The bathometer is a counter used to measure the depth of SetValue-like call chains. More... | |
void | PreSetValue () |
Invalidates all nodes which will become affected by a SetValue call into the node tree. More... | |
void | PostSetValue (std::list< CNodeCallback * > &CallbacksToFire) |
Fires callback on all nodes which became affected by a SetValue call into the node tree. More... | |
GENICAM_NAMESPACE::gcstring | GetQualifiedName (GENICAM_NAMESPACE::gcstring Name, ENameSpace NameSpace) const |
Creates the full qualified name. More... | |
Protected Attributes | |
EDisplayNotation | m_DisplayNotation |
the printf format specifier used to convert the float number to a string More... | |
int64_t | m_DisplayPrecision |
the precision the float is converted with to a string More... | |
GENICAM_NAMESPACE::gcstring | m_Formula |
the formula evaluated by the swiss knife More... | |
CFloatPolyRef | m_Input |
Pointer to the input required when the SwissKnife is used to implement a Converter. More... | |
GENAPI_NAMESPACE::EInputDirection | m_InputDirection |
Indicates if the SwissKnife is part of a Converter and shows which direction is implemented. More... | |
GENICAM_NAMESPACE::gcstring | m_InputName |
A hard-coded variable name. More... | |
CMathParser | m_MathParser |
the parser doing the actual work More... | |
double | m_Max |
maximum value to be stored in the Register More... | |
double | m_Min |
minimum value to be stored in the Register More... | |
ERepresentation | m_Representation |
the node's representation More... | |
std::map< GENICAM_NAMESPACE::gcstring, GENICAM_NAMESPACE::gcstring > | m_Symbolics |
Mapping of the variable's node names to the SYMBOLIC names in the formulas. More... | |
GENICAM_NAMESPACE::gcstring | m_Unit |
the physical unit name More... | |
CStrMap | m_VariableMap |
the vairble used by th parser More... | |
std::map< GENICAM_NAMESPACE::gcstring, CFloatPolyRef > | m_Variables |
Mapping of SYMBOLIC names to the references of the variables. More... | |
Protected Attributes inherited from GENAPI_NAMESPACE::CNodeImpl | |
EYesNo | m_ExposeStatic |
NodeID_t | m_NodeID |
The node's ID. More... | |
CNodeData::ENodeType_t | m_NodeTypeEnum |
UserData_t | m_pUserData |
Storage of user defined data. Ownership remains by the user!. Use IUserData interface to access the data. More... | |
NodePrivateVector_t | m_Parents |
All nodes for which this node is at least a DependecyChild. More... | |
NodePrivateVector_t | m_ReadingChildren |
all nodes which can be read from For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies More... | |
NodePrivateVector_t | m_WritingChildren |
all nodes which can write a value further down the node stack For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies More... | |
NodePrivateVector_t | m_InvalidatingChildren |
All directly connected nodes which invalidate this node For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies. More... | |
NodePrivateVector_t | m_AllDependingNodes |
All directly or indirectly connected nodes which are invalidated by this nodes (i.e. which are dependent on this node) For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies. More... | |
NodePrivateVector_t | m_AllTerminalNodes |
All indirectly connected terminal nodes For details see GenICam wiki : GenApi/SoftwareArchitecture/NodeDependencies. More... | |
NodePrivateVector_t | m_VariableChildren |
All node use as variable by this node. More... | |
GENICAM_NAMESPACE::ILogger * | m_pAccessLog |
Logger for messages concerning the AccessMode. More... | |
GENICAM_NAMESPACE::ILogger * | m_pValueLog |
Logger for messages concerning the getting and setting values. More... | |
GENICAM_NAMESPACE::ILogger * | m_pRangeLog |
Logger for messages concerning the range check. More... | |
GENICAM_NAMESPACE::ILogger * | m_pPortLog |
Logger for messages concerning the port access. More... | |
GENICAM_NAMESPACE::ILogger * | m_pCacheLog |
Logger for messages concerning the caching access. More... | |
GENICAM_NAMESPACE::ILogger * | m_pPreProcLog |
Logger for things done during pre-processing of the node map, e.g. determining dependencies. More... | |
GENICAM_NAMESPACE::ILogger * | m_pMiscLog |
Logger for messages concerning miscellaneous access which does not fit to the other categories. More... | |
GENICAM_NAMESPACE::gcstring | m_Name |
The name of the node. More... | |
GENICAM_NAMESPACE::gcstring | m_Extension |
The metadata from the extension. More... | |
ENameSpace | m_NameSpace |
The namespace of the node. More... | |
GENICAM_NAMESPACE::gcstring | m_DeviceName |
The device name of the node tree. More... | |
GENICAM_NAMESPACE::gcstring | m_DisplayName |
The display name string of the node. More... | |
GENICAM_NAMESPACE::gcstring | m_ToolTip |
The ToolTip for the node. More... | |
GENICAM_NAMESPACE::gcstring | m_Description |
The Description of the node. More... | |
EVisibility | m_Visibility |
recommended visibility; More... | |
CBooleanPolyRef | m_IsImplemented |
Reference to a Node, which indicates if the node is implemented. More... | |
CBooleanPolyRef | m_IsAvailable |
Reference to a Node, which indicates if the node is available. More... | |
CBooleanPolyRef | m_IsLocked |
Reference to a Node, which indicates if the node is locked (i.e. not writable) More... | |
CBooleanPolyRef | m_BlockPolling |
Reference to a Node, which indicates if the node is not cached. More... | |
IEnumeration * | m_pError |
Pointer to a Error class. More... | |
INode * | m_pAlias |
Pointer to a Node, which describes the same feature as this one. More... | |
INode * | m_pCastAlias |
Pointer to a Node, which describes the same feature as this one so that it can be casted. More... | |
ECachingMode | m_CachingMode |
indicates that the node has changed More... | |
FeatureList_t | m_Selected |
List of selected features. More... | |
FeatureList_t | m_Selecting |
List of selecting features. More... | |
GENICAM_NAMESPACE::gcstring | m_EventID |
The EventID. More... | |
EYesNo | m_IsStreamable |
indicates if the node is streamable More... | |
EAccessMode | m_ImposedAccessMode |
Access mode imposed on the natural access mode of the node. More... | |
EVisibility | m_ImposedVisibility |
Visibility imposed to the natural visibility of the node. More... | |
int64_t | m_PollingTime |
recommended polling time in [ms] More... | |
ETerminalPropagationState | m_propagationState |
Current state for propagating terminals. More... | |
NodeList_t | m_Invalidators |
List of references to nodes which may invalidate this node. More... | |
GENICAM_NAMESPACE::gcstring | m_DocuURL |
A URL pointing or the documentation of this featrues. More... | |
EYesNo | m_IsDeprecated |
indicates that the feature should not be used any more More... | |
GENICAM_NAMESPACE::gcstring_vector | m_PropertyNames |
Helper: A list of all properties belonging to this node. More... | |
EYesNo | m_IsFeature |
indicates that the node is a feature that is reachable from the Root node via categories More... | |
ECachingMode | m_CachingModeCache |
stores the cached value of the CachingMode More... | |
EAccessMode | m_AccessModeCache |
cache access mode More... | |
bool | m_ValueCacheValid |
true if the value cache is valid More... | |
bool | m_ListOfValidValuesCacheValid |
true if the list of valid value is cached More... | |
EYesNo | m_AccessModeCacheability |
indicates if the AccessMode is cacheable More... | |
INodeMapPrivate * | m_pNodeMap |
Pointer to the node map. More... | |
int64_t | m_ElapsedTime |
time elapsed since the last poll More... | |
bool | m_DontDeleteThisCache |
indicates that the cache has been filled and should not be cleared at the end of the operation More... | |
bool | m_TerminalNodeWritten |
indicates that this terminal node was written and not yet invalidated. More... | |
std::list< CNodeCallback * > | m_Callbacks |
List of callbacks. More... | |
Additional Inherited Members | |
Protected Types inherited from GENAPI_NAMESPACE::CNodeImpl | |
enum | ETerminalPropagationState { eNotVisited, eBeingVisited, eTerminalPropagationDone } |
States when propagating terminals. More... | |
typedef AutoLock | Lock |
shortcut for the lock type More... | |
Specialized SwissKnife for float nodes.
Used for formula evaluation with ToPhysical and FromPhysical children
Definition at line 57 of file SwissKnife.h.
GENAPI_NAMESPACE::CSwissKnifeImpl::CSwissKnifeImpl | ( | ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Reimplemented from GENAPI_NAMESPACE::CNodeImpl.
|
virtual |
Reimplemented from GENAPI_NAMESPACE::CNodeImpl.
|
virtual |
Get feature value using m_InputName as hard coded variable name.
This is a helper for the implementation of the converter
|
protectedvirtual |
Get the access mode of the node.
Reimplemented from GENAPI_NAMESPACE::CNodeImpl.
|
protectedvirtual |
Get Caching Mode.
Reimplemented from GENAPI_NAMESPACE::CNodeImpl.
|
inlineprotectedvirtual |
Get the way the float should be converted to a string.
Definition at line 158 of file SwissKnife.h.
|
inlineprotectedvirtual |
Get the precision to be used when converting the float to a string.
Definition at line 164 of file SwissKnife.h.
|
inlineprotectedvirtual |
Get the constant increment if there is any.
Definition at line 128 of file SwissKnife.h.
|
inlineprotectedvirtual |
Get list of valid value.
Definition at line 136 of file SwissKnife.h.
|
inlineprotectedvirtual |
Definition at line 113 of file SwissKnife.h.
|
inlineprotectedvirtual |
Definition at line 107 of file SwissKnife.h.
|
inlineprotectedvirtual |
Implementation of IBase::GetPrincipalInterfaceType()
Reimplemented from GENAPI_NAMESPACE::CNodeImpl.
Definition at line 75 of file SwissKnife.h.
|
inlineprotectedvirtual |
Definition at line 143 of file SwissKnife.h.
|
inlineprotectedvirtual |
Definition at line 152 of file SwissKnife.h.
|
protectedvirtual |
|
inlineprotectedvirtual |
True if the float has a constant increment.
Definition at line 119 of file SwissKnife.h.
|
inlineprotectedvirtual |
Definition at line 97 of file SwissKnife.h.
|
virtual |
|
virtual |
Reimplemented from GENAPI_NAMESPACE::CNodeImpl.
|
protected |
the printf format specifier used to convert the float number to a string
Definition at line 218 of file SwissKnife.h.
|
protected |
the precision the float is converted with to a string
Definition at line 221 of file SwissKnife.h.
|
protected |
the formula evaluated by the swiss knife
Definition at line 197 of file SwissKnife.h.
|
protected |
Pointer to the input required when the SwissKnife is used to implement a Converter.
Definition at line 231 of file SwissKnife.h.
|
protected |
Indicates if the SwissKnife is part of a Converter and shows which direction is implemented.
Definition at line 228 of file SwissKnife.h.
|
protected |
A hard-coded variable name.
This is a helper for the implementation of the converter
Definition at line 225 of file SwissKnife.h.
|
protected |
the parser doing the actual work
Definition at line 209 of file SwissKnife.h.
|
protected |
maximum value to be stored in the Register
Definition at line 194 of file SwissKnife.h.
|
protected |
minimum value to be stored in the Register
Definition at line 191 of file SwissKnife.h.
|
protected |
the node's representation
Definition at line 212 of file SwissKnife.h.
|
protected |
Mapping of the variable's node names to the SYMBOLIC names in the formulas.
Definition at line 200 of file SwissKnife.h.
|
protected |
the physical unit name
Definition at line 215 of file SwissKnife.h.
|
protected |
the vairble used by th parser
Definition at line 206 of file SwissKnife.h.
|
protected |
Mapping of SYMBOLIC names to the references of the variables.
Definition at line 203 of file SwissKnife.h.