|
CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
|
Geometry and 2D/3D math value classes: Color, Size, Point, PointFloat, Line, PolyLine, Box, Vector2D, Vector3D and a random path generator. More...
Go to the source code of this file.
Classes | |
| class | cmlabs::Color |
| 24-bit RGB color with mixing, inversion, distance and palette-generation helpers. More... | |
| class | cmlabs::Size |
| 2D/3D extent (width, height, optional depth) stored as doubles. More... | |
| class | cmlabs::Point |
| Integer 3D point with an optional attached Size; interoperates with PointFloat and vectors. More... | |
| class | cmlabs::PointFloat |
| Floating-point 3D point with an optional attached Size; float counterpart of Point. More... | |
| class | cmlabs::Line |
| Line segment between two PointFloat endpoints with a drawing width. More... | |
| class | cmlabs::PolyLine |
| Ordered collection of Line segments (not necessarily connected). More... | |
| class | cmlabs::Box |
| Axis-aligned rectangle defined by an upper-left corner and a Size, with overlap/containment math. More... | |
| class | cmlabs::Vector2D |
| 2D vector with the usual linear algebra: dot product, determinant, projection, rotation, angles. More... | |
| class | cmlabs::Vector3D |
| 3D vector with dot/cross products, projection and angle math. More... | |
| class | cmlabs::RandomPathGenerator |
| Generates a smoothly wandering 2D path: each call to generateNextPoint() advances the last point along a direction vector perturbed by a random variation, useful for simulated motion in tests/demos. More... | |
Namespaces | |
| namespace | cmlabs |
Macros | |
| #define | _USE_MATH_DEFINES |
Functions | |
| bool | cmlabs::MathClasses_UnitTest () |
| Unit test for the MathClasses module (geometry / vectors / boxes). | |
Variables | |
| const std::map< std::string, std::array< uint8, 3 > > | cmlabs::ColorMap |
| Lookup table mapping ~200 CSS/X11 color names (with and without spaces) to 8-bit RGB triplets; used by Color(const char*). | |
Geometry and 2D/3D math value classes: Color, Size, Point, PointFloat, Line, PolyLine, Box, Vector2D, Vector3D and a random path generator.
These lightweight value types are used across CMSDK/Psyclone for image regions, tracking, visualization and spatial reasoning. All members are public by design; the classes are simple aggregates with convenience math. Angles are radians unless noted; coordinate system is screen-style with the origin at the upper-left and y growing downward (relevant for Box).
Definition in file MathClasses.h.
| #define _USE_MATH_DEFINES |
Definition at line 12 of file MathClasses.h.