33 #ifndef __H__UG_geometry
34 #define __H__UG_geometry
104 template <
int dim,
int attachmentDim>
117 "the specified attachment is not attached to the "
118 "vertices of the specified grid.");
161 template <
class TAPos>
Definition: smart_pointer.h:108
Base-class for edges.
Definition: grid_base_objects.h:397
Faces are 2-dimensional objects.
Definition: grid_base_objects.h:510
provides a grid and access to the coordinates of the vertices
Definition: geometry.h:105
virtual vector_t element_center(Vertex *e) const
Definition: geometry.h:136
virtual vector_t element_center(Volume *e) const
Definition: geometry.h:148
virtual vector_t element_center(Edge *e) const
Definition: geometry.h:140
Geometry(Grid &g, position_attachment_t a)
Definition: geometry.h:112
position_attachment_t m_aPos
Definition: geometry.h:155
Grid::VertexAttachmentAccessor< position_attachment_t > m_aaPos
Definition: geometry.h:154
Attachment< attached_vector_t > position_attachment_t
Definition: geometry.h:110
MathVector< attachmentDim > attached_vector_t
Definition: geometry.h:109
virtual vector_t element_center(Face *e) const
Definition: geometry.h:144
base_t::vector_t vector_t
Definition: geometry.h:108
virtual int position_attachment_dim() const
Definition: geometry.h:132
virtual void set_pos(Vertex *vrt, const vector_t &p)
Definition: geometry.h:127
const IAttachment & position_attachment() const
Definition: geometry.h:133
IGeometry< dim > base_t
Definition: geometry.h:107
virtual vector_t pos(Vertex *vrt) const
Definition: geometry.h:122
bool access(Grid &grid, TAttachment &a)
Definition: grid.h:189
Manages the elements of a grid and their interconnection.
Definition: grid.h:132
bool has_vertex_attachment(IAttachment &attachment)
Definition: grid.h:798
the interface for attachments.
Definition: attachment_pipe.h:239
provides a grid and access to the coordinates of the vertices
Definition: geometry.h:63
virtual vector_t pos(Vertex *vrt) const =0
Grid & grid() const
Definition: geometry.h:76
MathVector< dim > vector_t
Definition: geometry.h:65
Grid & m_grid
Definition: geometry.h:87
virtual void set_pos(Vertex *vrt, const vector_t &p)=0
virtual int position_attachment_dim() const =0
virtual vector_t element_center(Face *e) const =0
virtual vector_t element_center(Edge *e) const =0
virtual vector_t element_center(Volume *e) const =0
IGeometry(Grid &g)
Definition: geometry.h:67
virtual ~IGeometry()
Definition: geometry.h:71
virtual vector_t element_center(Vertex *e) const =0
virtual const IAttachment & position_attachment() const =0
static MathVector from(const MathVector< fromN, T > &v)
Definition: math_vector.h:109
Base-class for all vertex-types.
Definition: grid_base_objects.h:231
Volumes are 3-dimensional objects.
Definition: grid_base_objects.h:754
#define UG_COND_THROW(cond, msg)
UG_COND_THROW(cond, msg) : performs a UG_THROW(msg) if cond == true.
Definition: error.h:61
void CalculateCenter(vector_t ¢erOut, const vector_t *pointSet, size_t numPoints)
calculates the center of a point-set
Definition: math_util_impl.hpp:98
SmartPtr< IGeometry2d > SPIGeometry2d
Definition: geometry.h:96
IGeometry< 2 > IGeometry2d
Definition: geometry.h:92
IGeometry< 1 > IGeometry1d
Definition: geometry.h:91
SPIGeometry3d MakeGeometry3d(Grid &grid, TAPos aPos)
Utility method to construct an IGeometry3d for a given grid and position attachment.
Definition: geometry.h:163
IGeometry< 3 > IGeometry3d
Definition: geometry.h:93
SmartPtr< IGeometry3d > SPIGeometry3d
Definition: geometry.h:97
SmartPtr< IGeometry1d > SPIGeometry1d
Definition: geometry.h:95
SmartPtr< T, FreePolicy > make_sp(T *inst)
returns a SmartPtr for the passed raw pointer
Definition: smart_pointer.h:836