LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dimension.h
Go to the documentation of this file.
1 #pragma once
2 
5 #include "cad/base/cadentity.h"
6 
7 namespace lc {
8  namespace entity {
9 
10 
16  class Dimension {
17 
18  public:
19 
34  std::string const &explicitValue);
35 
46  double _angle);
47 
48 
49  Dimension(Dimension const &other);
50 
51  public:
57  // CADEntity_CSPtr move(const geo::Coordinate& offset) const;
58 
64  // CADEntity_CSPtr copy(const geo::Coordinate& offset) const;
65 
72  // CADEntity_CSPtr rotate(const geo::Coordinate& rotation_center, const double rotation_angle) const;
73 
80  // CADEntity_CSPtr scale(const geo::Coordinate& scale_center, const geo::Coordinate& scale_factor) const;
81 
82 
86  const geo::Coordinate &definitionPoint() const noexcept;
87 
91  const geo::Coordinate &middleOfText() const noexcept;
92 
94 
98  double textAngle() const;
99 
103  double lineSpacingFactor() const;
104 
109 
115  std::string explicitValue() const;
116 
117  private:
121  const double _textAngle;
122  const double _lineSpacingFactor;
124  const std::string _explicitValue;
125  };
126 
128  }
129 }
130 
131 // Dimension_H
132 
const TextConst::LineSpacingStyle _lineSpacingStyle
Definition: dimension.h:123
TextConst::LineSpacingStyle lineSpacingStyle() const
Definition: dimension.cpp:91
const geo::Coordinate & definitionPoint() const noexcept
move, moves by an offset
Definition: dimension.cpp:71
const std::string _explicitValue
Definition: dimension.h:124
const geo::Coordinate _middleOfText
Definition: dimension.h:119
std::string explicitValue() const
Definition: dimension.cpp:95
DECLARE_SHORT_SHARED_PTR(Document)
const double _lineSpacingFactor
Definition: dimension.h:122
const geo::Coordinate & middleOfText() const noexcept
Definition: dimension.cpp:75
TextConst::AttachmentPoint const & attachmentPoint() const
Definition: dimension.cpp:83
Definition: cadentity.h:12
const geo::Coordinate _definitionPoint
Definition: dimension.h:118
double lineSpacingFactor() const
Definition: dimension.cpp:87
Dimension(geo::Coordinate const &definitionPoint, geo::Coordinate const &middleOfText, TextConst::AttachmentPoint const &attachmentPoint, double const textAngle, double lineSpacingFactor, TextConst::LineSpacingStyle const &lineSpacingStyle, std::string const &explicitValue)
Dimension.
Definition: dimension.cpp:7
const TextConst::AttachmentPoint _attachmentPoint
Definition: dimension.h:120
double textAngle() const
Definition: dimension.cpp:79
const double _textAngle
Definition: dimension.h:121