Files
Dario Sassi 992f5360b6 EgtGraphics 1.6b7 :
- griglia non più nascosta da oggetti in hiddenline
- corretta visualizzazione superfici trasparenti con riferimenti locali al gruppo
- con selezione oggetti, con il punto si ritorna indice di sotto-oggetto
- aggiunto snap-point di superfici e fatte correzioni in generale.
2015-03-11 07:49:00 +00:00

59 lines
1.9 KiB
C

//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EGrUtils.h Data : 24.10.14 Versione : 1.5j6
// Contenuto : Funzioni di utilità.
//
//
//
// Modifiche : 24.10.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkFrame3d.h"
//------------------------------ Constants -----------------------------------
const int OGLMAT_DIM = 16 ; // dimensione matrice di trasformazione per OpenGL
//----------------------------------------------------------------------------
inline bool
FrameToOpenGlMatrix( const Frame3d& frFrame, double Matrix[OGLMAT_DIM])
{
if ( frFrame.GetType() == Frame3d::ERR)
return false ;
Matrix[0] = frFrame.VersX().x ;
Matrix[1] = frFrame.VersX().y ;
Matrix[2] = frFrame.VersX().z ;
Matrix[3] = 0 ;
Matrix[4] = frFrame.VersY().x ;
Matrix[5] = frFrame.VersY().y ;
Matrix[6] = frFrame.VersY().z ;
Matrix[7] = 0 ;
Matrix[8] = frFrame.VersZ().x ;
Matrix[9] = frFrame.VersZ().y ;
Matrix[10] = frFrame.VersZ().z ;
Matrix[11] = 0 ;
Matrix[12] = frFrame.Orig().x ;
Matrix[13] = frFrame.Orig().y ;
Matrix[14] = frFrame.Orig().z ;
Matrix[15] = 1 ;
return true ;
}
//----------------------------------------------------------------------------
inline bool
OpenGlMatrixToFrame( const double Matrix[OGLMAT_DIM], Frame3d& frFrame)
{
// imposto solo Origine, VersZ e VersNearX per non avere errori di ortogonalità
return frFrame.Set( Point3d( Matrix[12], Matrix[13], Matrix[14]),
Vector3d( Matrix[8], Matrix[9], Matrix[10]),
Vector3d( Matrix[0], Matrix[1], Matrix[2])) ;
}