//---------------------------------------------------------------------------- // 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 #include //---------------------------------------------------------------------------- // 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 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 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 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 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" ;