16 enum class CoordinateSystem :
char { DATA, NORMAL };
18 static constexpr double LeftJustification = 0.0;
20 static constexpr double CenterJustification = 0.5;
22 static constexpr double RightJustification = 1.0;
24 static std::string formatChemicalFormula(std::string_view formula);
27 Text(std::string_view text);
28 virtual Text *clone()
const;
30 void setCoordinates(
const std::array<double, 3> &coordinates,
31 CoordinateSystem system = CoordinateSystem::DATA);
33 void setCoordinates(
double x,
double y,
double z,
34 CoordinateSystem system = CoordinateSystem::DATA);
36 std::array<double, 3>
const &getCoordinates()
const;
38 const CoordinateSystem &getSystem()
const;
40 void setText(std::string_view text);
42 std::string_view getText()
const;
44 void setColor(std::string_view color);
46 std::string_view getColor()
const;
48 void setSize(
double size);
50 const double &getSize()
const;
52 void setAngle(
double angle);
54 const double &getAngle()
const;
56 void setJustification(
double justification);
58 const double &getJustification()
const;
61 std::array<double, 3> _coordinates;
71 double _justification;
73 CoordinateSystem _system;