45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
/*
|
|
Copyright (C) 2005-2006 Feeling Software Inc.
|
|
MIT License: http://www.opensource.org/licenses/mit-license.php
|
|
*/
|
|
/*
|
|
Based on the FS Import classes:
|
|
Copyright (C) 2005-2006 Feeling Software Inc
|
|
Copyright (C) 2005-2006 Autodesk Media Entertainment
|
|
MIT License: http://www.opensource.org/licenses/mit-license.php
|
|
*/
|
|
|
|
#ifndef _FCD_ENTITY_INSTANCE_H_
|
|
#define _FCD_ENTITY_INSTANCE_H_
|
|
|
|
class FCDocument;
|
|
class FCDEntity;
|
|
|
|
#include "FCDocument/FCDObject.h"
|
|
|
|
class FCOLLADA_EXPORT FCDEntityInstance : public FCDObject
|
|
{
|
|
public:
|
|
enum Type { SIMPLE, EXTERNAL_REFERENCE, GEOMETRY, MATERIAL, PHYSICS_MODEL, PHYSICS_RIGID_BODY, PHYSICS_RIGID_CONSTRAINT };
|
|
|
|
protected:
|
|
FCDEntity* entity;
|
|
|
|
public:
|
|
FCDEntityInstance(FCDocument* document, FCDEntity* _entity = NULL) : FCDObject(document, "FCDEntityInstance") { entity = _entity; }
|
|
virtual ~FCDEntityInstance() { entity = NULL; }
|
|
|
|
// Accessors
|
|
FCDEntity* GetEntity() { return entity; }
|
|
const FCDEntity* GetEntity() const { return entity; }
|
|
virtual Type GetType() const { return SIMPLE; }
|
|
|
|
// Load the per-instance information from the xml node tree
|
|
virtual FUStatus LoadFromXML(xmlNode* UNUSED(instanceNode)) { return FUStatus(true); }
|
|
|
|
// Write out the instantiation information to the xml node tree
|
|
virtual xmlNode* WriteToXML(xmlNode* parentNode) const;
|
|
};
|
|
|
|
#endif // _FCD_ENTITY_INSTANCE_H_
|