#include <FCDEntityReference.h>
Inheritance diagram for FCDEntityReference:
Public Member Functions | |
FCDEntityReference (FCDocument *document, FCDObjectWithId *parent) | |
Constructor. | |
virtual | ~FCDEntityReference () |
Destructor. | |
FCDPlaceHolder * | GetPlaceHolder () |
Retrieves the placeholder if this references an entity from an external COLLADA document. | |
const FCDPlaceHolder * | GetPlaceHolder () const |
See above. | |
const fm::string & | GetEntityId () const |
Retrieves the COLLADA id of the entity that is externally referenced. | |
bool | IsExternal () const |
Retrieves whether this entity reference is an external entity reference. | |
bool | IsLocal () const |
Retrieves whether this entity reference is a local entity reference. | |
void | SetEntityId (const fm::string &id) |
Sets the COLLADA id of the referenced entity. | |
FUUri | GetUri () const |
Retrieves the full URI of the external reference. | |
void | SetUri (const FUUri &uri) |
Sets the URI of the external reference. | |
FCDEntity * | GetEntity () |
Get the entity this external reference points to. | |
const FCDEntity * | GetEntity () const |
See above. | |
const FCDObjectWithId * | GetClosestObjectWithId () const |
Get a pointer to the entity that either directly or indirectly exclusively contains this reference. | |
void | SetClosestObjectWithId (FCDObjectWithId *obj) |
Set the pointer to the closest entity upstream that contains this reference. | |
void | SetEntity (FCDEntity *entity) |
Set the entity we are referencing. |
FCollada only exposes external references for entity instances. Other types of external references: geometry sources, morph targets, etc. are not supported.
The entity instance for an external reference cannot be modified and tracks it, so that if is it released manually, the reference is also released.
The placeholder and the document referenced by the entity instance can be modified manually or by the entity instance.
Also allowing external links by more than just entity instances. Controllers can reference external geometry targets.
Renaming this class to FCDEntityReference, as it used for tracking ALL entities. This lightens the Code load on all classes that track entities.
TODO: The following are non-compliant on the XRefs: Animations (instance_animation) <-- TODO QUICK Morphers (base_geom && morph_targets) Emitters (force links) Emitters (object_mesh) <-- TODO LAST
|
Constructor.
|
|
Get a pointer to the entity that either directly or indirectly exclusively contains this reference. This is not necessarily the class that contains the actual pointer, but it is the class that is responsible for managing the link to the entity referenced (ie, not an FCDEntityInstance, but the containing FCDEntity).
|
|
Get the entity this external reference points to. This may cause the entity to load if it is not present already! See the FCollada::GetDereferenceFlag() for more information.
|
|
Retrieves the COLLADA id of the entity that is externally referenced.
|
|
Retrieves the placeholder if this references an entity from an external COLLADA document.
|
|
Retrieves the full URI of the external reference. This points to the COLLADA document and the id of the referenced entity.
|
|
Retrieves whether this entity reference is an external entity reference. This function intentionally hides the FCDObject::IsExternal function.
|
|
Retrieves whether this entity reference is a local entity reference. This function intentionally hides the FCDObject::IsLocal function.
|
|
Set the pointer to the closest entity upstream that contains this reference.
|
|
Set the entity we are referencing. If this is from an external document, it will create the appropriate FCDPlaceholder etc. The new entity to reference |
|
Sets the COLLADA id of the referenced entity.
|
|
Sets the URI of the external reference. This points to the COLLADA document and the id of the referenced entity.
|