DG Kernel Documentation


Skip Navigation Links.
Skip Navigation LinksHome Page > Deprecated > Deprecated API Reference > Model > IModel2 Search Documentation


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)

Parameters

item - [in] - An object to be removed from the object

Remarks:

Removes the item or entity from the model


HRESULT GetSceneItem(int index, IItem**item)

Parameters

index - [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)