OpenLexocad  28.0
PropertyBrepData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Core/Property.h>
4 
5 typedef std::shared_ptr<Geom::BrepData> pBrepData;
6 
7 namespace Core
8 {
9 class LX_CORE_EXPORT PropertyBrepData : public Core::Property
10 {
12 
13 public:
15 
16  void setValue(pBrepData data);
17  bool setValueFromVariant(const Core::Variant& value);
19 
21  void setEmpty();
22 
23  Core::Variant getVariant(void) const { return Core::Variant(_data); }
24 
25  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
27  virtual bool isEqual(const Property*) const;
28  virtual Core::Property* copy(void) const override;
29  virtual void paste(const Core::Property& from) override;
30 
31 protected:
33 };
34 
36 
37 class LX_CORE_EXPORT PropertyBrepDataSet : public Core::Property
38 {
40 
41 public:
44 
45  void setValue(const std::vector<pBrepData>& dataSet);
46  bool setValueFromVariant(const Core::Variant& value);
48 
49  void addBrepData(pBrepData data);
50 
51  const std::vector<pBrepData>& getValue() const;
52  void setEmpty();
53 
54  Core::Variant getVariant(void) const { return Core::Variant(_dataSet); }
55 
56  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
58  virtual bool isEqual(const Property*) const;
59  virtual Core::Property* copy(void) const override;
60  virtual void paste(const Core::Property& from) override;
61 
62 protected:
63  std::vector<pBrepData> _dataSet;
64 };
65 
67 DECLARE_PROPERTY_FACTORY(PropertyBrepData_Factory, Core::PropertyBrepData);
68 DECLARE_PROPERTY_FACTORY(PropertyBrepDataSet_Factory, Core::PropertyBrepDataSet);
69 
70 } // namespace Core
Property.h
Core::PropertyBrepDataSet::restore
virtual void restore(Base::AbstractXMLReader &reader, Base::PersistenceVersion &version)
This method is used to restore properties from an XML document.
Core::PropertyBrepData::copy
virtual Core::Property * copy(void) const override
Returns a new copy of the property (mainly for Undo/Redo and transactions). The copy has no container...
Core::PropertyBrepData::setValueFromVariant
bool setValueFromVariant(const Core::Variant &value)
Core::PropertyBrepDataSet::paste
virtual void paste(const Core::Property &from) override
Paste the value from the property (mainly for Undo/Redo and transactions)
Core::PropertyBrepData::isEqual
virtual bool isEqual(const Property *) const
compare properties
Core::PropertyBrepDataSet::getVariant
Core::Variant getVariant(void) const
Definition: PropertyBrepData.h:54
Core::PropertyBrepDataSet::PropertyBrepDataSet
PropertyBrepDataSet()
Core::PropertyBrepData::setEmpty
void setEmpty()
pBrepData
std::shared_ptr< Geom::BrepData > pBrepData
Definition: PropertyBrepData.h:5
Core::PropertyBrepDataSet
Definition: PropertyBrepData.h:38
Core::PropertyBrepDataSet::save
virtual void save(Base::AbstractWriter &writer, Base::PersistenceVersion &save_version)
This method is used to save properties or very small amounts of data to an XML document.
Core::PropertyBrepDataSet::setValueFromVariant
bool setValueFromVariant(const Core::Variant &value)
Core::PropertyBrepDataSet::isEqual
virtual bool isEqual(const Property *) const
compare properties
Core::PropertyBrepData::_data
pBrepData _data
Definition: PropertyBrepData.h:32
Core::PropertyBrepDataSet::copyValue
void copyValue(Core::Property *p)
Base::PersistenceVersion
Definition: Persistence.h:13
Core
Definition: Base.h:5
Core::PropertyBrepData::getVariant
Core::Variant getVariant(void) const
Definition: PropertyBrepData.h:23
Core::Variant
Definition: Variant.h:78
Core::PropertyBrepDataSet::~PropertyBrepDataSet
~PropertyBrepDataSet()
Base::AbstractWriter
Definition: Writer.h:13
Core::PropertyBrepDataSet::addBrepData
void addBrepData(pBrepData data)
Core::PropertyBrepData::paste
virtual void paste(const Core::Property &from) override
Paste the value from the property (mainly for Undo/Redo and transactions)
Core::PropertyBrepDataSet::copy
virtual Core::Property * copy(void) const override
Returns a new copy of the property (mainly for Undo/Redo and transactions). The copy has no container...
Base::AbstractXMLReader
Definition: AbstractXMLReader.h:7
pConstBrepData
std::shared_ptr< const Geom::BrepData > pConstBrepData
Definition: BrepData.h:31
Core::version
LX_CORE_EXPORT Version & version
Core::PropertyBrepData::setValue
void setValue(pBrepData data)
Core::PropertyBrepDataSet::setValue
void setValue(const std::vector< pBrepData > &dataSet)
Core::PropertyBrepData::PropertyBrepData
PropertyBrepData()
Core::Property
Definition: Property.h:72
Core::PropertyBrepData::save
virtual void save(Base::AbstractWriter &writer, Base::PersistenceVersion &save_version)
This method is used to save properties or very small amounts of data to an XML document.
Core::PropertyBrepData::copyValue
void copyValue(Core::Property *p)
Core::PropertyBrepDataSet::setEmpty
void setEmpty()
Core::PropertyBrepData
Definition: PropertyBrepData.h:10
Core::PropertyBrepDataSet::getValue
const std::vector< pBrepData > & getValue() const
Core::DECLARE_OPTIONAL_PROPERTY_HEADER
DECLARE_OPTIONAL_PROPERTY_HEADER(PropertyColorOpt, Core::PropertyColor)
Core::PropertyBrepDataSet::_dataSet
std::vector< pBrepData > _dataSet
Definition: PropertyBrepData.h:63
Core::PropertyBrepData::getValue
pConstBrepData getValue() const
Core::PropertyBrepData::restore
virtual void restore(Base::AbstractXMLReader &reader, Base::PersistenceVersion &version)
This method is used to restore properties from an XML document.
TYPESYSTEM_HEADER
#define TYPESYSTEM_HEADER()
define for subclassing Base::BaseClass
Definition: Base.h:12
Core::DECLARE_PROPERTY_FACTORY
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)