31 #ifndef GENAPI_SWISSKNIFE_H 32 #define GENAPI_SWISSKNIFE_H 34 #include "../IFloat.h" 95 #pragma BullseyeCoverage off 100 #pragma BullseyeCoverage on 125 #pragma BullseyeCoverage off 132 #pragma BullseyeCoverage on 180 virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList)
const;
181 virtual void Parse();
199 std::map<GENICAM_NAMESPACE::gcstring, GENICAM_NAMESPACE::gcstring>
m_Symbolics;
240 #endif // GENAPI_SWISSKNIFE_H GENAPI_NAMESPACE::EInputDirection m_InputDirection
Indicates if the SwissKnife is part of a Converter and shows which direction is implemented.
Map for variables in swissknife expression.
GENICAM_NAMESPACE::gcstring m_InputName
A hard-coded variable name.
Definition of the ValueT class template.
virtual ERepresentation InternalGetRepresentation()
CStrMap m_VariableMap
the vairble used by th parser
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
GENICAM_NAMESPACE::gcstring m_Name
The name of the node.
virtual GENICAM_NAMESPACE::gcstring InternalGetUnit() const
double m_Min
minimum value to be stored in the Register
std::map< GENICAM_NAMESPACE::gcstring, GENICAM_NAMESPACE::gcstring > m_Symbolics
Mapping of the variable's node names to the SYMBOLIC names in the formulas.
Specialized SwissKnife for float nodes.
Decimal number in an edit control.
Vector of doubles with reference counting.
EDisplayNotation m_DisplayNotation
the printf format specifier used to convert the float number to a string
virtual EAccessMode InternalGetAccessMode() const
Get the access mode of the node.
double m_Max
maximum value to be stored in the Register
virtual void InternalSetValue(double, bool)
interface GENAPI_DECL_ABSTRACT IFloat
Interface for float properties.
virtual double InternalGetMin()
Implementation of the IBase interface.
virtual int64_t InternalGetDisplayPrecision() const
Get the precision to be used when converting the float to a string.
Definition of the NodeT class template.
CFloatPolyRef m_Input
Pointer to the input required when the SwissKnife is used to implement a Converter.
CMathParser m_MathParser
the parser doing the actual work
enum GENAPI_NAMESPACE::_ERepresentation ERepresentation
recommended representation of a node value
virtual void FinalConstruct()
enum GENAPI_NAMESPACE::_ECachingMode ECachingMode
caching mode of a register
GENICAM_NAMESPACE::gcstring m_Formula
the formula evaluated by the swiss knife
enum GENAPI_NAMESPACE::_EDisplayNotation EDisplayNotation
typedef for float notation
virtual double InternalGetValue(bool Verify=false, bool IgnoreCache=false)
#define LOGICAL_ERROR_EXCEPTION_NODE
Fires a logical error exception, e.g. throw LOGICAL_ERROR_EXCEPTION("Should never reach this point") ...
interface GENAPI_DECL_ABSTRACT bool Verify
virtual EDisplayNotation InternalGetDisplayNotation() const
Get the way the float should be converted to a string.
Definition of the BaseT class template.
Standard implementation for the INode and the ISelector interface.
virtual double InternalGetInc()
Get the constant increment if there is any.
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
CSwissKnifeImpl()
Constructor.
A reference to a float which can be either a double variable, or a pointer to an IFloat, IInteger, or an IEnumeration interface.
A string class which is a clone of std::string.
virtual double GetValueWithInput(double input, bool Verify=false, bool IgnoreCache=false)
Get feature value using m_InputName as hard coded variable name.
virtual bool InternalHasInc()
True if the float has a constant increment.
virtual ECachingMode InternalGetCachingMode() const
Get Caching Mode.
ERepresentation m_Representation
the node's representation
enum GENAPI_NAMESPACE::_EAccessMode EAccessMode
access mode of a node
enum GENAPI_NAMESPACE::_EInputDirection EInputDirection
typedef for link type
Definition of CMathParser.
virtual const double_autovector_t InternalGetListOfValidValues()
Get list of valid value.
virtual double InternalGetMax()
Definition of the FloatT class template.
virtual const char * c_str(void) const
Part of the generic device API.
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
typedef for interface type
Expression parser and evaluator of CSwissKnife.
GENICAM_NAMESPACE::gcstring m_Unit
the physical unit name
virtual void SetProperty(CProperty &Property)
std::map< GENICAM_NAMESPACE::gcstring, CFloatPolyRef > m_Variables
Mapping of SYMBOLIC names to the references of the variables.
int64_t m_DisplayPrecision
the precision the float is converted with to a string
virtual ~CSwissKnifeImpl()
Destructor.