In this article:
The TerraExplorer Application Programming Interface (API) provides a powerful way of integrating TerraExplorer and custom applications. It also allows development of extensions that expand application functionalities and support for external information sources such as databases or geospatial files. All of the TerraExplorer interfaces, based on the COM standard, can be interacted with using scripting (e.g., JavaScript) and non-scripting languages (e.g., C++ or C#).
TerraExplorer also provides a set of ActiveX controls that enables you to embed the 3D Window and Project Tree as ActiveX objects within a customized user interface.
COM Object
The COM interface is a standard method of communicating between applications. You can develop a client application that utilizes TerraExplorer COM capabilities, by using scripting languages (e.g., JavaScript) in an HTML page or by using non-scripting languages (e.g., C++ or C#) in a stand-alone or DLL application. More about: Working with the COM interface >
ActiveX Controls
All TerraExplorer family products can run in embedded mode using ActiveX controls. The use of ActiveX controls in TerraExplorer enables you to embed the 3D Window, the Project Tree, as well as external 3D Windows and external 3D Project Trees as ActiveX objects within a customized user interface.
ActiveX controls, formerly known as OLE controls or OCX controls, are components (or objects) that you can insert into a web page (Internet Explorer only) or other application. These controls enable the reuse of packaged functionality, which was developed independently.
TerraExplorer exposes four separate ActiveX components through ActiveX Control technology: the 3D Window, the Project Tree, the external 3D Window, and the external Project Tree. You can use the ActiveX controls in your custom user interface from an HTML page, by using scripting languages (e.g., JavaScript) in an HTML page or by using non-scripting languages (e.g., C++ or C#) in a stand-alone or DLL application.
When you use an ActiveX component, you must use the 3D Window component. This launches TerraExplorer with the 3D Window displayed in the ActiveX display area, and without the standard TerraExplorer GUI. You can then also add the other ActiveX objects. More about: Using ActiveX controls >
TerraExplorer exposes both in-process and out-of-process ActiveX controls:
- ITE3DWindow and ITEInformationWindow – When instantiated, these components are created as in-process DLL COM objects, i.e., they are loaded into the same executable as the host application. In-process objects enjoy the advantage of faster in-process COM communication with the host application. They also share resources with the host application, e.g. memory and CPU. Their main constraint is that the host application must be 64-bit, to allow the TE 64-bit DLL’s to be loaded into the same application.
-
ITE3DWindowEx and ITEInformationWindowEx – When instantiated, these components are created as standalone out-of-process COM executables (one for each ITE3DWindowEx). This offers two main advantages: it enables the creation of multiple 3D windows in the same application (including one regular ITE3DWindow, and multiple 3DWindowEx’s), and supports hosting by both 64-bit and 32-bit (i.e., Internet Explorer) applications. The downside of out-of-process objects is that COM communication may be slower when handling intensive calls and events.