This interface gives all of the objects that are derived from it
two main properties; a unique ID within TerraExplorer and a
“destruction” policy (KeepAliveOnRelease property).
The ID of the object is used, in many cases, as an argument to the
methods of other interfaces, uniquely identifying the object on
which that method should operate. For example, IPlane5::FlyToObject uses this ID as an
argument, flying the camera to view the object on the terrain.
When creating an object, the IObjectManager51 returns an interface
pointer to that object. The client can then perform operations on
that object (such as retrieving its object ID). At this point, the
client should release the interface pointer to the object (unless
it needs to perform more operations on the object). This does not
necessarily mean that the client wants the object to be removed
from the terrain. (A typical scenario might be when the client
wants to add several objects to the terrain and disconnect from
TerraExplorer, leaving the objects on the terrain). To allow this,
each object has a KeepAliveOnRelease property, which determines
what happens to it once the client releases the interface pointer
to it. Setting this property to TRUE (the default) means that when
the client releases the interface pointer to this object, the
object remains on the terrain. Setting this property to FALSE means
that the object is removed from the terrain once the client
releases it.
Hierarchy:
ITerraExplorerObject5 |
|
Properties: |
ID, ObjectType, ClientData, KeepAliveOnRelease, ClientDataEx |
Methods: |