Eidolon
|
Classes | |
struct | AddOp |
class | BBSetFigure |
This subtype of Figure represents a set of billboards, squares with textures in space which are oriented relative to the camera. More... | |
class | CallbackIndexBuffer |
See CallbackVertexBuffer, the same concept applies here with a buffer accepting functions defined in Cython to adapt Python code. More... | |
class | CallbackVertexBuffer |
class | Camera |
class | color |
Represents a Red-Green-Blue-Alpha color with float channels. Note the lack of virtual members implies no vtable pointer. More... | |
class | Config |
class | ControlCurve |
class | DataSet |
struct | DivOp |
class | Figure |
class | GlyphFigure |
class | GPUProgram |
Represents a GPU program (vertex/fragment/geometry shader) More... | |
class | Image |
Image objects represented loaded image files. These are used to access image data in code rather than load it into the renderer. More... | |
class | IndexBuffer |
An IndexBuffer is used by Figure objects to read in the topologies for the figures to render, and can also be subtyped in Python. More... | |
class | IndexException |
class | Light |
class | mat4 |
class | Material |
class | Matrix |
class | MatrixIndexBuffer |
Implementation of a IndexBuffer which uses matrices for storage, like MatrixVertexBuffer. More... | |
class | MatrixVertexBuffer |
class | MemException |
class | MetaType |
This base type provides facilities for maintaining name-value metadata pairs. More... | |
struct | MulOp |
class | Mutex |
Simple mutex type allowing locking and attempted locking with timeout. More... | |
struct | ParseLine |
Partial templates for converting a line of text into a list of primitives/vec3. More... | |
struct | ParseLine< vec3 > |
vec3 specific case to handle turning 3 parsed values into 1 object More... | |
class | PositionQueue |
class | quadruple |
class | Ray |
Represents a ray emanating from a point and moving in a direction. It provides methods for doing intersection tests. More... | |
class | RenderAdapter |
class | RenderException |
class | RenderScene |
class | RibbonFigure |
class | rotator |
class | Spectrum |
struct | StrConvert |
Partial templates for converting strings to primitives/vec3. More... | |
struct | StrConvert< indexval > |
struct | StrConvert< real > |
struct | SubOp |
struct | SwapEndian |
struct | SwapEndian< color > |
struct | SwapEndian< indexval > |
struct | SwapEndian< real > |
struct | SwapEndian< vec3 > |
class | TextFigure |
class | Texture |
Represents a texture loaded into memory and available to the graphis hardware. More... | |
class | TextureVolumeFigure |
class | TimingObject |
This type is used with the TIMING and TIMINGBLOCK macros to time routine calls and code blocks, printing a time delta value to stdout. More... | |
class | transform |
class | triple |
class | ValueException |
class | vec3 |
The all-important 3-space vector type. Note the lack of virtual members implies no vtable pointer. More... | |
class | Vec3Curve |
class | VertexBuffer |
Typedefs | |
typedef int | i32 |
typedef long long | i64 |
typedef unsigned char | u8 |
typedef unsigned int | u32 |
typedef unsigned long long | u64 |
typedef u32 | sval |
typedef double | real |
typedef u32 | rgba |
typedef u32 | indexval |
typedef std::pair< indexval, indexval > | indexpair |
typedef std::pair< real, real > | realpair |
typedef triple< real, real, real > | realtriple |
typedef std::pair< indexval, realtriple > | indextriple |
typedef triple< sval, sval, real > | intersect |
typedef Matrix< real > | RealMatrix |
typedef Matrix< vec3 > | Vec3Matrix |
typedef Matrix< indexval > | IndexMatrix |
typedef Matrix< color > | ColorMatrix |
Enumerations | |
enum | FigureType { FT_LINELIST = 0, FT_POINTLIST = 1, FT_TRILIST = 2, FT_TRISTRIP = 3, FT_BB_POINT = 4, FT_BB_FIXED_PAR = 5, FT_BB_FIXED_PERP = 6, FT_GLYPH = 7, FT_RIBBON = 8, FT_TEXVOLUME = 9, FT_TEXT = 10 } |
Defines the figure types which the Figure class and subclasses are capable of representing. More... | |
enum | BlendMode { BM_ALPHA, BM_COLOR, BM_ADD, BM_MOD, BM_REPLACE } |
enum | TextureFormat { TF_RGB24, TF_RGBA32, TF_ARGB32, TF_LUM8, TF_LUM16, TF_ALPHA8, TF_ALPHALUM8, TF_UNKNOWN } |
enum | ProgramType { PT_VERTEX =0, PT_FRAGMENT =1, PT_GEOMETRY =2 } |
enum | HAlignType { H_LEFT, H_RIGHT, H_CENTER } |
enum | VAlignType { V_TOP, V_BOTTOM, V_CENTER } |
Functions | |
void | initSharedDir (const std::string &path) |
std::string | getSharedDir () |
void | addShared (const std::string &name) |
void | unlinkShared (const std::string &name) |
void | readBinaryFileToBuff (const char *filename, size_t offset, void *dest, size_t len) throw (MemException) |
Using mmap, copy the contents from file `filename' into `dest' starting `offset' bytes from the beginning. More... | |
void | storeBufftoBinaryFile (const char *filename, void *src, size_t len, int *header, size_t headerlen) throw (MemException) |
Using mmap, copy the contents of `header' and then `src' into file `filename'. More... | |
void | convertUByteStreamToRealMatrix (const char *stream, RealMatrix *mat) |
void | convertUShortStreamToRealMatrix (const char *stream, RealMatrix *mat) |
void | convertByteStreamToRealMatrix (const char *stream, RealMatrix *mat) |
void | convertShortStreamToRealMatrix (const char *stream, RealMatrix *mat) |
void | convertUIntStreamToRealMatrix (const char *stream, RealMatrix *mat) |
void | convertIntStreamToRealMatrix (const char *stream, RealMatrix *mat) |
void | convertFloatStreamToRealMatrix (const char *stream, RealMatrix *mat) |
void | convertRealStreamToRealMatrix (const char *stream, RealMatrix *mat) |
std::pair< vec3, vec3 > | calculateBoundBox (const Vec3Matrix *mat) |
void | basis_Tet1NL (real xi0, real xi1, real xi2, real *coeffs) |
Linear Nodal Lagrange tetrahedron basis function, fills in `coeffs' for the given xi value, `coeffs' must be 4 long. More... | |
void | basis_Hex1NL (real xi0, real xi1, real xi2, real *coeffs) |
Linear Nodal Lagrange hexahedron basis function, fills in `coeffs' for the given xi value, `coeffs' must be 8 long. More... | |
real | basis_n_NURBS (sval ctrlpt, sval degree, real xi, const RealMatrix *knots) |
RealMatrix * | getDefaultKnotMat (sval length, sval degree) |
real | scaleXiMat (real xi, sval degree, RealMatrix *knots) |
void | basis_NURBS_default (real u, real v, real w, sval ul, sval vl, sval wl, sval udegree, sval vdegree, sval wdegree, real *coeffs) |
void | catmullRomSpline (real t, real *coeffs) |
Produces the 4 coefficients for a Catmull-Rom spline in [value 1, value 2, derivative 1, derivative 2] orderings in `coeffs'. More... | |
real | mat4Det (real a, real b, real c, real d, real e, real f, real g, real h, real i, real j, real k, real l, real m, real n, real o, real p) |
bool | pointInTet (vec3 pt, vec3 n1, vec3 n2, vec3 n3, vec3 n4) |
Returns true if `pt' is in the tet (n1,n2,n3,n4). More... | |
bool | pointInHex (vec3 pt, vec3 n1, vec3 n2, vec3 n3, vec3 n4, vec3 n5, vec3 n6, vec3 n7, vec3 n8) |
Returns true if `pt' is in the hex defined by (n1-n8) More... | |
vec3 | pointSearchLinTet (vec3 pt, vec3 n1, vec3 n2, vec3 n3, vec3 n4) |
vec3 | pointSearchLinHex (vec3 pt, vec3 n1, vec3 n2, vec3 n3, vec3 n4, vec3 n5, vec3 n6, vec3 n7, vec3 n8) |
realtriple | calculateTriPlaneSlice (const vec3 &planept, const vec3 &planenorm, const vec3 &a, const vec3 &b, const vec3 &c) |
real | calculateLinePlaneSlice (const vec3 &planept, const vec3 &planenorm, const vec3 &a, const vec3 &b) |
real | calculateTetEdgeIntersect (real val, real a, real b) |
void | calculateTetValueIntersects (real val, real a, real b, real c, real d, real *results) |
sval | calculateHexValueIntersects (real val, const real *vals, intersect *results) |
void | interpolateImageStack (const std::vector< RealMatrix *> &stack, const transform &stacktransinv, RealMatrix *out, const transform &outtrans) |
real | getImageStackValue (const std::vector< RealMatrix *> &stack, const vec3 &pos) |
void | calculateImageHistogram (const RealMatrix *img, RealMatrix *hist, i32 minv) |
vec3 * | calculateTriNorms (vec3 *nodes, sval numnodes, indexval *inds, sval numinds) |
template<typename T > | |
T | _min (const T &a, const T &b) |
template<typename T > | |
T | _max (const T &a, const T &b) |
template<typename T > | |
T | clamp (const T &val, const T &minval, const T &maxval) |
template<typename T > | |
T | lerpXi (const T &val, const T &minv, const T &maxv) |
template<typename V , typename T > | |
T | lerp (const V &val, const T &v1, const T &v2) |
template<typename T > | |
int | compT (const T &t1, const T &t2) |
template<typename T > | |
int | compV (const void *t1, const void *t2) |
template<typename T > | |
int | sortTupleFirstCB (const void *v1, const void *v2) |
template<typename T > | |
int | sortTupleSecondCB (const void *v1, const void *v2) |
template<typename T > | |
int | sortTupleThirdCB (const void *v1, const void *v2) |
template<typename T > | |
int | sortTupleFourthCB (const void *v1, const void *v2) |
bool | equalsEpsilon (real v1, real v2) |
Returns true if `v1' and `v2' are within 'dEPSILON' of one another. More... | |
bool | isNan (real v) |
Returns true if `v' is NaN. More... | |
real | frand () |
real | fround (real r) |
std::string | getPIDStr () |
std::string | getPPIDStr () |
bool | isParentProc () |
template<typename T > | |
T | swapEndianN (T t) |
template<typename T > | |
T | swapEndian32 (T t) |
template<typename T > | |
T | swapEndian64 (T t) |
template<typename T > | |
void | bswap (T &a, T &b) |
void | checkNull (const std::string valuename, const void *val, const char *file=NULL, int line=-1) throw (ValueException) |
RenderAdapter * | getRenderAdapter (Config *config) throw (RenderException) |
template<typename T , typename V > | |
void | setMatrixMinMax (Matrix< T > *mat, const V &minv, const V &maxv) |
template<typename T > | |
void | readTextFileMatrix (const std::string &filename, sval numHeaders, Matrix< T > *mat) |
Reads the text file into the given matrix, ignoring the header of integers and using the dimensions of `mat' to determine line width. More... | |
template<typename T > | |
void | convertStreamToRealMatrix (const T *stream, RealMatrix *mat) |
Fill a given RealMatrix with data from the given byte stream which contains values of various types. More... | |
float | calculateTetVolume (vec3 a, vec3 b, vec3 c, vec3 d) |
Returns the volume of the linear tetrahedron defined by (a,b,c,d), the volume will be negative for an inverted tet. More... | |
template<typename T > | |
void | cubicInterpMatrices (real t, const Matrix< T > *v1, const Matrix< T > *v2, const Matrix< T > *m1, const Matrix< T > *m2, const Matrix< T > *result) |
template<typename T > | |
quadruple< int, int, int, int > | calculateBoundSquare (const Matrix< T > *const mat, const T &threshold) |
Returns the bounding box (minx,miny,maxx,maxy) in matrix coordinates containing all values in `mat' greater than `threshold'. More... | |
template<typename T > | |
sval | countValuesInRange (const Matrix< T > *mat, const T &minv, const T &maxv) |
template<typename T > | |
std::vector< vec3 > | findBoundaryPoints (const Matrix< T > *mat, const T &threshold) |
template<typename T > | |
T | sumMatrix (const Matrix< T > *mat) |
template<typename T > | |
std::pair< T, T > | minmaxMatrix (const Matrix< T > *mat) throw (ValueException) |
template<typename T > | |
T | bilerpMatrix (const Matrix< T > *mat, real x, real y) throw (ValueException) |
template<typename T > | |
T | trilerpMatrices (const Matrix< T > *mat1, const Matrix< T > *mat2, vec3 v1, vec3 v2) throw (ValueException) |
vec3 | getPlaneXi (const vec3 &pos, const vec3 &planepos, const rotator &orientinv, const vec3 &dimvec) |
Variables | |
std::string | shmdir ="" |
std::map< std::pair< sval, sval >, RealMatrix * > | defaultKnots |
vec3 | divtets [5][4] |
static const char * | platformID =PLATFORM_ID |
static const char * | parentPIDVar ="PARENTPID" |
static const char * | RenderParamGroup ="RenderParam" |
static const real | realInf =std::numeric_limits<real>::infinity() |
typedef Matrix<color> ColorMatrix |
typedef int i32 |
typedef long long i64 |
typedef Matrix<indexval> IndexMatrix |
typedef std::pair<indexval,realtriple> indextriple |
typedef double real |
typedef Matrix<real> RealMatrix |
typedef triple<real,real,real> realtriple |
typedef unsigned int u32 |
typedef unsigned long long u64 |
typedef unsigned char u8 |
typedef Matrix<vec3> Vec3Matrix |
enum BlendMode |
enum FigureType |
Defines the figure types which the Figure class and subclasses are capable of representing.
Enumerator | |
---|---|
FT_LINELIST | |
FT_POINTLIST | |
FT_TRILIST | |
FT_TRISTRIP | |
FT_BB_POINT | |
FT_BB_FIXED_PAR | |
FT_BB_FIXED_PERP | |
FT_GLYPH | |
FT_RIBBON | |
FT_TEXVOLUME | |
FT_TEXT |
enum HAlignType |
enum ProgramType |
enum TextureFormat |
Possible texture formats defining the how many channels pixels have and how wide. For the full color component formats (RGBA, RGB, ARGB) all the channels from an input color are used when filling a texture of these types. For the luminance and/or alpha formats, the red component is used for luminance and the alpha component for alpha.
Enumerator | |
---|---|
TF_RGB24 | |
TF_RGBA32 | |
TF_ARGB32 | |
TF_LUM8 | |
TF_LUM16 | |
TF_ALPHA8 | |
TF_ALPHALUM8 | |
TF_UNKNOWN |
enum VAlignType |
T RenderTypes::_max | ( | const T & | a, |
const T & | b | ||
) |
T RenderTypes::_min | ( | const T & | a, |
const T & | b | ||
) |
void addShared | ( | const std::string & | name | ) |
Linear Nodal Lagrange hexahedron basis function, fills in `coeffs' for the given xi value, `coeffs' must be 8 long.
real basis_n_NURBS | ( | sval | ctrlpt, |
sval | degree, | ||
real | xi, | ||
const RealMatrix * | knots | ||
) |
void basis_NURBS_default | ( | real | u, |
real | v, | ||
real | w, | ||
sval | ul, | ||
sval | vl, | ||
sval | wl, | ||
sval | udegree, | ||
sval | vdegree, | ||
sval | wdegree, | ||
real * | coeffs | ||
) |
Linear Nodal Lagrange tetrahedron basis function, fills in `coeffs' for the given xi value, `coeffs' must be 4 long.
void RenderTypes::bswap | ( | T & | a, |
T & | b | ||
) |
std::pair< vec3, vec3 > calculateBoundBox | ( | const Vec3Matrix * | mat | ) |
quadruple<int,int,int,int> RenderTypes::calculateBoundSquare | ( | const Matrix< T > *const | mat, |
const T & | threshold | ||
) |
Returns the bounding box (minx,miny,maxx,maxy) in matrix coordinates containing all values in `mat' greater than `threshold'.
void calculateImageHistogram | ( | const RealMatrix * | img, |
RealMatrix * | hist, | ||
i32 | minv | ||
) |
real calculateLinePlaneSlice | ( | const vec3 & | planept, |
const vec3 & | planenorm, | ||
const vec3 & | a, | ||
const vec3 & | b | ||
) |
Returns the volume of the linear tetrahedron defined by (a,b,c,d), the volume will be negative for an inverted tet.
Calculate the normals for triangles defined by the `nodes' array and indices `inds'. This requires that `nodes' be `numnodes' in length and `inds' be of `numinds'*3 in length where each triangle is indexed by triples of indices in `nodes'. Returns a fresh array of length `numnodes' with a normal for each node.
realtriple calculateTriPlaneSlice | ( | const vec3 & | planept, |
const vec3 & | planenorm, | ||
const vec3 & | a, | ||
const vec3 & | b, | ||
const vec3 & | c | ||
) |
Calculates where the edges of the triangle (a,b,c) pass through the plane defined by `planept' and `planenorm'. The three values refer to the edges a-b, a-c, and b-c respectively. If a value is positive then the first node (a or b) is above the plane, otherwise below. The value is the proportionate distance from the first node to the second where the intersection takes place, so if the first value is 0.25 then a is above the plane and the intersection is at point a+(b-a)*0.25.
Produces the 4 coefficients for a Catmull-Rom spline in [value 1, value 2, derivative 1, derivative 2] orderings in `coeffs'.
|
inline |
T RenderTypes::clamp | ( | const T & | val, |
const T & | minval, | ||
const T & | maxval | ||
) |
int RenderTypes::compT | ( | const T & | t1, |
const T & | t2 | ||
) |
int RenderTypes::compV | ( | const void * | t1, |
const void * | t2 | ||
) |
void convertByteStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void convertFloatStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void convertIntStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void convertRealStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void convertShortStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void RenderTypes::convertStreamToRealMatrix | ( | const T * | stream, |
RealMatrix * | mat | ||
) |
Fill a given RealMatrix with data from the given byte stream which contains values of various types.
void convertUByteStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void convertUIntStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void convertUShortStreamToRealMatrix | ( | const char * | stream, |
RealMatrix * | mat | ||
) |
void RenderTypes::cubicInterpMatrices | ( | real | t, |
const Matrix< T > * | v1, | ||
const Matrix< T > * | v2, | ||
const Matrix< T > * | m1, | ||
const Matrix< T > * | m2, | ||
const Matrix< T > * | result | ||
) |
Returns true if `v1' and `v2' are within 'dEPSILON' of one another.
|
inline |
RealMatrix* RenderTypes::getDefaultKnotMat | ( | sval | length, |
sval | degree | ||
) |
real getImageStackValue | ( | const std::vector< RealMatrix * > & | stack, |
const vec3 & | pos | ||
) |
Sample the value of the image stack at the image coordinate `pt', which must be in the unit cube otherwise 0 is returned.
|
inline |
|
inline |
Computes the xi coordinate of `pos' on the plane defined by `planepos' as the minimum corner, `orientinv' as the inverse of is orientation, and `dimvec' as its (X,Y) scale factor (ie. quad dimensions). The result contains the 2D xi coordinate
|
inline |
RenderAdapter* RenderTypes::getRenderAdapter | ( | Config * | config | ) | |
throw | ( | RenderException | |||
) |
Returns an instance of the RenderAdapter specific to the rendering engine being used. This is not implemented in Rendertypes.[h,cpp] but in the engine itself. The `config' object is for passing in parameters to the adapter.
std::string getSharedDir | ( | ) |
void initSharedDir | ( | const std::string & | path | ) |
void interpolateImageStack | ( | const std::vector< RealMatrix * > & | stack, |
const transform & | stacktransinv, | ||
RealMatrix * | out, | ||
const transform & | outtrans | ||
) |
Interpolate the data from the image volume defined by `stack' into the image `out'. The volume `stack' must be defined in a bottom-up ordering. The transform `stacktransinv' represents the inverse transform for the image stack, and `outtrans' is the transform for the image `out'.
|
inline |
Returns true if `v' is NaN.
|
inline |
T RenderTypes::lerp | ( | const V & | val, |
const T & | v1, | ||
const T & | v2 | ||
) |
T RenderTypes::lerpXi | ( | const T & | val, |
const T & | minv, | ||
const T & | maxv | ||
) |
real mat4Det | ( | real | a, |
real | b, | ||
real | c, | ||
real | d, | ||
real | e, | ||
real | f, | ||
real | g, | ||
real | h, | ||
real | i, | ||
real | j, | ||
real | k, | ||
real | l, | ||
real | m, | ||
real | n, | ||
real | o, | ||
real | p | ||
) |
This computes the determinant of a 4x4 matrix in the following way:
|a b c d|
DET |e f g h| |i j k l| |m n o p| = l*o*b*e - k*p*b*e - l*n*c*e + j*p*c*e + k*n*d*e - j*o*d*e - a*l*o*f + a*k*p*f + l*m*c*f - k*m*d*f + a*l*n*g - a*j*p*g - l*m*b*g + j*m*d*g - a*k*n*h + a*j*o*h + k*m*b*h - j*m*c*h - p*c*f*i + o*d*f*i + p*b*g*i - n*d*g*i - o*b*h*i + n*c*h*i
std::pair<T,T> RenderTypes::minmaxMatrix | ( | const Matrix< T > * | mat | ) | |
throw | ( | ValueException | |||
) |
Returns true if `pt' is in the hex defined by (n1-n8)
Returns true if `pt' is in the tet (n1,n2,n3,n4).
Returns true if `pt' is in the tet defined by (n1,n2,n3,n4).
vec3 pointSearchLinHex | ( | vec3 | pt, |
vec3 | n1, | ||
vec3 | n2, | ||
vec3 | n3, | ||
vec3 | n4, | ||
vec3 | n5, | ||
vec3 | n6, | ||
vec3 | n7, | ||
vec3 | n8 | ||
) |
This determines the xi value for the point `pt' within the hexahedron defined by (n1-n8). The algorithm embeds 5 tets within the hex and performs point search on these. This gives an exacting solution for hexes defined with coplanar faces; non-coplanar hexes have curvature which is not handled well by the tet division.
This determines the xi value for point `pt' within the tetrahedron defined by (n1,n2,n3,n4). This relies on considering the tet to define its own coordinate space with axes n2-n1, n3-n1, and n4-n1, and where pt-n1 is a point in this space stated as the sum of multiples of these axes. In this conception the xi coordinate is the set of multipliers, thus:
pt = A * xi = | n-n1 | = | n2-n1 n3-n1 n4-n1 | * | xi | = | x-x1 | | x2-x1 x3-x1 x4-x1 | | xi1 | | y-y1 | = | y2-y1 y3-y1 y4-y1 | * | xi2 | | z-z1 | | z2-z1 z3-z1 z4-z1 | | xi3 |
Thus xi = X * A^-1
| x2-x1 x3-x1 x4-x1 |-1 | (z4-z1)(y3-y1)-(z3-z1)(y4-y1) (z3-z1)(x4-x1)-(z4-z1)(x3-x1) (y4-y1)(x3-x1)-(y3-y1)(x4-x1) | | y2-y1 y3-y1 y4-y1 | = 1/DET * | (z2-z1)(y4-y1)-(z4-z1)(y2-y1) (z4-z1)(x2-x1)-(z2-z1)(x4-x1) (y2-y1)(x4-x1)-(y4-y1)(x2-x1) | | z2-z1 z3-z1 z4-z1 | | (z3-z1)(y2-y1)-(z2-z1)(y3-y1) (z2-z1)(x3-x1)-(z3-z1)(x2-x1) (y3-y1)(x2-x1)-(y2-y1)(x3-x1) |
with DET = (x2-x1)((z4-z1)(y3-y1)-(z3-z1)(y4-y1))-(y2-y1)((z4-z1)(x3-x1)-(z3-z1)(x4-x1))+(z2-z1)((y4-y1)(x3-x1)-(y3-y1)(x4-x1))
void readBinaryFileToBuff | ( | const char * | filename, |
size_t | offset, | ||
void * | dest, | ||
size_t | len | ||
) | |||
throw | ( | MemException | |
) |
Using mmap, copy the contents from file `filename' into `dest' starting `offset' bytes from the beginning.
void RenderTypes::readTextFileMatrix | ( | const std::string & | filename, |
sval | numHeaders, | ||
Matrix< T > * | mat | ||
) |
Reads the text file into the given matrix, ignoring the header of integers and using the dimensions of `mat' to determine line width.
real RenderTypes::scaleXiMat | ( | real | xi, |
sval | degree, | ||
RealMatrix * | knots | ||
) |
void RenderTypes::setMatrixMinMax | ( | Matrix< T > * | mat, |
const V & | minv, | ||
const V & | maxv | ||
) |
int RenderTypes::sortTupleFirstCB | ( | const void * | v1, |
const void * | v2 | ||
) |
int RenderTypes::sortTupleFourthCB | ( | const void * | v1, |
const void * | v2 | ||
) |
int RenderTypes::sortTupleSecondCB | ( | const void * | v1, |
const void * | v2 | ||
) |
int RenderTypes::sortTupleThirdCB | ( | const void * | v1, |
const void * | v2 | ||
) |
void storeBufftoBinaryFile | ( | const char * | filename, |
void * | src, | ||
size_t | srcsize, | ||
int * | header, | ||
size_t | headerlen | ||
) | |||
throw | ( | MemException | |
) |
Using mmap, copy the contents of `header' and then `src' into file `filename'.
T RenderTypes::sumMatrix | ( | const Matrix< T > * | mat | ) |
T RenderTypes::swapEndian32 | ( | T | t | ) |
T RenderTypes::swapEndian64 | ( | T | t | ) |
T RenderTypes::swapEndianN | ( | T | t | ) |
T RenderTypes::trilerpMatrices | ( | const Matrix< T > * | mat1, |
const Matrix< T > * | mat2, | ||
vec3 | v1, | ||
vec3 | v2 | ||
) | |||
throw | ( | ValueException | |
) |
Trilinearly interpolate between `mat1' and `mat2', where `v1' is a xi point on `mat1' and `v2' is a xi point on `mat2'.
The x and y components of the two points are interpreted as xi values on their respective planes. A value is derived from each through bilinear interpolation. The z components are interpreted as heights from the planes, these are used to linearly interpolate between the two interpolated points.
void unlinkShared | ( | const std::string & | name | ) |
std::map<std::pair<sval,sval>,RealMatrix*> defaultKnots |
vec3 divtets[5][4] |
|
static |
|
static |
|
static |
std::string shmdir ="" |