Merge developments from the python_wrapper branch into master

This commit is contained in:
Thomas Krijnen
2015-01-05 14:11:42 +00:00
parent 8872affe54
commit 4d5d749255
61 changed files with 29458 additions and 13467 deletions
+13 -32
View File
@@ -42,7 +42,9 @@ namespace IfcWrite {
namespace IfcUtil {
enum ArgumentType {
Argument_INT,
Argument_NULL,
Argument_DERIVED,
Argument_INT,
Argument_BOOL,
Argument_DOUBLE,
Argument_STRING,
@@ -56,6 +58,8 @@ namespace IfcUtil {
Argument_UNKNOWN
};
const char* ArgumentTypeToString(ArgumentType argument_type);
class IfcBaseClass {
public:
IfcAbstractEntity* entity;
@@ -70,6 +74,14 @@ namespace IfcUtil {
virtual Argument* getArgument(unsigned int i) const = 0;
virtual const char* getArgumentName(unsigned int i) const = 0;
};
// TODO: Investigate whether these should be template classes instead
class IfcBaseType : public IfcBaseEntity {
public:
virtual unsigned int getArgumentCount() const;
virtual Argument* getArgument(unsigned int i) const;
virtual const char* getArgumentName(unsigned int i) const;
};
}
template <class T>
@@ -185,37 +197,6 @@ public:
}
};
namespace IfcUtil {
class IfcAbstractSelect : public IfcBaseClass {
public:
typedef IfcTemplatedEntityList<IfcAbstractSelect> list;
virtual bool isSimpleType() = 0;
static IfcSchema::Type::Enum Class() { return IfcSchema::Type::ALL; }
};
class IfcEntitySelect : public IfcAbstractSelect {
public:
typedef IfcEntitySelect* ptr;
IfcEntitySelect(IfcBaseClass* b);
IfcEntitySelect(IfcAbstractEntity* e);
~IfcEntitySelect();
bool is(IfcSchema::Type::Enum v) const;
IfcSchema::Type::Enum type() const;
bool isSimpleType();
};
class IfcArgumentSelect : public IfcAbstractSelect {
IfcSchema::Type::Enum _type;
Argument* arg;
public:
typedef IfcArgumentSelect* ptr;
IfcArgumentSelect(IfcSchema::Type::Enum t, Argument* a);
~IfcArgumentSelect();
Argument* wrappedValue();
bool is(IfcSchema::Type::Enum v) const;
IfcSchema::Type::Enum type() const;
bool isSimpleType();
};
}
namespace IfcParse {
class IfcFile;
}