OpenLexocad  27.1
PropertyMesh.h
Go to the documentation of this file.
1 #pragma once
2 #include <Geom/IndexedMesh.h>
3 
4 #include <string>
5 
6 #include "Core/Property.h"
7 #include "Core/Variant.h"
8 
9 
10 
11 namespace Core
12 {
13 class LX_CORE_EXPORT PropertyMesh : public Core::Property
14 {
16 
17 public:
18  PropertyMesh(void);
19  virtual ~PropertyMesh(void);
20 
21  void setValue(const Geom::IndexedMesh& mesh);
22  bool setValueFromVariant(const Core::Variant& value);
23  void copyValue(Core::Property* p);
24 
25  const Geom::IndexedMesh& getValue() const;
26 
27 
28  Core::Variant getVariant(void) const;
29 
30  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
31  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistenceVersion& version);
32  virtual bool isEqual(const Property*) const;
33  virtual Core::Property* copy(void) const override;
34  virtual void paste(const Core::Property& from) override;
35 
36 protected:
38 };
39 
40 
41 
42 DECLARE_PROPERTY_FACTORY(PropertyMesh_Factory, Core::PropertyMesh);
43 
44 
45 } // namespace Core
Definition: Persistence.h:14
Geom::IndexedMesh _value
Definition: PropertyMesh.h:37
LX_CORE_EXPORT Version & version
Definition: Variant.h:87
Definition: AbstractXMLReader.h:7
Definition: Base.h:12
Definition: Writer.h:16
Definition: PropertyMesh.h:13
Definition: IndexedMesh.h:10
Definition: Property.h:77
TYPESYSTEM_HEADER()
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)