molecular
|
Molecular utility classes. More...
Namespaces | |
CharacterAnimation | |
FileTypeIdentification | |
Functions for identifying file types from files contents. | |
HashUtils | |
Math | |
Common math functions and constants. | |
MeshUtils | |
Various functions for mesh data processing. | |
Murmur | |
Compile-time MurmurHash3. | |
Parser | |
A recursive-descent parser with backtracking. | |
Pf | |
Functions handling PixelFormat values. | |
PlaneSet | |
SphericalHarmonics | |
StringUtils | |
Utility functions for string processing. | |
Classes | |
struct | AttributeTraits |
Extract scalar type and array size from commonly used vector types. More... | |
struct | AttributeTraits< float > |
Specialization of AttributeTraits for float. More... | |
struct | AttributeTraits< IntVector4 > |
Specialization of AttributeTraits for IntVector4. More... | |
struct | AttributeTraits< Vector2 > |
Specialization of AttributeTraits for Vector2. More... | |
struct | AttributeTraits< Vector3 > |
Specialization of AttributeTraits for Vector3. More... | |
struct | AttributeTraits< Vector4 > |
Specialization of AttributeTraits for Vector4. More... | |
class | AxisAlignedBox |
Axis aligned (bounding) box (AABB) More... | |
class | Blob |
Holds binary data. More... | |
class | BlobFunctionTask |
Task that calls an std::function with a Blob argument. More... | |
class | Box |
Represents an arbitrarily oriented box in 3D space. More... | |
class | CommandLineParser |
Easy processing of argc and argv. More... | |
class | DdsFile |
Interface to DirectDrawSurface files. More... | |
class | DummyFileLoader |
FileLoader that loads a file synchronously. More... | |
class | DynamicScoping |
Implementation of dynamic scoping. More... | |
class | FileReadStorage |
A derived ReadStorage for reading regular files. More... | |
class | FileServer |
class | FileWriteStorage |
A derived WriteStorage for writing regular files. More... | |
class | FloatToHalf |
Converts 32 bit to 16 bit floating point numbers. More... | |
struct | FontAtlasDescriptionFile |
class | Frustum |
A frustum contains the space that is seen. More... | |
class | FunctionTaskT |
Task that executes an std::function. More... | |
class | GccAtomicCounter |
Counter with atomic increment/decrement methods. More... | |
class | GcdAsyncFileLoader |
Loads files asynchronously using Grand Central Dispatch. More... | |
class | GcdTaskDispatcher |
struct | GlConstants |
class | HostReadStream |
Stream-interface to a ReadStorage that does no endian conversion. More... | |
struct | IndexBufferInfo |
Information about index data in a buffer. More... | |
class | IniFile |
ini file parser More... | |
class | IntVector2 |
Integer vector with two components. More... | |
class | IntVector3 |
Integer vector with three components. More... | |
class | IntVector4 |
Integer vector with four components. More... | |
class | KtxFile |
Interface to Khronos KTX texture files. More... | |
struct | Log |
Automatic newlines for log messages. More... | |
class | ManualTaskQueue |
Task queue that runs tasks on calls to RunOneTask. More... | |
class | Matrix |
Generic matrix template class. More... | |
class | Matrix3 |
Rotation matrix. More... | |
class | Matrix4 |
A 4x4 matrix. More... | |
class | MemoryReadStorage |
ReadStorage interface to an existing block of memory. More... | |
class | MemoryWriteStorage |
WriteStorage interface to an existing block of memory. More... | |
class | Mesh |
Intermediate representation of mesh data. More... | |
class | MovableOnly |
class | MtlFile |
Wavefront material file. More... | |
class | NmbFile |
NVidia geometry file. More... | |
class | NonCopyable |
Base class that prevents copying any object of a derived class. More... | |
class | NonNewline |
struct | PackageFile |
PAK-like file structure. More... | |
class | PackageFileDirectory |
Indexes multiple package files. More... | |
class | PairFirstIterator |
Iterator adapter that dereferences to the first value of a pair iterator. More... | |
class | PairSecondIterator |
Iterator adapter that dereferences to the second value of a pair iterator. More... | |
class | Plane |
Plane in Hesse normal form. More... | |
class | Quaternion |
4D quaternion class for storing rotation values More... | |
class | RandomAccessWriteStorage |
WriteStorage whose cursor can be set randomly. More... | |
class | Range |
Pair of iterators. More... | |
class | ReadStorage |
Base class for data storage to be read from. More... | |
class | ReadStream |
Abstract base class for data storage streams. More... | |
class | SkippingIterator |
Iterator that skips certain positions. More... | |
class | StdMutex |
Locking mechanism for resources accessed by multiple threads. More... | |
class | StdTaskQueue |
Uses std::thread to process background jobs. More... | |
class | StdThread |
Wrapper around std::thread. More... | |
class | StringStore |
Maps hashes to strings. More... | |
struct | StringStoreFile |
Structure for files mapping hashes to strings. More... | |
class | TaskT |
Pre-C++11 interface to TaskDispatcher. More... | |
class | TextReadStream |
Reads a file line by line. More... | |
class | TextReadStreamBase |
Reads a file line by line. More... | |
class | TgaFile2 |
Interface to TGA files. More... | |
class | ThreadSafeQueue |
Thread-safe FIFO queue. More... | |
class | UIntVector2 |
Unsigned integer vector with two components. More... | |
class | UIntVector3 |
Unsigned integer vector with three components. More... | |
class | UIntVector4 |
Unsigned integer vector with four components. More... | |
class | Vector |
Vector template with adjustable dimensionality. More... | |
class | Vector2 |
Two-dimensional vector. More... | |
class | Vector3T |
Generic vector with 3 elements. More... | |
class | Vector4 |
Four-dimensional vector. More... | |
class | VectorTmpl |
Vector base class template. More... | |
struct | VertexAttributeInfo |
Information about vertex attribute data in a buffer. More... | |
class | WriteStorage |
Base class for data storage to be written to. More... | |
Typedefs | |
template<char a, char b> | |
using | Keyword2 = Concatenation< Char< a >, Char< b >> |
template<char a, char b, char c, char d, char e> | |
using | Keyword5 = Concatenation< Char< a >, Char< b >, Char< c >, Char< d >, Char< e >> |
template<char a, char b, char c, char d, char e, char f> | |
using | Keyword6 = Concatenation< Char< a >, Char< b >, Char< c >, Char< d >, Char< e >, Char< f >> |
using | NonWhitespace = Alternation< Alpha, Digit, Char<'_'>, Char<'-'>, Char<'.'>> |
using | String = Concatenation< NonWhitespace, Repetition< NonWhitespace >> |
typedef GccAtomicCounter | AtomicCounter |
typedef uint32_t | Hash |
template<class Storage > | |
using | LittleEndianReadStream = HostReadStream< Storage > |
using | MeshSet = std::vector< Mesh > |
Collection of meshes. More... | |
using | TaskDispatcher = StdTaskQueue |
using | Vector3 = Vector3T< float > |
using | Vector3f = Vector3T< float > |
using | Vector3d = Vector3T< double > |
Functions | |
std::ostream & | operator<< (std::ostream &o, const Frustum &f) |
template<class Iterator , class Predicate > | |
SkippingIterator< Iterator, Predicate > | MakeSkippingIterator (Iterator it, Iterator end, Predicate pred) |
Simple wrapper around SkippingIterator::SkippingIterator for using template parameter deduction. More... | |
template<typename T > | |
Log && | operator<< (Log &&wrap, T const &whatever) |
std::ostream & | operator<< (std::ostream &o, const Plane &p) |
std::ostream & | operator<< (std::ostream &o, const Plane::IntersectStatus &i) |
template<class Iterator > | |
void | IncrementAndWrap (Iterator &it, Iterator begin, Iterator end) |
template<class Iterator > | |
void | DecrementAndWrap (Iterator &it, Iterator begin, Iterator end) |
template<class TFileLoader , class TTaskQueue > | |
Blob | SyncFileLoad (const char *filename, TFileLoader &fileLoader, TTaskQueue &queue, size_t offset=0, size_t length=0) |
std::ostream & | operator<< (std::ostream &o, const AxisAlignedBox &box) |
std::ostream & | operator<< (std::ostream &o, IndexBufferInfo::Mode mode) |
std::ostream & | operator<< (std::ostream &o, IndexBufferInfo::Type type) |
std::ostream & | operator<< (std::ostream &o, VertexAttributeInfo::Type type) |
constexpr uint32_t | operator""_4CC (const char *str, size_t) |
Four character code string literal. More... | |
constexpr uint32_t | operator""_H (const char *str, size_t length) |
template<int rows, int cols, typename T > | |
Matrix< rows, cols, T > | operator* (T f, Matrix< rows, cols, T > m) |
Scalar multiplication. More... | |
template<int rows, int cols, typename T > | |
std::ostream & | operator<< (std::ostream &o, const Matrix< rows, cols, T > &m) |
Quaternion | operator* (const Quaternion::Real r, const Quaternion &q) |
template<class T > | |
Range< T > | MakeRange (T begin, T end) |
template<class T > | |
Range< typename T::iterator > | MakeRange (T container) |
template<int dim, class T > | |
std::ostream & | operator<< (std::ostream &stream, const Vector< dim, T > &vec) |
std::ostream & | operator<< (std::ostream &stream, const Vector2 &vec) |
Stream operator for Vector2. More... | |
std::ostream & | operator<< (std::ostream &stream, const IntVector4 &vec) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &stream, const Vector3T< T > &vec) |
std::ostream & | operator<< (std::ostream &stream, const Vector4 &vec) |
Molecular utility classes.
typedef uint32_t molecular::util::Hash |
using molecular::util::Keyword2 = typedef Concatenation<Char<a>, Char<b>> |
using molecular::util::Keyword5 = typedef Concatenation<Char<a>, Char<b>, Char<c>, Char<d>, Char<e>> |
using molecular::util::Keyword6 = typedef Concatenation<Char<a>, Char<b>, Char<c>, Char<d>, Char<e>, Char<f>> |
using molecular::util::LittleEndianReadStream = typedef HostReadStream<Storage> |
using molecular::util::MeshSet = typedef std::vector<Mesh> |
Collection of meshes.
using molecular::util::NonWhitespace = typedef Alternation<Alpha, Digit, Char<'_'>, Char<'-'>, Char<'.'>> |
using molecular::util::String = typedef Concatenation<NonWhitespace, Repetition<NonWhitespace>> |
using molecular::util::TaskDispatcher = typedef StdTaskQueue |
using molecular::util::Vector3 = typedef Vector3T<float> |
using molecular::util::Vector3d = typedef Vector3T<double> |
using molecular::util::Vector3f = typedef Vector3T<float> |
Pixel formats for textures etc.
Pixel formats for textures etc.
void molecular::util::DecrementAndWrap | ( | Iterator & | it, |
Iterator | begin, | ||
Iterator | end | ||
) |
void molecular::util::IncrementAndWrap | ( | Iterator & | it, |
Iterator | begin, | ||
Iterator | end | ||
) |
Range<T> molecular::util::MakeRange | ( | T | begin, |
T | end | ||
) |
Range<typename T::iterator> molecular::util::MakeRange | ( | T | container | ) |
SkippingIterator<Iterator, Predicate> molecular::util::MakeSkippingIterator | ( | Iterator | it, |
Iterator | end, | ||
Predicate | pred | ||
) |
Simple wrapper around SkippingIterator::SkippingIterator for using template parameter deduction.
constexpr uint32_t molecular::util::operator""_4CC | ( | const char * | str, |
size_t | |||
) |
Four character code string literal.
Little Endian.
constexpr uint32_t molecular::util::operator""_H | ( | const char * | str, |
size_t | length | ||
) |
|
inline |
Matrix<rows, cols, T> molecular::util::operator* | ( | T | f, |
Matrix< rows, cols, T > | m | ||
) |
Scalar multiplication.
|
inline |
std::ostream& molecular::util::operator<< | ( | std::ostream & | o, |
const AxisAlignedBox & | box | ||
) |
std::ostream& molecular::util::operator<< | ( | std::ostream & | o, |
const Frustum & | f | ||
) |
|
inline |
std::ostream& molecular::util::operator<< | ( | std::ostream & | stream, |
const Vector3T< T > & | vec | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Does not work for Vector2, Vector3 etc.
|
inline |
Stream operator for Vector2.
|
inline |
std::ostream& molecular::util::operator<< | ( | std::ostream & | o, |
const Matrix< rows, cols, T > & | m | ||
) |
Blob molecular::util::SyncFileLoad | ( | const char * | filename, |
TFileLoader & | fileLoader, | ||
TTaskQueue & | queue, | ||
size_t | offset = 0 , |
||
size_t | length = 0 |
||
) |