27 #include "MsqError.hpp"
82 for (side = 0; side < 3; ++side)
87 for (side = 0; side < 4; ++side)
92 for (side = 0; side < 3; ++side)
97 for (side = 3; side < 6; ++side)
102 for (side = 0; side < 4; ++side)
107 for (side = 4; side < 8; ++side)
112 for (side = 8; side < 12; ++side)
117 for (side = 0; side < 3; ++side)
122 for (side = 3; side < 6; ++side)
127 for (side = 6; side < 9; ++side)
132 for (side = 0; side < 4; ++side)
137 for (side = 4; side < 8; ++side)
143 for (side = 0; side < 3; ++side)
155 for (side = 0; side < 4; ++side)
174 for (side = 0; side < 4; ++side)
187 for (side = 0; side < 3; ++side)
212 midedge = midface = midvol =
false;
224 if (edges && nodes >= edges)
229 if (faces && nodes >= faces)
261 edge >=
edges( topo ) )
278 face >=
faces( topo ) )
298 static const unsigned all[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
299 const unsigned* result;
329 unsigned& side_dim_out,
330 unsigned& side_num_out,
342 side_num_out = node_index;
344 if (side_num_out < nodes)
350 side_num_out -= nodes;
352 if (edges && num_nodes >= edges)
354 if (side_num_out < edges)
360 side_num_out -=
edges;
362 if (faces && num_nodes >= faces)
364 if (side_num_out < faces)
370 side_num_out -=
faces;
372 if (side_num_out == 0)
unsigned dimMap[MIXED]
Get dimension of entity given topology.
unsigned faceMap[LAST_VOL-FIRST_VOL+1][MAX_FACES][MAX_FACE_CONN]
Vertex indices for element faces.
Used to hold the error state and return it to the application.
unsigned edgeMap[LAST_VOL-FIRST_FACE+1][MAX_EDGES][2]
Vertex indices for element edges.
static unsigned faces(EntityTopology topo)
Get the number of faces in a given topology.
double length(Vector3D *const v, int n)
invalid function argument passed
static void higher_order(EntityTopology topo, unsigned num_nodes, bool &midedge, bool &midface, bool &midvol, MsqError &err)
Check which mid-nodes a higher-order element has.
static unsigned dimension(EntityTopology topo)
Dimension of element topology.
static const unsigned * edge_vertices(EntityTopology topo, unsigned edge_number, MsqError &err)
Get indices of edge ends in element connectivity array.
#define MSQ_SETERR(err)
Macro to set error - use err.clear() to clear.
static unsigned corners(EntityTopology topo)
Get the number of defining vertices for a given element topology.
static TopologyInfo instance
static unsigned edges(EntityTopology topo)
Get the number of edges in a given topology.
static const unsigned * face_vertices(EntityTopology topo, unsigned face_number, unsigned &num_vertices_out, MsqError &err)
Get face corner indices in element connectivity array.
unsigned adjMap[MIXED][3]
Get number of adj entities of dimension 0, 1 and dimension 2.
static const unsigned * side_vertices(EntityTopology topo, unsigned side_dimension, unsigned side_number, unsigned &num_verts_out, MsqError &err)
Get corner indices of side.
static T_VertexSet * face
object is in an invalid state
static void side_number(EntityTopology topo, unsigned connectivity_length, unsigned node_index, unsigned &side_dimension_out, unsigned &side_number_out, MsqError &err)
Return which side the specified mid-node lies on.