IModel2 Interface
- GetCurrentObject
- SetCurrentObject
- RemoveAll
- Add
- FindItem
- AddNewItem
- Display
- Remove
- GetSceneItem
- FindSection
- Detach
- JoinCurrentEntity
- JoinToCurrent
- AddCopy
- DeleteAll
- GetName
- SetName
- AddItem
This interface gives access to the "Current Object" property, maintained by models in DG Kernel software. The current object is identified by
its ISection interface. The current object is
highlighted in 3D with red component added to colour of the object, when this is requested via IView2.Enable.
In Modal mode the current object can be moved by the user with the mouse (See IViewModal).
See also IViewModal,
Interface List
HRESULT GetCurrentObject(ISection ** iObject)
Parameters
iObject - [out, retval] - ISection.
interface implemented by the current object or NULL if there is no current
object sin the model
Returns
- S_OK in case of
success.
- Remarks:
This method returns reference to ISection interface implemented by the current
(active / selected) object or NULL if there is no current object in the model
HRESULT SetCurrentObject(ISection *iObject)
Parameters
iObject - [in] - ISection
interface implemented by an object from the model or NULL
Return Values
- S_OK in case of success.
- Remarks:
iObject parameter supplied for the method must be ISection
interface implemented by an object in the current model. Call this method to
make the object current. If iObject is NULL (null,
Nothing, etc) the model will not have a current object.
HRESULT RemoveAll()
- Remarks:
Removes all objects from the model.
HRESULT Add(ISection *object)
Parameters
object - [in] - ISection
interface implemented by an object to be added to the model.
- Remarks:
Adds object to the model as the last top-level
entity. The method is a shortcut for normal procedure of adding objects with IArray
ot IArray2
queried form IModel. object is normally created with
IDIObjGenerator or moved from anther model.
HRESULT FindItem(KCSceneItemInfo* description, IItem **item)
Parameters
description - [in] - KCSceneItemInfo
structure with search parameters
-
item - [out, retval] The found scene item or null if the item was not
found. See remarks
- Remarks:
Searches the model for a scene item. Query specific interfaces like ISection
from the returned IItem to get access to details of
the object
HRESULT AddNewItem(EObjectType eType, IItem **item)
Parameters
eType - [in] - specifies type of the object to be added to the model.
-
item - [out, retval] - The new scene item
- Remarks:
Adds a new object of the specified type to the model as the last top level
entity. The method is a shortcut for normal procedure of adding objects with IArray
ot IArray2
and
IDIObjGenerator.
HRESULT Display(IUnknown* object, VARIANT_BOOL bPersistent, IItem **item)
Parameters
object - [in] - An object to be added to the scene
bPersistent - [in] Indicates weather the object should be stored
with the model during the next save operation
-
item - [out, retval] - The added scene item, which wraps
(represents) the abstract object
- Remarks:
Some abstract geometric objects like free form lines can be added quickly to the
model by wrapping it with a entity, which is a scene item. This method checks
wether this possible for the type of object and returns the wrapper item.
Frequently the item is actually an entity so ISection
can be queried form item. The item can be removed with a
Remove() method call below.
HRESULT Remove(IItem **item)
Parametersitem - [in] - An object to be removed from the object
- Remarks:
Removes the item or entity from the model
HRESULT GetSceneItem(int index, IItem**item)
Parametersindex
- [in] - Index into array of all items of the model
item - [out, retval] - The returned item
HRESULT FindSection(ISection *iObject, VARIANT_BOOL searchChildren, [out,retval] int* indexFound);
Parameters
iObject - [in] The object to find
searchChildren - [in] If true children are included in the search. See remarks
indexFound - [out, retval] - Index of the found object or -1 if
not found
Remarks:
Finds iObject in the model. If searchChildren is
false only top-level objects are searched. If searchChildren
is true
indexFound will be index of the top-level object which has iObject
as its descendant.
HRESULT Detach(IItem*item)
Remarks:
Moves the item to the top level in the hierarchy. In other words, removes the item
from array if its siblings and makes it the last top-level object. The method
has no effect it the item was a top-level object already.
JoinCurrentEntity(ISection *iObjectTo, VARIANT_BOOL changeCurrent)
Remarks:
Makes the current entity the last child of iObjectTo.
Has no effect if there is no current entity in the model. The current entity
and iObjectTo must not be descendants of one another
HRESULT JoinToCurrent(IItem*iItem, VARIANT_BOOL newItem)
Remarks:
Makes iItem
the last child of the current entity. Has no effect if there is no current
entity in the model. The current entity and iItem must
not be descendants of one another
HRESULT AddCopy(ISection *obj, ISection** newCopy)
Parameters
obj
- [in] - The object to be copied
newCopy - [out, retval] - The newly created and added
copy
Remarks:
Adds a replica of obj
to the model and returned as the return value.
DeleteAll(EObjectType eType, VARIANT_BOOL includeChildren, int* countDeleted)
If includeChildren is true deletes all objects of the
specified type in the model. Otherwise only the specified top-level objects are
deleted
HRESULT GetName(BSTR *pbstrName)
Returns name of the model
HRESULT SetName(char* name)
Modifies name of the model
HRESULT AddItem(IItem*item)
Adds the item as the last top-level object. item can be also implemented by an entity (queried via ISection)
|