EgtExchange :

- impostazione parametri del cubo
- Visualizzazione del cubo
This commit is contained in:
Riccardo Elitropi
2022-10-17 08:40:53 +02:00
parent 7294508074
commit e5a7ec2ff6
4 changed files with 177 additions and 513 deletions
+7 -2
View File
@@ -106,7 +106,7 @@ class Scene : public IEGrScene
bool ZoomChange( double dCoeff) override ;
bool ZoomOnPoint( const Point3d& ptWin, double dCoeff) override ;
bool ZoomWin( const Point3d& ptWin1, const Point3d& ptWin2) override ;
bool RotateCameraWithCube( void) ;
bool RotateCameraWithCube() ;
// ShowMode
bool SetShowMode( int nShowMode) override
{ if ( nShowMode != SM_WIREFRAME &&
@@ -147,6 +147,7 @@ class Scene : public IEGrScene
bool SetGlobFrameShow( bool bShow) override ;
// Glob Cube
bool SetGlobCubeShow( bool bShow) override ;
bool SetGlobCubeParameters( double dposX, double dPosY, double dEdge) override ;
// Direct
bool SetGeoLineAttribs( Color GLcol) override ;
bool SetGeoLine( const Point3d& ptP1, const Point3d& ptP2) override ;
@@ -197,7 +198,7 @@ class Scene : public IEGrScene
bool GetImage( int nShowMode, Color colBackTop, Color colBackBottom,
int nDestWidth, int nDestHeight, const std::string& sFile) override ;
// Cube
bool GetAngleByCubeFace( double& dTheta, double& dPhi, int nFaceId) ;
bool GetAngleByCubeFace(int nFaceId, double& dTheta, double& dPhi) ;
public :
// Basic
@@ -366,6 +367,10 @@ class Scene : public IEGrScene
// Glob Cube
bool m_bShowGlobCube ; // flag di visualizzazione del cubetto
Point3d m_ptOrigCube ; // centro del cubo in cordinate globali
double m_dCubeEdge ; // lunghezza del lato del cubo
double m_dCubeX ; // centro X del cubo sullo schermo
double m_dCubeY ; // centro Y del cubo sullo schermo
int m_nStartFaceId ; // nuovo id iniziale utilizzato per assegnare un id univoco e non in uso alle facce del cubo
// Direct
Color m_colorGL ; // colore per GeoLine
bool m_bGeoLine ; // flag esistenza linea diretta in finestra
+2
View File
@@ -834,6 +834,8 @@ Scene::MyDraw( bool bSwapBF)
// disegno riferimento globale
DrawGlobFrame() ;
// disegno il cubetto
DrawGlobCube();
+166 -511
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -111,6 +111,8 @@ Scene::Select( const Point3d& ptSelCenter, int nW, int nH, int& nSel)
// riordino il buffer di selezione secondo la Zdepth minima crescente
qsort( m_nSelBuff, m_nSelNbr, sizeof( SelRec), CompareSelRec) ;
// controllo se ho selezionato una superficie sul cubetto
if ( RotateCameraWithCube())
;