Include :

- migliorie a interfacce
- velocizzate ToString.
This commit is contained in:
Dario Sassi
2014-03-12 21:21:38 +00:00
parent ab1759c708
commit 256849cc70
3 changed files with 74 additions and 14 deletions
+13 -2
View File
@@ -13,7 +13,15 @@
#pragma once
#include <stdlib.h>
#include <string>
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
#if defined( I_AM_EGK) // da definirsi solo nella DLL
#define EGK_EXPORT __declspec( dllexport)
#else
#define EGK_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
static const int MAX_RGB = 255 ;
@@ -57,7 +65,7 @@ class Color
{ return ( m_Col[BLUE] * INV_MAX_RGB) ; }
float GetAlpha( void) const
{ return ( m_Col[ALPHA] * INV_MAX_ALPHA) ; }
bool operator == ( const Color& other)
bool operator == ( const Color& other) const
{ return ( m_Col[RED] == other.m_Col[RED] &&
m_Col[GREEN] == other.m_Col[GREEN] &&
m_Col[BLUE] == other.m_Col[BLUE] &&
@@ -92,3 +100,6 @@ const Color LBLUE( 128, 128, 255) ;
const Color LCYAN( 128, 255, 255) ;
const Color LMAGENTA( 255, 128, 255) ;
//----------------------------------------------------------------------------
EGK_EXPORT bool GetStdColor( const std::string& sName, Color& cCol) ;
EGK_EXPORT bool GetNameOfStdColor( const Color& cCol, std::string& sName) ;
+3
View File
@@ -29,10 +29,13 @@ class __declspec( novtable) IGdbIterator
public :
virtual ~IGdbIterator( void) {}
virtual bool SetGDB( IGeomDB* pGDB) = 0 ;
virtual IGeomDB* GetGDB( void) = 0 ;
virtual bool GoTo( int nId) = 0 ;
virtual bool GoToFirstInGroup( int nIdGroup) = 0 ;
virtual bool GoToFirstInGroup( const IGdbIterator& iIter) = 0 ;
virtual bool GoToNext( void) = 0 ;
virtual bool GoToLastInGroup( int nIdGroup) = 0 ;
virtual bool GoToLastInGroup( const IGdbIterator& iIter) = 0 ;
virtual bool GoToPrev( void) = 0 ;
virtual GdbType GetGdbType( void) const = 0 ;
+58 -12
View File
@@ -15,6 +15,7 @@
#include "/EgtDev/Include/EGnStringUtils.h"
#include "/EgtDev/Include/EGkFrame3d.h"
#include "/EgtDev/Include/EGkColor.h"
//----------------------- Macro per import/export -----------------------------
#undef EGK_EXPORT
@@ -29,31 +30,76 @@ EGK_EXPORT bool FromString( const std::string& sVal, Vector3d& vtVal) ;
EGK_EXPORT bool FromString( const std::string& sVal, Point3d& ptVal) ;
EGK_EXPORT bool FromString( const std::string& sVal, Point3d& ptVal, double& dW) ;
EGK_EXPORT bool FromString( const std::string& sVal, Frame3d& frFrame) ;
EGK_EXPORT bool FromString( const std::string& sVal, Color& cCol) ;
inline const std::string
ToString( const Vector3d& vtVal, int nPrec = 9)
{ std::string sBuff ;
sBuff.reserve( 3 * 32 + 2) ;
sBuff = ToString( vtVal.x, nPrec) + ',' + ToString( vtVal.y, nPrec) + ',' + ToString( vtVal.z, nPrec) ;
sBuff.reserve( 64) ;
sBuff += ToString( vtVal.x, nPrec) ;
sBuff += ',' ;
sBuff += ToString( vtVal.y, nPrec) ;
sBuff += ',' ;
sBuff += ToString( vtVal.z, nPrec) ;
return sBuff ; }
inline const std::string
ToString( const Point3d& ptVal, int nPrec = 6)
{ std::string sBuff ;
sBuff.reserve( 3 * 32 + 2) ;
sBuff = ToString( ptVal.x, nPrec) + ',' + ToString( ptVal.y, nPrec) + ',' + ToString( ptVal.z, nPrec) ;
sBuff.reserve( 64) ;
sBuff += ToString( ptVal.x, nPrec) ;
sBuff += ',' ;
sBuff += ToString( ptVal.y, nPrec) ;
sBuff += ',' ;
sBuff += ToString( ptVal.z, nPrec) ;
return sBuff ; }
inline const std::string
ToString( const Point3d& ptVal, double dW, int nPrec = 6)
{ std::string sBuff ;
sBuff.reserve( 3 * 32 + 2) ;
sBuff = ToString( ptVal.x, nPrec) + ',' + ToString( ptVal.y, nPrec) + ',' + ToString( ptVal.z, nPrec) +
',' + ToString( dW, nPrec) ;
sBuff.reserve( 64) ;
sBuff += ToString( ptVal.x, nPrec) ;
sBuff += ',' ;
sBuff += ToString( ptVal.y, nPrec) ;
sBuff += ',' ;
sBuff += ToString( ptVal.z, nPrec) ;
sBuff += ',' ;
sBuff += ToString( dW, nPrec) ;
return sBuff ; }
inline const std::string
ToString( const Frame3d& frF, int nPrecP = 6, int nPrecV = 9)
{ std::string sBuff ;
sBuff.reserve( 12 * 32 + 2) ;
sBuff = ToString( frF.Orig().x, nPrecP) + ',' + ToString( frF.Orig().y, nPrecP) + ',' + ToString( frF.Orig().z, nPrecP) + ',' +
ToString( frF.VersX().x, nPrecV) + ',' + ToString( frF.VersX().y, nPrecV) + ',' + ToString( frF.VersX().z, nPrecV) + ',' +
ToString( frF.VersY().x, nPrecV) + ',' + ToString( frF.VersY().y, nPrecV) + ',' + ToString( frF.VersY().z, nPrecV) + ',' +
ToString( frF.VersZ().x, nPrecV) + ',' + ToString( frF.VersZ().y, nPrecV) + ',' + ToString( frF.VersZ().z, nPrecV) ;
sBuff.reserve( 256) ;
sBuff += ToString( frF.Orig().x, nPrecP) ;
sBuff += ',' ;
sBuff += ToString( frF.Orig().y, nPrecP) ;
sBuff += ',' ;
sBuff += ToString( frF.Orig().z, nPrecP) ;
sBuff += ',' ;
sBuff += ToString( frF.VersX().x, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersX().y, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersX().z, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersY().x, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersY().y, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersY().z, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersZ().x, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersZ().y, nPrecV) ;
sBuff += ',' ;
sBuff += ToString( frF.VersZ().z, nPrecV) ;
return sBuff ; }
inline const std::string
ToString( const Color& cCol)
{ std::string sBuff ;
sBuff.reserve( 32) ;
sBuff += ToString( cCol.GetIntRed()) ;
sBuff += ',' ;
sBuff += ToString( cCol.GetIntGreen()) ;
sBuff += ',' ;
sBuff += ToString( cCol.GetIntBlue()) ;
sBuff += ',' ;
sBuff += ToString( cCol.GetIntAlpha()) ;
return sBuff ; }