pull/1048/head
Kim Kulling 2016-10-22 22:15:00 +02:00
commit 54c5acd02d
3 changed files with 15 additions and 5050 deletions

View File

@ -148,13 +148,21 @@ private:
std::vector<unsigned long> meshIds; std::vector<unsigned long> meshIds;
std::string name(xmlReader->getAttributeValue(D3MF::XmlTag::name.c_str())); const char *attrib( nullptr );
std::string type(xmlReader->getAttributeValue(D3MF::XmlTag::type.c_str())); std::string name, type;
attrib = xmlReader->getAttributeValue( D3MF::XmlTag::name.c_str() );
if ( nullptr != attrib ) {
name = attrib;
}
attrib = xmlReader->getAttributeValue( D3MF::XmlTag::name.c_str() );
if ( nullptr != attrib ) {
type = attrib;
}
node->mParent = scene->mRootNode; node->mParent = scene->mRootNode;
node->mName.Set(name); node->mName.Set(name);
unsigned long meshIdx = meshes.size(); size_t meshIdx = meshes.size();
while(ReadToEndElement(D3MF::XmlTag::object)) while(ReadToEndElement(D3MF::XmlTag::object))
{ {

File diff suppressed because it is too large Load Diff

View File

@ -72,7 +72,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "LineSplitter.h" #include "LineSplitter.h"
// uncomment this to have the loader evaluate all entities upon loading. // uncomment this to have the loader evaluate all entities upon loading.
// this is intended as stress test - by default, entities are evaluated // this is intended as stress test - by default, entities are evaluated
// lazily and therefore not unless needed. // lazily and therefore not unless needed.
@ -118,15 +117,13 @@ namespace STEP {
// ******************************************************************************** // ********************************************************************************
namespace STEP { namespace STEP {
// ------------------------------------------------------------------------------- // -------------------------------------------------------------------------------
/** Exception class used by the STEP loading & parsing code. It is typically /** Exception class used by the STEP loading & parsing code. It is typically
* coupled with a line number. */ * coupled with a line number. */
// ------------------------------------------------------------------------------- // -------------------------------------------------------------------------------
struct SyntaxError : DeadlyImportError struct SyntaxError : DeadlyImportError {
{
enum { enum {
LINE_NOT_SPECIFIED = 0xffffffffffffffffLL LINE_NOT_SPECIFIED = 0xffffffffffffffffLL
}; };
@ -253,7 +250,7 @@ namespace STEP {
{ {
public: public:
// This is the type that will ultimatively be used to // This is the type that will cd ultimatively be used to
// expose this data type to the user. // expose this data type to the user.
typedef T Out; typedef T Out;
@ -1001,26 +998,20 @@ namespace STEP {
refs.insert(std::make_pair(who,by_whom)); refs.insert(std::make_pair(who,by_whom));
} }
private: private:
HeaderInfo header; HeaderInfo header;
ObjectMap objects; ObjectMap objects;
ObjectMapByType objects_bytype; ObjectMapByType objects_bytype;
RefMap refs; RefMap refs;
InverseWhitelist inv_whitelist; InverseWhitelist inv_whitelist;
std::shared_ptr<StreamReaderLE> reader; std::shared_ptr<StreamReaderLE> reader;
LineSplitter splitter; LineSplitter splitter;
uint64_t evaluated_count; uint64_t evaluated_count;
const EXPRESS::ConversionSchema* schema; const EXPRESS::ConversionSchema* schema;
}; };
} }
} // end Assimp } // end Assimp
#endif
#endif // INCLUDED_AI_STEPFILE_H