33#ifndef __H__UG_geometry
34#define __H__UG_geometry
104template <
int dim,
int attachmentDim>
117 "the specified attachment is not attached to the "
118 "vertices of the specified grid.");
129 m_aaPos[vrt] = attached_vector_t::from(
p);
161template <
class TAPos>
Definition smart_pointer.h:108
A generic specialization of IAttachment.
Definition attachment_pipe.h:263
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
const IAttachment & position_attachment() const
Definition geometry.h:133
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
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
virtual const IAttachment & position_attachment() const =0
IGeometry(Grid &g)
Definition geometry.h:67
virtual ~IGeometry()
Definition geometry.h:71
virtual vector_t element_center(Vertex *e) const =0
a mathematical Vector with N entries.
Definition math_vector.h:97
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