Types of items available in Computree

...version française de cette page

Computree includes items of different types, to manage different types of data necessary for the algorithms developed. A number of standard types of items are available in the core, what allow compatibility between plugins.

However, if necessary, a plugin can define specific types of items, used solely by this plugin.

Points managment and corresponding types of items

Computree is designed to handle 3D point clouds. As such points have a specific place in the platform. And points (class CT_Point) are not items to optimize the memory management.

Classes in Computree are prefixed by a code to determine their membership plugin. CT Prefix means that the class is implemented in the core of Computree.

A point is simply an array of three decimal numbers (float, 7 significant digits) containing its coordinates (x , y, z). All points created in a session are grouped in a points repository and indexed continuously.

To date, the use of float decimal type (for memory optimization purposes) poses problems when point clouds are projected in geographic coordinates such as Lambert 93, due to the large number of significant digits needed. In these cases there will be loss of precision when importing points in Computree. At the moment, it is best to work in sensor geometry (scan center (0,0,0)).

It is expected in the short term to integrate a system of coordinates offsets to avoid this problem . This will be particularly necessary for the use of aerial LiDAR data.

To manage / display the points, they are managed within “containing points items”, which inheriting the class CT_AbstractItemDrawableWithPointCloud.

There are two types of items like this so far:

It is possible to have generic algorithms that can use either any type of derivative CT_AbstractItemDrawableWithPointCloud item.


On the same model as points, Computree can handle meshes. A mesh is constituted of points, faces and half edges. Each of these elements is operated similarly to the point (they are not items). There is therefore a repository of faces and a repository of half-edges.

As for points, there is a type of item managing the arrangement of points, faces and half-edges : the mesh model (class CT_MeshModel ). It will manage the construction, modification and display of individual elements of the mesh.


We discussed about the items for storing 3D information for points, faces and half-edges. However, data associated with these elements, such as intensity, color or normal are frequently used.

So there are types of items responsible for storing the information related to the mentioned elements: the attributes.

There is an item type attribute for each crossing type of data / element type.

To date, Computree handle following types of attributes:

Geometric shapes

Computree offers a variety of types of items to manage 3D geometric shapes on a common logic.

Thus there is a type of item for each geometric shape, inheriting all of the class CT_AbstractShape:

It is expected in the medium term to add other geometric shapes : 3D polygon, rectangle, cube, cone, bezier curves...

Data grids

Computree offers two types of item to manage data in a "grid":

These classes of items are templates, so they can be declined for various types of data in the cells.

For example, voxels containing interger would be of class CT_Grid3D<int>.

These structures are working in a very similar way. It handle missing values (except in the case of booleans).

Other types of items

There exist more types of items for specific uses:

Previous page(General Presentation) Back to summary Next (Standard Graphic Interface)