GroIMP support two ways of defining a point cloud object:
As an array: the points coordinates are stored in the array, and the object is considered as one node in the project graph.
As a graph: each point is built in a node of the project graph. This representation enables links between nodes and possible meshes imported (e.g. ply files can support point, line and faces).
Whatever Cloud object you use, it will be embeeded in a PointCloud Node to be added to the Graph.
Despite not being Node, Cloud object can be directly added in a production rule (or an instantiation rule). In that case it will be automatically wrapped in a PointCloud Node and processed by the GraphManager.
Cloud c = new CloudList(new float[]{1,2,3}); [ Axiom ==> c; ]
result in the same as:
Cloud c = new CloudList(new float[]{1,2,3}); PointCloud pc = new PointCloudD(c); [ Axiom ==> pc; ]