| /** | |
| * @file vel.h | |
| * @ingroup global_mc | |
| * @brief Class Vel: a canonical set element object. | |
| * @author Michael Holst | |
| * @note None | |
| * @version $Id: vel.h,v 1.21 2010/08/12 05:19:07 fetk Exp $ | |
| * | |
| * @attention | |
| * @verbatim | |
| * | |
| * MC = < Manifold Code > | |
| * Copyright (C) 1994-- 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 | |
| * | |
| * @endverbatim | |
| */ | |
| /* | |
| * *************************************************************************** | |
| * Class Vel: Parameters and datatypes | |
| * *************************************************************************** | |
| */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * none */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * reality */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * dim */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * class */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * type */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * chart */ | |
| /* ------------------------------------------------------------------------ */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * none */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * reality */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * dim */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * class */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * type */ | |
| /** @brief Gip.bits masks (implicit "0/1"s in front that pad out the word) | |
| * chart */ | |
| /* ------------------------------------------------------------------------ */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine edge0 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * marked edge1 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * marked edge2 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * marked edge3 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * degen marks */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine count */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine Q0 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine Q1 */ | |
| /* ------------------------------------------------------------------------ */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine edge0 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine edge1 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine edge2 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine edge3 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * degen marks */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine count */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine Q0 */ | |
| /** @brief Sip.tags masks (implicit "0/1"s in front that pad out the word) | |
| * refine Q1 */ | |
| /* ------------------------------------------------------------------------ */ | |
| /* ------------------------------------------------------------------------ */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 0 type */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 1 type */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 2 type */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 3 type */ | |
| /* ------------------------------------------------------------------------ */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 0 type */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 1 type */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 2 type */ | |
| /** @brief Sip.faces masks (implicit "0/1"s in front that pad out the word) | |
| * face 3 type */ | |
| /* ------------------------------------------------------------------------ */ | |
| /** | |
| * @ingroup global_mc | |
| * @brief struct Gip (2*4=8 bytes) | |
| * @author Michael Holst | |
| */ | |
| typedef struct Gip { | |
| /** | |
| * @brief See note | |
| * @note | |
| * @verbatim | |
| * (0-1)---> Reality (0--3=[2^2-1]) | |
| * --------> 0 = real | |
| * --------> 1 = ghost | |
| * --------> 2 = deleted | |
| * --------> 3 = <unused> | |
| * (2-3)---> Intrinsic Dimension (0--3=[2^2-1]) | |
| * --------> 0 = <unused> | |
| * --------> 1 = 1D | |
| * --------> 2 = 2D | |
| * --------> 3 = 3D | |
| * (4-5)---> Simplex Class (0--3=[2^2-1]) | |
| * --------> 0 = 0-simplex (vertex) | |
| * --------> 1 = 1-simplex (edge) | |
| * --------> 2 = 2-simplex (triangle) | |
| * --------> 3 = 3-simplex (tetrahedron) | |
| * (6-13)--> Material Type (0--256=[2^8-1]) | |
| * --------> Simplex interpretation: | |
| * --------> 0,1,2,3,... = Material tag | |
| * --------> Vertex and Edge interpretation: | |
| * --------> 0 = Interior | |
| * --------> ODD (1,3,5,...) = Dirichlet | |
| * --------> EVENP (2,4,6,...) = Neumann | |
| * (14-31)-> Chart (in the atlas) (0--262K=[2^18-1]) | |
| * @endverbatim */ | |
| unsigned int bits; | |
| /** @brief --------> Unit id (0--4G=[2^32-1]) */ | |
| unsigned int uid; | |
| } Gip; | |
| /** | |
| * @ingroup global_mc | |
| * @brief struct Vip (3*8+3*4=36 bytes) | |
| * @author Michael Holst | |
| */ | |
| typedef struct Vip { | |
| /** @brief --------> My coordinates (wrt my chart) */ | |
| double x[3]; | |
| /** @brief --------> Ptr to first of my edges */ | |
| void *ePtr; | |
| /** @brief --------> Ptr to first of my simplices */ | |
| void *sPtr; | |
| /** @brief --------> Ptr to parent edge of which I am midpt */ | |
| void *eParent; | |
| } Vip; | |
| /** | |
| * @ingroup global_mc | |
| * @brief struct Eip (6*4=24 bytes) | |
| * @author Michael Holst | |
| */ | |
| typedef struct Eip { | |
| /** @brief --------> Ptr to vertices forming my edge */ | |
| void *vPtr[2]; | |
| /** @brief --------> Ptr to next edge sharing my verts */ | |
| void *ePtr[2]; | |
| /** @brief --------> Ptr to my refined midpoint vertex */ | |
| void *midPtr; | |
| /** @brief --------> Ptr to parent edge (1 of 2 siblings) */ | |
| void *eParent; | |
| } Eip; | |
| /** | |
| * @ingroup global_mc | |
| * @brief struct Fip (3*4=12 bytes) | |
| * @author Michael Holst | |
| */ | |
| typedef struct Fip { | |
| /** @brief --------> Group ID for simplex with mirror face */ | |
| int gID; | |
| /** @brief --------> Ptr to my (single) owning simplex */ | |
| void *sPtr; | |
| /** @brief -------> child ID containing refinement history */ | |
| unsigned int rhist; | |
| /** @brief -------> refinement level for this face */ | |
| unsigned int rlevel; | |
| } Fip; | |
| /** | |
| * @ingroup global_mc | |
| * @brief (14*4=56 bytes OR 24*4=96 bytes) | |
| * @author Michael Holst | |
| */ | |
| typedef struct Sip { | |
| /** @brief --------> Ptr to my dim+1 verts */ | |
| void *vPtr[4]; | |
| /** @brief --------> dim+1 simplex ring ptrs */ | |
| void *sPtr[4]; | |
| /** @brief --------> dim+1 potential boundary faces */ | |
| void *fPtr[4]; | |
| /** @brief --------> Global face numbers */ | |
| int fNum[4]; | |
| /** @brief --------> Global edge numbers */ | |
| int eNum[6]; | |
| /** | |
| * @brief See note | |
| * @note | |
| * @verbatim | |
| * (0-2)---> Marked edge 0 (ref edge) (0--5<[2^3]-1) | |
| * (3-5)---> Marked edge 1 (0--5<[2^3]-1) | |
| * (6-8)---> Marked edge 2 (0--5<[2^3]-1) | |
| * (9-11)--> Marked edge 3 (0--5<[2^3]-1) | |
| * (12-14)-> Degenerate markings (0--5<[2^3]-1) | |
| * (15-17)-> Refinement counter (0--7=[2^3]-1) | |
| * (18-18)-> I'm on refinement Q0 (0=no, 1=yes) | |
| * (19-19)-> I'm on refinement Q1 (0=no, 1=yes) | |
| * (20-31)-> <unused> | |
| * @endverbatim | |
| */ | |
| unsigned int tags; | |
| /** @verbatim | |
| * (0-7)---> Face 0 (0=Interior,ODD=Diri,EVENP=Neum) | |
| * (8-15)--> Face 1 (0=Interior,ODD=Diri,EVENP=Neum) | |
| * (16-23)-> Face 2 (0=Interior,ODD=Diri,EVENP=Neum) | |
| * (24-31)-> Face 3 (0=Interior,ODD=Diri,EVENP=Neum) | |
| * @endverbatim | |
| */ | |
| unsigned int faces; | |
| } Sip; | |
| /** | |
| * @ingroup global_mc | |
| * @brief typedef union VES | |
| * (40 bytes=max[36,24,40] OR 80 bytes=max[36,24,80]) | |
| * @author Michael Holst | |
| */ | |
| typedef union VES { | |
| /** @brief Vertex information package */ | |
| Vip v; | |
| /** @brief Edge information package */ | |
| Eip e; | |
| /** @brief Simplex information package */ | |
| Sip s; | |
| } VES; | |
| /* | |
| * *************************************************************************** | |
| * Class Vel: Global objects | |
| * *************************************************************************** | |
| */ | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapE[4][4]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapEI[6][2]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapV[6][4]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapF[4][3]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapFE[4][3]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapOV1[4][4][4]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapOV2[2][4][4]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapOV3[4][3]; | |
| /** @brief Useful simplex geometry mappings */ | |
| VEXTERNC const int vmapOE[4][3]; | |
| /** | |
| * @ingroup global_mc | |
| * @brief Class Vel: Definition (8+80 bytes) | |
| * @author Michael Holst | |
| */ | |
| typedef struct Vel { | |
| Gip g; /**< @brief geometric information package */ | |
| VES d; /**< @brief vertex,edge,simplex data */ | |
| } Vel; | |
| /* | |
| * *************************************************************************** | |
| * Class Vel: Inlineable methods (vel.c) | |
| * *************************************************************************** | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Initialize the element. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param tdim the dimension bits | |
| * @param tid the ID bits | |
| */ | |
| VEXTERNC void Vel_init(Vel *thee, int tdim, int tid); | |
| /** | |
| * @ingroup Vel | |
| * @brief Re-Initialize the element. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC void Vel_reinit(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the reality bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param reel the reality bits | |
| */ | |
| VEXTERNC void Vel_setReality(Vel *thee, int reel); | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the dimension bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param dim the dimension bits | |
| */ | |
| VEXTERNC void Vel_setDim(Vel *thee, int dim); | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the class bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param clas the class bits | |
| */ | |
| VEXTERNC void Vel_setClass(Vel *thee, int clas); | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the type bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param type the type bits | |
| */ | |
| VEXTERNC void Vel_setType(Vel *thee, int type); | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the chart bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param chart the chart bits | |
| */ | |
| VEXTERNC void Vel_setChart(Vel *thee, int chart); | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the ID bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param id the ID bits | |
| */ | |
| VEXTERNC void Vel_setId(Vel *thee, int id); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the reality. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the reality | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_reality(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the dimension. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the dimension | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_dim(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the number of vertices in a simplex. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the number of vertices in a simplex. | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_dimVV(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the number of edges in a simplex. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the number of edges in a simplex. | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_dimEE(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the number of faces in a simplex. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the number of faces in a simplex. | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_dimFF(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the class | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the class | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_class(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the type | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the type | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_type(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the chart | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the chart | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_chart(Vel *thee); | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the ID | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) | |
| * @return the ID | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC unsigned int Vel_id(Vel *thee); | |
| /** @brief Initialize the element | |
| * @ingroup Vel | |
| * @brief Initialize the element. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param tdim the dimension bits | |
| * @param tid the ID bits | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Re-Initialize the element. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the reality bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param reel the reality bits | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the dimension bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param dim the dimension bits | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the class bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param clas the class bits | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the type bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param type the type bits | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the chart bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param chart the chart bits | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Set the ID bits. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| * @param id the ID bits | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the reality. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the reality | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the dimension. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the dimension | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the number of vertices in a simplex. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the number of vertices in a simplex. | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the number of edges in a simplex. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the number of edges in a simplex. | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the number of faces in a simplex. | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the number of faces in a simplex. | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the class | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the class | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the type | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the type | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the chart | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the chart | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief Return the ID | |
| * @author Michael Holst | |
| * @note Class Vel: Inlineable methods (vel.c) if defined(VINLINE_GEM) | |
| * @return the ID | |
| * @param thee Pointer to class Vel | |
| */ | |
| /** | |
| * @ingroup Vel | |
| * @brief The Vel constructor. | |
| * @author Michael Holst | |
| * @note Class Vel: Non-Inlineable methods (vel.c) | |
| * @return Pointer to a new allocated Vel class | |
| * @param dim the dimension bits | |
| * @param id the ID bits | |
| */ | |
| VEXTERNC Vel* Vel_ctor(int dim, int id); | |
| /** | |
| * @ingroup Vel | |
| * @brief The Vel destructor. | |
| * @author Michael Holst | |
| * @note Class Vel: Non-Inlineable methods (vel.c) | |
| * @return None | |
| * @param thee Pointer to class Vel | |
| */ | |
| VEXTERNC void Vel_dtor(Vel **thee); | |