vel.h File Reference

Class Vel: a canonical set element object. More...

#include <mc/mc_base.h>

Include dependency graph for vel.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Gip
 struct Gip (2*4=8 bytes) More...
struct  Vip
 struct Vip (3*8+3*4=36 bytes) More...
struct  Eip
 struct Eip (6*4=24 bytes) More...
struct  Fip
 struct Fip (3*4=12 bytes) More...
struct  Sip
 (14*4=56 bytes OR 24*4=96 bytes) More...
union  VES
 typedef union VES (40 bytes=max[36,24,40] OR 80 bytes=max[36,24,80]) More...
struct  Vel
 Class Vel: Definition (8+80 bytes). More...

Defines

#define MASK_00000000000000000000000000000000   000000000000
 Gip.bits masks (implicit "0/1"s in front that pad out the word) none.
#define MASK_00000000000000000000000000000011   000000000003
 Gip.bits masks (implicit "0/1"s in front that pad out the word) reality.
#define MASK_00000000000000000000000000001100   000000000014
 Gip.bits masks (implicit "0/1"s in front that pad out the word) dim.
#define MASK_00000000000000000000000000110000   000000000060
 Gip.bits masks (implicit "0/1"s in front that pad out the word) class.
#define MASK_00000000000000000011111111000000   000000037700
 Gip.bits masks (implicit "0/1"s in front that pad out the word) type.
#define MASK_11111111111111111100000000000000   007777740000
 Gip.bits masks (implicit "0/1"s in front that pad out the word) chart.
#define MASK_11111111111111111111111111111111   ~000000000000
 Gip.bits masks (implicit "0/1"s in front that pad out the word) none.
#define MASK_11111111111111111111111111111100   ~000000000003
 Gip.bits masks (implicit "0/1"s in front that pad out the word) reality.
#define MASK_11111111111111111111111111110011   ~000000000014
 Gip.bits masks (implicit "0/1"s in front that pad out the word) dim.
#define MASK_11111111111111111111111111001111   ~000000000060
 Gip.bits masks (implicit "0/1"s in front that pad out the word) class.
#define MASK_11111111111111111100000000111111   ~000000037700
 Gip.bits masks (implicit "0/1"s in front that pad out the word) type.
#define MASK_00000000000000000011111111111111   ~007777740000
 Gip.bits masks (implicit "0/1"s in front that pad out the word) chart.
#define MASK_00000000000000000000000000000111   000000000007
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine edge0.
#define MASK_00000000000000000000000000111000   000000000070
 Sip.tags masks (implicit "0/1"s in front that pad out the word) marked edge1.
#define MASK_00000000000000000000000111000000   000000000700
 Sip.tags masks (implicit "0/1"s in front that pad out the word) marked edge2.
#define MASK_00000000000000000000111000000000   000000007000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) marked edge3.
#define MASK_00000000000000000111000000000000   000000070000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) degen marks.
#define MASK_00000000000000111000000000000000   000000700000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine count.
#define MASK_00000000000001000000000000000000   000001000000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine Q0.
#define MASK_00000000000010000000000000000000   000002000000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine Q1.
#define MASK_11111111111111111111111111111000   ~000000000007
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine edge0.
#define MASK_11111111111111111111111111000111   ~000000000070
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine edge1.
#define MASK_11111111111111111111111000111111   ~000000000700
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine edge2.
#define MASK_11111111111111111111000111111111   ~000000007000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine edge3.
#define MASK_11111111111111111000111111111111   ~000000070000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) degen marks.
#define MASK_11111111111111000111111111111111   ~000000700000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine count.
#define MASK_11111111111110111111111111111111   ~000001000000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine Q0.
#define MASK_11111111111101111111111111111111   ~000002000000
 Sip.tags masks (implicit "0/1"s in front that pad out the word) refine Q1.
#define MASK_00000000000000000000000011111111   000000000377
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 0 type.
#define MASK_00000000000000001111111100000000   000000177400
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 1 type.
#define MASK_00000000111111110000000000000000   000077600000
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 2 type.
#define MASK_11111111000000000000000000000000   037700000000
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 3 type.
#define MASK_11111111111111111111111100000000   ~000000000377
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 0 type.
#define MASK_11111111111111110000000011111111   ~000000177400
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 1 type.
#define MASK_11111111000000001111111111111111   ~000077600000
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 2 type.
#define MASK_00000000111111111111111111111111   ~037700000000
 Sip.faces masks (implicit "0/1"s in front that pad out the word) face 3 type.

Functions

void Vel_init (Vel *thee, int tdim, int tid)
 Initialize the element.
void Vel_reinit (Vel *thee)
 Re-Initialize the element.
void Vel_setReality (Vel *thee, int reel)
 Set the reality bits.
void Vel_setDim (Vel *thee, int dim)
 Set the dimension bits.
void Vel_setClass (Vel *thee, int clas)
 Set the class bits.
void Vel_setType (Vel *thee, int type)
 Set the type bits.
void Vel_setChart (Vel *thee, int chart)
 Set the chart bits.
void Vel_setId (Vel *thee, int id)
 Set the ID bits.
unsigned int Vel_reality (Vel *thee)
 Return the reality.
unsigned int Vel_dim (Vel *thee)
 Return the dimension.
unsigned int Vel_dimVV (Vel *thee)
 Return the number of vertices in a simplex.
unsigned int Vel_dimEE (Vel *thee)
 Return the number of edges in a simplex.
unsigned int Vel_dimFF (Vel *thee)
 Return the number of faces in a simplex.
unsigned int Vel_class (Vel *thee)
 Return the class.
unsigned int Vel_type (Vel *thee)
 Return the type.
unsigned int Vel_chart (Vel *thee)
 Return the chart.
unsigned int Vel_id (Vel *thee)
 Return the ID.
VelVel_ctor (int dim, int id)
 The Vel constructor.
void Vel_dtor (Vel **thee)
 The Vel destructor.

Variables

const int vmapE [4][4]
 Useful simplex geometry mappings.
const int vmapEI [6][2]
 Useful simplex geometry mappings.
const int vmapV [6][4]
 Useful simplex geometry mappings.
const int vmapF [4][3]
 Useful simplex geometry mappings.
const int vmapFE [4][3]
 Useful simplex geometry mappings.
const int vmapOV1 [4][4][4]
 Useful simplex geometry mappings.
const int vmapOV2 [2][4][4]
 Useful simplex geometry mappings.
const int vmapOV3 [4][3]
 Useful simplex geometry mappings.
const int vmapOE [4][3]
 Useful simplex geometry mappings.


Detailed Description

Class Vel: a canonical set element object.

Author:
Michael Holst
Note:
None
Version:
Id
vel.h,v 1.20 2009/04/24 22:54:20 fetk Exp

Attention:
 *
 * MC = < Manifold Code >
 * Copyright (C) 1994--2008 Michael Holst
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 *  

Function Documentation

unsigned int Vel_chart ( Vel thee  ) 

Return the chart.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the chart
Parameters:
thee Pointer to class Vel

unsigned int Vel_class ( Vel thee  ) 

Return the class.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the class
Parameters:
thee Pointer to class Vel

Vel* Vel_ctor ( int  dim,
int  id 
)

The Vel constructor.

Author:
Michael Holst
Note:
Class Vel: Non-Inlineable methods (vel.c)
Returns:
Pointer to a new allocated Vel class
Parameters:
dim the dimension bits
id the ID bits

unsigned int Vel_dim ( Vel thee  ) 

Return the dimension.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the dimension
Parameters:
thee Pointer to class Vel

unsigned int Vel_dimEE ( Vel thee  ) 

Return the number of edges in a simplex.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the number of edges in a simplex.
Parameters:
thee Pointer to class Vel

unsigned int Vel_dimFF ( Vel thee  ) 

Return the number of faces in a simplex.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the number of faces in a simplex.
Parameters:
thee Pointer to class Vel

unsigned int Vel_dimVV ( Vel thee  ) 

Return the number of vertices in a simplex.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the number of vertices in a simplex.
Parameters:
thee Pointer to class Vel

void Vel_dtor ( Vel **  thee  ) 

The Vel destructor.

Author:
Michael Holst
Note:
Class Vel: Non-Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel

unsigned int Vel_id ( Vel thee  ) 

Return the ID.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the ID
Parameters:
thee Pointer to class Vel

void Vel_init ( Vel thee,
int  tdim,
int  tid 
)

Initialize the element.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel
tdim the dimension bits
tid the ID bits

unsigned int Vel_reality ( Vel thee  ) 

Return the reality.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the reality
Parameters:
thee Pointer to class Vel

void Vel_reinit ( Vel thee  ) 

Re-Initialize the element.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel

void Vel_setChart ( Vel thee,
int  chart 
)

Set the chart bits.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel
chart the chart bits

void Vel_setClass ( Vel thee,
int  clas 
)

Set the class bits.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel
clas the class bits

void Vel_setDim ( Vel thee,
int  dim 
)

Set the dimension bits.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel
dim the dimension bits

void Vel_setId ( Vel thee,
int  id 
)

Set the ID bits.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel
id the ID bits

void Vel_setReality ( Vel thee,
int  reel 
)

Set the reality bits.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel
reel the reality bits

void Vel_setType ( Vel thee,
int  type 
)

Set the type bits.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
None
Parameters:
thee Pointer to class Vel
type the type bits

unsigned int Vel_type ( Vel thee  ) 

Return the type.

Author:
Michael Holst
Note:
Class Vel: Inlineable methods (vel.c)
Returns:
the type
Parameters:
thee Pointer to class Vel


Generated on Mon Aug 9 11:13:44 2010 for MC by  doxygen 1.5.6