Include :

- sistemazioni varie.
This commit is contained in:
Dario Sassi
2015-06-30 14:07:41 +00:00
parent 9fc0e7b51d
commit 4ecd735929
9 changed files with 160 additions and 29 deletions
+5 -3
View File
@@ -28,9 +28,11 @@ class __declspec( novtable) ICurve : public IGeoObj
PP_START = 1, // punto coincidente con l'inizio
PP_MID = 2, // punto appartenente all'interno della curva
PP_END = 3} ; // punto coincidente con la fine
enum ApprLineType { APL_STD = 0, // approssimazione standard
APL_LEFT = 1, // linee sempre a sinistra
APL_RIGHT = 2} ; // linee sempre a destra
enum ApprLineType { APL_STD = 0, // approssimazione standard
APL_LEFT = 1, // linee sempre a sinistra
APL_LEFT_CONVEX = 11, // linee sempre a sinistra convesse
APL_RIGHT = 2, // linee sempre a destra
APL_RIGHT_CONVEX = 12} ; // linee sempre a destra convesse
enum OffType { OFF_FILLET = 0, // si raccordano con arco gli spigoli esterni
OFF_CHAMFER = 1, // si raccordano con smusso gli spigoli esterni
OFF_EXTEND = 2, // si prolungano all'intersezione gli spigoli esterni
+12 -4
View File
@@ -2,7 +2,7 @@
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EGkIntersLineSurfTm.h Data : 18.02.15 Versione : 1.6b7
// Contenuto : Dichiarazione della classe intersezione linea/piano.
// Contenuto : Dichiarazione della classe intersezione Linea/SurfTriMesh.
//
//
//
@@ -13,7 +13,8 @@
#pragma once
#include "/EgtDev/Include/EGkTriangle3d.h"
#include "/EgtDev/Include/EGkSurfTriMesh.h"
#include "/EgtDev/Include/EGkIntersLineTria.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
@@ -26,12 +27,19 @@
//-----------------------------------------------------------------------------
//! dati di intersezione linea - superficie trimesh
struct IntLinStmInfo {
int nILTT ; //!< tipo di intersezione linea-triangolo
double dU ; //!< parametro sulla linea
double dU2 ; //!< secondo parametro sulla linea
int nT ; //!< indice del triangolo della superficie trimesh
double dCosDN ; //!< coseno dell'angolo tra la direzione della linea e la normale del triangolo
Point3d ptI ; //!< punto di intersezione
Point3d ptI2 ; //!< secondo punto di intersezione (termine di tratto sovrapposto)
// costruttori
IntLinStmInfo( void) : dU( 0), nT(0), ptI() {}
IntLinStmInfo( double dUU, int nTT, const Point3d& ptP) : dU( dUU), nT( nTT), ptI( ptP) {}
IntLinStmInfo( void) : nILTT( ILTT_NO), dU( 0), dU2( 0), nT(0), dCosDN(0), ptI(), ptI2() {}
IntLinStmInfo( int nIL, double dUU, int nTT, double dCos, const Point3d& ptP)
: nILTT( nIL), dU( dUU), dU2( 0), nT( nTT), dCosDN( dCos), ptI( ptP), ptI2() {}
IntLinStmInfo( int nIL, double dUU, double dUU2, int nTT, double dCos, const Point3d& ptP, const Point3d& ptP2)
: nILTT( nIL), dU( dUU), dU2( dUU2), nT( nTT), dCosDN( dCos), ptI( ptP), ptI2( ptP2) {}
} ;
//! vettore di IntLinStmInfo
typedef std::vector<IntLinStmInfo> ILSIVECTOR ;
+5 -4
View File
@@ -32,7 +32,8 @@ EGK_EXPORT int IntersLineTria( const Point3d& ptL, const Vector3d& vtL, double d
//-----------------------------------------------------------------------------
// Tipo di intersezione linea-triangolo
enum IntLineTriaType { ILTT_NO = 0, // non c'è intersezione
ILTT_SEGM = 1, // una parte di linea appartiene al triangolo
ILTT_VERT = 2, // intersezione coincide con un vertice
ILTT_EDGE = 3, // intersezione coincide con interno di un lato
ILTT_IN = 4} ; // intersezione coincide con interno del triangolo
ILTT_SEGM = 1, // una parte di linea appartiene all'interno del triangolo
ILTT_SEGM_ON_EDGE = 2, // una parte di linea appartiene ad un lato del triangolo
ILTT_VERT = 3, // intersezione coincide con un vertice
ILTT_EDGE = 4, // intersezione coincide con interno di un lato
ILTT_IN = 5} ; // intersezione coincide con interno del triangolo
+1
View File
@@ -106,6 +106,7 @@ class PolyLine
EGK_EXPORT bool AdjustForMaxSegmentLen( double dMaxLen) ;
EGK_EXPORT bool RemoveAlignedPoints( double dToler = EPS_SMALL) ;
EGK_EXPORT bool ApproxOnSide( const Vector3d& vtN, bool bLeftSide, double dToler = EPS_SMALL) ;
EGK_EXPORT bool MakeConvex( const Vector3d& vtN, bool bLeftSide) ;
EGK_EXPORT bool Invert( bool bInvertU = true) ;
private :
+29
View File
@@ -0,0 +1,29 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EmkDispositionConst.h Data : 22.06.15 Versione : 1.6f4
// Contenuto : Costanti delle disposizioni.
//
//
//
// Modifiche : 22.06.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
//------------------------ Costanti per flag MoveToCorner ---------------------
// indica la posizione del corner rispetto al grezzo
enum RawPartCornerPos { MCH_CR_TL = 1, // top left
MCH_CR_TR = 2, // top right
MCH_CR_BL = 3, // bottom left
MCH_CR_BR = 4} ; // bottom right
//------------------------ Costanti per flag MoveToCenter ---------------------
// indica la posizione del centro rispetto al grezzo
enum RawPartCenterPos { MCH_CE_TC = 1, // top center
MCH_CE_ML = 2, // middle left
MCH_CE_MR = 3, // middle right
MCH_CE_BC = 4, // bottom center
MCH_CE_MC = 5} ; // middle center under
+4 -15
View File
@@ -85,6 +85,10 @@ class __declspec( novtable) IMachMgr
virtual bool VerifyOutOfStroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) = 0 ;
// Operations
virtual int AddMachining( const std::string& sName, const std::string& sMachining) = 0 ;
virtual bool SetMachiningParam( int nType, bool bVal) = 0 ;
virtual bool SetMachiningParam( int nType, int nVal) = 0 ;
virtual bool SetMachiningParam( int nType, double dVal) = 0 ;
virtual bool SetMachiningParam( int nType, const std::string& sVal) = 0 ;
virtual bool SetMachiningGeometry( const SELVECTOR& vIds) = 0 ;
virtual bool Apply( void) = 0 ;
} ;
@@ -93,18 +97,3 @@ class __declspec( novtable) IMachMgr
extern "C" {
EMK_EXPORT IMachMgr* CreateMachMgr(void) ;
}
//------------------------ Costanti per flag MoveToCorner ---------------------
// indica la posizione del corner rispetto al grezzo
enum RawPartCornerPos { MCH_CR_TL = 1, // top left
MCH_CR_TR = 2, // top right
MCH_CR_BL = 3, // bottom left
MCH_CR_BR = 4} ; // bottom right
//------------------------ Costanti per flag MoveToCenter ---------------------
// indica la posizione del centro rispetto al grezzo
enum RawPartCenterPos { MCH_CE_TC = 1, // top center
MCH_CE_ML = 2, // middle left
MCH_CE_MR = 3, // middle right
MCH_CE_BC = 4, // bottom center
MCH_CE_MC = 5} ; // middle center under
+95
View File
@@ -0,0 +1,95 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EmkMachiningConst.h Data : 22.06.15 Versione : 1.6f4
// Contenuto : Costanti delle lavorazioni.
//
//
//
// Modifiche : 22.06.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
//----------------------------------------------------------------------------
// Costanti famiglie di parametri ( i primi 12 bit (0-4095) restano liberi)
const int MPA_BOOL = 0x1000 ;
const int MPA_INT = 0x2000 ;
const int MPA_DOU = 0x4000 ;
const int MPA_STR = 0x8000 ;
// Costanti tipo parametri modificabili direttamente nelle lavorazioni
enum MpaType { MPA_NONE = 0,
MPA_INVERT = ( MPA_BOOL+ 0),
MPA_TOANDFROM = ( MPA_BOOL+ 1),
MPA_LEAVETAB = ( MPA_BOOL+ 2),
MPA_WORKSIDE = ( MPA_INT + 0),
MPA_HEADSIDE = ( MPA_INT + 1),
MPA_LEADINTYPE = ( MPA_INT + 2),
MPA_EXTLINKTYPE = ( MPA_INT + 3),
MPA_LEADOUTTYPE = ( MPA_INT + 4),
MPA_CURVEUSE = ( MPA_INT + 5),
MPA_STEPTYPE = ( MPA_INT + 6),
MPA_TOOLSPEED = ( MPA_DOU + 0),
MPA_TOOLFEED = ( MPA_DOU + 1),
MPA_TOOLSTARTFEED = ( MPA_DOU + 2),
MPA_TOOLENDFEED = ( MPA_DOU + 3),
MPA_TOOLTIPFEED = ( MPA_DOU + 4),
MPA_TOOLOFFSR = ( MPA_DOU + 5),
MPA_TOOLOFFSL = ( MPA_DOU + 6),
MPA_DEPTH = ( MPA_DOU + 7),
MPA_SIDEANGLE = ( MPA_DOU + 8),
MPA_APPROX = ( MPA_DOU + 9),
MPA_STARTPOS = ( MPA_DOU + 10),
MPA_STARTSLOWLEN = ( MPA_DOU + 11),
MPA_ENDSLOWLEN = ( MPA_DOU + 12),
MPA_THROUADDLEN = ( MPA_DOU + 13),
MPA_STEP = ( MPA_DOU + 14),
MPA_RETURNPOS = ( MPA_DOU + 15),
MPA_OVERLAP = ( MPA_DOU + 16),
MPA_TABLEN = ( MPA_DOU + 17),
MPA_TABDIST = ( MPA_DOU + 18),
MPA_TABHEIGHT = ( MPA_DOU + 19),
MPA_TABANGLE = ( MPA_DOU + 20),
MPA_LITANG = ( MPA_DOU + 21),
MPA_LIPERP = ( MPA_DOU + 22),
MPA_LIELEV = ( MPA_DOU + 23),
MPA_LICOMPLEN = ( MPA_DOU + 24),
MPA_LOTANG = ( MPA_DOU + 25),
MPA_LOPERP = ( MPA_DOU + 26),
MPA_LOELEV = ( MPA_DOU + 27),
MPA_LOCOMPLEN = ( MPA_DOU + 28),
MPA_TOOL = ( MPA_STR + 0),
MPA_DEPTH_STR = ( MPA_STR + 1)} ;
//----------------------------------------------------------------------------
// Parametri per lavorazione con lama
// Lato di lavoro
enum { SAW_WS_CENTER = 0,
SAW_WS_LEFT = 1,
SAW_WS_RIGHT = 2 } ;
// Lato di posizionamento della testa
enum { SAW_HS_LEFT = 1,
SAW_HS_RIGHT = 2 } ;
// Tipo di attacco
enum { SAW_LI_CENT = 0,
SAW_LI_STRICT = 1,
SAW_LI_OUT = 2,
SAW_LI_EXT_CENT = 3,
SAW_LI_EXT_OUT = 4} ;
// Tipo di link esterno
enum { SAW_EL_CENT = 0,
SAW_EL_EXT_PREV = 1,
SAW_EL_EXT_NEXT = 2,
SAW_EL_EXT_BOTH = 3} ;
// Tipo di uscita
enum { SAW_LO_CENT = 0,
SAW_LO_STRICT = 1,
SAW_LO_EXT = 2} ;
// Gestione curve
enum { SAW_CRV_SKIP = 0,
SAW_CRV_APPROX = 1,
SAW_CRV_CONVEX = 2} ;
+5 -3
View File
@@ -27,7 +27,9 @@ enum RefType{ RTY_GLOB = 0,
const int RTY_DEFAULT = RTY_LOC ;
//----------------- Costanti tipo di approssimazione di curve ------------------
enum ApprType{ APP_LINES = 0, // come ICurve::APL_STD
APP_LEFT_LINES = 1, // come ICurve::APL_LEFT
APP_RIGHT_LINES = 2, // come ICurve::APL_RIGHT
enum ApprType{ APP_LINES = 0, // come ICurve::APL_STD
APP_LEFT_LINES = 1, // come ICurve::APL_LEFT
APP_LEFT_CONVEX_LINES = 11, // come ICurve::APL_LEFT_CONVEX
APP_RIGHT_LINES = 2, // come ICurve::APL_RIGHT
APP_RIGHT_CONVEX_LINES = 12, // come ICurve::APL_RIGHT_CONVEX
APP_ARCS = 3} ;
+4
View File
@@ -432,6 +432,10 @@ EXE_EXPORT bool ExeGetCalcPositions( const Point3d& ptP, double dAngA, double dA
int& nStat, double& dX, double& dY, double& dZ) ;
EXE_EXPORT bool ExeVerifyOutOfStroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) ;
EXE_EXPORT int ExeAddMachining( const std::string& sName, const std::string& sMachining) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, bool bVal) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, int nVal) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, double dVal) ;
EXE_EXPORT bool ExeSetMachiningParam( int nType, const std::string& sVal) ;
EXE_EXPORT bool ExeSetMachiningGeometry( const SELVECTOR& vIds) ;
EXE_EXPORT bool ExeApplyMachining( void) ;