DOLFIN
DOLFIN C++ interface
Public Member Functions | Static Public Member Functions | List of all members
dolfin::TriangleCell Class Reference

This class implements functionality for triangular meshes. More...

#include <TriangleCell.h>

Inheritance diagram for dolfin::TriangleCell:
Inheritance graph
[legend]
Collaboration diagram for dolfin::TriangleCell:
Collaboration graph
[legend]

Public Member Functions

 TriangleCell ()
 Specify cell type and facet type.
 
bool is_simplex () const
 Check if cell is a simplex.
 
std::size_t dim () const
 Return topological dimension of cell.
 
std::size_t num_entities (std::size_t dim) const
 Return number of entities of given topological dimension.
 
std::size_t num_vertices (std::size_t dim) const
 Return number of vertices for entity of given topological dimension.
 
std::size_t orientation (const Cell &cell) const
 Return orientation of the cell.
 
void create_entities (boost::multi_array< unsigned int, 2 > &e, std::size_t dim, const unsigned int *v) const
 Create entities e of given topological dimension from vertices v.
 
double volume (const MeshEntity &triangle) const
 Compute (generalized) volume (area) of triangle.
 
double circumradius (const MeshEntity &triangle) const
 Compute diameter of triangle.
 
double squared_distance (const Cell &cell, const Point &point) const
 Compute squared distance to given point (3D enabled)
 
double normal (const Cell &cell, std::size_t facet, std::size_t i) const
 Compute component i of normal of given facet with respect to the cell.
 
Point normal (const Cell &cell, std::size_t facet) const
 Compute of given facet with respect to the cell.
 
Point cell_normal (const Cell &cell) const
 Compute normal to given cell (viewed as embedded in 3D)
 
double facet_area (const Cell &cell, std::size_t facet) const
 Compute the area/length of given facet with respect to the cell.
 
void order (Cell &cell, const std::vector< std::int64_t > &local_to_global_vertex_indices) const
 Order entities locally.
 
bool collides (const Cell &cell, const Point &point) const
 Check whether given point collides with cell.
 
bool collides (const Cell &cell, const MeshEntity &entity) const
 Check whether given entity collides with cell.
 
std::string description (bool plural) const
 Return description of cell type.
 
std::vector< std::int8_t > vtk_mapping () const
 Mapping of DOLFIN/UFC vertex ordering to VTK/XDMF ordering.
 
- Public Member Functions inherited from dolfin::CellType
 CellType (Type cell_type, Type facet_type)
 Constructor.
 
virtual ~CellType ()
 Destructor.
 
Type cell_type () const
 Return type of cell.
 
Type facet_type () const
 Return type of cell for facets.
 
Type entity_type (std::size_t i) const
 Return type of cell for entity of dimension i.
 
std::size_t num_vertices () const
 Return number of vertices for cell.
 
std::size_t orientation (const Cell &cell, const Point &up) const
 Return orientation of the cell relative to given up direction.
 
virtual double h (const MeshEntity &entity) const
 Compute greatest distance between any two vertices.
 
virtual double inradius (const Cell &cell) const
 Compute inradius of cell.
 
virtual double radius_ratio (const Cell &cell) const
 Compute dim*inradius/circumradius for given cell.
 
bool ordered (const Cell &cell, const std::vector< std::int64_t > &local_to_global_vertex_indices) const
 Check if entities are ordered.
 

Static Public Member Functions

static double squared_distance (const Point &point, const Point &a, const Point &b, const Point &c)
 
- Static Public Member Functions inherited from dolfin::CellType
static CellTypecreate (Type type)
 Create cell type from type (factory function)
 
static CellTypecreate (std::string type)
 Create cell type from string (factory function)
 
static Type string2type (std::string type)
 Convert from string to cell type.
 
static std::string type2string (Type type)
 Convert from cell type to string.
 

Additional Inherited Members

- Public Types inherited from dolfin::CellType
enum  Type : int {
  point, interval, triangle, quadrilateral,
  tetrahedron, hexahedron
}
 Enum for different cell types.
 
- Static Protected Member Functions inherited from dolfin::CellType
static void sort_entities (std::size_t num_vertices, unsigned int *vertices, const std::vector< std::int64_t > &local_to_global_vertex_indices)
 Sort vertices based on global entity indices.
 
- Protected Attributes inherited from dolfin::CellType
Type _cell_type
 
Type _facet_type
 

Detailed Description

This class implements functionality for triangular meshes.

Member Function Documentation

◆ squared_distance()

double TriangleCell::squared_distance ( const Point point,
const Point a,
const Point b,
const Point c 
)
static

Compute squared distance to given point. This version takes the three vertex coordinates as 3D points. This makes it possible to reuse this function for computing the (squared) distance to a tetrahedron.


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