73 Node one (1., 0., 0., 1);
74 Node two (0., 1., 0., 2);
75 Node three (0., 0., 1., 3);
77 std::unique_ptr<Elem> elem = Elem::build(
TET4);
78 elem->set_node(0, &
zero);
79 elem->set_node(1, &one);
80 elem->set_node(2, &two);
81 elem->set_node(3, &three);
84 CPPUNIT_ASSERT (elem->contains_point(elem->vertex_average()));
87 CPPUNIT_ASSERT (elem->contains_point(
zero));
88 CPPUNIT_ASSERT (elem->contains_point(one));
89 CPPUNIT_ASSERT (elem->contains_point(two));
90 CPPUNIT_ASSERT (elem->contains_point(three));
93 CPPUNIT_ASSERT (!elem->contains_point(
Point(.34, .34, .34)));
94 CPPUNIT_ASSERT (!elem->contains_point(
Point(.33, .33, -.1)));
95 CPPUNIT_ASSERT (!elem->contains_point(
Point(0., -.1, .5)));
103 Real epsilon = 1.e-4;
106 Node one (epsilon, 0., 0., 1);
107 Node two (0., epsilon, 0., 2);
108 Node three (0., 0., 1., 3);
110 std::unique_ptr<Elem> elem = Elem::build(
TET4);
111 elem->set_node(0, &
zero);
112 elem->set_node(1, &one);
113 elem->set_node(2, &two);
114 elem->set_node(3, &three);
117 CPPUNIT_ASSERT (elem->contains_point(elem->vertex_average()));
120 CPPUNIT_ASSERT (elem->contains_point(
zero));
121 CPPUNIT_ASSERT (elem->contains_point(one));
122 CPPUNIT_ASSERT (elem->contains_point(two));
123 CPPUNIT_ASSERT (elem->contains_point(three));
126 CPPUNIT_ASSERT (elem->contains_point(
Point(epsilon/2, 0, 0.5)));
129 CPPUNIT_ASSERT (!elem->contains_point(
Point(epsilon, epsilon, epsilon/2)));
130 CPPUNIT_ASSERT (!elem->contains_point(
Point(epsilon/10, epsilon/10, 1.0)));
131 CPPUNIT_ASSERT (!elem->contains_point(
Point(epsilon/2, -epsilon/10, 0.5)));
A Node is like a Point, but with more information.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
A Point defines a location in LIBMESH_DIM dimensional Real space.