OpenLexocad  27.1
PropertyDirection.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Geom/Dir.h>
4 #include <Geom/Dir2d.h>
5 
6 #include <vector>
7 
8 #include "Core/Property.h"
9 #include "Core/Variant.h"
10 
11 
12 namespace Core
13 {
14 class LX_CORE_EXPORT PropertyDirection : public Core::Property
15 {
17 
18 public:
19  PropertyDirection(void);
20  virtual ~PropertyDirection(void);
21 
22  void setValue(const Geom::Dir& dir);
23  bool setValueFromVariant(const Core::Variant& value);
24  void copyValue(Core::Property* p);
25 
26  const Geom::Dir& getValue() const;
27  Core::Variant getVariant(void) const;
28 
29  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
30 
32  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistenceVersion& version);
33  virtual bool isEqual(const Property*) const;
34  virtual Core::Property* copy(void) const override;
35  virtual void paste(const Core::Property& from) override;
36 
37 protected:
39 };
40 
41 class LX_CORE_EXPORT PropertyDirection2d : public Core::Property
42 {
44 
45 public:
46  PropertyDirection2d(void);
47  virtual ~PropertyDirection2d(void);
48 
49  void setValue(const Geom::Dir2d& dir);
50  bool setValueFromVariant(const Core::Variant& value);
51  void copyValue(Core::Property* p);
52 
53  const Geom::Dir2d& getValue() const;
54  Core::Variant getVariant(void) const;
55 
56  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
57 
59  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistenceVersion& version);
60  virtual bool isEqual(const Property*) const;
61  virtual Core::Property* copy(void) const override;
62  virtual void paste(const Core::Property& from) override;
63 
64 protected:
66 };
67 
68 DECLARE_PROPERTY_FACTORY(PropertyDirection_Factory, Core::PropertyDirection);
69 DECLARE_PROPERTY_FACTORY(PropertyDirection2d_Factory, Core::PropertyDirection2d);
70 
71 
72 
73 } // namespace Core
Geom::Dir _dir
Definition: PropertyDirection.h:38
Definition: Persistence.h:14
Definition: Dir2d.h:38
LX_CORE_EXPORT Version & version
Definition: PropertyDirection.h:41
Definition: Variant.h:87
Definition: AbstractXMLReader.h:7
Definition: Dir.h:45
Definition: PropertyDirection.h:14
Geom::Dir2d _dir
Definition: PropertyDirection.h:65
Definition: Base.h:12
Definition: Writer.h:16
Definition: Property.h:77
TYPESYSTEM_HEADER()
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)