groimp-platform:pointcloud
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
groimp-platform:pointcloud [2024/11/12 14:46] – [Point Cloud as a graph] gaetan | groimp-platform:pointcloud [2024/12/02 16:37] (current) – [Point Cloud] gaetan | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Point Cloud ====== | ====== Point Cloud ====== | ||
- | The objects and tools presented in this wiki mostly comes from the plugin [[https:// | + | The objects and tools presented in this wiki mostly comes from the plugin [[https:// |
Tools: | Tools: | ||
Line 16: | Line 16: | ||
In GroIMP point cloud are implemented following the design: | In GroIMP point cloud are implemented following the design: | ||
- | {{ : | + | < |
+ | scale 700 width | ||
+ | Class Node | ||
+ | Interface CollectionDisplayable | ||
+ | getDisplayHandler() | ||
+ | setDisplayHandler() | ||
+ | } | ||
+ | Class PointCloud | ||
+ | setCloud() | ||
+ | } | ||
+ | Interface CloudContext { | ||
+ | Cloud getCloud | ||
+ | } | ||
+ | Interface Cloud { | ||
+ | setPoints(Point[]) | ||
+ | addPoints(Point[]) | ||
+ | getPoints() | ||
+ | remove(Object[]) | ||
+ | removeAll() | ||
+ | float[] pointsToFloat() | ||
+ | Point[] floatsToPoints(float[]) | ||
+ | } | ||
+ | Interface Point { | ||
+ | float[] toFloat() | ||
+ | } | ||
+ | Class PointCloudD | ||
+ | Class CloudGraph | ||
+ | Class CloudList | ||
+ | Class CloudArray | ||
+ | Class ArrayPoint | ||
+ | Class PointCloudLeaf | ||
+ | |||
+ | Node <|-- PointCloud | ||
+ | CloudContext <|.. PointCloud | ||
+ | CloudContext <|-- Cloud | ||
+ | CloudContext <|-- Point | ||
+ | CollectionDisplayable <|.. PointCloudD | ||
+ | PointCloud <|-- PointCloudD | ||
+ | Cloud <|.. CloudGraph | ||
+ | Cloud <|.. CloudArray | ||
+ | CloudArray <|-- CloudList | ||
+ | Point <|.. ArrayPoint | ||
+ | Point <|.. PointCloudLeaf | ||
+ | Point --* Cloud | ||
+ | ArrayPoint --* CloudArray | ||
+ | Cloud --o PointCloud | ||
+ | PointCloudLeaf --* CloudGraph | ||
+ | |||
+ | </ | ||
The main Objects are: | The main Objects are: | ||
- | * **PointCloud** : A **Node**, i.e. an object that can be inserted in a GroIMP graph. The PointCloud is responsible for the display of the points by implementing **CollectionDisplayable**. | + | * **PointCloud** : A **Node**, i.e. an object that can be inserted in a GroIMP graph. The PointCloud is responsible for the display of the points. In the case of **PointCloudD** the display is managed |
* **Cloud** : The representation of the data structure through which the point cloud data is accessed. | * **Cloud** : The representation of the data structure through which the point cloud data is accessed. | ||
* **Point** : The base interface that an object must implements to be part of a Cloud. In GroIMP, points are not limited to 3 dimensions. | * **Point** : The base interface that an object must implements to be part of a Cloud. In GroIMP, points are not limited to 3 dimensions. | ||
Line 46: | Line 95: | ||
DisplayHandler require to be pinged to update their data. This can be done manually through the PointCloud using the attribute editor, or automatically when some tools are applied on the PointCloud. | DisplayHandler require to be pinged to update their data. This can be done manually through the PointCloud using the attribute editor, or automatically when some tools are applied on the PointCloud. | ||
- | {{ : | + | {{ : |
The picking is also managed by the PointCloud through the DisplayHandler. By default, the Points are picked on the 3d scene, but a [[3d-guide: | The picking is also managed by the PointCloud through the DisplayHandler. By default, the Points are picked on the 3d scene, but a [[3d-guide: |
groimp-platform/pointcloud.1731419188.txt.gz · Last modified: 2024/11/12 14:46 by gaetan