116 enum :
int { dimension = 1,
122 static constexpr double coords[3][3]{ {-1.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 0.0, 0.0} };
124 template<
typename Po
intViewType>
127 checkPointInclusion(
const PointViewType &point,
128 const double threshold) {
129 return base_cell_topology_type::checkPointInclusion(point, threshold);
144 enum :
int { dimension = 2,
150 static constexpr double coords[3][3]{ { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0} };
152 template<
typename Po
intViewType>
155 checkPointInclusion(
const PointViewType &point,
156 const double threshold) {
157 const double distance = max( max( -point(0), -point(1) ), point(0) + point(1) - 1.0 );
168 enum :
int { dimension = 2,
174 static constexpr double coords[4][3]{ { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, { 1.0/3.0, 1.0/3.0, 0.0} };
176 template<
typename Po
intViewType>
179 checkPointInclusion(
const PointViewType &point,
180 const double threshold) {
181 return base_cell_topology_type::checkPointInclusion(point, threshold);
191 enum :
int { dimension = 2,
197 static constexpr double coords[6][3]{ { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0},
198 { 0.5, 0.0, 0.0}, { 0.5, 0.5, 0.0}, { 0.0, 0.5, 0.0} };
200 template<
typename Po
intViewType>
203 checkPointInclusion(
const PointViewType &point,
204 const double threshold) {
205 return base_cell_topology_type::checkPointInclusion(point, threshold);
220 enum :
int { dimension = 2,
226 static constexpr double coords[4][3]{ {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0} };
228 template<
typename Po
intViewType>
231 checkPointInclusion(
const PointViewType &point,
232 const double threshold) {
245 enum :
int { dimension = 2,
251 static constexpr double coords[8][3]{ {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0},
252 { 0.0,-1.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, {-1.0, 0.0, 0.0} };
254 template<
typename Po
intViewType>
257 checkPointInclusion(
const PointViewType &point,
258 const double threshold) {
259 return base_cell_topology_type::checkPointInclusion(point, threshold);
269 enum :
int { dimension = 2,
275 static constexpr double coords[9][3]{ {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0},
276 { 0.0,-1.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, {-1.0, 0.0, 0.0}, { 0.0, 0.0, 0.0} };
278 template<
typename Po
intViewType>
281 checkPointInclusion(
const PointViewType &point,
282 const double threshold) {
283 return base_cell_topology_type::checkPointInclusion(point, threshold);
298 enum :
int { dimension = 3,
304 static constexpr double coords[4][3]{ { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, { 0.0, 0.0, 1.0} };
306 template<
typename Po
intViewType>
309 checkPointInclusion(
const PointViewType &point,
310 const double threshold) {
311 const double distance = max( max(-point(0),-point(1)),
312 max(-point(2), point(0) + point(1) + point(2) - 1) );
324 enum :
int { dimension = 3,
330 static constexpr double coords[8][3]{ { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, { 0.0, 0.0, 1.0},
331 { 1/3, 0.0, 1/3}, { 1/3, 1/3, 1/3}, { 1/3, 1/3, 0.0}, { 0.0, 1/3, 1/3} };
333 template<
typename Po
intViewType>
336 checkPointInclusion(
const PointViewType &point,
337 const double threshold) {
338 return base_cell_topology_type::checkPointInclusion(point, threshold);
348 enum :
int { dimension = 3,
354 static constexpr double coords[10][3]{ { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, { 0.0, 0.0, 1.0},
355 { 0.5, 0.0, 0.0}, { 0.5, 0.5, 0.0}, { 0.0, 0.5, 0.0}, { 0.0, 0.0, 0.5}, { 0.5, 0.0, 0.5}, { 0.0, 0.5, 0.5} };
357 template<
typename Po
intViewType>
360 checkPointInclusion(
const PointViewType &point,
361 const double threshold) {
362 return base_cell_topology_type::checkPointInclusion(point, threshold);
372 enum :
int { dimension = 3,
378 static constexpr double coords[11][3]{ { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, { 0.0, 0.0, 1.0},
379 { 0.5, 0.0, 0.0}, { 0.5, 0.5, 0.0}, { 0.0, 0.5, 0.0}, { 0.0, 0.0, 0.5}, { 0.5, 0.0, 0.5}, { 0.0, 0.5, 0.5} };
381 template<
typename Po
intViewType>
384 checkPointInclusion(
const PointViewType &point,
385 const double threshold) {
386 return base_cell_topology_type::checkPointInclusion(point, threshold);
401 enum :
int { dimension = 3,
407 static constexpr double coords[8][3]{ {-1.0,-1.0,-1.0}, { 1.0,-1.0,-1.0}, { 1.0, 1.0,-1.0}, {-1.0, 1.0,-1.0},
408 {-1.0,-1.0, 1.0}, { 1.0,-1.0, 1.0}, { 1.0, 1.0, 1.0}, {-1.0, 1.0, 1.0} };
410 template<
typename Po
intViewType>
413 checkPointInclusion(
const PointViewType &point,
414 const double threshold) {
428 enum :
int { dimension = 3,
434 static constexpr double coords[20][3]{ {-1.0,-1.0,-1.0}, { 1.0,-1.0,-1.0}, { 1.0, 1.0,-1.0}, {-1.0, 1.0,-1.0},
435 {-1.0,-1.0, 1.0}, { 1.0,-1.0, 1.0}, { 1.0, 1.0, 1.0}, {-1.0, 1.0, 1.0},
436 { 0.0,-1.0,-1.0}, { 1.0, 0.0,-1.0}, { 0.0, 1.0,-1.0}, {-1.0, 0.0,-1.0},
437 {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0},
438 { 0.0,-1.0, 1.0}, { 1.0, 0.0, 1.0}, { 0.0, 1.0, 1.0}, {-1.0, 0.0, 1.0} };
440 template<
typename Po
intViewType>
443 checkPointInclusion(
const PointViewType &point,
444 const double threshold) {
445 return base_cell_topology_type::checkPointInclusion(point, threshold);
456 enum :
int { dimension = 3,
462 static constexpr double coords[27][3]{ {-1.0,-1.0,-1.0}, { 1.0,-1.0,-1.0}, { 1.0, 1.0,-1.0}, {-1.0, 1.0,-1.0},
463 {-1.0,-1.0, 1.0}, { 1.0,-1.0, 1.0}, { 1.0, 1.0, 1.0}, {-1.0, 1.0, 1.0},
464 { 0.0,-1.0,-1.0}, { 1.0, 0.0,-1.0}, { 0.0, 1.0,-1.0}, {-1.0, 0.0,-1.0},
465 {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0},
466 { 0.0,-1.0, 1.0}, { 1.0, 0.0, 1.0}, { 0.0, 1.0, 1.0}, {-1.0, 0.0, 1.0},
468 { 0.0, 0.0,-1.0}, { 0.0, 0.0, 1.0}, {-1.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, {0.0,-1.0, 0.0}, {0.0, 1.0, 0.0} };
470 template<
typename Po
intViewType>
473 checkPointInclusion(
const PointViewType &point,
474 const double threshold) {
475 return base_cell_topology_type::checkPointInclusion(point, threshold);
490 enum :
int { dimension = 3,
496 static constexpr double coords[5][3]{ {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0}, { 0.0, 0.0, 1.0} };
498 template<
typename Po
intViewType>
501 checkPointInclusion(
const PointViewType &point,
502 const double threshold) {
506 return ((
left <= point(0) && point(0) <=
right) &&
507 (
left <= point(1) && point(1) <=
right) &&
518 enum :
int { dimension = 3,
524 static constexpr double coords[13][3]{ {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0}, { 0.0, 0.0, 1.0},
525 { 0.0,-1.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, {-1.0, 0.0, 0.0},
526 {-0.5,-0.5, 0.5}, { 0.5,-0.5, 0.5}, { 0.5, 0.5, 0.5}, {-0.5, 0.5, 0.5} };
528 template<
typename Po
intViewType>
531 checkPointInclusion(
const PointViewType &point,
532 const double threshold) {
533 return base_cell_topology_type::checkPointInclusion(point, threshold);
543 enum :
int { dimension = 3,
549 static constexpr double coords[14][3]{ {-1.0,-1.0, 0.0}, { 1.0,-1.0, 0.0}, { 1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0}, { 0.0, 0.0, 1.0},
550 { 0.0,-1.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0}, {-1.0, 0.0, 0.0},
551 {-0.5,-0.5, 0.5}, { 0.5,-0.5, 0.5}, { 0.5, 0.5, 0.5}, {-0.5, 0.5, 0.5}, { 0.0, 0.0, 0.0} };
553 template<
typename Po
intViewType>
556 checkPointInclusion(
const PointViewType &point,
557 const double threshold) {
558 return base_cell_topology_type::checkPointInclusion(point, threshold);
573 enum :
int { dimension = 3,
579 static constexpr double coords[6][3]{ { 0.0, 0.0,-1.0}, { 1.0, 0.0,-1.0}, { 0.0, 1.0,-1.0}, { 0.0, 0.0, 1.0}, { 1.0, 0.0, 1.0}, { 0.0, 1.0, 1.0} };
581 template<
typename Po
intViewType>
584 checkPointInclusion(
const PointViewType &point,
585 const double threshold) {
587 const double distance = max( max( -point(0), -point(1) ), point(0) + point(1) - 1 );
598 enum :
int { dimension = 3,
604 static constexpr double coords[15][3]{ { 0.0, 0.0,-1.0}, { 1.0, 0.0,-1.0}, { 0.0, 1.0,-1.0}, { 0.0, 0.0, 1.0}, { 1.0, 0.0, 1.0}, { 0.0, 1.0, 1.0},
605 { 0.5, 0.0,-1.0}, { 0.5, 0.5,-1.0}, { 0.0, 0.5,-1.0}, { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0},
606 { 0.5, 0.0, 1.0}, { 0.5, 0.5, 1.0}, { 0.0, 0.5, 1.0} };
608 template<
typename Po
intViewType>
611 checkPointInclusion(
const PointViewType &point,
612 const double threshold) {
613 return base_cell_topology_type::checkPointInclusion(point, threshold);
623 enum :
int { dimension = 3,
629 static constexpr double coords[18][3]{ { 0.0, 0.0,-1.0}, { 1.0, 0.0,-1.0}, { 0.0, 1.0,-1.0}, { 0.0, 0.0, 1.0}, { 1.0, 0.0, 1.0}, { 0.0, 1.0, 1.0},
630 { 0.5, 0.0,-1.0}, { 0.5, 0.5,-1.0}, { 0.0, 0.5,-1.0}, { 0.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 0.0, 1.0, 0.0},
631 { 0.5, 0.0, 1.0}, { 0.5, 0.5, 1.0}, { 0.0, 0.5, 1.0},
632 { 0.5, 0.0, 0.0}, { 0.5, 0.5, 0.0}, { 0.0, 0.5, 0.0} };
635 template<
typename Po
intViewType>
638 checkPointInclusion(
const PointViewType &point,
639 const double threshold) {
640 return base_cell_topology_type::checkPointInclusion(point, threshold);