IFXMarker |
The IFXMarker interface is used to mark, or identify, resources of the scene in order to determine whether or not they should be included in a given process. Typically, the mark is used to identify components that need to be loaded or written to a file by the Loader or Writer, respectively. When a given entity in the scene is marked, with Mark(), it marks itself and any child entities that it has and upon which it depends for resource information. Thus, a single Mark() call recursively marks the entity and all entities that it uses.
Entities cannot be unmarked through the IFXMarker interface. Instead, the scenegraph interface is used and IFXSceneGraph::UnmarkAll() effectively causes all of the entities and resources in the scene to be unmarked. The IFXMarker also supports the use of a streaming priority for entities, as well as a UserData field that can be assigned to entities by the author and can be defined to convey whatever information the author wants.
IFXMarker inherits the IFXUnknown interface, and is supported by many different components.
When to Use
IFXMarker is used whenever a group of entities or a section of the scenegraph needs to be marked so that those entities can be distinguished from everything else. Typical uses include marking things so that the Loader and Writer can load and write only the necessary or requested entities. Additionally, the IFXMarker interface allows for an entity (and all its children) to be assigned a streaming priority. This influences the order in which entities and their resources are streamed into the scene. Lastly, the IFXMarker interface is used to get and set the UserData field of entities. This is a simple unsigned integer value that can be assigned to entities in order to convey some arbitrary property or classification or whatever the author wishes.
|
Interface Methods |
Description |
|
Declares database ownership |
|
|
Recursively marks a subset of the database |
|
|
Determines if a component is marked |
|
|
Gets the streaming sequence relative to other components |
|
|
Sets the streaming priority ( zero = initial load segment ) |
|
|
Gets the contents of the user data field |
|
|
Sets the contents of the use data field |
Parameters:
|
pInSceneGraph |
Pointer to the scenegraph |
Parameters:
None
Parameters:
|
pbOutMarked |
Indicates if the entity is marked |
Parameters:
None
Return Values:
U32
Parameters:
|
uInPriority |
Priority number |
Return Values:
None
Parameters:
None
Return Values:
U32
Parameters:
|
uInUserData |
User data ID |
Return Values:
None
§See asterisked (*) statement at Legal Information © 2001 Intel Corporation.