3.8 ToolsCOM
ToolsCOM是工具类组件,负责提供与三维场景无直接交互的功能应用。ToolsCOM主要以工具管理对象(ToolsMgr)对外提供接口服务。
工具管理对象需要通过SDKCtrl组件的GetIToolsCOMPtr()方法创建。
工具管理对象可以创建工具对象、激活工具对象、销毁工具对象等。它的使用方法与图层对象类似,一般一个工具对象的使用流程如下所示:
1. 创建工具配置对象。 调用CreateToolsOptions()接口创建工具配置对象。
2. 添加配置参数。 调用工具配置对象的AddConfig()接口,添加配置信息。
3. 创建工具对象。 调用CreateToolsObject()接口创建工具对象。
4. 激活工具对象。 调用ActiveTools()接口激活工具对象。
5. 移除工具对象。 在需要移除工具对象时,需要调用DestoryTools()接口将工具对象移除。
1.CreateToolsOptions
说明:
创建工具配置对象。
语法:
Javascript调用
CreateToolsOptions(name)
C++调用
HRESULT CreateToolsOptions([in] BSTR name, [out,retval] IUnknown** iToolsOptions)
C#调用
IToolsOptions CreateToolsOptions(string name)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
name | string | 配置项名称 |
返回值: iToolsOptions
iToolsOptions表示工具配置对象。
2.CreateToolsObject
说明:
创建工具对象。
语法:
Javascript调用
CreateToolsObject(toolsType, iToolsOptions)
C++调用
HRESULT CreateToolsObject([in] BSTR toolsType, [in] IUnknown* iToolsOptions, [out,retval] IUnknown** iToolsObject)
C#调用
IToolsObject CreateToolsObject(string toolsType, IToolsOptions iToolsOptions)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
toolsType | string | 工具对象名称 |
iToolsOptions | IToolsOptions | 工具配置对象 |
返回值: iToolsObject
iToolsObject表示创建的工具对象。
3.ActiveTools
说明:
激活工具对象。工具对象在创建之后,需要通过激活操作使工具对象生效。
语法:
Javascript调用
ActiveTools(iToolsObject)
C++调用
HRESULT ActiveTools([in] IUnknown* iToolsObject, [out,retval] VARIANT_BOOL* result)
C#调用
bool ActiveTools(IToolsObject iToolsObject)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
iToolsObject | IToolsObject | 工具对象 |
返回值: result
result表示是否激活成功。true-成功;false-失败。
4.DestoryTools
说明:
销毁工具对象。可以通过销毁操作将工具对象从场景中移除。
语法:
Javascript调用
DestoryTools(iToolsObject)
C++调用
HRESULT DestoryTools([in] IUnknown* iToolsObject, [out,retval] VARIANT_BOOL* result)
C#调用
bool DestoryTools(IToolsObject iToolsObject)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
iToolsObject | IToolsObject | 工具对象 |
返回值: result
result表示是否销毁成功。true-成功;false-失败。