PointTable ========== .. py:class:: py3dm.PointTable Python wrapper providing access to ``ON_Point`` objects stored in an ``ONX_Model``. This class offers a convenient interface for adding, retrieving, counting, and iterating over points objects. ``PointTable`` does not own the underlying data; it operates on the associated ``ONX_Model`` instance. .. py:method:: __iter__() -> collections.abc.Iterator[PointView] .. py:method:: __len__() -> int .. py:method:: add(x: float, y: float, z: float, obj_attr: None | ObjectAttributes = None) -> uuid.UUID add(point: Point, obj_attr: None | ObjectAttributes = None) -> uuid.UUID add(point: Point3d, obj_attr: None | ObjectAttributes = None) -> uuid.UUID Returns the ``UUID`` of the point in case of successful addition, or an empty ``UUID`` otherwise. If the point is in the model, then the ``UUID`` is unique for all components in the model and is locked. .. py:method:: count() -> int Returns the number of objects of type ``ON::point_object`` in the model. .. py:method:: get(object_uuid: uuid.UUID) -> PointView | None Returns the object with the given ``object_uuid`` or ``None`` if ``object_uuid`` is not found. .. py:method:: get_exclusive(object_uuid: uuid.UUID) -> Point | None Returns the object with the given ``object_uuid`` or ``None`` if ``object_uuid`` is not found. .. rubric:: Notes From opennurbs documentation (``ON_ModelGeometryComponent::ExclusiveGeometry()``): Get a pointer to geometry that can be used to modify the geometry. The returned pointer is not shared at the time it is returned and will not be shared until a copy of this ``ON_ModelGeometryComponent`` is created. If this ``ON_ModelGeometryComponent`` is the only reference to the geometry, then a pointer to the geometry is returned. Otherwise, ``nullptr`` is returned.