18#ifndef BIMHOMEAPP_APP_IPROPERTYACCESSOR_H
19#define BIMHOMEAPP_APP_IPROPERTYACCESSOR_H
22#include <boost/any.hpp>
27#define BIMHomeProTypeBool "bool"
28#define BIMHomeProTypeInt "int"
29#define BIMHomeProTypeLong "long"
30#define BIMHomeProTypeFloat "float"
31#define BIMHomeProTypeDouble "double"
32#define BIMHomeProTypeStdString "std::string"
33#define BIMHomeProTypeString "string"
36#define BIMHomeProTypeStdVectorInt "std::vector<int>"
37#define BIMHomeProTypeStdVectorFloat "std::vector<float>"
38#define BIMHomeProTypeStdVectorDouble "std::vector<double>"
39#define BIMHomeProTypeStdVectorString "std::vector<std::string>"
40#define BIMHomeProTypeStdMapStrongAndString "std::map<std::string, std::string>"
43#define BIMHomeProTypeFileIncluded "FileIncluded"
44#define BIMHomeProTypeLinkList "std::vector<App::IDcoumentObject*>"
45#define BIMHomeProTypeLink "App::IDcoumentObject*"
46#define BIMHomeProTypeStdVectorVector3d "std::vector<Base::Vector3d>"
47#define BIMHomeProTypeVector3d "Base::Vector3d"
48#define BIMHomeProTypeColor "App::Color"
49#define BIMHomeProTypeLinkSub "LinkSub"
52#define BIMHomeProTypePolyLine "std::vector<std::shared_ptr<Curve>>"
76 virtual bool addProperty(
const char* type,
const char* name,
const boost::any& delValue,
bool readOnly =
false,
bool hidden =
false) = 0;
86 virtual void setProperty(
const char* name,
const boost::any& value,
bool readOnly =
false,
bool hidden =
false) = 0;
virtual boost::any getPropertyValue(const char *name)=0
获取属性值
virtual void setProperty(const char *name, const boost::any &value, bool readOnly=false, bool hidden=false)=0
设置属性值
virtual bool hasPropertyByGivingName(const char *name)=0
检查是否存在指定名称的属性
virtual bool addProperty(const char *type, const char *name, const boost::any &delValue, bool readOnly=false, bool hidden=false)=0
添加新属性
属性访问器接口类
Definition IPropertyAccessor.h:62
Definition BaseFigureFactory.h:28