Float.h
Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 //  (c) 2006-8 by Basler Vision Technologies
00003 //  Section: Vision Components
00004 //  Project: GenApi
00005 //  Author:  Hartmut Nebelung, Fritz Dierks
00006 //  $Header$
00007 //
00008 //  License: This file is published under the license of the EMVA GenICam  Standard Group.
00009 //  A text file describing the legal terms is included in  your installation as 'GenICam_license.pdf'.
00010 //  If for some reason you are missing  this file please contact the EMVA or visit the website
00011 //  (http://www.genicam.org) for a full copy.
00012 //
00013 //  THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
00014 //  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00015 //  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00016 //  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD  GROUP
00017 //  OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,
00018 //  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  LIMITED TO,
00019 //  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  DATA, OR PROFITS;
00020 //  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  THEORY OF LIABILITY,
00021 //  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE)
00022 //  ARISING IN ANY WAY OUT OF THE USE  OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00023 //  POSSIBILITY OF SUCH DAMAGE.
00024 //-----------------------------------------------------------------------------
00030 #ifndef GENAPI_FLOAT_H
00031 #define GENAPI_FLOAT_H
00032 
00033 #include "Base/GCString.h"
00034 #include "../IFloat.h"
00035 #include "Node.h"
00036 #include "BaseT.h"
00037 #include "ValueT.h"
00038 #include "NodeT.h"
00039 #include "FloatT.h"
00040 #include <map>
00041 
00042 #pragma warning ( push )
00043 #pragma warning ( disable : 4275 ) // non dll-interface XXX used as base for  dll-interface class YYY
00044 
00045 namespace GENAPI_NAMESPACE
00046 {
00047 
00051     class CFloatImpl : public IFloat, public CNodeImpl
00052     {
00053     public:
00054         //-------------------------------------------------------------
00056 
00057 
00058             CFloatImpl();
00060 
00061     protected:
00062         //-------------------------------------------------------------
00064 
00065 
00066             virtual EAccessMode InternalGetAccessMode() const;
00067 
00069             virtual EInterfaceType InternalGetPrincipalInterfaceType() const
00070             {
00071                 return intfIFloat;
00072             }
00074 
00075     protected:
00076         //-------------------------------------------------------------
00078 
00079 
00080             virtual void InternalSetValue(double Value, bool Verify = true);
00081 
00083             virtual double InternalGetValue(bool Verify = false, bool IgnoreCache = false) const;
00084 
00086             virtual double InternalGetMin() const;
00087 
00089             virtual double InternalGetMax() const;
00090 
00092             virtual bool InternalHasInc();
00093 
00095             virtual double InternalGetInc();
00096 
00098             virtual const double_autovector_t InternalGetListOfValidValues();
00099 
00101             virtual  ERepresentation InternalGetRepresentation() const;
00102 
00104             virtual GENICAM_NAMESPACE::gcstring InternalGetUnit() const;
00105 
00107             virtual EDisplayNotation InternalGetDisplayNotation() const;
00108 
00110             virtual int64_t InternalGetDisplayPrecision() const;
00112 
00113     protected:
00114         //-------------------------------------------------------------
00116 
00117 
00119         virtual ECachingMode InternalGetCachingMode() const;
00121 
00122 
00123         virtual void SetInvalid(ESetInvalidMode simMode);
00124 
00125     //-------------------------------------------------------------
00126     // Initializing
00127     //-------------------------------------------------------------
00128     public:
00129 
00130         
00131     virtual void SetProperty( CProperty &Property );
00132     virtual bool GetProperty( CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList ) const;
00133     
00134     protected:
00135         //-------------------------------------------------------------
00137 
00138 
00139             std::map<int64_t, CFloatPolyRef> m_ValuesIndexed;
00140 
00142             CFloatPolyRef m_ValueDefault;
00143 
00145             CFloatPolyRef m_Value;
00146 
00148             CFloatPolyRef m_Min;
00149 
00151             CFloatPolyRef m_Max;
00152 
00154             CFloatPolyRef m_Inc;
00155 
00157             CIntegerPolyRef m_Index;
00158 
00160             mutable ERepresentation m_Representation;
00161 
00163             GENICAM_NAMESPACE::gcstring m_Unit;
00164 
00166             EDisplayNotation m_DisplayNotation;
00167 
00169             int64_t m_DisplayPrecision;
00170 
00172     };
00173 
00177     class CFloat
00178         : public BaseT< ValueT< NodeT < FloatT < CFloatImpl > > > >
00179     {
00180     };
00181 }
00182 
00183 #pragma warning ( pop )
00184 
00185 #endif // GENAPI_FLOAT_H


rc_visard_driver
Author(s): Heiko Hirschmueller , Christian Emmerich , Felix Ruess
autogenerated on Thu Jun 6 2019 20:43:02