Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

xchen Namespace Reference


Compounds

struct  affine_combine_inc_t1
struct  AffineCombine
 STL binary functor for affine combination of two affine elements, with coef of 1-t, t. More...

struct  AffineCombineT1T2
 STL binary functor for affine combination of two affine elements, with coef of t1/(t1+t2), t2/(t1+t2). More...

class  ArrayError
class  Attribute
class  Attributes
struct  Average
 STL binary functor for average combination of two (not necessary affine) elements. More...

class  BaseVector
 Allowing a little bit dynamic polymorphism. More...

struct  CompileTimeError< false >
class  Cone
 A +z axis aligned cone, top at atZ. More...

class  ControlGroup
struct  cross_product
 STL binary functor for cross product in E3. More...

struct  ctrl_vec_info
class  Cube
class  CubicProjection
struct  draw_iso_functor
struct  draw_iso_functor< 1, sp_dims >
class  Error
struct  Frame
 A frame in 3D space, together with transform (from canonical frame at origin) matrix. More...

struct  Frenet
 The frenet of a curve in 3D space. More...

struct  generate_iso_functor
struct  generate_iso_functor< 1, sp_dims >
class  glModel
class  gluifVectorSpinner
class  glutBuiltInModel
struct  IdxRange
class  iota
 impletement SGI's iota extension More...

class  Iterator
 An iterator with fixed pointer increacement, i.e. More...

class  Iterator< T, 1 >
 specialize Iterator for stride one. More...

class  IteratorBase
 Base class for Iterators. More...

class  KeyBoard
class  KnotVector
 Defined mainly for list assignment to knot vectors of tensor manifolds. More...

class  KnotVectorIterator
struct  ListAssignmentCheckSzCt
 list assignment with compile time size-checking. More...

struct  ListAssignmentCheckSzCt< ele_t, ele_iterator_t, 0 >
struct  ListAssignmentCheckSzRt
 list assignment with run time size-checking. More...

struct  ListAssignmentLargerThanSize< false >
class  Matrix
 Matrix is simply a wrapper of Vector of (column) Vector-s. More...

class  Menu
 GLUT popup menu. More...

class  Model
class  Morphology
class  NaturalCurve
 Construct a natural curve solely from provided kapa and tau functions. More...

class  OpenFileMenu
class  Picking
struct  Pixel
class  PolyLine
 A PolyLine is a linearly connected set of points. More...

class  PolyLines
 A set of PolyLine-s, each of which is a linearly connected point set. More...

class  Radio
class  Rect
class  ReverseIterator
 Reverse version of Iterator. More...

class  ReverseIterator< T, 1 >
 specialize ReverseIterator for stride one. More...

class  SaveImageMenu
struct  Scale1stAdd
 STL binary functor out <- scale*first + second. More...

class  SimpleArray
 A fixed size multi array. More...

class  SimpleArray< T, 1 >
 Recursive Base for SimpleArray<>. More...

class  SimpleArrayIterator
 This iterator iterates a SimpleArray with the order as a c array. More...

class  SimpleArrayIterator< T, 1 >
 recursive base for SimpleArrayIterator<>. More...

class  TensorArray
 A multi-array, with the same shape in each direction. More...

class  TensorArray1DIterator
 Iterate tensor array as linear sequence, i.e. More...

class  TensorArray1DIterator< T, 1 >
 Specialize tensor array 1D iterator for 1D array. More...

class  TensorArray1DReverseIterator
 Reverse iterating tensor array as linear sequence, i.e. More...

class  TensorArray1DReverseIterator< T, 1 >
 Specialize tensor array 1D reverse iterator for 1D array. More...

class  TensorArray2DIterator
 Iterating tensor array row by row, i.e. More...

class  TensorArray2DReverseIterator
 Reverse iterating tensor array row by row, i.e. More...

class  TensorArray< T, 0 >
class  TensorArrayIndexIterator
 Implement chained [] operations for TensorArray by recursive template instantiation. More...

class  TensorArrayIndexIterator< T, 1 >
 Base case for TensorArrayIndexIterator<>. More...

struct  TensorArrayIndexOperatorTraits
 Define return type of chained [] operations on tensor array. More...

struct  TensorArrayIndexOperatorTraits< T, 1 >
 Specialization TensorArrayIndexOperatorTraits<> for 1D array so that we can return element type. More...

class  TensorArrayRowIterator
 Base class for 2D and 1D tensor array iterators. More...

struct  scale_fun
struct  ScaleAll
 STL unary scaling functor. More...

class  Screen
class  Sphere
class  Teapot
class  TensorArraySliceIterator
class  Torus
class  Transform
 Affine transform in 3D space. More...

class  TransformControl
class  UserInterface
struct  scale_fun
struct  less_mag
class  SubdivisionManifold
 Subdivision manifold implemented by linear insertion followed by repeated averaging. More...

class  TensorBlossom
 Tensor of piecewise blossoms (one in each direction), the diagonalization of which is NURB tensor manifold. More...

class  TensorBlossom< 0, sp_dims >
class  TensorManifold
 Base class of BzrTensorManifold and SubdivisionManifold. More...

class  Vector
 A fixed-size sequential container. More...

class  View
 xia's fundamental unit for open GL rendering. More...


Typedefs

typedef BaseVector< double > dVector
typedef BaseVector< float > fVector
typedef BaseVector< int > iVector
typedef BaseVector< char > cVector
typedef BaseVector< double > dPoint
typedef BaseVector< float > fPoint
typedef BaseVector< int > iPoint
typedef BaseVector< char > cPoint
typedef Vector< double, 5 > dVector5D
typedef Vector< double, 4 > dVector4D
typedef Vector< double, 3 > dVector3D
typedef Vector< double, 2 > dVector2D
typedef Vector< double, 1 > dVector1D
typedef Vector< float, 5 > fVector5D
typedef Vector< float, 4 > fVector4D
typedef Vector< float, 3 > fVector3D
typedef Vector< float, 2 > fVector2D
typedef Vector< float, 1 > fVector1D
typedef Vector< int, 5 > iVector5D
typedef Vector< int, 4 > iVector4D
typedef Vector< int, 3 > iVector3D
typedef Vector< int, 2 > iVector2D
typedef Vector< int, 1 > iVector1D
typedef Vector< char, 5 > cVector5D
typedef Vector< char, 4 > cVector4D
typedef Vector< char, 3 > cVector3D
typedef Vector< char, 2 > cVector2D
typedef Vector< char, 1 > cVector1D
typedef iVector5D iPoint5D
typedef iVector4D iPoint4D
typedef iVector3D iPoint3D
typedef iVector2D iPoint2D
typedef iVector1D iPoint1D
typedef fVector5D fPoint5D
typedef fVector4D fPoint4D
typedef fVector3D fPoint3D
typedef fVector2D fPoint2D
typedef fVector1D fPoint1D
typedef dVector5D dPoint5D
typedef dVector4D dPoint4D
typedef dVector3D dPoint3D
typedef dVector2D dPoint2D
typedef dVector1D dPoint1D
typedef cVector5D cPoint5D
typedef cVector4D cPoint4D
typedef cVector3D cPoint3D
typedef cVector2D cPoint2D
typedef cVector1D cPoint1D
typedef vector< dVector2DdVector2Dvector
typedef vector< dVector3DdVector3Dvector
typedef vector< iVector2DiVector2Dvector
typedef vector< iVector3DiVector3Dvector
typedef vector< fVector2DfVector2Dvector
typedef vector< fVector3DfVector3Dvector
typedef set< dVector2D, less<
dVector2D > > 
dVector2Dset
typedef set< dVector3D, less<
dVector3D > > 
dVector3Dset
typedef set< iVector2D, less<
iVector2D > > 
iVector2Dset
typedef set< iVector3D, less<
iVector3D > > 
iVector3Dset
typedef set< fVector2D, less<
fVector2D > > 
fVector2Dset
typedef set< fVector3D, less<
fVector3D > > 
fVector3Dset
typedef dVector2Dset dPoint2Dset
typedef dVector3Dset dPoint3Dset
typedef iVector2Dset iPoint2Dset
typedef iVector3Dset iPoint3Dset
typedef fVector2Dset fPoint2Dset
typedef fVector3Dset fPoint3Dset
typedef dVector2Dvector dPoint2Dvector
typedef dVector3Dvector dPoint3Dvector
typedef iVector2Dvector iPoint2Dvector
typedef iVector3Dvector iPoint3Dvector
typedef fVector2Dvector fPoint2Dvector
typedef fVector3Dvector fPoint3Dvector
typedef dPoint5D E5
typedef dPoint4D E4
typedef dPoint3D E3
typedef dPoint2D E2
typedef dPoint1D E1
typedef fPoint5D fE5
typedef fPoint4D fE4
typedef fPoint3D fE3
typedef fPoint2D fE2
typedef fPoint1D fE1
typedef E5 P4
typedef E4 P3
typedef E3 P2
typedef E2 P1
typedef Vector< int, 5 > iE5
typedef Vector< int, 4 > iE4
typedef Vector< int, 3 > iE3
typedef Vector< int, 2 > iE2
typedef Vector< Vector< double, 2 >, 2 > dVecOfVec22
typedef Vector< Vector< double, 2 >, 3 > dVecOfVec23
typedef Vector< Vector< double, 2 >, 4 > dVecOfVec24
typedef Vector< Vector< double, 2 >, 5 > dVecOfVec25
typedef Vector< Vector< double, 3 >, 2 > dVecOfVec32
typedef Vector< Vector< double, 3 >, 3 > dVecOfVec33
typedef Vector< Vector< double, 3 >, 4 > dVecOfVec34
typedef Vector< Vector< double, 3 >, 5 > dVecOfVec35
typedef Vector< Vector< double, 4 >, 2 > dVecOfVec42
typedef Vector< Vector< double, 4 >, 3 > dVecOfVec43
typedef Vector< Vector< double, 4 >, 4 > dVecOfVec44
typedef Vector< Vector< double, 4 >, 5 > dVecOfVec45
typedef Matrix< double, 2, 2 > dMatrix22
typedef Matrix< double, 2, 2 > dMatrix23
typedef Matrix< double, 3, 3 > dMatrix24
typedef Matrix< double, 3, 3 > dMatrix25
typedef Matrix< double, 3, 3 > dMatrix32
typedef Matrix< double, 3, 3 > dMatrix33
typedef Matrix< double, 3, 4 > dMatrix34
typedef Matrix< double, 3, 5 > dMatrix35
typedef Matrix< double, 4, 2 > dMatrix42
typedef Matrix< double, 4, 3 > dMatrix43
typedef Matrix< double, 4, 4 > dMatrix44
typedef Matrix< double, 4, 5 > dMatrix45
typedef dMatrix44 HMatrix
typedef TensorArray< bool, 2 > BitMap
typedef int RadioHandle
 GLUT popup Menu and its embedded KeyBoard work together to provide UserInterface.

typedef int MenuHandle
typedef Vector< float, MaxCtrlVecSz > CtrlVector
typedef int ConvertedKeyValue
typedef void(* KeyEventCB )(ConvertedKeyValue k, int x, int y)
typedef void(* UpdateViewDependantFun )(class View *)
typedef fVector3D RGB
typedef fVector3D HSV
typedef fVector4D RGBA
typedef fVector4D RGBI
typedef fVector5D RGBAS
typedef Rect< int > iRect
typedef Rect< double > dRect
typedef dRect XiaViewPort
typedef iRect GLViewPort
typedef dRect OrthoClip
typedef PolyLine PolyLine3D
typedef PolyLines PolyLines3D
typedef Attributes CommandLineArguments
typedef vector< int > intvector
typedef vector< char > charvector
typedef vector< double > doublevector
typedef set< int, less< int > > intset
typedef set< char, less< char > > charset
typedef set< double, less<
double > > 
doubleset

Enumerations

enum  { ruled, revolution, sweep }
enum  { MaxCtrlVecSz = 5 }
enum  Axis {
  NegXDir, PosXDir, NegYDir, PosYDir,
  NegZDir, PosZDir
}
enum  RGBCubeFace { WhiteRedFace, WhiteGreenFace, WhiteBlueFace }
enum  CubeFace {
  LEFT_FACE, BACK_FACE, RIGHT_FACE, FRONT_FACE,
  TOP_FACE, BOTTOM_FACE
}
enum  { invalid_dir = -1 }
enum  { invalid_stride = 0 }

Functions

template<int dims, int sp_dims> void TensorBlossom< dims,
sp_dims >::template< int
from_sp_dims > 
construct_ruled_manifold (SubMFType const &from_mf1, SubMFType const &from_mf2)
template<int dims, int sp_dims> void TensorBlossom< dims,
sp_dims >::template< int
from_sp_dims > 
construct_revolution_manifold (TensorBlossom< dims-1, from_sp_dims > const &_rev_from)
template<int dims, int sp_dims> ostream & operator<< (ostream &os, TensorBlossom< dims, sp_dims > const &_blsm)
template<int dims, int sp_dims> TensorBlossom< dims, sp_dims > operator * (Transform const &trans, TensorBlossom< dims, sp_dims >const &ar)
template<int dims, int sp_dims> ostream & operator<< (ostream &os, TensorManifold< dims, sp_dims > const &m)
template<int dims> ostream & operator<< (ostream &os, KnotVector< dims >const &kv)
template<class T, int Sz> Vector< T, Sz > operator * (const T &t, const Vector< T, Sz > &v)
template<class T, int Sz> istream & operator>> (istream &is, Vector< T, Sz > &v)
template<class T, int Sz> ostream & operator<< (ostream &os, const Vector< T, Sz > &v)
template<class T> Vector< T, 3 > operator^ (Vector< T, 3 >const &v1, Vector< T, 3 >const &v2)
template<class T, int sz> Vector< T, sz > interpolate (const NormalizedVector< T, sz > &t, const Vector< T, sz > &p1, const Vector< T, sz > &p2)
template<class T, int sz> NormalizedVector< T, sz > ratio (const Vector< T, sz > &p, const Vector< T, sz > &p1, const Vector< T, sz > &p2)
Transform scale (double s)
Transform rotateX (double ang)
Transform rotateY (double ang)
Transform rotateZ (double ang)
Transform tX (double d)
Transform tY (double d)
Transform tZ (double d)
template<class T, int M, int N> ostream & operator<< (ostream &os, const Matrix< T, M, N > &m)
void _open_file_cb (ConvertedKeyValue item_id, int x, int y)
void xglCylinder (GLUquadric *quad, GLdouble base=.5, GLdouble top=.5, GLdouble height=1.0, GLdouble base_at=0, GLint slices=200, GLint stacks=200, Axis dir=PosXDir)
void xglDisk (GLUquadric *quad, GLdouble inner_r, GLdouble outer_r, GLdouble at=0, GLint slices=200, GLint rings=200, Axis dir=PosXDir)
void wglCone (double bs=0.5, double h=1.0, double top=0, Axis align=PosZDir, GLint slices=200, GLint stacks=200)
void wglArrow ()
void wglArrow (const dVector3D &dir, const RGBAS &)
void wglCircle (const dPoint3D &center, double r, const RGB &col=White, int segments=100)
void wgl2DStar (const dPoint2D &pnt)
void wglXYZAxes (float scale=1.0)
void wglFrame (const Frame &frm, float scale=1.0)
void wglFrenet (const Frenet &frt, float frmscale=1.0)
void wglFrames (vector< Frame >::const_iterator iter, vector< Frame >::const_iterator stop)
void wglFrenets (vector< Frenet >::const_iterator iter, vector< Frenet >::const_iterator stop)
template<class T, int dim> void wglPolyLine (const vector< Point< T, dim > > &pnts)
void wglViewport (const GLViewPort &gl_viewport)
void wglOrtho (const dPoint2D &min, const dPoint2D &max)
void wglOrtho (const dPoint3D &min, const dPoint3D &max)
void wglTranslate (const dVector3D &v)
void wglTranslate (const fVector3D &v)
void wglTranslate (const iVector3D &v)
void wglScale (float s)
void wglScale (double s)
void wglScale (int s)
void wglScale (const fVector3D &v)
void wglScale (const dVector3D &v)
void wglScale (const iVector3D &v)
void wglRotate (const fVector3D &angles)
void wglRotate (const dVector3D &rot_dir, double rot_angle)
void wglRotate (double rot_angle, const dVector3D &rot_dir)
void wglRotateTo (const dVector3D &from, const dVector3D &to)
void wglClearColor (const RGBA &rgba)
void wglColor (const fVector3D &col)
void wglColorHSV (const HSV &hsv)
void wglNormal (const dPoint3D &v)
void wglNormal (const dPoint3D *v)
void wglNormal (const fPoint3D &v)
void wglNormal (const fPoint3D *v)
void wglNormal (const iPoint3D &v)
void wglNormal (const iPoint3D *v)
void wglTexCoord (const dPoint2D &v)
void wglTexCoord (const dPoint2D *v)
void wglTexCoord (const fPoint2D &v)
void wglTexCoord (const fPoint2D *v)
void wglTexCoord (const iPoint2D &v)
void wglTexCoord (const iPoint2D *v)
void wglTexCoord (const dPoint3D &v)
void wglTexCoord (const dPoint3D *v)
void wglTexCoord (const fPoint3D &v)
void wglTexCoord (const fPoint3D *v)
void wglTexCoord (const iPoint3D &v)
void wglTexCoord (const iPoint3D *v)
void wglRect (const Rect< float > &r)
void wglRect (const dRect &r)
void wglRect (const iRect &r)
void wglText (bool fixed, const dPoint3D &pos, char *str, bool large_font=false, const RGB &col=White)
void wglDrawMarkSquare (double u, double v, double z=-1, const RGB &col=Magenta, int sz=5)
void wglText (bool fixed, double x, double y, char *str, bool large_font=false, const RGB &col=White)
void wglFixedPositionText (const dPoint3D &pos, char *str, bool large_font=false, const RGB &col=White)
void wglFixedPositionText (double x, double y, char *str, bool large_font=false, const RGB &col=White)
void wglNonFixedPositionText (const dPoint3D &pos, char *str, bool large_font=false, const RGB &col=White)
void wglNonFixedPositionText (double x, double y, char *str, bool large_font=false, const RGB &col=White)
void _wglVertex (const iPoint2D &v)
void _wglVertex (const iPoint2D *v)
void _wglVertex (const iPoint3D &v)
void _wglVertex (const iPoint3D *v)
void _wglVertex (const iPoint4D &v)
void _wglVertex (const iPoint4D *v)
void _wglVertex (const fPoint2D &v)
void _wglVertex (const fPoint2D *v)
void _wglVertex (const fPoint3D &v)
void _wglVertex (const fPoint3D *v)
void _wglVertex (const fPoint4D &v)
void _wglVertex (const fPoint4D *v)
void _wglVertex (const dPoint2D &v)
void _wglVertex (const dPoint2D *v)
void _wglVertex (const dPoint3D &v)
void _wglVertex (const dPoint3D *v)
void _wglVertex (const dPoint4D &v)
void _wglVertex (const dPoint4D *v)
template<class T, int sz> void wglNormalizeVertex (const Point< T, sz > &p)
template<class T, int sz> void wglVertex (const Point< T, sz > &p)
void wglShading (const RGBAS &rgbas, bool revert_color=false)
void RGBOverFlowByScale (fVector3D &rgb)
void RGBOverFlowByClamp (fVector3D &rgb)
void RGBOverFlowByMark (fVector3D &rgb)
bool RGBASisOpaque (const RGBAS &rgbas)
void HSV2RGB (fVector3D &hsv)
void RGB2HSV (fVector3D &rgb)
template<class T> ostream & operator<< (ostream &os, const Rect< T > &r)
template<class T> Rect< T > operator * (T a, const Rect< T > &r)
template<class T> Rect< T > operator * (const Rect< T > &r, T a)
template<int dim> ostream & operator<< (ostream &os, const PolyLine< dim > &pl)
template<int dim> istream & operator>> (istream &is, PolyLine< dim > &pl)
template<int dim> istream & operator>> (istream &is, PolyLines< dim > &pls)
template<int dim> ostream & operator<< (ostream &os, const PolyLines< dim > &pls)
template<class T> ostream & print (T const &v, ostream &os=cout, char *delimiter="")
char * cpystr (const char *from)
template<class T> vector< T >::iterator findInVector (const T &e, vector< T > &v)
 Return end() if not found.

template<class T> vector< T >::const_iterator findInVector (const T &e, const vector< T > &v)
 Return end() if not found.

template<class T> int eraseInVector (vector< T > &v, const T &e)
 Return 1 if the first element of specified value successfuly deleted ; return 0 otherwise.

unsigned long int_pow (int base, int p)
double lineFun (double a, double b, double c, double x, double y)
double getYgivenX (double a, double b, double c, double x)
double getXgivenY (double a, double b, double c, double y)
int lineFun (int a, int b, int c, int x, int y)
int getYgivenX (int a, int b, int c, int x)
int getXgivenY (int a, int b, int c, int y)
int round (double a)
int sign (double num)
long factorial (int n)
template<class T> bool outside (const T &t, const T &t0, const T &t1)
 Return true if t<t0 or t>t1.

bool approx_eq (double a, double b, double epsilon=1.0E-6)
 Return true if a and b is within distance of epsilon.

template<class T> double ratio (T v, T m, T M)
 Return the value (v-m) / (M-m).

template<class T> T interpolate (double t, const T &P1, const T &P2)
 Actually might be extrapolate if t < 0.

template<class T> T interpolate (double t, double t1, double t2, const T &p1, const T &p2)
 Actually might be extrapolate if outside(t, t1, t2).

void RUN_ERR (const std::string &msg)
void error_exit (std::string const &msg)
unsigned long C (int i, int n)
 Select i out of n: return the combinatory.

template<typename T, int dims> ostream & operator<< (ostream &os, const TensorArray< T, dims > &_ar)
template<typename T, int dims1, int dims2> void array_copy (int sub_array_at_this_dir, int len, TensorArray< T, dims1 >const &from, int from_start, TensorArray< T, dims2 > &to, int to_start)
 Copy the specified subarray.

template<typename T, int dims> TensorArray< T, dims > operator * (Transform const &trans, TensorArray< T, dims >const &ar)
template<typename T, int dims> ostream & operator<< (ostream &os, SimpleArray< T, dims > const &ar)
template<typename T> ostream & operator<< (ostream &os, SimpleArray< T, 1 > const &ar)
void tensor_blossom_srf (View *v)
void quadraticBzrBasis (View *v)
void testSubdivisionCrvOpen2FloatingEnds (View *v)
void quadraticBSplineSrf (View *v)
void testSubdivisionSrfOpen2FloatingEnds (View *v)
void triQuadraticBzrVolume (View *v)
void new_glModel (View *v)

Variables

const double pi = 3.141592
const double epsilon = 1.0E-5
double epsilon_scaleup
double epsilon_scaledown


Typedef Documentation

typedef TensorArray<bool, 2> xchen::BitMap
 

typedef set<char, less<char> > xchen::charset
 

typedef vector<char> xchen::charvector
 

typedef Attributes xchen::CommandLineArguments
 

typedef int xchen::ConvertedKeyValue
 

typedef BaseVector<char> xchen::cPoint
 

typedef cVector1D xchen::cPoint1D
 

typedef cVector2D xchen::cPoint2D
 

typedef cVector3D xchen::cPoint3D
 

typedef cVector4D xchen::cPoint4D
 

typedef cVector5D xchen::cPoint5D
 

typedef Vector<float, MaxCtrlVecSz> xchen::CtrlVector
 

typedef BaseVector<char> xchen::cVector
 

typedef Vector<char,1> xchen::cVector1D
 

typedef Vector<char,2> xchen::cVector2D
 

typedef Vector<char,3> xchen::cVector3D
 

typedef Vector<char,4> xchen::cVector4D
 

typedef Vector<char,5> xchen::cVector5D
 

typedef Matrix<double, 2, 2> xchen::dMatrix22
 

typedef Matrix<double, 2, 2> xchen::dMatrix23
 

typedef Matrix<double, 3, 3> xchen::dMatrix24
 

typedef Matrix<double, 3, 3> xchen::dMatrix25
 

typedef Matrix<double, 3, 3> xchen::dMatrix32
 

typedef Matrix<double, 3, 3> xchen::dMatrix33
 

typedef Matrix<double, 3, 4> xchen::dMatrix34
 

typedef Matrix<double, 3, 5> xchen::dMatrix35
 

typedef Matrix<double, 4, 2> xchen::dMatrix42
 

typedef Matrix<double, 4, 3> xchen::dMatrix43
 

typedef Matrix<double, 4, 4> xchen::dMatrix44
 

typedef Matrix<double, 4, 5> xchen::dMatrix45
 

typedef set<double, less<double> > xchen::doubleset
 

typedef vector<double> xchen::doublevector
 

typedef BaseVector<double> xchen::dPoint
 

typedef dVector1D xchen::dPoint1D
 

typedef dVector2D xchen::dPoint2D
 

typedef dVector2Dset xchen::dPoint2Dset
 

typedef dVector2Dvector xchen::dPoint2Dvector
 

typedef dVector3D xchen::dPoint3D
 

typedef dVector3Dset xchen::dPoint3Dset
 

typedef dVector3Dvector xchen::dPoint3Dvector
 

typedef dVector4D xchen::dPoint4D
 

typedef dVector5D xchen::dPoint5D
 

typedef Rect<double> xchen::dRect
 

typedef Vector<Vector<double, 2>, 2> xchen::dVecOfVec22
 

typedef Vector<Vector<double, 2>, 3> xchen::dVecOfVec23
 

typedef Vector<Vector<double, 2>, 4> xchen::dVecOfVec24
 

typedef Vector<Vector<double, 2>, 5> xchen::dVecOfVec25
 

typedef Vector<Vector<double, 3>, 2> xchen::dVecOfVec32
 

typedef Vector<Vector<double, 3>, 3> xchen::dVecOfVec33
 

typedef Vector<Vector<double, 3>, 4> xchen::dVecOfVec34
 

typedef Vector<Vector<double, 3>, 5> xchen::dVecOfVec35
 

typedef Vector<Vector<double, 4>, 2> xchen::dVecOfVec42
 

typedef Vector<Vector<double, 4>, 3> xchen::dVecOfVec43
 

typedef Vector<Vector<double, 4>, 4> xchen::dVecOfVec44
 

typedef Vector<Vector<double, 4>, 5> xchen::dVecOfVec45
 

typedef BaseVector<double> xchen::dVector
 

typedef Vector<double,1> xchen::dVector1D
 

typedef Vector<double,2> xchen::dVector2D
 

typedef set< dVector2D, less< dVector2D > > xchen::dVector2Dset
 

typedef vector< dVector2D > xchen::dVector2Dvector
 

typedef Vector<double,3> xchen::dVector3D
 

typedef set< dVector3D, less< dVector3D > > xchen::dVector3Dset
 

typedef vector< dVector3D > xchen::dVector3Dvector
 

typedef Vector<double,4> xchen::dVector4D
 

typedef Vector<double,5> xchen::dVector5D
 

typedef dPoint1D xchen::E1
 

typedef dPoint2D xchen::E2
 

typedef dPoint3D xchen::E3
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

typedef dPoint4D xchen::E4
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

typedef dPoint5D xchen::E5
 

typedef fPoint1D xchen::fE1
 

typedef fPoint2D xchen::fE2
 

typedef fPoint3D xchen::fE3
 

typedef fPoint4D xchen::fE4
 

typedef fPoint5D xchen::fE5
 

typedef BaseVector<float> xchen::fPoint
 

typedef fVector1D xchen::fPoint1D
 

typedef fVector2D xchen::fPoint2D
 

typedef fVector2Dset xchen::fPoint2Dset
 

typedef fVector2Dvector xchen::fPoint2Dvector
 

typedef fVector3D xchen::fPoint3D
 

typedef fVector3Dset xchen::fPoint3Dset
 

typedef fVector3Dvector xchen::fPoint3Dvector
 

typedef fVector4D xchen::fPoint4D
 

typedef fVector5D xchen::fPoint5D
 

typedef BaseVector<float> xchen::fVector
 

typedef Vector<float,1> xchen::fVector1D
 

typedef Vector<float,2> xchen::fVector2D
 

typedef set< fVector2D, less< fVector2D > > xchen::fVector2Dset
 

typedef vector< fVector2D > xchen::fVector2Dvector
 

typedef Vector<float,3> xchen::fVector3D
 

typedef set< fVector3D, less< fVector3D > > xchen::fVector3Dset
 

typedef vector< fVector3D > xchen::fVector3Dvector
 

typedef Vector<float,4> xchen::fVector4D
 

typedef Vector<float,5> xchen::fVector5D
 

typedef iRect xchen::GLViewPort
 

typedef dMatrix44 xchen::HMatrix
 

typedef fVector3D xchen::HSV
 

typedef Vector<int,2> xchen::iE2
 

typedef Vector<int,3> xchen::iE3
 

typedef Vector<int,4> xchen::iE4
 

typedef Vector<int,5> xchen::iE5
 

typedef set<int, less<int> > xchen::intset
 

typedef vector<int> xchen::intvector
 

typedef BaseVector<int> xchen::iPoint
 

typedef iVector1D xchen::iPoint1D
 

typedef iVector2D xchen::iPoint2D
 

typedef iVector2Dset xchen::iPoint2Dset
 

typedef iVector2Dvector xchen::iPoint2Dvector
 

typedef iVector3D xchen::iPoint3D
 

typedef iVector3Dset xchen::iPoint3Dset
 

typedef iVector3Dvector xchen::iPoint3Dvector
 

typedef iVector4D xchen::iPoint4D
 

typedef iVector5D xchen::iPoint5D
 

typedef Rect<int> xchen::iRect
 

typedef BaseVector<int> xchen::iVector
 

typedef Vector<int,1> xchen::iVector1D
 

typedef Vector<int,2> xchen::iVector2D
 

typedef set< iVector2D, less< iVector2D > > xchen::iVector2Dset
 

typedef vector< iVector2D > xchen::iVector2Dvector
 

typedef Vector<int,3> xchen::iVector3D
 

typedef set< iVector3D, less< iVector3D > > xchen::iVector3Dset
 

typedef vector< iVector3D > xchen::iVector3Dvector
 

typedef Vector<int,4> xchen::iVector4D
 

typedef Vector<int,5> xchen::iVector5D
 

typedef void(* xchen::KeyEventCB)(ConvertedKeyValue k, int x, int y)
 

typedef int xchen::MenuHandle
 

typedef dRect xchen::OrthoClip
 

typedef E2 xchen::P1
 

typedef E3 xchen::P2
 

typedef E4 xchen::P3
 

typedef E5 xchen::P4
 

typedef PolyLine xchen::PolyLine3D
 

typedef PolyLines xchen::PolyLines3D
 

typedef int xchen::RadioHandle
 

GLUT popup Menu and its embedded KeyBoard work together to provide UserInterface.

typedef fVector3D xchen::RGB
 

typedef fVector4D xchen::RGBA
 

typedef fVector5D xchen::RGBAS
 

typedef fVector4D xchen::RGBI
 

typedef void(* xchen::UpdateViewDependantFun)(class View*)
 

typedef dRect xchen::XiaViewPort
 


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
ruled 
revolution 
sweep 

anonymous enum
 

Enumeration values:
invalid_dir 

anonymous enum
 

Enumeration values:
invalid_stride 

anonymous enum
 

Enumeration values:
MaxCtrlVecSz 

enum xchen::Axis
 

Enumeration values:
NegXDir 
PosXDir 
NegYDir 
PosYDir 
NegZDir 
PosZDir 

enum xchen::CubeFace
 

Enumeration values:
LEFT_FACE 
BACK_FACE 
RIGHT_FACE 
FRONT_FACE 
TOP_FACE 
BOTTOM_FACE 

enum xchen::RGBCubeFace
 

Enumeration values:
WhiteRedFace 
WhiteGreenFace 
WhiteBlueFace 


Function Documentation

void _open_file_cb ConvertedKeyValue    item_id,
int    x,
int    y
 

void _wglVertex const dPoint4D   v [inline]
 

void _wglVertex const dPoint4D   v [inline]
 

void _wglVertex const dPoint3D   v [inline]
 

void _wglVertex const dPoint3D   v [inline]
 

void _wglVertex const dPoint2D   v [inline]
 

void _wglVertex const dPoint2D   v [inline]
 

void _wglVertex const fPoint4D   v [inline]
 

void _wglVertex const fPoint4D   v [inline]
 

void _wglVertex const fPoint3D   v [inline]
 

void _wglVertex const fPoint3D   v [inline]
 

void _wglVertex const fPoint2D   v [inline]
 

void _wglVertex const fPoint2D   v [inline]
 

void _wglVertex const iPoint4D   v [inline]
 

void _wglVertex const iPoint4D   v [inline]
 

void _wglVertex const iPoint3D   v [inline]
 

void _wglVertex const iPoint3D   v [inline]
 

void _wglVertex const iPoint2D   v [inline]
 

void _wglVertex const iPoint2D   v [inline]
 

bool approx_eq double    a,
double    b,
double    epsilon = 1.0E-6
[inline]
 

Return true if a and b is within distance of epsilon.

template<typename T, int dims1, int dims2>
void array_copy int    sub_array_at_this_dir,
int    len,
TensorArray< T, dims1 >const &    from,
int    from_start,
TensorArray< T, dims2 > &    to,
int    to_start
[inline]
 

Copy the specified subarray.

unsigned long C int    i,
int    n
[inline]
 

Select i out of n: return the combinatory.

template<int dims, int sp_dims>
void TensorBlossom<dims, sp_dims>:: template<int from_sp_dims> construct_revolution_manifold TensorBlossom< dims-1, from_sp_dims > const &    _rev_from
 

template<int dims, int sp_dims>
void TensorBlossom<dims, sp_dims>:: template<int from_sp_dims> construct_ruled_manifold SubMFType const &    from_mf1,
SubMFType const &    from_mf2
 

char* cpystr const char *    from [inline]
 

template<class T>
int eraseInVector vector< T > &    v,
const T &    e
[inline]
 

Return 1 if the first element of specified value successfuly deleted ; return 0 otherwise.

void error_exit std::string const &    msg [inline]
 

long factorial int    n [inline]
 

template<class T>
vector<T>::const_iterator findInVector const T &    e,
const vector< T > &    v
[inline]
 

Return end() if not found.

template<class T>
vector<T>::iterator findInVector const T &    e,
vector< T > &    v
[inline]
 

Return end() if not found.

int getXgivenY int    a,
int    b,
int    c,
int    y
[inline]
 

double getXgivenY double    a,
double    b,
double    c,
double    y
[inline]
 

int getYgivenX int    a,
int    b,
int    c,
int    x
[inline]
 

double getYgivenX double    a,
double    b,
double    c,
double    x
[inline]
 

void HSV2RGB fVector3D   hsv [inline]
 

unsigned long int_pow int    base,
int    p
[inline]
 

template<class T>
T interpolate double    t,
double    t1,
double    t2,
const T &    p1,
const T &    p2
[inline]
 

Actually might be extrapolate if outside(t, t1, t2).

template<class T>
T interpolate double    t,
const T &    P1,
const T &    P2
[inline]
 

Actually might be extrapolate if t < 0.

template<class T, int sz>
Vector<T,sz> interpolate const NormalizedVector< T, sz > &    t,
const Vector< T, sz > &    p1,
const Vector< T, sz > &    p2
[inline]
 

int lineFun int    a,
int    b,
int    c,
int    x,
int    y
[inline]
 

double lineFun double    a,
double    b,
double    c,
double    x,
double    y
[inline]
 

void new_glModel View   v
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

template<typename T, int dims>
TensorArray<T,dims> operator * Transform const &    trans,
TensorArray< T, dims >const &    ar
[inline]
 

template<class T>
Rect<T> operator * const Rect< T > &    r,
  a
[inline]
 

template<class T>
Rect<T> operator *   a,
const Rect< T > &    r
[inline]
 

template<class T, int Sz>
Vector<T,Sz> operator * const T &    t,
const Vector< T, Sz > &    v
 

template<int dims, int sp_dims>
TensorBlossom<dims, sp_dims> operator * Transform const &    trans,
TensorBlossom< dims, sp_dims >const &    ar
[inline]
 

template<typename T>
ostream& operator<< ostream &    os,
SimpleArray< T, 1 > const &    ar
 

template<typename T, int dims>
ostream& operator<< ostream &    os,
SimpleArray< T, dims > const &    ar
 

template<typename T, int dims>
ostream& operator<< ostream &    os,
const TensorArray< T, dims > &    _ar
 

template<int dim>
ostream& operator<< ostream &    os,
const PolyLines< dim > &    pls
 

template<int dim>
ostream& operator<< ostream &    os,
const PolyLine< dim > &    pl
 

template<class T>
ostream& operator<< ostream &    os,
const Rect< T > &    r
[inline]
 

template<class T, int M, int N>
ostream& operator<< ostream &    os,
const Matrix< T, M, N > &    m
[inline]
 

template<class T, int Sz>
ostream& operator<< ostream &    os,
const Vector< T, Sz > &    v
 

template<int dims>
ostream& operator<< ostream &    os,
KnotVector< dims >const &    kv
 

template<int dims, int sp_dims>
ostream& operator<< ostream &    os,
TensorManifold< dims, sp_dims > const &    m
 

template<int dims, int sp_dims>
ostream& operator<< ostream &    os,
TensorBlossom< dims, sp_dims > const &    _blsm
 

template<int dim>
istream& operator>> istream &    is,
PolyLines< dim > &    pls
 

template<int dim>
istream& operator>> istream &    is,
PolyLine< dim > &    pl
 

template<class T, int Sz>
istream& operator>> istream &    is,
Vector< T, Sz > &    v
 

template<class T>
Vector<T,3> operator^ Vector< T, 3 >const &    v1,
Vector< T, 3 >const &    v2
[inline]
 

template<class T>
bool outside const T &    t,
const T &    t0,
const T &    t1
 

Return true if t<t0 or t>t1.

template<class T>
ostream& print T const &    v,
ostream &    os = cout,
char *    delimiter = " "
[inline]
 

void quadraticBSplineSrf View   v
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

void quadraticBzrBasis View   v
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

template<class T>
double ratio   v,
  m,
  M
[inline]
 

Return the value (v-m) / (M-m).

template<class T, int sz>
NormalizedVector<T,sz> ratio const Vector< T, sz > &    p,
const Vector< T, sz > &    p1,
const Vector< T, sz > &    p2
[inline]
 

void RGB2HSV fVector3D   rgb [inline]
 

bool RGBASisOpaque const RGBAS   rgbas [inline]
 

void RGBOverFlowByClamp fVector3D   rgb [inline]
 

void RGBOverFlowByMark fVector3D   rgb [inline]
 

void RGBOverFlowByScale fVector3D   rgb [inline]
 

Transform rotateX double    ang [inline]
 

Transform rotateY double    ang [inline]
 

Transform rotateZ double    ang [inline]
 

int round double    a [inline]
 

void RUN_ERR const std::string &    msg [inline]
 

Transform scale double    s [inline]
 

int sign double    num [inline]
 

void tensor_blossom_srf View   v
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

void testSubdivisionCrvOpen2FloatingEnds View   v
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

void testSubdivisionSrfOpen2FloatingEnds View   v
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

void triQuadraticBzrVolume View   v
 

Examples:
/home/xchen/xia/src/glrender/demoSubdivision.cc.

Transform tX double    d [inline]
 

Transform tY double    d [inline]
 

Transform tZ double    d [inline]
 

void wgl2DStar const dPoint2D   pnt
 

void wglArrow const dVector3D   dir,
const RGBAS  
 

void wglArrow  
 

void wglCircle const dPoint3D   center,
double    r,
const RGB   col = White,
int    segments = 100
 

void wglClearColor const RGBA   rgba [inline]
 

void wglColor const fVector3D   col [inline]
 

void wglColorHSV const HSV   hsv [inline]
 

void wglCone double    bs = 0.5,
double    h = 1.0,
double    top = 0,
Axis    align = PosZDir,
GLint    slices = 200,
GLint    stacks = 200
 

void wglDrawMarkSquare double    u,
double    v,
double    z = -1,
const RGB   col = Magenta,
int    sz = 5
 

void wglFixedPositionText double    x,
double    y,
char *    str,
bool    large_font = false,
const RGB   col = White
[inline]
 

void wglFixedPositionText const dPoint3D   pos,
char *    str,
bool    large_font = false,
const RGB   col = White
[inline]
 

void wglFrame const Frame   frm,
float    scale = 1.0
 

void wglFrames vector< Frame >::const_iterator    iter,
vector< Frame >::const_iterator    stop
 

void wglFrenet const Frenet   frt,
float    frmscale = 1.0
 

void wglFrenets vector< Frenet >::const_iterator    iter,
vector< Frenet >::const_iterator    stop
 

void wglNonFixedPositionText double    x,
double    y,
char *    str,
bool    large_font = false,
const RGB   col = White
[inline]
 

void wglNonFixedPositionText const dPoint3D   pos,
char *    str,
bool    large_font = false,
const RGB   col = White
[inline]
 

void wglNormal const iPoint3D   v [inline]
 

void wglNormal const iPoint3D   v [inline]
 

void wglNormal const fPoint3D   v [inline]
 

void wglNormal const fPoint3D   v [inline]
 

void wglNormal const dPoint3D   v [inline]
 

void wglNormal const dPoint3D   v [inline]
 

template<class T, int sz>
void wglNormalizeVertex const Point< T, sz > &    p
 

void wglOrtho const dPoint3D   min,
const dPoint3D   max
 

void wglOrtho const dPoint2D   min,
const dPoint2D   max
 

template<class T, int dim>
void wglPolyLine const vector< Point< T, dim > > &    pnts
 

void wglRect const iRect   r [inline]
 

void wglRect const dRect   r [inline]
 

void wglRect const Rect< float > &    r [inline]
 

void wglRotate double    rot_angle,
const dVector3D   rot_dir
[inline]
 

void wglRotate const dVector3D   rot_dir,
double    rot_angle
[inline]
 

void wglRotate const fVector3D   angles [inline]
 

void wglRotateTo const dVector3D   from,
const dVector3D   to
[inline]
 

void wglScale const iVector3D   v [inline]
 

void wglScale const dVector3D   v [inline]
 

void wglScale const fVector3D   v [inline]
 

void wglScale int    s [inline]
 

void wglScale double    s [inline]
 

void wglScale float    s [inline]
 

void wglShading const RGBAS   rgbas,
bool    revert_color = false
 

void wglTexCoord const iPoint3D   v [inline]
 

void wglTexCoord const iPoint3D   v [inline]
 

void wglTexCoord const fPoint3D   v [inline]
 

void wglTexCoord const fPoint3D   v [inline]
 

void wglTexCoord const dPoint3D   v [inline]
 

void wglTexCoord const dPoint3D   v [inline]
 

void wglTexCoord const iPoint2D   v [inline]
 

void wglTexCoord const iPoint2D   v [inline]
 

void wglTexCoord const fPoint2D   v [inline]
 

void wglTexCoord const fPoint2D   v [inline]
 

void wglTexCoord const dPoint2D   v [inline]
 

void wglTexCoord const dPoint2D   v [inline]
 

void wglText bool    fixed,
double    x,
double    y,
char *    str,
bool    large_font = false,
const RGB   col = White
[inline]
 

void wglText bool    fixed,
const dPoint3D   pos,
char *    str,
bool    large_font = false,
const RGB   col = White
 

void wglTranslate const iVector3D   v [inline]
 

void wglTranslate const fVector3D   v [inline]
 

void wglTranslate const dVector3D   v [inline]
 

template<class T, int sz>
void wglVertex const Point< T, sz > &    p
 

void wglViewport const GLViewPort   gl_viewport [inline]
 

void wglXYZAxes float    scale = 1.0
 

void xglCylinder GLUquadric *    quad,
GLdouble    base = .5,
GLdouble    top = .5,
GLdouble    height = 1.0,
GLdouble    base_at = 0,
GLint    slices = 200,
GLint    stacks = 200,
Axis    dir = PosXDir
 

void xglDisk GLUquadric *    quad,
GLdouble    inner_r,
GLdouble    outer_r,
GLdouble    at = 0,
GLint    slices = 200,
GLint    rings = 200,
Axis    dir = PosXDir
 


Variable Documentation

const double xchen::epsilon = 1.0E-5
 

double xchen::epsilon_scaledown
 

double xchen::epsilon_scaleup
 

const double xchen::pi = 3.141592
 


Generated on Wed Apr 7 21:40:50 2004 by doxygen1.2.18