Connectivity< MeshType > Class Template Reference

#include <Connectivity.hpp>

Inheritance diagram for Connectivity< MeshType >:

Inheritance graph
[legend]
Collaboration diagram for Connectivity< MeshType >:

Collaboration graph
[legend]

List of all members.

Public Types

enum  Type {
  CellToCells = (1<< 0), CellToFaces = (1<< 1), CellToEdges = (1<< 2), CellToVertices = (1<< 3),
  FaceToCells = (1<< 4), FaceToEdges = (1<< 5), FaceToVertices = (1<< 6), EdgeToCells = (1<< 7),
  EdgeToFaces = (1<< 8), EdgeToVertices = (1<< 9), VertexToCell = (1<<10), VertexToFaces = (1<<11),
  VertexToEdges = (1<<12), VertexToVertices = (1<<13), VertexToVerticesGeneralized = (1<<15)
}
typedef MeshType::CellType CellType
typedef
MeshType::CellType::FaceType 
FaceType
typedef TinyVector
< CellType::NumberOfFaces,
const CellType * > 
CellToCellsType
typedef TinyVector
< CellType::NumberOfFaces,
const FaceType * > 
CellToFacesType
typedef TinyVector
< CellType::NumberOfEdges,
const Edge * > 
CellToEdgesType
typedef TinyVector
< 2, std::pair< const CellType
*, size_t > > 
FaceToCellsType
typedef std::set< const
CellType * > 
EdgeToCellsType
typedef std::set< const
CellType * > 
VertexToCellsType
typedef std::set< const Vertex * > VertexToVerticesType

Public Member Functions

void setCellToCells (ReferenceCounting< Vector< CellToCellsType > > &c)
void setCellToEdges (ReferenceCounting< Vector< CellToEdgesType > > &c)
void setCellToFaces (ReferenceCounting< Vector< CellToFacesType > > &c)
void setFaceToCells (ReferenceCounting< Vector< FaceToCellsType > > &c)
void setEdgeToCells (ReferenceCounting< Vector< EdgeToCellsType > > &c)
void setVertexToCells (ReferenceCounting< Vector< VertexToCellsType > > &c)
void setVertexToVerticesGeneralized (ReferenceCounting< Vector< VertexToVerticesType > > &c)
bool hasCellToCells () const
bool hasCellToFaces () const
bool hasCellToEdges () const
bool hasCellToVertices () const
bool hasFaceToCells () const
bool hasFaceToEdges () const
bool hasFaceToVertices () const
bool hasEdgeToCells () const
bool hasEdgeToFaces () const
bool hasEdgeToVertices () const
bool hasVertexToCells () const
bool hasVertexToFaces () const
bool hasVertexToEdges () const
bool hasVertexToVerices () const
bool hasVertexToVericesGeneralized () const
const CellToCellsTypecells (const CellType &c) const
CellToCellsTypecells (const CellType &c)
const VertexToCellsTypecells (const Vertex &v) const
VertexToCellsTypecells (const Vertex &v)
const FaceToCellsTypecells (const FaceType &f) const
FaceToCellsTypecells (const FaceType &f)
const CellToFacesTypefaces (const CellType &c) const
CellToFacesTypefaces (const CellType &c)
const CellToEdgesTypeedges (const CellType &c) const
CellToEdgesTypeedges (const CellType &c)
const VertexToVerticesTypeverticesGeneralized (const Vertex &v) const
VertexToVerticesTypeverticesGeneralized (const Vertex &v)
 Connectivity (const MeshType &mesh)
 ~Connectivity ()

Private Member Functions

 Connectivity (const Connectivity &c)

Private Attributes

const MeshType & __mesh
ReferenceCounting< Vector
< CellToCellsType > > 
__cellToCells
ReferenceCounting< Vector
< CellToFacesType > > 
__cellToFaces
ReferenceCounting< Vector
< CellToEdgesType > > 
__cellToEdges
ReferenceCounting< Undefined__cellToVertices
ReferenceCounting< Vector
< FaceToCellsType > > 
__faceToCells
ReferenceCounting< Undefined__faceToEdges
ReferenceCounting< Undefined__faceToVertices
ReferenceCounting
< EdgeToCellsType
__edgeToCells
ReferenceCounting< Undefined__edgeToFaces
ReferenceCounting< Undefined__edgeToVertices
ReferenceCounting< Vector
< VertexToCellsType > > 
__vertexToCells
ReferenceCounting< Undefined__vertexToFaces
ReferenceCounting< Undefined__vertexToEdges
ReferenceCounting< Undefined__vertexToVertices
ReferenceCounting< Vector
< VertexToVerticesType > > 
__vertexToVerticesGeneralized

Friends

class ConnectivityBuilder< MeshType >

Classes

class  Undefined


Detailed Description

template<typename MeshType>
class Connectivity< MeshType >

Definition at line 47 of file Connectivity.hpp.


Member Typedef Documentation

template<typename MeshType>
typedef MeshType::CellType Connectivity< MeshType >::CellType

Definition at line 74 of file Connectivity.hpp.

template<typename MeshType>
typedef MeshType::CellType::FaceType Connectivity< MeshType >::FaceType

Definition at line 75 of file Connectivity.hpp.

template<typename MeshType>
typedef TinyVector<CellType::NumberOfFaces, const CellType*> Connectivity< MeshType >::CellToCellsType

Definition at line 78 of file Connectivity.hpp.

template<typename MeshType>
typedef TinyVector<CellType::NumberOfFaces, const FaceType*> Connectivity< MeshType >::CellToFacesType

Definition at line 81 of file Connectivity.hpp.

template<typename MeshType>
typedef TinyVector<CellType::NumberOfEdges, const Edge*> Connectivity< MeshType >::CellToEdgesType

Definition at line 84 of file Connectivity.hpp.

template<typename MeshType>
typedef TinyVector<2, std::pair<const CellType*, size_t> > Connectivity< MeshType >::FaceToCellsType

Definition at line 89 of file Connectivity.hpp.

template<typename MeshType>
typedef std::set<const CellType*> Connectivity< MeshType >::EdgeToCellsType

Definition at line 91 of file Connectivity.hpp.

template<typename MeshType>
typedef std::set<const CellType*> Connectivity< MeshType >::VertexToCellsType

Definition at line 93 of file Connectivity.hpp.

template<typename MeshType>
typedef std::set<const Vertex*> Connectivity< MeshType >::VertexToVerticesType

Definition at line 94 of file Connectivity.hpp.


Member Enumeration Documentation

template<typename MeshType>
enum Connectivity::Type

Enumerator:
CellToCells 
CellToFaces 
CellToEdges 
CellToVertices 
FaceToCells 
FaceToEdges 
FaceToVertices 
EdgeToCells 
EdgeToFaces 
EdgeToVertices 
VertexToCell 
VertexToFaces 
VertexToEdges 
VertexToVertices  connected by edges
VertexToVerticesGeneralized  connected by elements

Definition at line 50 of file Connectivity.hpp.

00050                {
00051     CellToCells = (1<< 0),
00052     CellToFaces = (1<< 1),
00053     CellToEdges = (1<< 2),
00054     CellToVertices = (1<< 3),
00055     FaceToCells = (1<< 4),
00056     FaceToEdges = (1<< 5),
00057     FaceToVertices = (1<< 6),
00058     EdgeToCells = (1<< 7),
00059     EdgeToFaces = (1<< 8),
00060     EdgeToVertices = (1<< 9),
00061     VertexToCell = (1<<10),
00062     VertexToFaces = (1<<11),
00063     VertexToEdges = (1<<12),
00064     VertexToVertices = (1<<13), 
00065     VertexToVerticesGeneralized = (1<<15) 
00066   } Type;


Constructor & Destructor Documentation

template<typename MeshType>
Connectivity< MeshType >::Connectivity ( const Connectivity< MeshType > &  c  )  [private]

Copy constructor is forbidden

Parameters:
c connectivity

template<typename MeshType>
Connectivity< MeshType >::Connectivity ( const MeshType &  mesh  )  [inline]

Definition at line 308 of file Connectivity.hpp.

00309     : __mesh(mesh),
00310       __cellToCells(0),
00311       __cellToFaces(0),
00312       __cellToEdges(0),
00313       __cellToVertices(0),
00314       __faceToCells(0),
00315       __faceToEdges(0),
00316       __faceToVertices(0),
00317       __edgeToCells(0),
00318       __edgeToFaces(0),
00319       __edgeToVertices(0),
00320       __vertexToCells(0),
00321       __vertexToFaces(0),
00322       __vertexToEdges(0),
00323       __vertexToVertices(0),
00324       __vertexToVerticesGeneralized(0)
00325   {
00326     ;
00327   }

template<typename MeshType>
Connectivity< MeshType >::~Connectivity (  )  [inline]

Definition at line 329 of file Connectivity.hpp.

00330   {
00331     ;
00332   }


Member Function Documentation

template<typename MeshType>
void Connectivity< MeshType >::setCellToCells ( ReferenceCounting< Vector< CellToCellsType > > &  c  )  [inline]

Definition at line 138 of file Connectivity.hpp.

00139   {
00140     __cellToCells = c;
00141   }

template<typename MeshType>
void Connectivity< MeshType >::setCellToEdges ( ReferenceCounting< Vector< CellToEdgesType > > &  c  )  [inline]

Definition at line 143 of file Connectivity.hpp.

00144   {
00145     __cellToEdges = c;
00146   }

template<typename MeshType>
void Connectivity< MeshType >::setCellToFaces ( ReferenceCounting< Vector< CellToFacesType > > &  c  )  [inline]

Definition at line 148 of file Connectivity.hpp.

00149   {
00150     __cellToFaces = c;
00151   }

template<typename MeshType>
void Connectivity< MeshType >::setFaceToCells ( ReferenceCounting< Vector< FaceToCellsType > > &  c  )  [inline]

Definition at line 153 of file Connectivity.hpp.

00154   {
00155     __faceToCells = c;
00156   }

template<typename MeshType>
void Connectivity< MeshType >::setEdgeToCells ( ReferenceCounting< Vector< EdgeToCellsType > > &  c  )  [inline]

Definition at line 158 of file Connectivity.hpp.

00159   {
00160     __edgeToCells = c;
00161   }

template<typename MeshType>
void Connectivity< MeshType >::setVertexToCells ( ReferenceCounting< Vector< VertexToCellsType > > &  c  )  [inline]

Definition at line 163 of file Connectivity.hpp.

00164   {
00165     __vertexToCells = c;
00166   }

template<typename MeshType>
void Connectivity< MeshType >::setVertexToVerticesGeneralized ( ReferenceCounting< Vector< VertexToVerticesType > > &  c  )  [inline]

Definition at line 168 of file Connectivity.hpp.

00169   {
00170     __vertexToVerticesGeneralized = c;
00171   }

template<typename MeshType>
bool Connectivity< MeshType >::hasCellToCells (  )  const [inline]

template<typename MeshType>
bool Connectivity< MeshType >::hasCellToFaces (  )  const [inline]

Definition at line 178 of file Connectivity.hpp.

00179   {
00180     return __cellToFaces != 0;
00181   }

template<typename MeshType>
bool Connectivity< MeshType >::hasCellToEdges (  )  const [inline]

Definition at line 183 of file Connectivity.hpp.

00184   {
00185     return __cellToEdges != 0;
00186   }

template<typename MeshType>
bool Connectivity< MeshType >::hasCellToVertices (  )  const [inline]

Definition at line 188 of file Connectivity.hpp.

00189   {
00190     return __cellToVertices != 0;
00191   }

template<typename MeshType>
bool Connectivity< MeshType >::hasFaceToCells (  )  const [inline]

Definition at line 193 of file Connectivity.hpp.

00194   {
00195     return __faceToCells != 0;
00196   }

template<typename MeshType>
bool Connectivity< MeshType >::hasFaceToEdges (  )  const [inline]

Definition at line 198 of file Connectivity.hpp.

00199   {
00200     return __faceToEdges != 0;
00201   }

template<typename MeshType>
bool Connectivity< MeshType >::hasFaceToVertices (  )  const [inline]

Definition at line 203 of file Connectivity.hpp.

00204   {
00205     return __faceToVertices != 0;
00206   }

template<typename MeshType>
bool Connectivity< MeshType >::hasEdgeToCells (  )  const [inline]

Definition at line 208 of file Connectivity.hpp.

00209   {
00210     return __edgeToCells != 0;
00211   }

template<typename MeshType>
bool Connectivity< MeshType >::hasEdgeToFaces (  )  const [inline]

Definition at line 213 of file Connectivity.hpp.

00214   {
00215     return __edgeToFaces != 0;
00216   }

template<typename MeshType>
bool Connectivity< MeshType >::hasEdgeToVertices (  )  const [inline]

Definition at line 218 of file Connectivity.hpp.

00219   {
00220     return __edgeToVertices != 0;
00221   }

template<typename MeshType>
bool Connectivity< MeshType >::hasVertexToCells (  )  const [inline]

Definition at line 223 of file Connectivity.hpp.

00224   {
00225     return __vertexToCells != 0;
00226   }

template<typename MeshType>
bool Connectivity< MeshType >::hasVertexToFaces (  )  const [inline]

Definition at line 228 of file Connectivity.hpp.

00229   {
00230     return __vertexToFaces != 0;
00231   }

template<typename MeshType>
bool Connectivity< MeshType >::hasVertexToEdges (  )  const [inline]

Definition at line 233 of file Connectivity.hpp.

00234   {
00235     return __vertexToEdges != 0;
00236   }

template<typename MeshType>
bool Connectivity< MeshType >::hasVertexToVerices (  )  const [inline]

Definition at line 238 of file Connectivity.hpp.

00239   {
00240     return __vertexToVertices != 0;
00241   }

template<typename MeshType>
bool Connectivity< MeshType >::hasVertexToVericesGeneralized (  )  const [inline]

Definition at line 243 of file Connectivity.hpp.

00244   {
00245     return __vertexToVerticesGeneralized != 0;
00246   }

template<typename MeshType>
const CellToCellsType& Connectivity< MeshType >::cells ( const CellType c  )  const [inline]

template<typename MeshType>
CellToCellsType& Connectivity< MeshType >::cells ( const CellType c  )  [inline]

Definition at line 253 of file Connectivity.hpp.

00254   {
00255     return (*__cellToCells)[__mesh.cellNumber(c)];
00256   }

template<typename MeshType>
const VertexToCellsType& Connectivity< MeshType >::cells ( const Vertex v  )  const [inline]

Definition at line 258 of file Connectivity.hpp.

00259   {
00260     return (*__vertexToCells)[__mesh.vertexNumber(v)];
00261   }

template<typename MeshType>
VertexToCellsType& Connectivity< MeshType >::cells ( const Vertex v  )  [inline]

Definition at line 263 of file Connectivity.hpp.

00264   {
00265     return (*__vertexToCells)[__mesh.vertexNumber(v)];
00266   }

template<typename MeshType>
const FaceToCellsType& Connectivity< MeshType >::cells ( const FaceType f  )  const [inline]

Definition at line 268 of file Connectivity.hpp.

00269   {
00270     return (*__faceToCells)[__mesh.faceNumber(f)];
00271   }

template<typename MeshType>
FaceToCellsType& Connectivity< MeshType >::cells ( const FaceType f  )  [inline]

Definition at line 273 of file Connectivity.hpp.

00274   {
00275     return (*__faceToCells)[__mesh.faceNumber(f)];
00276   }

template<typename MeshType>
const CellToFacesType& Connectivity< MeshType >::faces ( const CellType c  )  const [inline]

Definition at line 278 of file Connectivity.hpp.

00279   {
00280     return (*__cellToFaces)[__mesh.cellNumber(c)];
00281   }

template<typename MeshType>
CellToFacesType& Connectivity< MeshType >::faces ( const CellType c  )  [inline]

Definition at line 283 of file Connectivity.hpp.

00284   {
00285     return (*__cellToFaces)[__mesh.cellNumber(c)];
00286   }

template<typename MeshType>
const CellToEdgesType& Connectivity< MeshType >::edges ( const CellType c  )  const [inline]

Definition at line 288 of file Connectivity.hpp.

Referenced by ScalarDegreeOfFreedomPositionsSet::Builder::__buildFEM(), and SurfaceMeshGenerator::Internals::__createSurface().

00289   {
00290     return (*__cellToEdges)[__mesh.cellNumber(c)];
00291   }

template<typename MeshType>
CellToEdgesType& Connectivity< MeshType >::edges ( const CellType c  )  [inline]

Definition at line 293 of file Connectivity.hpp.

00294   {
00295     return (*__cellToEdges)[__mesh.cellNumber(c)];
00296   }

template<typename MeshType>
const VertexToVerticesType& Connectivity< MeshType >::verticesGeneralized ( const Vertex v  )  const [inline]

Definition at line 298 of file Connectivity.hpp.

00299   {
00300     return (*__vertexToVerticesGeneralized)[__mesh.cellNumber(v)];
00301   }

template<typename MeshType>
VertexToVerticesType& Connectivity< MeshType >::verticesGeneralized ( const Vertex v  )  [inline]

Definition at line 303 of file Connectivity.hpp.

00304   {
00305     return (*__vertexToVerticesGeneralized)[__mesh.cellNumber(v)];
00306   }


Friends And Related Function Documentation

template<typename MeshType>
friend class ConnectivityBuilder< MeshType > [friend]

Definition at line 68 of file Connectivity.hpp.


Member Data Documentation

template<typename MeshType>
const MeshType& Connectivity< MeshType >::__mesh [private]

Definition at line 71 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Vector<CellToCellsType> > Connectivity< MeshType >::__cellToCells [private]

template<typename MeshType>
ReferenceCounting<Vector<CellToFacesType> > Connectivity< MeshType >::__cellToFaces [private]

Definition at line 101 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Vector<CellToEdgesType> > Connectivity< MeshType >::__cellToEdges [private]

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__cellToVertices [private]

Definition at line 107 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Vector<FaceToCellsType> > Connectivity< MeshType >::__faceToCells [private]

Definition at line 109 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__faceToEdges [private]

Definition at line 111 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__faceToVertices [private]

Definition at line 112 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<EdgeToCellsType> Connectivity< MeshType >::__edgeToCells [private]

Definition at line 114 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__edgeToFaces [private]

Definition at line 116 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__edgeToVertices [private]

Definition at line 117 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Vector<VertexToCellsType> > Connectivity< MeshType >::__vertexToCells [private]

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__vertexToFaces [private]

Definition at line 122 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__vertexToEdges [private]

Definition at line 123 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Undefined> Connectivity< MeshType >::__vertexToVertices [private]

Definition at line 124 of file Connectivity.hpp.

template<typename MeshType>
ReferenceCounting<Vector<VertexToVerticesType> > Connectivity< MeshType >::__vertexToVerticesGeneralized [private]


The documentation for this class was generated from the following file:

Generated on Wed Nov 19 00:05:11 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6