ug4
grid_base_objects.h File Reference
#include <list>
#include <cassert>
#include <iostream>
#include <utility>
#include "common/types.h"
#include "common/common.h"
#include "common/assert.h"
#include "lib_grid/attachments/attachment_pipe.h"
#include "lib_grid/attachments/attached_list.h"
#include "common/util/hash_function.h"
#include "common/allocators/small_object_allocator.h"
#include "common/math/ugmath_types.h"
#include "common/util/pointer_const_array.h"

Go to the source code of this file.

Classes

class  ug::CustomVertexGroup
 this class can be used if one wants to create a custom element from a set of vertices. More...
 
class  ug::Edge
 Base-class for edges. More...
 
class  ug::EdgeDescriptor
 Can be used to store information about an edge and to construct an edge. More...
 
class  ug::EdgeVertices
 holds the vertices of an Edge or an EdgeDescriptor. More...
 
class  ug::Face
 Faces are 2-dimensional objects. More...
 
class  ug::FaceDescriptor
 Can be queried for the edges and vertices of a face. More...
 
class  ug::FaceVertices
 
struct  ug::GeomObjBaseTypeByDim< 0 >
 
struct  ug::GeomObjBaseTypeByDim< 1 >
 
struct  ug::GeomObjBaseTypeByDim< 2 >
 
struct  ug::GeomObjBaseTypeByDim< 3 >
 
class  ug::GridObject
 The base class for all geometric objects, such as vertices, edges, faces, volumes, ... More...
 
class  ug::IVertexGroup
 Base class for all classes which consist of a group of vertices. More...
 
struct  ug::PtrToValueType< TGeomObjPtrType >
 
struct  ug::PtrToValueType< Edge * >
 
struct  ug::PtrToValueType< Face * >
 
struct  ug::PtrToValueType< Vertex * >
 
struct  ug::PtrToValueType< Volume * >
 
class  ug::Vertex
 Base-class for all vertex-types. More...
 
class  ug::VertexDescriptor
 This descriptor is mainly useful to avoid compilation errors in templated code. More...
 
class  ug::Volume
 Volumes are 3-dimensional objects. More...
 
class  ug::VolumeDescriptor
 Holds a set of vertices which represent the corners of a volume element. More...
 
class  ug::VolumeVertices
 holds the vertices of a Volume or a VolumeDescriptor More...
 

Namespaces

 ug
 the ug namespace
 

Enumerations

enum  ug::GridBaseObjectId {
  ug::VERTEX = 0 , ug::EDGE , ug::FACE , ug::VOLUME ,
  ug::NUM_GEOMETRIC_BASE_OBJECTS
}
 enumeration of the GridBaseObjects that make up a grid. More...
 
enum  ug::ReferenceObjectID {
  ug::ROID_UNKNOWN = -1 , ug::ROID_VERTEX , ug::ROID_EDGE , ug::ROID_TRIANGLE ,
  ug::ROID_QUADRILATERAL , ug::ROID_TETRAHEDRON , ug::ROID_HEXAHEDRON , ug::ROID_PRISM ,
  ug::ROID_PYRAMID , ug::ROID_OCTAHEDRON , ug::NUM_REFERENCE_OBJECTS
}
 these ids are used to identify the shape of a geometric object. More...
 

Functions

size_t ug::hash_key (const EdgeVertices *key)
 
size_t ug::hash_key (const FaceVertices *key)
 
size_t ug::hash_key (const VolumeVertices *key)
 
size_t ug::hash_key (Edge *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (EdgeDescriptor *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (EdgeVertices *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (Face *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (FaceDescriptor *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (FaceVertices *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (Vertex *key)
 returns the hash-value of the vertex. More...
 
size_t ug::hash_key (Volume *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (VolumeDescriptor *key)
 the hash-key is a function of vertex-hash-values. More...
 
size_t ug::hash_key (VolumeVertices *key)
 the hash-key is a function of vertex-hash-values. More...
 
ReferenceObjectID ug::operator++ (ReferenceObjectID &roid, int)
 
std::ostream & ug::operator<< (std::ostream &outStream, ReferenceObjectID type)
 

Variables

const int ug::MAX_FACE_VERTICES = 4
 constant that defines the maximal number of vertices per face. More...
 
const int ug::MAX_VOLUME_VERTICES = 8
 constant that defines the maximal number of vertices per volume element. More...