20 *element_nodes[0], *element_nodes[1], *element_nodes[2]) +
22 *element_nodes[2], *element_nodes[3], *element_nodes[0]);
Definition of the Node class.
Collects error flags for mesh elements.
virtual bool testElementNodeOrder() const =0
virtual Node *const * getNodes() const =0
Get array of element nodes.
static ElementErrorCode validate(const Element *e)
static bool isPntInElement(Node const *const *nodes, MathLib::Point3d const &pnt, double eps)
static double computeVolume(Node const *const *element_nodes)
Calculates the area of a quad with straight edges.
double calcTriangleArea(MathLib::Point3d const &a, MathLib::Point3d const &b, MathLib::Point3d const &c)
bool isCoplanar(const MathLib::Point3d &a, const MathLib::Point3d &b, const MathLib::Point3d &c, const MathLib::Point3d &d)
Checks if the four given points are located on a plane.
bool dividedByPlane(const MathLib::Point3d &a, const MathLib::Point3d &b, const MathLib::Point3d &c, const MathLib::Point3d &d)
bool isPointInTriangle(MathLib::Point3d const &p, MathLib::Point3d const &a, MathLib::Point3d const &b, MathLib::Point3d const &c, double eps_pnt_out_of_plane, double eps_pnt_out_of_tri, MathLib::TriangleTest algorithm)
bool hasZeroVolume(MeshLib::Element const &element)
Returns true if the element has zero length/area/volume.