Files
EgtGeomKernel/StringUtils3d.cpp
T
DarioS de34cfb7e8 EgtGeomKernel :
- sistemate minuscole/maiuscole in #include.
2022-02-26 17:47:48 +01:00

87 lines
2.6 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : StringUtils3d.cpp Data : 10.03.14 Versione : 1.5c3
// Contenuto : Implementazione delle funzioni di utilità 3d per le stringhe.
//
//
//
// Modifiche : 31.01.14 DS Creazione modulo (preso da EgtGeneral).
// 10.03.14 DS Aggiunta lettura Frame3d.
//
//----------------------------------------------------------------------------
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
#include "/EgtDEv/Include/EGkStringUtils3d.h"
using namespace std ;
//----------------------------------------------------------------------------
bool
FromString( const string& sVal, Point3d& ptVal, double& dW)
{
double vdVal[4] ;
if ( ! FromString( sVal, vdVal))
return false ;
ptVal.x = vdVal[0] ;
ptVal.y = vdVal[1] ;
ptVal.z = vdVal[2] ;
dW = vdVal[3] ;
return true ;
}
//----------------------------------------------------------------------------
bool
FromString( const string& sVal, BBox3d& b3Box)
{
// devono essere 6 parametri : MinX, MinY, MinZ, MaxX, MaxY, MaxZ
double vdVal[6] ;
if ( ! FromString( sVal, vdVal))
return false ;
// imposto il box
b3Box.Set( vdVal[0], vdVal[1], vdVal[2], vdVal[3], vdVal[4], vdVal[5]) ;
return true ;
}
//----------------------------------------------------------------------------
bool
FromString( const string& sVal, Frame3d& frFrame)
{
// devono essere 12 parametri : Ox, Oy, Oz, Xx, Xy, Xz, Yx, Yy, Yz, Zx, Zy, Zz
double vdVal[12] ;
if ( ! FromString( sVal, vdVal))
return false ;
Point3d ptOrig ;
ptOrig.x = vdVal[0] ;
ptOrig.y = vdVal[1] ;
ptOrig.z = vdVal[2] ;
Vector3d vtDirX ;
vtDirX.x = vdVal[3] ;
vtDirX.y = vdVal[4] ;
vtDirX.z = vdVal[5] ;
Vector3d vtDirY ;
vtDirY.x = vdVal[6] ;
vtDirY.y = vdVal[7] ;
vtDirY.z = vdVal[8] ;
Vector3d vtDirZ ;
vtDirZ.x = vdVal[9] ;
vtDirZ.y = vdVal[10] ;
vtDirZ.z = vdVal[11] ;
// imposto il riferimento
return frFrame.Set( ptOrig, vtDirX, vtDirY, vtDirZ) ;
}
//----------------------------------------------------------------------------
bool
FromString( const string& sVal, Color& cCol)
{
// devono essere 4 parametri : Red, Green, Blue, Alpha
int vnVal[4] ;
if ( ! FromString( sVal, vnVal))
return false ;
// assegno il colore
cCol.Set( vnVal[0], vnVal[1], vnVal[2], vnVal[3]) ;
return true ;
}