7 #include "../OdbFile.h"
12 #include "../../enums.h"
13 #include "../../IProtoBuffable.h"
14 #include "../../ProtoBuf/matrixfile.pb.h"
17 namespace Odb::Lib::FileModel::Design
27 unsigned int id = (
unsigned int) -1;
30 typedef std::vector<std::shared_ptr<StepRecord>> Vector;
32 inline static const char* RECORD_TOKEN =
"STEP";
35 std::unique_ptr<Odb::Lib::Protobuf::MatrixFile::StepRecord> to_protobuf()
const override;
36 void from_protobuf(
const Odb::Lib::Protobuf::MatrixFile::StepRecord& message)
override;
64 enum class DielectricType
77 typedef std::vector<std::shared_ptr<LayerRecord>> Vector;
84 DielectricType dielectricType = DielectricType::None;
85 std::string dielectricName;
86 Form form = Form::Rigid;
87 unsigned int cuTop = (
unsigned int) -1;
88 unsigned int cuBottom = (
unsigned int) -1;
89 unsigned int ref = (
unsigned int) -1;
90 std::string startName;
95 unsigned int id = (
unsigned int) -1;
97 inline static const char* RECORD_TOKEN =
"LAYER";
100 std::unique_ptr<Odb::Lib::Protobuf::MatrixFile::LayerRecord> to_protobuf()
const override;
101 void from_protobuf(
const Odb::Lib::Protobuf::MatrixFile::LayerRecord& message)
override;
104 const LayerRecord::Vector& GetLayerRecords()
const;
105 const StepRecord::Vector& GetStepRecords()
const;
108 bool Parse(std::filesystem::path path)
override;
110 static inline bool attributeValueIsOptional(
const std::string& attribute);
113 std::unique_ptr<Odb::Lib::Protobuf::MatrixFile> to_protobuf()
const override;
114 void from_protobuf(
const Odb::Lib::Protobuf::MatrixFile& message)
override;
117 LayerRecord::Vector m_layerRecords;
118 StepRecord::Vector m_stepRecords;
120 constexpr
inline static const char* OPTIONAL_ATTRIBUTES[] =