Files
EgtGeomKernel/StringUtils3d.cpp
T
Dario Sassi 08831a6849 EgtGeomKernel 1.6d2 :
- BBox3d aggiunta LocToLoc e migliorati i controlli per validità
- aggiunta gestione estrusione nell'ingombro delle curve
- a CurveComposite aggiunta funzione che la chiude
- in GdbIterator aggiunte GoTo con nome
- in GeomDB aggiunte Get con nome
- in GeomDB aggiunto swap tra gruppi con gestione di base, sorgente e lista referenti
- migliorata gestione materiale ereditato in Relocate
- aggiunte SetInfo e GetInfo con INTVECTOR e DBLVECTOR
- aggiunte FromString e ToString con BBox3d.
2015-04-16 06:47:52 +00: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 ;
}