"""
PyVertex — Vertex and cloud-of-vertices package for WOLF.
Provides:
- :class:`wolfvertex` — Single 3D vertex with associated values.
- :class:`Cloud_Styles` — Enum of rendering styles (POINT, CIRCLE, CROSS, QUAD).
- :class:`cloudproperties` — Visual properties for a cloud of vertices.
- :class:`cloud_vertices` — Collection of vertices with I/O, KDTree, rendering.
- :func:`getRGBfromI` / :func:`getIfromRGB` — RGB <-> integer color conversion.
- :func:`circle` / :func:`cross` / :func:`quad` — OpenGL drawing primitives.
When wxPython/OpenGL is not available, ``cloud_vertices`` and ``cloudproperties``
fall back to model-only versions (no rendering, no wx dialogs).
"""
from ._model import wolfvertex
from ._model import cloud_vertices as cloud_vertices_model
from ._model import cloudproperties as cloudproperties_model
from ._model import cloud_of_clouds as cloud_of_clouds_model
# Re-export color helpers (now canonical home is color_constants)
from ..color_constants import getRGBfromI, getIfromRGB
try:
from ._gui import (cloud_vertices, cloudproperties,
circle, cross, quad, Cloud_Styles, Cloud_OGLRenderer,
cloud_of_clouds)
except ImportError:
[docs]
cloud_vertices = cloud_vertices_model
cloudproperties = cloudproperties_model
cloud_of_clouds = cloud_of_clouds_model
Cloud_Styles = None
Cloud_OGLRenderer = None
# OpenGL drawing primitives not available without OpenGL
def circle(*args, **kwargs): pass
def cross(*args, **kwargs): pass
def quad(*args, **kwargs): pass
__all__ = ['wolfvertex', 'Cloud_Styles', 'Cloud_OGLRenderer',
'cloud_vertices', 'cloud_vertices_model',
'cloudproperties', 'cloudproperties_model',
'cloud_of_clouds', 'cloud_of_clouds_model',
'getRGBfromI', 'getIfromRGB',
'circle', 'cross', 'quad']