All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Integer.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2006-2008 by Basler Vision Technologies
3 // Section: Vision Components
4 // Project: GenApi
5 // Author: Fritz Dierks
6 // $Header$
7 //
8 // License: This file is published under the license of the EMVA GenICam Standard Group.
9 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 // If for some reason you are missing this file please contact the EMVA or visit the website
11 // (http://www.genicam.org) for a full copy.
12 //
13 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 // POSSIBILITY OF SUCH DAMAGE.
24 //-----------------------------------------------------------------------------
30 #ifndef GENAPI_INTEGER_H
31 #define GENAPI_INTEGER_H
32 
33 #include "../IInteger.h"
34 #include "Node.h"
35 #include "BaseT.h"
36 #include "ValueT.h"
37 #include "IntegerT.h"
38 #include "NodeT.h"
39 #include "NodeMap.h"
40 #include "PrivateTypes.h"
41 #include "PolyReference.h"
42 #include <map>
43 
44 namespace GENAPI_NAMESPACE
45 {
46 
52  : public IInteger
53  , public CNodeImpl
54  {
55  public:
56  //-------------------------------------------------------------
58 
59  CIntegerImpl();
62 
63  protected:
64  //-------------------------------------------------------------
66 
67  virtual EAccessMode InternalGetAccessMode() const;
69 
72  {
73  return intfIInteger;
74  }
75 
77 
78  protected:
79  //-------------------------------------------------------------
81 
82  virtual void InternalSetValue(int64_t Value, bool Verify = true);
84 
86  virtual int64_t InternalGetValue(bool Verify = false, bool IgnoreCache = false );
87 
89  virtual int64_t InternalGetMin();
90 
92  virtual int64_t InternalGetMax();
93 
95  virtual int64_t InternalGetInc();
96 
99 
102 
106  public:
107  //-------------------------------------------------------------
109 
110  virtual void FinalConstruct();
112 
114  virtual ECachingMode InternalGetCachingMode() const;
116 
117  virtual void SetInvalid(ESetInvalidMode simMode);
118 
119  public:
120 
121  virtual void SetProperty( CProperty &Property );
122  virtual bool GetProperty( CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList ) const;
123 
124 
125 
126  protected:
127  //-------------------------------------------------------------
129 
130  std::list<CIntegerPolyRef> m_ValuesCopy;
132 
134  std::list<CIntegerPolyRef>::iterator m_pMainValue;
135 
137  std::map<int64_t, CIntegerPolyRef> m_ValuesIndexed;
138 
141 
144 
147 
150 
153 
156 
159 
162 
164  };
165 
170  class CInteger : public BaseT< ValueT< IntegerT< NodeT < CIntegerImpl> > > >
171  {
172  };
173 
174 }
175 
176 #endif // GENAPI_INTEGER_H
GENAPI_NAMESPACE::IInteger
GENICAM_INTERFACE IInteger
Interface for integer properties.
Definition: IFloat.h:114
GENAPI_NAMESPACE
Lexical analyzer for CIntSwissKnife.
Definition: Destructible.h:30
GENAPI_NAMESPACE::EAccessMode
enum GENAPI_NAMESPACE::_EAccessMode EAccessMode
access mode of a node
GENAPI_NAMESPACE::intfIInteger
@ intfIInteger
IInteger interface.
Definition: Types.h:192
GENAPI_NAMESPACE::CIntegerImpl::m_Max
CIntegerPolyRef m_Max
Reference to the maximum value.
Definition: Integer.h:146
PrivateTypes.h
Common types used in the GenApi implementation.
PolyReference.h
Definition of polymorphical smart pointer.
NodeMap.h
Declaration of CNodeMap.
GENAPI_NAMESPACE::CNodeImpl
Standard implementation for the INode and the ISelector interface.
Definition: Node.h:86
GENICAM_NAMESPACE::gcstring
A string class which is a clone of std::string.
Definition: GCString.h:52
GENAPI_NAMESPACE::CIntegerImpl::InternalGetListOfValidValues
virtual const int64_autovector_t InternalGetListOfValidValues()
Get list of valid values.
GENAPI_NAMESPACE::CIntegerImpl::m_Min
CIntegerPolyRef m_Min
Reference to the minimum value.
Definition: Integer.h:143
NodeT.h
Definition of the NodeT class template.
GENAPI_NAMESPACE::CIntegerPolyRef
A reference to an int64 which can bei either an int64 variable, or a pointer to an IInteger,...
Definition: PolyReference.h:68
GENAPI_NAMESPACE::CIntegerImpl::InternalGetMin
virtual int64_t InternalGetMin()
Get minimum value allowed.
GENAPI_NAMESPACE::CIntegerImpl::m_Unit
GENICAM_NAMESPACE::gcstring m_Unit
the physical unit name
Definition: Integer.h:158
GENAPI_NAMESPACE::BaseT
Implementation of the IBase interface.
Definition: BaseT.h:48
GENAPI_NAMESPACE::CInteger
Integer node implementation.
Definition: Integer.h:170
GENAPI_NAMESPACE::ERepresentation
enum GENAPI_NAMESPACE::_ERepresentation ERepresentation
recommended representation of a node value
GENAPI_NAMESPACE::Verify
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT bool Verify
Definition: IBoolean.h:61
GENAPI_NAMESPACE::CIntegerImpl::m_Representation
ERepresentation m_Representation
recommended representation of the value
Definition: Integer.h:155
GENAPI_NAMESPACE::EInterfaceType
enum GENAPI_NAMESPACE::_EInterfaceType EInterfaceType
typedef for interface type
GENAPI_NAMESPACE::CIntegerImpl::InternalGetPrincipalInterfaceType
virtual EInterfaceType InternalGetPrincipalInterfaceType() const
Implementation of IBase::GetPrincipalInterfaceType()
Definition: Integer.h:71
GENAPI_NAMESPACE::CIntegerImpl::CIntegerImpl
CIntegerImpl()
Constructor.
BaseT.h
Definition of the BaseT class template.
GENAPI_NAMESPACE::CIntegerImpl::SetProperty
virtual void SetProperty(CProperty &Property)
GENAPI_NAMESPACE::CIntegerImpl::m_Inc
CIntegerPolyRef m_Inc
Reference to the increment value.
Definition: Integer.h:149
Node.h
GENAPI_NAMESPACE::CIntegerImpl::m_pMainValue
std::list< CIntegerPolyRef >::iterator m_pMainValue
References to the main value inside m_ValuesCopy.
Definition: Integer.h:134
GENAPI_NAMESPACE::ESetInvalidMode
ESetInvalidMode
Three different modes of operation for INodePrivate::SetInvalid()
Definition: INodePrivate.h:91
GENAPI_NAMESPACE::CIntegerImpl::InternalGetAccessMode
virtual EAccessMode InternalGetAccessMode() const
Get the access mode of the node.
GENAPI_NAMESPACE::CIntegerImpl::InternalSetValue
virtual void InternalSetValue(int64_t Value, bool Verify=true)
Set feature value.
GENAPI_NAMESPACE::CIntegerImpl::InternalGetCachingMode
virtual ECachingMode InternalGetCachingMode() const
Get Caching Mode.
GENAPI_NAMESPACE::CIntegerImpl::m_ValueDefault
CIntegerPolyRef m_ValueDefault
Reference to the default value which is used if the index has no matching entry.
Definition: Integer.h:140
int64_t
__int64 int64_t
Definition: config-win32.h:21
GENAPI_NAMESPACE::CIntegerImpl
Core of the Integer node implementation.
Definition: Integer.h:51
GENAPI_NAMESPACE::ECachingMode
enum GENAPI_NAMESPACE::_ECachingMode ECachingMode
caching mode of a register
GENAPI_NAMESPACE::CIntegerImpl::InternalGetUnit
virtual GENICAM_NAMESPACE::gcstring InternalGetUnit()
Get the unit.
ValueT.h
Definition of the ValueT class template.
GENAPI_NAMESPACE::CIntegerImpl::m_ValuesIndexed
std::map< int64_t, CIntegerPolyRef > m_ValuesIndexed
Map storing the indexed values by index.
Definition: Integer.h:137
GENAPI_NAMESPACE::CIntegerImpl::SetInvalid
virtual void SetInvalid(ESetInvalidMode simMode)
GENAPI_NAMESPACE::int64_autovector_t
Vector of integers with reference counting.
Definition: Autovector.h:54
GENAPI_NAMESPACE::CIntegerImpl::GetProperty
virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const
GENAPI_NAMESPACE::CIntegerImpl::InternalGetMax
virtual int64_t InternalGetMax()
Get maximum value allowed.
GENAPI_NAMESPACE::CIntegerImpl::m_Index
CIntegerPolyRef m_Index
Reference to the index value.
Definition: Integer.h:152
GENAPI_NAMESPACE::CIntegerImpl::InternalGetRepresentation
virtual ERepresentation InternalGetRepresentation()
Get recommended representation.
GENAPI_NAMESPACE::CIntegerImpl::InternalGetInc
virtual int64_t InternalGetInc()
Get increment.
GENAPI_NAMESPACE::CIntegerImpl::m_ValuesCopy
std::list< CIntegerPolyRef > m_ValuesCopy
List storing the main value and the copy values.
Definition: Integer.h:131
GENAPI_NAMESPACE::CIntegerImpl::FinalConstruct
virtual void FinalConstruct()
finishes the constriction of the node
IntegerT.h
Definition of the IntegerT class template.
GENAPI_NAMESPACE::CIntegerImpl::InternalGetValue
virtual int64_t InternalGetValue(bool Verify=false, bool IgnoreCache=false)
Get feature value.
GENAPI_NAMESPACE::CIntegerImpl::m_ValidValueSet
int64_autovector_impl m_ValidValueSet
The list of valid values for the integer.
Definition: Integer.h:161
GENAPI_NAMESPACE::_autovector_impl< int64_t, int64_autovector_t >


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:11