![]() |
RTFX
0.3
Real time special effects collaborative visualization and production library.
|
The namespace for the RTFX Library. More...
Classes | |
class | Point2D |
A 2D point object. More... | |
class | Point3D |
A 3D point object. More... | |
class | Vector3D |
A 3D vector object. More... | |
class | Vector4D |
The homogenious vector object. More... | |
class | Matrix4x4 |
A homogeneous transformation matrix. More... | |
class | Colour |
A class to represent several formats of colours. More... | |
class | RTFXCamera |
A child of RTFXObject, used specifically for cameras. More... | |
class | RTFXClient |
Client class, what plugins should use to talk to the server. More... | |
class | RTFXCustom |
A child of RTFXObject, used specifically for custom objects. More... | |
class | RTFXData |
The RTFXData class can be used to create a network or graph of RTFXObjects. It is used as the primary storage mechanism for RTFXObjects at any source. More... | |
class | RTFXError |
The RTFXError class is used to provide useful error messages. More... | |
class | RTFXPoint |
Represents a point in a mesh. More... | |
class | RTFXFace |
A face is a list of point indices which will construct that face. More... | |
class | RTFXGeometry |
The class to respresent meshes. More... | |
class | RTFXLight |
RTFXLight is a shortcut class to represent light objects. More... | |
class | RTFXMailbox |
The mailbox stores a copy of the data that was sent through the server. The data is up-to-date. More... | |
class | RTFXMath |
A simple class to hold generic mathematic functions. More... | |
class | RTFXObject |
The base object which all data objects inherit from. More... | |
class | RTFXParcel |
The definition of data packets used to send data over the network. More... | |
class | RTFXParticipant |
Participants in the "chat session", base class for clients. More... | |
class | RTFXParticleSystem |
RTFXParticleSystem is a shortcut class to represent ParticleSystem objects. More... | |
class | RTFXPeer |
class | RTFXPeerPostOffice |
class | RTFXPeerSession |
Extends RTFX participant, contains actual implementation for handling of read and write. More... | |
struct | MailboxNameComparison |
class | RTFXPostOffice |
The postoffice is the main "room" where clients leave messages for sorting and parsing. More... | |
class | RTFXProperty |
The base class for RTFXProperties, which can be added to RTFXObjects to represent more sophisticated object types. More... | |
class | RTFXPropertyArray |
Properties which are arrays of a simple type. More... | |
class | RTFXPropertyBasic |
Properties which are single basic C types, integers, chars, floats, etc. More... | |
class | RTFXPropertyCharArray |
Properties which are char arrays. More... | |
class | RTFXPropertyColour |
Properties which are Colours (RGB, RGBA, or HSV) More... | |
class | RTFXPropertyDeleteObject |
This property has no value, other than to indicate the owning RTFXObject should be deleted from the system. More... | |
class | RTFXPropertyMatrix4x4 |
Properties which are Matrix4x4. More... | |
class | RTFXPropertyPoint3D |
Properties which are Point3D. More... | |
class | RTFXPropertyRawData |
Properties which are raw dat. More... | |
class | RTFXPropertyString |
Properties which are C++ std::string. More... | |
class | RTFXPropertyVector3D |
Properties which are Vector3D. More... | |
class | RTFXPropertyVectorOf |
Properties which are a vector of same-typed data. More... | |
class | RTFXRaw |
A child of RTFXObject, used specifically for raw data files, such as JPGs, HIPs, FBXs. More... | |
class | RTFXRecorder |
class | RTFXScript |
A child of RTFXObject, used specifically for Script data files. More... | |
class | RTFXServer |
The base server class for communication. More... | |
class | RTFXSession |
Extends RTFX participant, contains actual implementation for handling of read and write. More... | |
class | RTFXBone |
Represents a bone in a skeleton. More... | |
class | RTFXSkeleton |
The class to respresent skeletons. More... | |
Typedefs | |
typedef std::deque< RTFXParcel > | RTFXParcelQueue |
typedef boost::shared_ptr < RTFXPeerSession > | RTFXPeerSessionPtr |
typedef boost::shared_ptr < RTFXParticipant > | RTFXParticipant_ptr |
typedef boost::shared_ptr < RTFXSession > | RTFXSessionPtr |
Enumerations | |
enum | COMPRESSIONTYPE { NONE, ZLIB, GZIP, BZIP2 } |
COMPRESSIONTYPE enumerates all possible types of compression that can be used within RTFX. More... | |
Functions | |
static void | swaprows (Matrix4x4 &_a, size_t _r1, size_t _r2) |
static void | dividerow (Matrix4x4 &_a, size_t _r, double _fac) |
static void | submultrow (Matrix4x4 &_a, size_t _dest, size_t _src, double _fac) |
Vector3D | operator* (double _s, const Vector3D &_v) |
Vector3D | operator+ (const Vector3D &_a, const Vector3D &_b) |
Point3D | operator+ (const Point3D &_a, const Vector3D &_b) |
Point2D | operator+ (const Point2D &_a, const Point2D &_b) |
Point2D | operator- (const Point2D &_a, const Point2D &_b) |
Point3D | operator+ (const Point3D &_a, const Point3D &_b) |
Point3D | operator* (const double &_a, const Point3D &_b) |
Vector3D | operator- (const Point3D &_a, const Point3D &_b) |
Vector3D | operator- (const Vector3D &_a, const Vector3D &_b) |
Vector3D | operator- (const Vector3D &_a) |
Point3D | operator- (const Point3D &_a, const Vector3D &_b) |
bool | operator== (const Vector3D &_a, const Vector3D &_b) |
bool | operator!= (const Vector3D &_a, const Vector3D &_b) |
Point3D | operator- (const Vector3D &_a, const Point3D &_b) |
Vector3D | cross (const Vector3D &_a, const Vector3D &_b) |
std::ostream & | operator<< (std::ostream &_os, const Point2D &_p) |
std::ostream & | operator<< (std::ostream &_os, const Point3D &_p) |
std::ostream & | operator<< (std::ostream &_os, const Vector3D &_v) |
Matrix4x4 | operator* (const Matrix4x4 &_a, const Matrix4x4 &_b) |
Vector3D | operator* (const Matrix4x4 &_M, const Vector3D &_v) |
Point3D | operator* (const Matrix4x4 &_M, const Point3D &_p) |
Vector3D | transNorm (const Matrix4x4 &_M, const Vector3D &_n) |
std::ostream & | operator<< (std::ostream &_os, const Matrix4x4 &_M) |
void | Serialize (RTFXData *_graph, string &_output) |
RTFXData * | Deserialize (string &_data) |
RTFXAPI void | SerializeText (RTFXData *_graph, string &_output) |
RTFXAPI RTFXData * | DeserializeText (string &_data) |
void | debug (ostream &_buffer) |
void | verbose (ostream &buffer) |
void | performance (ostream &buffer) |
void | timer (ostream &buffer) |
string | ZLIBCompress (string &_input) |
string | ZLIBDecompress (string &_input) |
string | GZIPCompress (string &_input) |
string | GZIPDecompress (string &_input) |
string | BZIP2Compress (string &_input) |
string | BZIP2Decompress (string &_input) |
boost::uuids::uuid | GenerateUniqueID () |
void | MakeMailboxIDFromString (string _name, char *_mailboxID) |
void | BusySleep (unsigned int _count) |
boost::uuids::uuid | ConvertToUUID (char *_id) |
void | ConvertUUIDToCharArray (boost::uuids::uuid _id, char *_data) |
boost::uuids::uuid | ConvertStringToUUID (char *_id) |
const Matrix4x4 | I (1, 0, 0, 0, 1, 0, 0, 0, 1) |
void | CreateParcelList (vector< RTFXParcel > &_parcelList, boost::uuids::uuid _fromID, char *_mailboxName, string &_data, bool _isCompressed, unsigned int _compressionType, bool _keepDataAtServer, bool _isDataRTFX, bool _isBinary) |
string | ReAssembleParcelMessageFromList (vector< RTFXParcel > &_parcelList) |
RTFXPropertyBasic< int > * | MakeIntProperty (string _name, string _description, int _value) |
RTFXPropertyBasic< float > * | MakeFloatProperty (string _name, string _description, float _value) |
RTFXPropertyBasic< bool > * | MakeBoolProperty (string _name, string _description, bool _value) |
RTFXPropertyBasic< double > * | MakeDoubleProperty (string _name, string _description, double _value) |
RTFXPropertyArray< int > * | MakeIntArrayProperty (string _name, string _description, int *_value, int _length) |
RTFXPropertyArray< float > * | MakeFloatArrayProperty (string _name, string _description, float *_value, int _length) |
RTFXPropertyArray< bool > * | MakeBoolArrayProperty (string _name, string _description, bool *_value, int _length) |
RTFXPropertyArray< double > * | MakeDoubleArrayProperty (string _name, string _description, double *_value, int _length) |
RTFXPropertyString * | MakeStringProperty (string _name, string _description, string _value) |
BOOST_SERIALIZATION_ASSUME_ABSTRACT (RTFXProperty) | |
void | Update (RTFXObject *_cam) |
Variables | |
static const double | M_PI = 3.14159265358979323846 |
class RTFXAPI | Matrix4x4 |
static const double | RTFXVERSION = 0.3 |
static boost::mutex | debugLock |
static boost::mutex | verboseLock |
static boost::mutex | performanceLock |
static const std::string | DEFAULTHOSTNAME = "localhost" |
static const std::string | DEFAULTPORTSTRING = "49512" |
static const int | DEFAULTPORT = 49512 |
static const double | RTFXUNIT = 1.0 |
static const std::string | RTFXUNITTEXT = "cm" |
const AXISFRAME | RTFX_NATIVE_FRAME = XFORWARD_YRIGHT_ZUP |
const double | RTFXPI = 3.14159265358979 |
const Matrix4x4 | frameMatrices [] |
The namespace for the RTFX Library.
RTFX namespace
All RTFX Library classes, functions, constants, etc. exist within this namespace.
typedef std::deque< RTFXParcel > RTFX::RTFXParcelQueue |
Data definition of a Parcel Queue
COMPRESSIONTYPE enumerates all possible types of compression that can be used within RTFX.
void RTFXAPI RTFX::BusySleep | ( | unsigned int | _count | ) |
Busy sleep
References BusySleep().
string RTFXAPI RTFX::BZIP2Compress | ( | string & | _input | ) |
BZIP2Compress: Compresses [input] using the boost::iostreams::bzip2_crompressor and returns the compressed string.
Decompress a string and return the decompressed string
References BZIP2Compress(), debug(), and performance().
string RTFXAPI RTFX::BZIP2Decompress | ( | string & | _input | ) |
BZIP2Decompress: Decompresses [input] using the boost::iostreams::bzip2_decompressor and returns the uncompressed string.
Compress and return the compressed string
References BZIP2Decompress(), debug(), and performance().
boost::uuids::uuid RTFXAPI RTFX::ConvertStringToUUID | ( | char * | _id | ) |
Convert a verbose string to a boost::uuids::uuid
References ConvertStringToUUID().
boost::uuids::uuid RTFXAPI RTFX::ConvertToUUID | ( | char * | _id | ) |
Convert an array of unsigned integers to a boost::uuids::uuid
References ConvertToUUID().
void RTFXAPI RTFX::ConvertUUIDToCharArray | ( | boost::uuids::uuid | _id, |
char * | _data | ||
) |
Convert a UUID to an array of 36 characters (string representation)
References ConvertUUIDToCharArray().
void RTFX::CreateParcelList | ( | vector< RTFXParcel > & | _parcelList, |
boost::uuids::uuid | _fromID, | ||
char * | _mailboxName, | ||
string & | _data, | ||
bool | _isCompressed, | ||
unsigned int | _compressionType, | ||
bool | _keepDataAtServer, | ||
bool | _isDataRTFX, | ||
bool | _isBinary | ||
) |
CreateParcelList Given a message, convert it into a list of parcels. Note, the parcelList may be a single message in length.
Assumptions:
CreateParcelList will create a vector of parcels from an input string representing the binary (possibly compressed) serialized datastream.
References RTFX::RTFXParcel::CreateParcel(), CreateParcelList(), debug(), and verbose().
|
inline |
Compute and return the cross product of two Vector3D's as a new Vector3D
References RTFX::Vector3D::cross().
void RTFXAPI RTFX::debug | ( | ostream & | _buffer | ) |
Debugging wrapper function. Wraps ostream buffers, outputing them to cout when the RTFXDebug flag is set
References debug().
RTFXAPI RTFXData * RTFX::Deserialize | ( | string & | _data | ) |
Deserialize a graph and return the string representation of the serialization
De-serialize an RTFXData from a binary archive. This is not cross platform safe, and cannot be used between Windows-Mac-Linux combinations. Combinations of same-os and same number of bits are safe. When boost releases a platform safe version, this will be updated. But as of this release, this is not the case.
References verbose().
RTFXAPI RTFXData * RTFX::DeserializeText | ( | string & | _data | ) |
|
static |
A function to divide a specified row of a Matrix4x4 by a value. Assumption: r is between 0 and 3
boost::uuids::uuid RTFXAPI RTFX::GenerateUniqueID | ( | ) |
string RTFXAPI RTFX::GZIPCompress | ( | string & | _input | ) |
GZIPCompress: Compresses [input] using the boost::iostreams::gzip_crompressor and returns the compressed string.
Decompress a string and return the decompressed string
References debug(), GZIPCompress(), and performance().
string RTFXAPI RTFX::GZIPDecompress | ( | string & | _input | ) |
GZIPDecompress: Decompresses [input] using the boost::iostreams::gzip_decompressor and returns the uncompressed string.
Compress and return the compressed string
References debug(), GZIPDecompress(), and performance().
RTFXAPI RTFXPropertyBasic< int > * RTFX::MakeIntProperty | ( | string | _name, |
string | _description, | ||
int | _value | ||
) |
A set of fuctions for creating common properties quickly
References RTFX::RTFXProperty::SetAll(), RTFX::RTFXProperty::SetDataType(), and RTFX::RTFXPropertyBasic< T >::SetValue().
void RTFXAPI RTFX::MakeMailboxIDFromString | ( | string | _name, |
char * | _mailboxID | ||
) |
Converts a string to a 15-character mailbox name. If the string is less than 16 characters, the remaining positions are spaces. If the string is longer, than the last characters are truncated. Function assumes that mailboxID memory HAS been allocated.
Create a mailbox name from a string
References debug(), and MakeMailboxIDFromString().
|
inline |
Determine if the two input Vector3D's are not equal
|
inline |
Multiply a vector by a scalar value. Returns a new vector.
|
inline |
|
inline |
Multiply two Matrix4x4's together and return the result as a new Matrix4x4
References RTFX::Matrix4x4::getRow().
|
inline |
|
inline |
|
inline |
Add two vectors together. Returns a new vector.
|
inline |
Add a vector to a point, and return the new point
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Output the Point2D as a stream for printing
|
inline |
Output the Point3D as a stream for printing
|
inline |
Output the Vector3D as a stream for printing
|
inline |
Output the Matrix4x4 as a stream for printing
|
inline |
Determine if the two input Vector3D's are equal
void RTFXAPI RTFX::performance | ( | ostream & | _buffer | ) |
A debugging wrapper function that outputs performance data ONLY
References performance().
string RTFX::ReAssembleParcelMessageFromList | ( | vector< RTFXParcel > & | _parcelList | ) |
ReassembleParcelMessageFromList Take a list of parcels, and return the message contained between them ASSUMPTION: Since we are using TCP and sending the packets in ORDER, I assume (for now) that packets arrive, and are added to the list IN ORDER.
ReassembleParcelMessageFromList takes a vector of parcels, and reassembles the binary (possibly compressed) serialized datastream
References ReAssembleParcelMessageFromList().
RTFXAPI void RTFX::Serialize | ( | RTFXData * | _graph, |
string & | _output | ||
) |
Serialize a graph and return the string representation of the serialization
Serialize an RTFXData using a binary archive. This is not cross platform safe, and cannot be used between Windows-Mac-Linux combinations. Combinations of same-os and same number of bits are safe. When boost releases a platform safe version, this will be updated. But as of this release, this is not the case.
References debug(), performance(), and verbose().
RTFXAPI void RTFX::SerializeText | ( | RTFXData * | _graph, |
string & | _output | ||
) |
Serialize an RTFXData using TEXT serialization for cross-platform suppoort
References debug(), performance(), and verbose().
|
static |
A function to subtract and multiply a row by a value. Assumption: dest and src are between 0 and 3
|
static |
A function to swap two specified rows in a Matrix4x4. Assumption: r1 and r2 are between 0 and 3
void RTFXAPI RTFX::timer | ( | ostream & | _buffer | ) |
A debuggign wrapper function that outputs the current time
References timer().
|
inline |
void RTFX::Update | ( | RTFXObject * | _cam | ) |
Update this Raw using the data contained in the input parameter. Operates as a copy constructor, with one exception: it does NOT update base RTFXObject parameters including unique ids
Update this Script using the data contained in the input parameter. Operates as a copy constructor, with one exception: it does NOT update base RTFXObject parameters including unique ids
void RTFXAPI RTFX::verbose | ( | ostream & | _buffer | ) |
A super-verbose debugging wrapper function. Wraps ostream buffers, outputing them to cout when the RTFXVerbose flag is set
References verbose().
string RTFXAPI RTFX::ZLIBCompress | ( | string & | _input | ) |
ZLIBCompress: Compresses [input] using the boost::iostreams::zlib_crompressor and returns the compressed string.
Decompress a string and return the decompressed string
References debug(), performance(), and ZLIBCompress().
string RTFXAPI RTFX::ZLIBDecompress | ( | string & | _input | ) |
ZLIBDecompress: Decompresses [input] using the boost::iostreams::zlib_decompressor and returns the uncompressed string.
Compress and return the compressed string
References debug(), performance(), and ZLIBDecompress().
|
static |
< DEFAULTHOSTNAME is the presumed default hostname if none is explicitly specified DEFAULTPORTSTRING is the default port used for RTFX network communication expressed as a string
|
static |
RTFXUNIT is the default unit size for the RTFXLibrary. One RTFXUNIT is equal to 1cm.
|
static |
DEFAULTPORT is the default port used for RTFX network communication expressed as an integer
|
static |
< M_PI the value of pi used for mathematical computations
|
static |
RTFXUNITTEXT is a string descriptor for the RTFXUNIT. To be used for pretty or debugging.
|
static |
< RTFXVERSION is the current version of the RTFX Library