OpenLexocad  27.0
PropertyBrepData.h
Go to the documentation of this file.
1 #pragma once
2 #include <Core/core_defines2.h>
3 #include <Geom/BrepData.h>
4 
5 #include <vector>
6 
7 #include "Core/Property.h"
8 #include "Core/Variant.h"
9 
10 
11 namespace Core
12 {
14 {
16 
17 public:
20 
21  void setValue(pBrepData data);
22  bool setValueFromVariant(const Core::Variant& value);
23  void copyValue(Core::Property* p);
24 
25  pConstBrepData getValue() const;
26  void setEmpty();
27 
28  Core::Variant getVariant(void) const { return Core::Variant(_data); }
29 
30  virtual void save(Base::AbstractWriter& writer, Base::PersistanceVersion& save_version);
31  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistanceVersion& version);
32  virtual bool isEqual(const Property*) const;
33 
34 protected:
36 };
37 
39 
41 {
43 
44 public:
47 
48  void setValue(const std::vector<pBrepData>& dataSet);
49  bool setValueFromVariant(const Core::Variant& value);
50  void copyValue(Core::Property* p);
51 
52  void addBrepData(pBrepData data);
53 
54  const std::vector<pBrepData>& getValue() const;
55  void setEmpty();
56 
57  Core::Variant getVariant(void) const { return Core::Variant(_dataSet); }
58 
59  virtual void save(Base::AbstractWriter& writer, Base::PersistanceVersion& save_version);
60  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistanceVersion& version);
61  virtual bool isEqual(const Property*) const;
62 
63 protected:
64  std::vector<pBrepData> _dataSet;
65 };
66 
68 DECLARE_PROPERTY_FACTORY(PropertyBrepData_Factory, Core::PropertyBrepData);
69 DECLARE_PROPERTY_FACTORY(PropertyBrepDataSet_Factory, Core::PropertyBrepDataSet);
70 
71 } // namespace Core
DECLARE_OPTIONAL_PROPERTY_HEADER(PropertyColorOpt, Core::PropertyColor)
Core::Variant getVariant(void) const
Definition: PropertyBrepData.h:28
#define CORE_EXPORT
Definition: core_defines2.h:10
Core::Variant getVariant(void) const
Definition: PropertyBrepData.h:57
std::shared_ptr< Geom::BrepData > pBrepData
Definition: BrepData.h:34
Definition: Persistance.h:20
LX_CORE_EXPORT Version & version
Definition: Variant.h:90
Definition: AbstractXMLReader.h:10
std::shared_ptr< const Geom::BrepData > pConstBrepData
Definition: BrepData.h:37
Definition: Base.h:19
Definition: Writer.h:27
std::vector< pBrepData > _dataSet
Definition: PropertyBrepData.h:64
Definition: Property.h:81
TYPESYSTEM_HEADER()
pBrepData _data
Definition: PropertyBrepData.h:35
Definition: PropertyBrepData.h:40
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)
Definition: PropertyBrepData.h:13