34#include <NDEVR/DrillHole.h>
49 TranslatedString row_name_format;
50 TranslatedString hole_name_format;
59 bool operator!=(
const HoleLayout& pattern)
const
61 return row_name_format != pattern.row_name_format
62 || hole_name_format != pattern.hole_name_format
63 || row_spacing != pattern.row_spacing
64 || hole_spacing != pattern.hole_spacing
65 || row_skew != pattern.row_skew
66 || row_count != pattern.row_count
67 || holes_per_row != pattern.holes_per_row
68 || stagger != pattern.stagger;
72 DrillPattern(
const Model& root, fltp08 default_radius = Constant<fltp08>::Invalid);
73 DrillHole addCollar(TranslatedString collar_name = TranslatedString());
74 DrillHole addCollar(uint04 collar_number);
75 void setupCollar(Model& collar);
76 void addHolePath(
const TranslatedString& collar_name,
const TranslatedString& path_name,
const Buffer<fltp08>& data, fltp08 radius = Constant<fltp08>::Invalid);
77 void addHolePath(
const TranslatedString& collar_name,
const TranslatedString& path_name,
const Buffer<Vertex<3, fltp08>>& data, fltp08 radius = Constant<fltp08>::Invalid);
79 void addHolePath(
const TranslatedString& row_name,
const TranslatedString& collar_name,
const TranslatedString& path_name,
const Buffer<fltp08>& data, fltp08 radius = Constant<fltp08>::Invalid);
80 void addHolePath(
const TranslatedString& row_name,
const TranslatedString& collar_name,
const TranslatedString& path_name,
const Buffer<Vertex<3, fltp08>>& data, fltp08 radius = Constant<fltp08>::Invalid);
82 void setPathVisible(
const TranslatedString& path,
bool is_visible);
83 Model addRow(
const TranslatedString& row_name);
84 Model addRow(
const uint04& row_number,
bool auto_offset);
85 Model addHole(
const uint04& row_number);
86 static TranslatedString DefaultRowName(uint04 row_number, TranslatedString row_name_format = TranslatedString());
87 static TranslatedString DefaultHoleName(uint04 row_number, uint04 hole_number, TranslatedString hole_name_format = TranslatedString());
89 HoleLayout getLayout()
const;
92 Buffer<Model> rows()
const;
94 fltp08 defaultRadius()
const;
96 void layoutPattern(
const HoleLayout& layout, Buffer<Model>& added_models, Buffer<Model>& unused_models);
99 TranslatedString holeNamingConvension()
const;
100 void setHoleNamingConvension(
const TranslatedString& value);
101 void autoNameHoles();
103 TranslatedString rowNamingConvension()
const;
104 void setRowNamingConvension(
const TranslatedString& value);
107 static constexpr const char* TypeName() {
return "drill_pattern"; }
108 static constexpr const char* RowTypeName() {
return "drill_pattern_row"; }
bool operator!=(const VkVertexInputAttributeDescription &a, const VkVertexInputAttributeDescription &b)
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:149