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