ifcopenshell.file.from_string()

This commit is contained in:
Thomas Krijnen
2017-08-22 10:16:07 +02:00
parent 08522c9fd7
commit 430ab54602
4 changed files with 6 additions and 37 deletions
@@ -59,3 +59,6 @@ class file(object):
return self.wrapped_data.remove(inst.wrapped_data)
def __iter__(self):
return iter(self[id] for id in self.wrapped_data.entity_names())
@staticmethod
def from_string(s):
return file(ifcopenshell_wrapper.read(s))
+2 -4
View File
@@ -138,7 +138,7 @@ public:
/// attributes as a flat list. NB: includes the root instance specified
/// in the first function argument.
IfcEntityList::ptr traverse(IfcUtil::IfcBaseClass* instance, int max_level=-1);
#ifdef USE_MMAP
bool Init(const std::string& fn, bool mmap=false);
#else
@@ -147,8 +147,6 @@ public:
bool Init(std::istream& fn, int len);
bool Init(void* data, int len);
bool Init(IfcParse::IfcSpfStream* f);
bool Init(const std::string& data, unsigned int unused);
IfcEntityList::ptr getInverse(int instance_id, IfcSchema::Type::Enum type, int attribute_index);
@@ -176,4 +174,4 @@ public:
}
#endif
#endif
+1 -31
View File
@@ -108,19 +108,6 @@ void init_locale() {
#endif
IfcSpfStream::IfcSpfStream()
: stream(0)
, buffer(0)
, valid(false)
, eof(false)
{
ptr = 0;
len = 0;
valid = false;
eof = false;
size = 0;
}
//
// Opens the file and gets the filesize
//
@@ -221,18 +208,6 @@ IfcSpfStream::IfcSpfStream(void* data, int l)
len = l;
}
IfcSpfStream::IfcSpfStream(const std::string& data, unsigned int x)
: stream(0)
, buffer(0)
{
eof = false;
size = (unsigned int) data.length();
buffer = data.c_str();
valid = true;
ptr = 0;
len = (unsigned int) data.length();
}
IfcSpfStream::~IfcSpfStream()
{
Close();
@@ -1252,17 +1227,16 @@ void IfcEntityInstanceData::setArgument(unsigned int i, Argument* a, IfcUtil::Ar
// Parses the IFC file in fn
// Creates the maps
//
#ifdef USE_MMAP
bool IfcFile::Init(const std::string& fn, bool mmap) {
return IfcFile::Init(new IfcSpfStream(fn, mmap));
}
#else
bool IfcFile::Init(const std::string& fn) {
//return IfcFile::Init(new IfcSpfStream(fn, (unsigned int) 0));
return IfcFile::Init(new IfcSpfStream(fn));
}
#endif
bool IfcFile::Init(std::istream& f, int len) {
return IfcFile::Init(new IfcSpfStream(f,len));
}
@@ -1270,10 +1244,6 @@ bool IfcFile::Init(std::istream& f, int len) {
bool IfcFile::Init(void* data, int len) {
return IfcFile::Init(new IfcSpfStream(data,len));
}
bool IfcFile::Init(const std::string& data, unsigned int unused) {
return IfcFile::Init(new IfcSpfStream(data, (unsigned int) 0));
}
bool IfcFile::Init(IfcParse::IfcSpfStream* s) {
// Initialize a "C" locale for locale-independent
-2
View File
@@ -53,7 +53,6 @@ namespace IfcParse {
bool valid;
bool eof;
unsigned int size;
IfcSpfStream();
#ifdef USE_MMAP
IfcSpfStream(const std::string& fn, bool mmap=false);
#else
@@ -62,7 +61,6 @@ namespace IfcParse {
IfcSpfStream(std::istream& f, int len);
IfcSpfStream(void* data, int len);
~IfcSpfStream();
IfcSpfStream(const std::string& data, unsigned int x);
/// Returns the character at the cursor
char Peek();
/// Returns the character at specified offset