Files
DarioS 3f99541786 EgtExchange 2.4b3 :
- in import BTL aggiunta gestione RawParts (grezzi per nesting) e Composites (per pareti a layer).
2022-02-27 16:23:30 +01:00

259 lines
6.6 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2021-2021
//----------------------------------------------------------------------------
// File : BtlConst.h Data : 27.08.21 Versione : 2.3h2
// Contenuto : Dichiarazione costanti e funzioni per importazione BTL.
//
//
//
// Modifiche : 27.08.21 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include <array>
#include <string>
//----------------------------------------------------------------------------
// Commento
static const std::string KEY_COMMENT = "COMMENT" ;
// Sezioni
// HEADER non ha intestazione
static const std::string SEC_GENERAL = "[GENERAL]" ;
static const std::string SEC_RAWPART = "[RAWPART]" ;
static const std::string SEC_PART = "[PART]" ;
static const std::string SEC_COMPOSITE = "[COMPOSITE]" ;
// Chiavi HEADER
static const std::string KEY_VERSION = "VERSION" ;
static const std::string KEY_BUILD = "BUILD" ;
static const std::string KEY_EDITION = "EDITION" ;
//--- Chiavi GENERAL ---------------------------------------------------------
enum nGeneKey {
KEY_GENE_ARCHITECT = 0,
KEY_GENE_COMPUTERNAME,
KEY_GENE_CUSTOMER,
KEY_GENE_DELIVERYDATE,
KEY_GENE_EDITOR,
KEY_GENE_EXPORTDATE,
KEY_GENE_EXPORTFILE,
KEY_GENE_EXPORTRELEASE,
KEY_GENE_EXPORTTIME,
KEY_GENE_LANGUAGE,
KEY_GENE_LISTNAME,
KEY_GENE_PROCESSINGQUALITY,
KEY_GENE_PROJECTGUID,
KEY_GENE_PROJECTNAME,
KEY_GENE_PROJECTNUMBER,
KEY_GENE_PROJECTPART,
KEY_GENE_RANGE,
KEY_GENE_RECESS,
KEY_GENE_SCALEUNIT,
KEY_GENE_SOURCEFILE,
KEY_GENE_USER,
KEY_GENE_USERATTRIBUTE,
KEY_GENE_ZZZ
} ;
static const std::array<std::string,KEY_GENE_ZZZ> sGeneKey = {
"ARCHITECT",
"COMPUTERNAME",
"CUSTOMER",
"DELIVERYDATE",
"EDITOR",
"EXPORTDATE",
"EXPORTFILE",
"EXPORTRELEASE",
"EXPORTTIME",
"LANGUAGE",
"LISTNAME",
"PROCESSINGQUALITY",
"PROJECTGUID",
"PROJECTNAME",
"PROJECTNUMBER",
"PROJECTPART",
"RANGE",
"RECESS",
"SCALEUNIT",
"SOURCEFILE",
"USER",
"USERATTRIBUTE"
} ;
inline int
FindGeneralKey( const std::string& sKey)
{
auto TheRange = equal_range( sGeneKey.cbegin(), sGeneKey.cend(), sKey) ;
if ( TheRange.first == TheRange.second)
return - 1 ;
return int( TheRange.first - sGeneKey.cbegin()) ;
}
//--- Chiavi RAWPART ---------------------------------------------------------
enum nRawpKey {
KEY_RAWP_PROCESSKEY = 0,
KEY_RAWP_PROCESSPARAMETERS,
KEY_RAWP_REFERENCEPLANE,
KEY_RAWP_ZZZ
} ;
static const std::array<std::string,KEY_RAWP_ZZZ> sRawpKey = {
"PROCESSKEY",
"PROCESSPARAMETERS",
"REFERENCEPLANE"
} ;
inline int
FindRawPartKey( const std::string& sKey)
{
auto TheRange = equal_range( sRawpKey.cbegin(), sRawpKey.cend(), sKey) ;
if ( TheRange.first == TheRange.second)
return - 1 ;
return int( TheRange.first - sRawpKey.cbegin()) ;
}
//--- Chiavi PART ------------------------------------------------------------
enum nPartKey {
KEY_PART_ALIGNMENT = 0,
KEY_PART_ANNOTATION,
KEY_PART_APERTURE,
KEY_PART_ASSEMBLYNUMBER,
KEY_PART_CAMBER,
KEY_PART_COLOUR,
KEY_PART_COUNT,
KEY_PART_DESIGNATION,
KEY_PART_ELEMENTNUMBER,
KEY_PART_ENDOFFSET,
KEY_PART_GRAINDIRECTION,
KEY_PART_GROUP,
KEY_PART_HEIGHT,
KEY_PART_LAYER,
KEY_PART_LENGTH,
KEY_PART_MATERIAL,
KEY_PART_MATERIALTYPE,
KEY_PART_MODULENUMBER,
KEY_PART_ORDERNUMBER,
KEY_PART_OUTLINE,
KEY_PART_PACKAGE,
KEY_PART_PARTOFFSET,
KEY_PART_PLANINGLENGTH,
KEY_PART_PROCESSINGQUALITY,
KEY_PART_QUALITYGRADE,
KEY_PART_RECESS,
KEY_PART_REFERENCEPLANE,
KEY_PART_REFERENCESIDE,
KEY_PART_SINGLEMEMBERNUMBER,
KEY_PART_STARTOFFSET,
KEY_PART_STOREY,
KEY_PART_STOREYTYPE,
KEY_PART_TIMBERGRADE,
KEY_PART_TRANSFORMATION,
KEY_PART_TYPE,
KEY_PART_UID,
KEY_PART_USERATTRIBUTE,
KEY_PART_WIDTH,
KEY_PART_ZZZ
} ;
static const std::array<std::string,KEY_PART_ZZZ> sPartKey = {
"ALIGNMENT",
"ANNOTATION",
"APERTURE",
"ASSEMBLYNUMBER",
"CAMBER",
"COLOUR",
"COUNT",
"DESIGNATION",
"ELEMENTNUMBER",
"ENDOFFSET",
"GRAINDIRECTION",
"GROUP",
"HEIGHT",
"LAYER",
"LENGTH",
"MATERIAL",
"MATERIALTYPE",
"MODULENUMBER",
"ORDERNUMBER",
"OUTLINE",
"PACKAGE",
"PARTOFFSET",
"PLANINGLENGTH",
"PROCESSINGQUALITY",
"QUALITYGRADE",
"RECESS",
"REFERENCEPLANE",
"REFERENCESIDE",
"SINGLEMEMBERNUMBER",
"STARTOFFSET",
"STOREY",
"STOREYTYPE",
"TIMBERGRADE",
"TRANSFORMATION",
"TYPE",
"UID",
"USERATTRIBUTE",
"WIDTH"
} ;
inline int
FindPartKey( const std::string& sKey)
{
auto TheRange = equal_range( sPartKey.cbegin(), sPartKey.cend(), sKey) ;
if ( TheRange.first == TheRange.second)
return - 1 ;
return int( TheRange.first - sPartKey.cbegin()) ;
}
//--- Chiavi PROCESS ---------------------------------------------------------
enum nProcKey {
KEY_PROC_PRIORITY = 0,
KEY_PROC_PROCESS,
KEY_PROC_PROCESSIDENT,
KEY_PROC_PROCESSINGQUALITY,
KEY_PROC_PROCESSKEY,
KEY_PROC_PROCESSPARAMETERS,
KEY_PROC_RECESS,
KEY_PROC_REFERENCEPLANE,
KEY_PROC_USERATTRIBUTE,
KEY_PROC_ZZZ
} ;
static const std::array<std::string,KEY_PROC_ZZZ> sProcKey = {
"PRIORITY",
"PROCESS",
"PROCESSIDENT",
"PROCESSINGQUALITY",
"PROCESSKEY",
"PROCESSPARAMETERS",
"RECESS",
"REFERENCEPLANE",
"USERATTRIBUTE"
} ;
inline int
FindProcessKey( const std::string& sKey)
{
auto TheRange = equal_range( sProcKey.cbegin(), sProcKey.cend(), sKey) ;
if ( TheRange.first == TheRange.second)
return - 1 ;
return int( TheRange.first - sProcKey.cbegin()) ;
}
//--- Parametri --------------------------------------------------------------
static const std::string PAR_R = "R" ;
static const std::string PAR_G = "G" ;
static const std::string PAR_B = "B" ;
static const std::string PAR_A = "A" ;
static const std::string PAR_X = "X" ;
static const std::string PAR_Y = "Y" ;
static const std::string PAR_Z = "Z" ;
static const std::string PAR_ALIGN = "ALIGN" ;
static const std::string PAR_OX = "OX" ;
static const std::string PAR_OY = "OY" ;
static const std::string PAR_OZ = "OZ" ;
static const std::string PAR_XX = "XX" ;
static const std::string PAR_XY = "XY" ;
static const std::string PAR_XZ = "XZ" ;
static const std::string PAR_YX = "YX" ;
static const std::string PAR_YY = "YY" ;
static const std::string PAR_YZ = "YZ" ;
static const std::string PAR_PROCESS = "PROCESS" ;
static const std::string PAR_SIDE = "SIDE" ;
static const std::string PAR_P = "P" ;
static const std::string PAR_UID = "UID" ;