Thea
|
Root namespace for the Thea library. More...
Namespaces | |
Algorithms | |
Miscellaneous algorithms. | |
Graphics | |
Graphics functionality. | |
Math | |
Mathematical functions. | |
Classes | |
class | AffineTransformN |
An affine transform in N-dimensional space, where N is any positive (non-zero) integer and T is a field. More... | |
class | AffineTransformN< 2, T > |
An affine transformation in 2-space, consisting of a linear transformation (2x2 matrix) plus a translation. More... | |
class | AffineTransformN< 3, T > |
An affine transformation in 3-space, consisting of a linear transformation (3x3 matrix) plus a translation. More... | |
class | AlignedAllocator |
Allocates aligned memory blocks. More... | |
class | Application |
Access and modify global properties of the current application. More... | |
class | AtomicInt32 |
An integer that may safely be used on different threads without external locking. More... | |
class | AttributedObject |
An object with an attached attribute (which must be default-constructible). More... | |
class | AxisAlignedBoxN |
An axis-aligned box in N-dimensional space, where N is any positive (non-zero) integer and T is a field. More... | |
class | AxisAlignedBoxN< 3, T > |
A 3-dimensional axis-aligned box. More... | |
struct | AxisAlignedDirection |
Coordinate axis-aligned directions upto 4D (enum class). More... | |
class | BallN |
A ball in N-space. More... | |
class | BezierN |
A Bezier curve segment in N-dimensional space, parametrized by a scalar in the range [0, 1]. More... | |
class | BinaryInputStream |
Sequential or random access input from binary files/memory. More... | |
class | BinaryOutputStream |
Sequential or random access output to binary files/memory. More... | |
class | BoundedArrayN |
An array of bounded maximum size N, stored on the stack. More... | |
class | BoundedSortedArray |
A sorted array of bounded maximum size, ordered in ascending order according to a comparator. More... | |
class | BoundedSortedArrayN |
A sorted array of bounded maximum size N, ordered in ascending order according to a comparator. More... | |
class | BoxN |
An arbitrarily oriented box, implemented as an axis-aligned box in a coordinate frame. More... | |
class | Codec |
A serialization codec. More... | |
class | Codec3ds |
Codec for reading and writing 3DS Max files. More... | |
class | Codec_UNKNOWN |
Indicates that the codec is unknown. More... | |
class | CodecAuto |
Indicates that the appropriate codec should be autodetected. More... | |
class | CodecCsv |
Codec for reading/writing matrices to/from comma-separated values (CSV) text files. More... | |
class | CodecJpeg |
JPEG image codec. More... | |
class | CodecObj |
Codec for reading and writing OBJ files. More... | |
class | CodecOff |
Codec for reading and writing OFF files. More... | |
class | CodecPly |
Codec for reading and writing Stanford PLY files. More... | |
class | ColorL |
Monochrome luminance value in [0, 1], with automatic scaling by 255 when switching between integer (ColorL8) and floating point (ColorL) formats. More... | |
class | ColorL8 |
Monochrome luminance value represented as a single byte value in [0, 255], with automatic scaling by 255 when switching between integer (ColorL8) and floating point (ColorL) formats. More... | |
class | ColorRgb |
A color with three floating-point channels: red, green and blue, each in [0, 1]. More... | |
class | ColorRgb8 |
A color with three byte-sized channels: red, green and blue, each in [0, 255]. More... | |
class | ColorRgba |
A color with four floating-point channels: red, green and blue, each in [0, 1]. More... | |
class | ColorRgba8 |
A color with four byte-sized channels: red, green, blue and alpha, each in [0, 255]. More... | |
struct | CompareOp |
Comparison operators (enum class). More... | |
class | Cone3 |
A solid 3D cone, whose base is a circular disk and apex is a point perpendicularly above the disk centre. More... | |
struct | CoordinateAxis |
Coordinate axes upto 4D (enum class). More... | |
class | CoordinateFrameN |
A coordinate frame in N-space, defined by N orthonormal vectors. More... | |
class | CoordinateFrameN< 2, T > |
A coordinate frame in 2-space, defined by two orthonormal vectors. More... | |
class | CoordinateFrameN< 3, T > |
A coordinate frame in 3-space, defined by three orthonormal vectors. More... | |
class | Crypto |
Cryptographic functions. More... | |
class | Cylinder3 |
A solid 3D cylinder, traced by a circular disk whose center moves along a line segment. More... | |
struct | DistanceType |
Common distance metrics. More... | |
class | DynLib |
A dynamically loaded library. More... | |
class | DynLibManager |
Manager for dynamically loaded libraries. More... | |
struct | Endianness |
Endianness values (little-endian and big-endian) (enum class). More... | |
class | FatalError |
A fatal error class. More... | |
class | FilePath |
Operations on file paths. More... | |
class | FileSystem |
Filesystem operations. More... | |
class | HyperplaneN |
A hyperplane ((N - 1)-flat) in N-dimensional space, where N is any positive (non-zero) integer and T is a field. More... | |
class | HyperplaneN< 3, T > |
A plane (2-flat) in 3-dimensional space. More... | |
class | IAddressableMatrix |
Interface for a 2D matrix with elements that may be directly accessed via a (row, column) pair. More... | |
class | ICompressedSparseMatrix |
Interface for a 2D sparse matrix in compressed column or compressed row format. More... | |
class | IDenseMatrix |
Interface for a 2D dense matrix, assumed to be packed with no gaps or padding in a contiguous memory block. More... | |
class | IFactoryRegistry |
Interface provided to DLL's for registering rendersystem factories etc. More... | |
class | IImage |
Interface for 2D and 3D images, useful for passing images across shared library boundaries. More... | |
class | Image |
A 2D image. More... | |
class | ImageCodec |
Abstract base class for all image codecs. More... | |
class | ImageMatrix |
A wrapper class that allows a single-channel (luminance) image to be treated as an addressable matrix. More... | |
class | IMatrix |
Interface for a 2D matrix, to allow passing matrices and vectors across shared library boundaries. More... | |
class | INamedObject |
Interface for an object that has a name string. More... | |
class | IOptions |
Interface for key-value options, suitable for passing across DLL boundaries. More... | |
class | IPlugin |
Interface for a plugin that may be statically or dynamically loaded. More... | |
class | IRowOrColumnMajorMatrix |
Interface for a matrix that has either a row-major or a column-major layout. More... | |
class | IsAdjacencyGraph |
Checks if a class is a graph that, in addition to satisfying IsGraph, allows iterating over the neighbors of a vertex. More... | |
struct | IsCompatibleScalar |
Check that S is a scalar type that can participate in arithmetic operations with field type T without explicit casting. More... | |
class | IsGraph |
Checks if a class is a graph that allows iterating over all vertices. More... | |
class | ISparseMatrix |
Interface for a 2D sparse matrix. More... | |
class | LineN |
A straight line in N-dimensional space, where N is any positive (non-zero) integer and T is a field. More... | |
class | LineSegmentN |
A straight line in N-dimensional space, where N is any positive (non-zero) integer and T is a field. More... | |
class | LockedOutputStream |
A temporary object that locks an output stream on construction and unlocks it (after optionally writing a newline) on destruction. More... | |
class | MappedMatrix |
Matrix that stores elements as a (row, col) –> value map. More... | |
struct | Match |
Pattern matching flags (enum class). More... | |
class | MatrixCodec |
Abstract base class for codecs that read/write matrices to/from streams. More... | |
struct | MatrixLayout |
Matrix layouts (enum class). More... | |
class | MatrixWrapper |
Wrapper for a dense 2D matrix, implementing a pure virtual interface for passing across shared library boundaries. More... | |
class | NamedObject |
An object wrapping a name string. More... | |
class | Noncopyable |
A base class for objects that should never be copied. More... | |
struct | NullAttribute |
A completely empty attribute. More... | |
struct | NumericType |
Type of a number (enum class). More... | |
class | Options |
A set of options, specified as key-value pairs. More... | |
class | ParametricCurveN |
A parametric curve segment in N-dimensional space. More... | |
class | ParametricCurveN< 3, T > |
A parametric curve segment in 3-dimensional space. More... | |
class | ParseError |
Thrown by TextInputStream and other parsers on unexpected input. More... | |
class | PluginManager |
Manages set of installed plugins (static or dynamic). More... | |
class | Polygon2 |
A polygon in 2-space. More... | |
class | Polygon3 |
A polygon in 3-space. More... | |
class | Random |
Threadsafe random number generator. More... | |
class | RayIntersectableN |
Abstract base class for an object that supports ray intersection queries in N-space. More... | |
class | RayIntersectionN |
A description of the intersection point of a ray with an object. More... | |
class | RayN |
A ray in N-dimensional space, having an originating point and a direction vector (not necessarily unit length). More... | |
class | RigidTransformN |
A rigid transformation in N-space, consisting of a rotation followed by a translation. More... | |
class | RigidTransformN< 2, T > |
A rigid transformation in 2-space, consisting of a rotation followed by a translation. More... | |
class | RigidTransformN< 3, T > |
A rigid transformation in 3-space, consisting of a rotation followed by a translation. More... | |
class | ScopedLock |
A wrapper for a shared lock object that acquires the lock upon construction and releases it upon destruction. More... | |
class | Serializable |
Abstract base class for a serializable object. More... | |
class | SerializableFactory |
The interface for a factory for creating serializable objects. More... | |
class | SortedArray |
An array sorted in ascending order according to a comparator. More... | |
class | SparseMatrixWrapper |
Wrapper for a sparse 2D matrix, implementing a pure virtual interface for passing across shared library boundaries. More... | |
class | Spinlock |
A simple lock that can be shared by multiple threads for synchronization. More... | |
class | SplineN |
A spline curve segment in N-dimensional space. More... | |
class | Stopwatch |
Accurately measure durations and framerates. More... | |
class | System |
Low-level system information and profiling functions. More... | |
class | TextInputStream |
A simple style tokenizer for reading text files. More... | |
class | TextOutputStream |
Convenient formatting of ASCII text written to a file. More... | |
class | ThreadGroup |
Manages a group of threads and allows waiting for all of them to finish. More... | |
class | Token |
A token read from a TextInputStream. More... | |
class | Torus3 |
A solid 3D torus, traced by a circular disk whose radius is the inner radius of the torus, and whose center moves along a larger circle whose radius is the outer radius of the torus. More... | |
class | Transformable |
An object with an associated transformation, stored separately. More... | |
class | Triangle3 |
A triangle in 3-space, with precomputed properties for fast access. More... | |
class | Triangle3< TriangleLocalVertexTriple3 > |
A triangle with three vertex positions stored locally, in the class itself. More... | |
class | Triangle3Base |
Base class for a triangle in 3-space, with precomputed properties for fast access. More... | |
class | TriangleLocalVertexTriple3 |
Stores the positions of a triangle's three vertices locally, and provides access to them. More... | |
class | UnionFind |
Union-find data structure. More... | |
class | VariantMatrix |
A container holding either a dense or a sparse matrix (or null). More... | |
Typedefs | |
typedef AffineTransformN< 2, Real > | AffineTransform2 |
The default affine transform class in real 2-space. More... | |
typedef AffineTransformN< 3, Real > | AffineTransform3 |
The default affine transform class in real 3-space. More... | |
template<typename T , size_t N = 16> | |
using | AlignedArray = std::vector< T, AlignedAllocator< T, N > > |
Dynamically resizable array with aligned memory allocation. More... | |
template<typename T , typename Alloc = std::allocator<T>> | |
using | Array = std::vector< T, Alloc > |
Dynamically resizable array. More... | |
typedef AxisAlignedBoxN< 3, Real > | AxisAlignedBox3 |
The default axis-aligned box class in 3-dimensional real space. More... | |
typedef BallN< 3, Real > | Ball3 |
The default ball class in real 3-space. More... | |
typedef uint16 | ColorL16 |
16-bit luminance value. More... | |
typedef CoordinateFrameN< 2, Real > | CoordinateFrame2 |
The default coordinate frame class in real 2-space. More... | |
typedef CoordinateFrameN< 3, Real > | CoordinateFrame3 |
The default coordinate frame class in real 3-space. More... | |
typedef std::runtime_error | Error |
An error class. More... | |
typedef std::ptrdiff_t | intx |
A signed integer suitable for indexing a structure held in memory. More... | |
typedef LineN< 2, Real > | Line2 |
The default straight line class in 2-dimensional real space. More... | |
typedef LineN< 3, Real > | Line3 |
The default straight line class in 3-dimensional real space. More... | |
typedef LineSegmentN< 2, Real > | LineSegment2 |
The default line segment class in 2-dimensional real space. More... | |
typedef LineSegmentN< 3, Real > | LineSegment3 |
The default line segment class in 3-dimensional real space. More... | |
template<typename T , typename Alloc = std::allocator<T>> | |
using | List = std::list< T, Alloc > |
Linked list. More... | |
typedef Triangle3< TriangleLocalVertexTriple3 > | LocalTriangle3 |
A triangle with three vertex positions stored locally, in the class itself. More... | |
template<typename Key , typename T , typename Compare = std::less<Key>, typename Alloc = std::allocator< std::pair<Key const, T> >> | |
using | Map = std::map< Key, T, Compare, Alloc > |
Maps keys to values. More... | |
template<int Rows, int Cols, typename T = Real, int Options = DEFAULT_MATRIX_LAYOUT, int MaxRowsAtCompileTime = Rows, int MaxColsAtCompileTime = Cols> | |
using | Matrix = Eigen::Matrix< T, Rows, Cols, Options|((Options &Eigen::DontAlign)==0 &&(Rows==Eigen::Dynamic||Cols==Eigen::Dynamic)?Eigen::AutoAlign:Eigen::DontAlign), MaxRowsAtCompileTime, MaxColsAtCompileTime > |
General 2D dense matrix template, alias for Eigen::Matrix with a custom default layout (row or column major) and alignment preference. More... | |
template<int Rows, int Cols, typename T = Real, int Options = DEFAULT_MATRIX_LAYOUT, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int MaxRowsAtCompileTime = Rows, int MaxColsAtCompileTime = Cols> | |
using | MatrixConstMap = Eigen::Map< Matrix< Rows, Cols, T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime > const, MapOptions, StrideType > |
Alias for Eigen::Map< Matrix<...> const >. More... | |
template<int Rows, int Cols, typename T = Real, int Options = DEFAULT_MATRIX_LAYOUT, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int MaxRowsAtCompileTime = Rows, int MaxColsAtCompileTime = Cols> | |
using | MatrixMap = Eigen::Map< Matrix< Rows, Cols, T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime >, MapOptions, StrideType > |
Alias for Eigen::Map< Matrix<...> >. More... | |
template<typename T = Real, int Options = DEFAULT_MATRIX_LAYOUT, int MaxRowsAtCompileTime = Eigen::Dynamic, int MaxColsAtCompileTime = Eigen::Dynamic> | |
using | MatrixX = Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime > |
General 2D dense matrix template with dynamic resizing, alias for Eigen::Matrix with Eigen::Dynamic and a custom default layout (row or column major). More... | |
template<typename T = Real, int Options = DEFAULT_MATRIX_LAYOUT, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int MaxRowsAtCompileTime = Eigen::Dynamic, int MaxColsAtCompileTime = Eigen::Dynamic> | |
using | MatrixXConstMap = Eigen::Map< MatrixX< T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime > const, MapOptions, StrideType > |
Alias for Eigen::Map< MatrixX<...> const >. More... | |
template<typename T = Real, int Options = DEFAULT_MATRIX_LAYOUT, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int MaxRowsAtCompileTime = Eigen::Dynamic, int MaxColsAtCompileTime = Eigen::Dynamic> | |
using | MatrixXMap = Eigen::Map< MatrixX< T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime >, MapOptions, StrideType > |
Alias for Eigen::Map< MatrixX<...> >. More... | |
template<typename Key , typename T , typename Compare = std::less<Key>, typename Alloc = std::allocator< std::pair<Key const, T> >> | |
using | MultiMap = std::multimap< Key, T, Compare, Alloc > |
Maps (possibly duplicate) keys to values. More... | |
template<typename T , typename Compare = std::less<T>, typename Alloc = std::allocator<T>> | |
using | MultiSet = std::multiset< T, Compare, Alloc > |
Set of objects, with possible duplication. More... | |
typedef HyperplaneN< 3, Real > | Plane3 |
The default plane class in 3-dimensional real space. More... | |
template<typename T = Real> | |
using | Quaternion = Eigen::Quaternion< T > |
Alias for Eigen::Quaternion<...>. More... | |
typedef RigidTransformN< 2, Real > | RigidTransform2 |
The default rigid transform class in real 2-space. More... | |
typedef RigidTransformN< 3, Real > | RigidTransform3 |
The default affine transform class in real 3-space. More... | |
template<int Size, typename T = Real, int Options = MatrixLayout::ROW_MAJOR, int MaxColsAtCompileTime = Size> | |
using | RowVector = Eigen::Matrix< T, 1, Size, Options|((Options &Eigen::DontAlign)==0 &&Size==Eigen::Dynamic?Eigen::AutoAlign:Eigen::DontAlign), 1, MaxColsAtCompileTime > |
General 1D dense row vector template, alias for Eigen::Matrix<T, 1, Size,...> , with a custom alignment preference. More... | |
template<int Size, typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::ROW_MAJOR, int MaxColsAtCompileTime = Size> | |
using | RowVectorConstMap = Eigen::Map< RowVector< Size, T, Options, MaxColsAtCompileTime > const, MapOptions, StrideType > |
Alias for Eigen::Map< RowVector<...> const >. More... | |
template<int Size, typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::ROW_MAJOR, int MaxColsAtCompileTime = Size> | |
using | RowVectorMap = Eigen::Map< RowVector< Size, T, Options, MaxColsAtCompileTime >, MapOptions, StrideType > |
Alias for Eigen::Map< RowVector<...> >. More... | |
template<typename T = Real, int Options = MatrixLayout::ROW_MAJOR, int MaxColsAtCompileTime = Eigen::Dynamic> | |
using | RowVectorX = Eigen::Matrix< T, 1, Eigen::Dynamic, Options, 1, MaxColsAtCompileTime > |
General 1D dense row vector template with dynamic resizing, alias for Eigen::Matrix<T, 1, Eigen::Dynamic,...> with a custom default layout (row or column major). More... | |
template<typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::ROW_MAJOR, int MaxColsAtCompileTime = Eigen::Dynamic> | |
using | RowVectorXConstMap = Eigen::Map< RowVectorX< T, Options, MaxColsAtCompileTime > const, MapOptions, StrideType > |
Alias for Eigen::Map< RowVectorX<...> const >. More... | |
template<typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::ROW_MAJOR, int MaxColsAtCompileTime = Eigen::Dynamic> | |
using | RowVectorXMap = Eigen::Map< RowVectorX< T, Options, MaxColsAtCompileTime >, MapOptions, StrideType > |
Alias for Eigen::Map< RowVectorX<...> >. More... | |
template<typename T , typename Compare = std::less<T>, typename Alloc = std::allocator<T>> | |
using | Set = std::set< T, Compare, Alloc > |
Set of objects. More... | |
template<typename T = Real, typename StorageIndex = int> | |
using | SparseColumnMatrix = Eigen::SparseMatrix< T, MatrixLayout::COLUMN_MAJOR, StorageIndex > |
2D sparse column matrix template, alias for Eigen::SparseMatrix with Eigen::ColMajor . More... | |
template<typename T = Real, typename StorageIndex = int> | |
using | SparseColumnVector = Eigen::SparseVector< T, MatrixLayout::COLUMN_MAJOR, StorageIndex > |
1D sparse column vector template, alias for Eigen::SparseVector with Eigen::ColMajor . More... | |
template<typename T = Real, int Options = DEFAULT_SPARSE_MATRIX_LAYOUT, typename StorageIndex = int> | |
using | SparseMatrix = Eigen::SparseMatrix< T, Options, StorageIndex > |
General 2D sparse matrix template, alias for Eigen::SparseMatrix with a custom default layout (row or column major). More... | |
template<typename T = Real, typename StorageIndex = int> | |
using | SparseRowMatrix = Eigen::SparseMatrix< T, MatrixLayout::ROW_MAJOR, StorageIndex > |
2D sparse row matrix template, alias for Eigen::SparseMatrix with Eigen::RowMajor . More... | |
template<typename T = Real, typename StorageIndex = int> | |
using | SparseRowVector = Eigen::SparseVector< T, MatrixLayout::ROW_MAJOR, StorageIndex > |
1D sparse row vector template, alias for Eigen::SparseVector with Eigen::RowMajor . More... | |
template<typename T = Real, int Options = DEFAULT_SPARSE_MATRIX_LAYOUT, typename StorageIndex = int> | |
using | SparseVector = Eigen::SparseVector< T, Options, StorageIndex > |
General 1D sparse vector template, alias for Eigen::SparseVector with a custom default layout (row or column major). More... | |
typedef std::size_t | uintx |
An unsigned integer suitable for indexing a structure held in memory. More... | |
template<typename Key , typename T , typename Hash = std::hash<Key>, typename Pred = std::equal_to<Key>, typename Alloc = std::allocator< std::pair<Key const, T> >> | |
using | UnorderedMap = std::unordered_map< Key, T, Hash, Pred, Alloc > |
Hash table-based mapping from keys to values. More... | |
template<typename Key , typename T , typename Hash = std::hash<Key>, typename Pred = std::equal_to<Key>, typename Alloc = std::allocator< std::pair<Key const, T> >> | |
using | UnorderedMultiMap = std::unordered_multimap< Key, T, Hash, Pred, Alloc > |
Hash table-based mapping from (possibly duplicate) keys to values. More... | |
template<typename T , typename Hash = std::hash<T>, typename Pred = std::equal_to<T>, typename Alloc = std::allocator<T>> | |
using | UnorderedMultiSet = std::unordered_multiset< T, Hash, Pred, Alloc > |
Hash table-based set of objects, with possible duplication. More... | |
template<typename T , typename Hash = std::hash<T>, typename Pred = std::equal_to<T>, typename Alloc = std::allocator<T>> | |
using | UnorderedSet = std::unordered_set< T, Hash, Pred, Alloc > |
Hash table-based set of objects. More... | |
template<int Size, typename T = Real, int Options = MatrixLayout::COLUMN_MAJOR, int MaxRowsAtCompileTime = Size> | |
using | Vector = Eigen::Matrix< T, Size, 1, Options|((Options &Eigen::DontAlign)==0 &&Size==Eigen::Dynamic?Eigen::AutoAlign:Eigen::DontAlign), MaxRowsAtCompileTime, 1 > |
General 1D dense column vector template, alias for Eigen::Matrix<T, Size, 1,...> , with a custom alignment preference. More... | |
template<int Size, typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::COLUMN_MAJOR, int MaxRowsAtCompileTime = Size> | |
using | VectorConstMap = Eigen::Map< Vector< Size, T, Options, MaxRowsAtCompileTime > const, MapOptions, StrideType > |
Alias for Eigen::Map< Vector<...> const >. More... | |
template<int Size, typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::COLUMN_MAJOR, int MaxRowsAtCompileTime = Size> | |
using | VectorMap = Eigen::Map< Vector< Size, T, Options, MaxRowsAtCompileTime >, MapOptions, StrideType > |
Alias for Eigen::Map< Vector<...> >. More... | |
template<typename T = Real, int Options = MatrixLayout::COLUMN_MAJOR, int MaxRowsAtCompileTime = Eigen::Dynamic> | |
using | VectorX = Eigen::Matrix< T, Eigen::Dynamic, 1, Options, MaxRowsAtCompileTime, 1 > |
General 1D dense column vector template with dynamic resizing, alias for Eigen::Matrix<T, Eigen::Dynamic, 1,...> with a custom default layout (row or column major). More... | |
template<typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::COLUMN_MAJOR, int MaxRowsAtCompileTime = Eigen::Dynamic> | |
using | VectorXConstMap = Eigen::Map< VectorX< T, Options, MaxRowsAtCompileTime > const, MapOptions, StrideType > |
Alias for Eigen::Map< VectorX<...> const >. More... | |
template<typename T = Real, typename StrideType = Eigen::Stride<0, 0>, int MapOptions = Eigen::Unaligned, int Options = MatrixLayout::COLUMN_MAJOR, int MaxRowsAtCompileTime = Eigen::Dynamic> | |
using | VectorXMap = Eigen::Map< VectorX< T, Options, MaxRowsAtCompileTime >, MapOptions, StrideType > |
Alias for Eigen::Map< VectorX<...> >. More... | |
Functions | |
template<typename CondT , typename MessageT > | |
void | alwaysAssertM (CondT const &test, MessageT const &msg) |
Check if a test condition is true, and immediately abort the program with an error code if not. More... | |
template<typename T > | |
T & | asLvalue (T &&t) |
Convert an r-value to an l-value. More... | |
bool | beginsWith (std::string const &test, std::string const &pattern) |
Check if the test string begins with the pattern string. More... | |
template<typename CondT , typename MessageT > | |
void | debugAssertM (CondT const &test, MessageT const &msg) |
Check if a test condition is true, and immediately abort the program with an error code if not, in debug mode only. More... | |
IPlugin * | dllStartPlugin (IFactoryRegistry *registry_) |
DLL start routine. More... | |
void | dllStopPlugin () |
DLL stop routine. More... | |
bool | endsWith (std::string const &test, std::string const &pattern) |
Check if the test string ends with the pattern string. More... | |
intx | findFirstSlash (std::string const &f, intx start=0) |
Finds the index of the first '\' or '/' character, starting at index start. More... | |
intx | findLastSlash (std::string const &f, intx start=-1) |
Finds the index of the last '\' or '/' character, starting at index start (starts at the end of the string if start is negative). More... | |
std::string | format (char const *fmt,...) |
Produces a string from arguments in the style of printf. More... | |
template<typename T , typename std::enable_if< std::is_arithmetic< T >::value, T >::type * = nullptr> | |
T | fromString (std::string const &str) |
Convert a string to a scalar number. More... | |
template<typename T > | |
std::string | getTypeName () |
Get the name of a type, ignoring reference and cv-qualifiers. More... | |
template<typename T > | |
std::string | getTypeName (T const &obj) |
Get the name of the dynamic type of an object, ignoring reference and cv-qualifiers. More... | |
bool | isAlpha (char c) |
Check if a character is a letter of the alphabet. More... | |
bool | isDigit (char c) |
Check if a character is a digit. More... | |
bool | isNewline (char c) |
Check if a character is a newline character. More... | |
bool | isQuote (char c) |
Check if a character is a quote (single or double). More... | |
bool | isSlash (char c) |
Check if a character is a slash (forward or backward). More... | |
bool | isWhitespace (char c) |
Check if a character is a whitespace character. More... | |
ColorL8 | operator* (Real lhs, ColorL8 const &rhs) |
Multiply by a scalar. More... | |
ColorL | operator* (Real lhs, ColorL const &rhs) |
Multiply by a scalar. More... | |
ColorRgba8 | operator* (Real s, ColorRgba8 const &c) |
Multiply by a scalar. More... | |
ColorRgba8 | operator* (ColorL &s, ColorRgba8 const &c) |
Multiply by a one-channel color. More... | |
ColorRgb8 | operator* (Real s, ColorRgb8 const &c) |
Multiply by a scalar. More... | |
ColorRgba8 | operator* (ColorRgba8 const &c, ColorL &s) |
Multiply by a one-channel color. More... | |
ColorRgb8 | operator* (ColorL &s, ColorRgb8 const &c) |
Multiply by a one-channel color. More... | |
ColorRgb8 | operator* (ColorRgb8 const &c, ColorL &s) |
Multiply by a one-channel color. More... | |
ColorRgba | operator* (Real s, ColorRgba const &c) |
Multiply by a scalar. More... | |
ColorRgba | operator* (ColorL &s, ColorRgba const &c) |
Multiply by a one-channel color. More... | |
ColorRgba | operator* (ColorRgba const &c, ColorL &s) |
Multiply by a one-channel color. More... | |
ColorRgb | operator* (Real s, ColorRgb const &c) |
Multiply by a scalar. More... | |
ColorRgb | operator* (ColorL &s, ColorRgb const &c) |
Multiply by a one-channel color. More... | |
ColorRgb | operator* (ColorRgb const &c, ColorL &s) |
Multiply by a one-channel color. More... | |
std::ostream & | operator<< (std::ostream &os, NamedObject const &obj) |
Write a short description of a named object to an output stream. More... | |
template<int N, typename T > | |
std::ostream & | operator<< (std::ostream &os, CoordinateFrameN< N, T > const &cf) |
Pipe a textual representation of a coordinate frame to a std::ostream . More... | |
std::ostream & | operator<< (std::ostream &os, Codec const &codec) |
Write the name of the object to an output stream. More... | |
template<int N, typename T > | |
std::ostream & | operator<< (std::ostream &os, RigidTransformN< N, T > const &tr) |
Pipe a textual representation of a rigid transform to a std::ostream . More... | |
template<int N, typename T > | |
std::ostream & | operator<< (std::ostream &os, AffineTransformN< N, T > const &tr) |
Pipe a textual representation of an affine transform to a std::ostream . More... | |
template<int N, typename T > | |
std::ostream & | operator<< (std::ostream &os, HyperplaneN< N, T > const &plane) |
Pipe a textual representation of a hyperplane to a std::ostream . More... | |
void | parseCommaSeparated (std::string const &s, Array< std::string > &array, bool strip_quotes=true) |
Separates a comma-separated line, properly escaping commas within double quotes (") and super quotes ("""). More... | |
bool | patternMatch (std::string const &pattern, std::string const &query, int flags=0) |
Compares a filename or pathname to a pattern. More... | |
template<typename IteratorT , typename C > | |
std::string | stringJoin (IteratorT begin, IteratorT end, C const &padding) |
Concatenate a sequence of serializable objects (typically strings), separated by a padding character, string or other serializable object. More... | |
template<typename ContainerT , typename C > | |
std::string | stringJoin (ContainerT const &a, C const &padding) |
Concatenate a sequence of serializable objects (typically strings), separated by a padding character, string or other serializable object. More... | |
intx | stringSplit (std::string const &s, char split_char, Array< std::string > &result, bool skip_empty_fields=false) |
Split a string at each occurrence of a splitting character. More... | |
intx | stringSplit (std::string const &s, std::string const &split_chars, Array< std::string > &result, bool skip_empty_fields=false) |
Split a string at each occurrence of any splitting character from a provided set. More... | |
std::string | toLower (std::string const &s) |
Get the lowercase version of a string. More... | |
std::string | toString (char const *s) |
Convert a C-string to a std::string object, returning an empty string if the input is a null pointer. More... | |
template<typename Derived > | |
std::string | toString (Eigen::DenseBase< Derived > const &m, intx max_rows=4, intx max_cols=4) |
Get a single-line string representation of a matrix or vector. More... | |
std::string | toUpper (std::string const &s) |
Get the uppercase version of a string. More... | |
std::string | trimWhitespace (std::string const &s) |
Strips whitespace from both ends of the string. More... | |
std::string | vformat (char const *fmt, va_list arg_ptr) |
Produces a string from arguments in the style of printf, can be called with the argument list from a function that itself takes variable arguments. More... | |
std::string | wordWrap (std::string const &input, intx num_cols, char const *newline=NEWLINE) |
Produces a new string that is the input string wrapped at a certain number of columns (where the line is broken at the latest space before the column limit). More... | |
Variables | |
char const * | NEWLINE = "\n" |
The newline character sequence for the current platform. More... | |
Root namespace for the Thea library.
typedef AffineTransformN<2, Real> AffineTransform2 |
The default affine transform class in real 2-space.
Definition at line 84 of file AffineTransform2.hpp.
typedef AffineTransformN<3, Real> AffineTransform3 |
The default affine transform class in real 3-space.
Definition at line 146 of file AffineTransform3.hpp.
using AlignedArray = std::vector< T, AlignedAllocator<T, N> > |
using Array = std::vector<T, Alloc> |
typedef AxisAlignedBoxN<3, Real> AxisAlignedBox3 |
The default axis-aligned box class in 3-dimensional real space.
Definition at line 342 of file AxisAlignedBox3.hpp.
typedef uint16 ColorL16 |
16-bit luminance value.
Definition at line 32 of file Colors.hpp.
typedef CoordinateFrameN<2, Real> CoordinateFrame2 |
The default coordinate frame class in real 2-space.
Definition at line 66 of file CoordinateFrame2.hpp.
typedef CoordinateFrameN<3, Real> CoordinateFrame3 |
The default coordinate frame class in real 3-space.
Definition at line 108 of file CoordinateFrame3.hpp.
typedef std::ptrdiff_t intx |
A signed integer suitable for indexing a structure held in memory.
32-bit on 32-bit systems, 64-bit on 64-bit systems. This is expected to be fast and can usually be used for any application involving integers, unless smaller or larger storage is explicitly required. It also matches the current default type of Eigen::Index. Note that it is not equivalent to int, long or long long, whose sizes depend on LP32/64, ILP32/64 or LLP64 conventions.
The phonetic similarity to "index" is intentional.
Definition at line 161 of file Platform.hpp.
typedef LineSegmentN<2, Real> LineSegment2 |
The default line segment class in 2-dimensional real space.
Definition at line 28 of file LineSegment2.hpp.
typedef LineSegmentN<3, Real> LineSegment3 |
The default line segment class in 3-dimensional real space.
Definition at line 28 of file LineSegment3.hpp.
A triangle with three vertex positions stored locally, in the class itself.
Definition at line 665 of file Triangle3.hpp.
using Map = std::map<Key, T, Compare, Alloc> |
using Matrix = Eigen::Matrix<T, Rows, Cols, Options | ((Options & Eigen::DontAlign) == 0 && (Rows == Eigen::Dynamic || Cols == Eigen::Dynamic) ? Eigen::AutoAlign : Eigen::DontAlign), MaxRowsAtCompileTime, MaxColsAtCompileTime> |
General 2D dense matrix template, alias for Eigen::Matrix
with a custom default layout (row or column major) and alignment preference.
This alias currently disables alignment for all fixed-size types: fixed-size vectorizable types (Vector4f, Matrix4f, Vector2d etc) require special handling for every class which directly or indirectly has such a member, and could lead to unexpected bugs and considerably less ease of use.
Definition at line 114 of file MatVec.hpp.
using MatrixConstMap = Eigen::Map< Matrix<Rows, Cols, T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime> const, MapOptions, StrideType > |
Alias for Eigen::Map< Matrix<...> const >.
Definition at line 269 of file MatVec.hpp.
using MatrixMap = Eigen::Map< Matrix<Rows, Cols, T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime>, MapOptions, StrideType > |
Alias for Eigen::Map< Matrix<...> >.
Definition at line 259 of file MatVec.hpp.
using MatrixX = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime> |
General 2D dense matrix template with dynamic resizing, alias for Eigen::Matrix
with Eigen::Dynamic and a custom default layout (row or column major).
Definition at line 124 of file MatVec.hpp.
using MatrixXConstMap = Eigen::Map< MatrixX<T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime> const, MapOptions, StrideType > |
Alias for Eigen::Map< MatrixX<...> const >.
Definition at line 320 of file MatVec.hpp.
using MatrixXMap = Eigen::Map< MatrixX<T, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime>, MapOptions, StrideType > |
Alias for Eigen::Map< MatrixX<...> >.
Definition at line 310 of file MatVec.hpp.
using MultiMap = std::multimap<Key, T, Compare, Alloc> |
using MultiSet = std::multiset<T, Compare, Alloc> |
typedef HyperplaneN<3, Real> Plane3 |
The default plane class in 3-dimensional real space.
Definition at line 83 of file Hyperplane3.hpp.
using Quaternion = Eigen::Quaternion<T> |
Alias for Eigen::Quaternion<...>.
Definition at line 359 of file MatVec.hpp.
typedef RigidTransformN<2, Real> RigidTransform2 |
The default rigid transform class in real 2-space.
Definition at line 65 of file RigidTransform2.hpp.
typedef RigidTransformN<3, Real> RigidTransform3 |
The default affine transform class in real 3-space.
Definition at line 126 of file RigidTransform3.hpp.
using RowVector = Eigen::Matrix<T, 1, Size, Options | ((Options & Eigen::DontAlign) == 0 && Size == Eigen::Dynamic ? Eigen::AutoAlign : Eigen::DontAlign), 1, MaxColsAtCompileTime> |
General 1D dense row vector template, alias for Eigen::Matrix<T, 1, Size,...>
, with a custom alignment preference.
This alias currently disables alignment for all fixed-size types: fixed-size vectorizable types (RowVector4f, RowVector2d etc) require special handling for every class which directly or indirectly has such a member, and could lead to unexpected bugs and considerably less ease of use.
Definition at line 177 of file MatVec.hpp.
using RowVectorConstMap = Eigen::Map< RowVector<Size, T, Options, MaxColsAtCompileTime> const, MapOptions, StrideType > |
Alias for Eigen::Map< RowVector<...> const >.
Definition at line 301 of file MatVec.hpp.
using RowVectorMap = Eigen::Map< RowVector<Size, T, Options, MaxColsAtCompileTime>, MapOptions, StrideType > |
Alias for Eigen::Map< RowVector<...> >.
Definition at line 293 of file MatVec.hpp.
using RowVectorX = Eigen::Matrix<T, 1, Eigen::Dynamic, Options, 1, MaxColsAtCompileTime> |
General 1D dense row vector template with dynamic resizing, alias for Eigen::Matrix<T, 1, Eigen::Dynamic,...>
with a custom default layout (row or column major).
Definition at line 186 of file MatVec.hpp.
using RowVectorXConstMap = Eigen::Map< RowVectorX<T, Options, MaxColsAtCompileTime> const, MapOptions, StrideType > |
Alias for Eigen::Map< RowVectorX<...> const >.
Definition at line 352 of file MatVec.hpp.
using RowVectorXMap = Eigen::Map< RowVectorX<T, Options, MaxColsAtCompileTime>, MapOptions, StrideType > |
Alias for Eigen::Map< RowVectorX<...> >.
Definition at line 344 of file MatVec.hpp.
using Set = std::set<T, Compare, Alloc> |
using SparseColumnMatrix = Eigen::SparseMatrix<T, MatrixLayout::COLUMN_MAJOR, StorageIndex> |
2D sparse column matrix template, alias for Eigen::SparseMatrix
with Eigen::ColMajor
.
Definition at line 42 of file SparseMatVec.hpp.
using SparseColumnVector = Eigen::SparseVector<T, MatrixLayout::COLUMN_MAJOR, StorageIndex> |
1D sparse column vector template, alias for Eigen::SparseVector
with Eigen::ColMajor
.
Definition at line 61 of file SparseMatVec.hpp.
using SparseMatrix = Eigen::SparseMatrix<T, Options, StorageIndex> |
General 2D sparse matrix template, alias for Eigen::SparseMatrix
with a custom default layout (row or column major).
Definition at line 37 of file SparseMatVec.hpp.
using SparseRowMatrix = Eigen::SparseMatrix<T, MatrixLayout::ROW_MAJOR, StorageIndex> |
2D sparse row matrix template, alias for Eigen::SparseMatrix
with Eigen::RowMajor
.
Definition at line 47 of file SparseMatVec.hpp.
using SparseRowVector = Eigen::SparseVector<T, MatrixLayout::ROW_MAJOR, StorageIndex> |
1D sparse row vector template, alias for Eigen::SparseVector
with Eigen::RowMajor
.
Definition at line 66 of file SparseMatVec.hpp.
using SparseVector = Eigen::SparseVector<T, Options, StorageIndex> |
General 1D sparse vector template, alias for Eigen::SparseVector
with a custom default layout (row or column major).
Definition at line 56 of file SparseMatVec.hpp.
typedef std::size_t uintx |
An unsigned integer suitable for indexing a structure held in memory.
32-bit on 32-bit systems, 64-bit on 64-bit systems. Note that it is not equivalent to unsigned int, unsigned long or unsigned long long, whose sizes depend on LP32/64, ILP32/64 or LLP64 conventions.
The phonetic similarity to "(unsigned) index" is intentional.
Definition at line 173 of file Platform.hpp.
using UnorderedMap = std::unordered_map<Key, T, Hash, Pred, Alloc> |
Hash table-based mapping from keys to values.
Definition at line 29 of file UnorderedMap.hpp.
using UnorderedMultiMap = std::unordered_multimap<Key, T, Hash, Pred, Alloc> |
Hash table-based mapping from (possibly duplicate) keys to values.
Definition at line 37 of file UnorderedMap.hpp.
using UnorderedMultiSet = std::unordered_multiset<T, Hash, Pred, Alloc> |
Hash table-based set of objects, with possible duplication.
Definition at line 35 of file UnorderedSet.hpp.
using UnorderedSet = std::unordered_set<T, Hash, Pred, Alloc> |
Hash table-based set of objects.
Definition at line 28 of file UnorderedSet.hpp.
using Vector = Eigen::Matrix<T, Size, 1, Options | ((Options & Eigen::DontAlign) == 0 && Size == Eigen::Dynamic ? Eigen::AutoAlign : Eigen::DontAlign), MaxRowsAtCompileTime, 1> |
General 1D dense column vector template, alias for Eigen::Matrix<T, Size, 1,...>
, with a custom alignment preference.
This alias currently disables alignment for all fixed-size types: fixed-size vectorizable types (Vector4f, Vector2d etc) require special handling for every class which directly or indirectly has such a member, and could lead to unexpected bugs and considerably less ease of use.
Definition at line 146 of file MatVec.hpp.
using VectorConstMap = Eigen::Map< Vector<Size, T, Options, MaxRowsAtCompileTime> const, MapOptions, StrideType > |
Alias for Eigen::Map< Vector<...> const >.
Definition at line 285 of file MatVec.hpp.
using VectorMap = Eigen::Map< Vector<Size, T, Options, MaxRowsAtCompileTime>, MapOptions, StrideType > |
Alias for Eigen::Map< Vector<...> >.
Definition at line 277 of file MatVec.hpp.
General 1D dense column vector template with dynamic resizing, alias for Eigen::Matrix<T, Eigen::Dynamic, 1,...>
with a custom default layout (row or column major).
Definition at line 155 of file MatVec.hpp.
using VectorXConstMap = Eigen::Map< VectorX<T, Options, MaxRowsAtCompileTime> const, MapOptions, StrideType > |
Alias for Eigen::Map< VectorX<...> const >.
Definition at line 336 of file MatVec.hpp.
using VectorXMap = Eigen::Map< VectorX<T, Options, MaxRowsAtCompileTime>, MapOptions, StrideType > |
Alias for Eigen::Map< VectorX<...> >.
Definition at line 328 of file MatVec.hpp.
void Thea::alwaysAssertM | ( | CondT const & | test, |
MessageT const & | msg | ||
) |
Check if a test condition is true, and immediately abort the program with an error code if not.
Definition at line 66 of file Common.hpp.
T& Thea::asLvalue | ( | T && | t | ) |
Convert an r-value to an l-value.
Useful as a workaround for the "can't take address of temporary" compiler error. E.g.
A more realistic example involves passing a matrix, wrapped in a temporary object implementing an abstract interface, to a plugin:
From https://stackoverflow.com/a/47460052.
Definition at line 84 of file Memory.hpp.
bool beginsWith | ( | std::string const & | test, |
std::string const & | pattern | ||
) |
Check if the test string begins with the pattern string.
Definition at line 122 of file StringAlg.cpp.
void Thea::debugAssertM | ( | CondT const & | test, |
MessageT const & | msg | ||
) |
Check if a test condition is true, and immediately abort the program with an error code if not, in debug mode only.
Definition at line 52 of file Common.hpp.
IPlugin * dllStartPlugin | ( | IFactoryRegistry * | registry_ | ) |
void dllStopPlugin | ( | ) |
bool endsWith | ( | std::string const & | test, |
std::string const & | pattern | ||
) |
Check if the test string ends with the pattern string.
Definition at line 143 of file StringAlg.cpp.
Finds the index of the first '\' or '/' character, starting at index start.
Definition at line 57 of file BasicStringAlg.hpp.
Finds the index of the last '\' or '/' character, starting at index start (starts at the end of the string if start is negative).
Definition at line 72 of file BasicStringAlg.hpp.
std::string format | ( | char const * | fmt, |
... | |||
) |
Produces a string from arguments in the style of printf.
This avoids problems with buffer overflows when using sprintf and makes it easy to use the result functionally. This function is fast when the resulting string is under 160 characters (not including terminator) and slower when the string is longer.
Definition at line 305 of file StringAlg.cpp.
T Thea::fromString | ( | std::string const & | str | ) |
Convert a string to a scalar number.
The string must contain the number and nothing else except leading/trailing whitespace.
Definition at line 56 of file StringAlg.hpp.
std::string Thea::getTypeName | ( | ) |
Get the name of a type, ignoring reference and cv-qualifiers.
Definition at line 107 of file Common.hpp.
std::string Thea::getTypeName | ( | T const & | obj | ) |
Get the name of the dynamic type of an object, ignoring reference and cv-qualifiers.
Definition at line 119 of file Common.hpp.
bool Thea::isAlpha | ( | char | c | ) |
Check if a character is a letter of the alphabet.
Definition at line 126 of file BasicStringAlg.hpp.
bool Thea::isDigit | ( | char | c | ) |
Check if a character is a digit.
Definition at line 119 of file BasicStringAlg.hpp.
bool Thea::isNewline | ( | char | c | ) |
Check if a character is a newline character.
Definition at line 112 of file BasicStringAlg.hpp.
bool Thea::isQuote | ( | char | c | ) |
Check if a character is a quote (single or double).
Definition at line 140 of file BasicStringAlg.hpp.
bool Thea::isSlash | ( | char | c | ) |
Check if a character is a slash (forward or backward).
Definition at line 133 of file BasicStringAlg.hpp.
bool Thea::isWhitespace | ( | char | c | ) |
Check if a character is a whitespace character.
Definition at line 105 of file BasicStringAlg.hpp.
Multiply by a scalar.
The result is rounded to the nearest byte value.
Definition at line 169 of file ColorL8.hpp.
Multiply by a scalar.
Definition at line 201 of file ColorL.hpp.
ColorRgba8 Thea::operator* | ( | Real | s, |
ColorRgba8 const & | c | ||
) |
Multiply by a scalar.
Definition at line 218 of file ColorRgba8.hpp.
ColorRgba8 Thea::operator* | ( | ColorL & | s, |
ColorRgba8 const & | c | ||
) |
Multiply by a one-channel color.
Definition at line 225 of file ColorRgba8.hpp.
Multiply by a scalar.
Definition at line 231 of file ColorRgb8.hpp.
ColorRgba8 Thea::operator* | ( | ColorRgba8 const & | c, |
ColorL & | s | ||
) |
Multiply by a one-channel color.
Definition at line 232 of file ColorRgba8.hpp.
Multiply by a one-channel color.
Definition at line 238 of file ColorRgb8.hpp.
Multiply by a one-channel color.
Definition at line 245 of file ColorRgb8.hpp.
Multiply by a scalar.
Definition at line 288 of file ColorRgba.hpp.
Multiply by a one-channel color.
Definition at line 295 of file ColorRgba.hpp.
Multiply by a one-channel color.
Definition at line 302 of file ColorRgba.hpp.
Multiply by a scalar.
Definition at line 373 of file ColorRgb.hpp.
Multiply by a one-channel color.
Definition at line 380 of file ColorRgb.hpp.
Multiply by a one-channel color.
Definition at line 387 of file ColorRgb.hpp.
std::ostream& Thea::operator<< | ( | std::ostream & | os, |
NamedObject const & | obj | ||
) |
Write a short description of a named object to an output stream.
Definition at line 107 of file NamedObject.hpp.
std::ostream& Thea::operator<< | ( | std::ostream & | os, |
CoordinateFrameN< N, T > const & | cf | ||
) |
Pipe a textual representation of a coordinate frame to a std::ostream
.
Definition at line 156 of file CoordinateFrameN.hpp.
std::ostream& Thea::operator<< | ( | std::ostream & | os, |
Codec const & | codec | ||
) |
std::ostream& Thea::operator<< | ( | std::ostream & | os, |
RigidTransformN< N, T > const & | tr | ||
) |
Pipe a textual representation of a rigid transform to a std::ostream
.
Definition at line 171 of file RigidTransformN.hpp.
std::ostream& Thea::operator<< | ( | std::ostream & | os, |
AffineTransformN< N, T > const & | tr | ||
) |
Pipe a textual representation of an affine transform to a std::ostream
.
Definition at line 204 of file AffineTransformN.hpp.
std::ostream& Thea::operator<< | ( | std::ostream & | os, |
HyperplaneN< N, T > const & | plane | ||
) |
Pipe a textual representation of a hyperplane to a std::ostream
.
Definition at line 242 of file HyperplaneN.hpp.
void parseCommaSeparated | ( | std::string const & | s, |
Array< std::string > & | array, | ||
bool | strip_quotes = true |
||
) |
Separates a comma-separated line, properly escaping commas within double quotes (") and super quotes (""").
This matches Microsoft Excel's CSV output.
s | The string to parse. |
array | The comma-separated fields are stored here. |
strip_quotes | If true, strips leading and trailing " and """. |
Definition at line 59 of file StringAlg.cpp.
bool patternMatch | ( | std::string const & | pattern, |
std::string const & | query, | ||
int | flags = 0 |
||
) |
Compares a filename or pathname to a pattern.
Equivalent (except for boolean instead of integer return value) to function fnmatch() as specified in POSIX 1003.2-1992, section B.6.
The function checks whether the query argument matches the pattern argument, which is a shell wildcard pattern. The flags argument modifies the behaviour; it is the bitwise OR of zero or more Match flags.
Definition at line 665 of file StringAlg.cpp.
std::string Thea::stringJoin | ( | IteratorT | begin, |
IteratorT | end, | ||
C const & | padding | ||
) |
Concatenate a sequence of serializable objects (typically strings), separated by a padding character, string or other serializable object.
Definition at line 116 of file StringAlg.hpp.
std::string Thea::stringJoin | ( | ContainerT const & | a, |
C const & | padding | ||
) |
Concatenate a sequence of serializable objects (typically strings), separated by a padding character, string or other serializable object.
This is shorthand for stringJoin(a.begin(), a.end(), padding).
Definition at line 134 of file StringAlg.hpp.
intx stringSplit | ( | std::string const & | s, |
char | split_char, | ||
Array< std::string > & | result, | ||
bool | skip_empty_fields = false |
||
) |
Split a string at each occurrence of a splitting character.
s | The string to split. |
split_char | The delimiting character. |
result | Used to return the sequence of fields found. |
skip_empty_fields | If true, a sequence of delimiters is treated as a single delimiter. |
Definition at line 246 of file StringAlg.cpp.
intx stringSplit | ( | std::string const & | s, |
std::string const & | split_chars, | ||
Array< std::string > & | result, | ||
bool | skip_empty_fields = false |
||
) |
Split a string at each occurrence of any splitting character from a provided set.
s | The string to split. |
split_chars | The set of delimiting characters. E.g. to split a string on whitespace, use split_chars = " \t\n\f\r" . |
result | Used to return the sequence of fields found. |
skip_empty_fields | If true, a sequence of delimiters is treated as a single delimiter. |
Definition at line 252 of file StringAlg.cpp.
std::string toLower | ( | std::string const & | s | ) |
Get the lowercase version of a string.
Definition at line 238 of file StringAlg.cpp.
std::string Thea::toString | ( | char const * | s | ) |
Convert a C-string to a std::string
object, returning an empty string if the input is a null pointer.
The std::string constructor itself has undefined behavior in this case.
Definition at line 44 of file BasicStringAlg.hpp.
std::string Thea::toString | ( | Eigen::DenseBase< Derived > const & | m, |
intx | max_rows = 4 , |
||
intx | max_cols = 4 |
||
) |
Get a single-line string representation of a matrix or vector.
If the number of rows (or columns) of the matrix is larger than max_rows (resp. max_cols), the middle elements will be elided via ellipsis.
Definition at line 701 of file MatrixUtil.hpp.
std::string toUpper | ( | std::string const & | s | ) |
Get the uppercase version of a string.
Definition at line 230 of file StringAlg.cpp.
std::string trimWhitespace | ( | std::string const & | s | ) |
Strips whitespace from both ends of the string.
Definition at line 280 of file StringAlg.cpp.
std::string vformat | ( | char const * | fmt, |
va_list | arg_ptr | ||
) |
Produces a string from arguments in the style of printf, can be called with the argument list from a function that itself takes variable arguments.
This avoids problems with buffer overflows when using sprintf and makes it easy to use the result functionally. This function is fast when the resulting string is under 160 characters (not including terminator) and slower when the string is longer.
Definition at line 414 of file StringAlg.cpp.
Produces a new string that is the input string wrapped at a certain number of columns (where the line is broken at the latest space before the column limit).
Platform specific newlines are inserted to wrap, or a specific "newline" character may be specified.
Definition at line 167 of file StringAlg.cpp.
char const * NEWLINE = "\n" |
The newline character sequence for the current platform.
LF for Unix (Linux, Mac OS X), CR-LF for Windows.
Definition at line 54 of file StringAlg.cpp.