Cell
A cell is a primitive containing four points. The SDK represents a cell as an array containing the indices of four points.
Accessing an Object’s Cells
Cells are point-based objects. Therefore, the cells of any object are set and accessed using the points
property. We define points for a cell to be an array of n*4
points, where n
is the number of cells. Below is an example of points for a cell:
You can only access the cells of an object via the cells
property. The cells
property is a read-only property. Because most cell-based objects contain multiple cells, the cells
property is represented as a NumPy array. Each element of the array represents a cell, which in turn is an array of the four point indices defining the cell.
A GridSurface
is the simplest cell-based spatial object. We can use it to illustrate how to create cells with the example below.
from mapteksdk.project import Project from mapteksdk.data import GridSurface project = Project() points = [[1.1, 1.15, 1.11], [1.98, 1.17, 1.08], [3.02, 1.13, 1.07], [1.08, 1.99, 1.07], [2.01, 2.03, 1.37], [3.00, 2.11, 1.33], [1.13, 3.08, 1.08], [2.00, 3.01, 0.99], [3.18, 3.07, 1.34]] with project.new("surfaces/grid_surface", GridSurface( major_dimension_count=3, minor_dimension_count=3 )) as new_grid: new_grid: GridSurface # Added to enable IntelliSense new_grid.points = points # Accessing cells requires PointStudio 2021.1 or higher, # SDK version 1.2 (from Extend Plugins 2021.1). print(new_grid.cells)
Manipulating an Object’s Cells
Use the following properties and methods to manipulate the cells of an object:
Name | Description |
major_dimension_count
|
Use this property to define the number of rows of cells in a cell-based object. |
minor_dimension_count
|
Use this property to define the number of columns of cells in a cell-based object. |
cell_count
|
Use this property to return the total number of cells in an object. |
cell_point_count
|
Use this property to return the number of cell points in a cell-based object. This is usually equal to the major_dimension_count multiplied by the minor_dimension count properties, but may be less if the object contains invalid points. |
cell_visibility
|
Use this property to set the visibility of each cell. This is represented by an array of boolean values, where a False value indicates that the cell is invisible and a True value indicates that the cell is visible. |
cell_attributes
|
Use this method to save or return custom cell attributes in an object. To set a particular cell attribute, you can use the notation cell_attributes[attribute_name] = data . |
save_cell_attribute(attribute_name, data)
|
Use this method to save a cell attribute and allocate data to it. |
delete_cell_attribute(attribute_name)
|
Use this method to delete a cell attribute. |
You can read more about the Cell
primitive class in the class references.