42 inline unsigned int getNumNodes()
const override {
return 4; }
71 inline void setEdge(
unsigned int index,
WEMEdge* edge)
override { _edges[index] = edge; }
Defines the mesh component: edge.
Defines the mesh component: face.
void invalidateBoundingBox()
Defines the mesh component: node.
Defines the mesh component: quad.
WEMQuad(const WEMQuad &q)
Standard copy constructor.
bool contains(WEMEdge *edge) const override
Returns whether this face contains the given edge.
bool contains(WEMNode *node) const override
Returns whether this face contains the given node.
void replace(WEMEdge *orig, WEMEdge *replacement) override
Replaces the given orig edge by the given replace edge.
void mirror() override
Mirrors this face. Note that edge information gets corrupted! Use WEM::buildEdgeConnectivity afterwar...
WEMNode * getNodeAt(unsigned int index) override
Returns the node at the given index in this face.
void removeEdges() override
Removes all edge pointers of this face.
WEMEdge * getEdgeNotContaining(WEMNode *) override
Returns the edge not containing given node.
Vector3 getCentroid() const override
Returns the geometric centroid of this face.
const WEMNode * getOther(WEMNode *, WEMNode *) const override
Returns the node incident to this face that is not given as a parameter.
WEMEdge * getOther(WEMEdge *, WEMEdge *) override
Returns the edge incident to this face that is not given as a parameter.
virtual void setNodes(WEMNode *node1, WEMNode *node2, WEMNode *node3, WEMNode *node4)
Sets the given nodes.
WEMNode * getOther(WEMNode *, WEMNode *) override
Returns the node incident to this face that is not given as a parameter.
const WEMEdge * getEdgeNotContaining(WEMNode *) const override
Returns the edge not containing given node.
void computeNormal() override
Computes the normal.
WEMEdge * getEdgeAt(unsigned int index) override
Returns the node at the given index in this face.
void setNode(unsigned int index, WEMNode *node) override
Sets the given node to the given index in this face.
int getIndex(WEMNode *node) const override
Returns the index of the given node.
int getIndex(WEMEdge *edge) const override
Returns the index of the given node.
void setEdge(unsigned int index, WEMEdge *edge) override
Sets the given edge to the given index in this face.
const WEMEdge * getOther(WEMEdge *, WEMEdge *) const override
Returns the edge incident to this face that is not given as a parameter.
double getPerimeter() const override
Calculates the perimeter of this face.
WEMQuad()
Standard constructor.
double getQuality() const override
Calculates the quality of face.
void replace(WEMNode *orig, WEMNode *replacement) override
Replaces the given orig node by the given replace node.
void getCentroid(Vector3 ¢roid) const override
Vector3 getNodePositionAt(unsigned int index) const override
Returns the position of a node at the given index.
unsigned int getNumNodes() const override
Returns the number of nodes.
~WEMQuad() override
Standard destructor.
const WEMNode * getNodeAt(unsigned int index) const override
Returns the node at the given index in this face.
const WEMEdge * getEdgeAt(unsigned int index) const override
Returns the node at the given index in this face.
double getArea() const override
Calculates the area of this face.
int isConcave() const override
Checks whether this face a concave polygon.
void clone(WEMQuad *quad)
Clones the given quad.
virtual void setEdges(WEMEdge *edge1, WEMEdge *edge2, WEMEdge *edge3, WEMEdge *edge4)
Sets the given edges.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.