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