Start building mesh primitives.
This commit is contained in:
parent
a20c0183df
commit
fcd90b5db4
30 changed files with 856 additions and 97 deletions
|
@ -28,3 +28,95 @@ unsigned Edge::getNode1Id() const
|
|||
{
|
||||
return mNode1->getIndex();
|
||||
}
|
||||
|
||||
bool Edge::isOverlapping(Edge* edge) const
|
||||
{
|
||||
auto overlaps = edge->getNode0()->isCoincident(mNode0) && edge->getNode1()->isCoincident(mNode1);
|
||||
if (overlaps)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return edge->getNode1()->isCoincident(mNode0) && edge->getNode0()->isCoincident(mNode1);
|
||||
}
|
||||
}
|
||||
|
||||
bool Edge::hasSameNodes(Edge* edge) const
|
||||
{
|
||||
return edge->getNode0() == edge->getNode1() || edge->getNode1() == edge->getNode0();
|
||||
}
|
||||
|
||||
void Edge::replaceNodes(Node* node0, Node* node1)
|
||||
{
|
||||
mNode0 = node0;
|
||||
mNode1 = node1;
|
||||
}
|
||||
|
||||
Node* Edge::getNode0() const
|
||||
{
|
||||
return mNode0;
|
||||
}
|
||||
|
||||
Node* Edge::getNode1() const
|
||||
{
|
||||
return mNode1;
|
||||
}
|
||||
|
||||
Node* Edge::getOtherNode(Node* node) const
|
||||
{
|
||||
if (node == mNode0)
|
||||
{
|
||||
return mNode1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return mNode0;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned Edge::getId() const
|
||||
{
|
||||
return mId;
|
||||
}
|
||||
|
||||
void Edge::setState(State state)
|
||||
{
|
||||
mState = state;
|
||||
}
|
||||
|
||||
Edge::State Edge::getState() const
|
||||
{
|
||||
return mState;
|
||||
}
|
||||
|
||||
void Edge::clearConnectivity()
|
||||
{
|
||||
mAssociatedFaceIds.clear();
|
||||
}
|
||||
|
||||
unsigned Edge::getNumConnectedFaces() const
|
||||
{
|
||||
return mAssociatedFaceIds.size();
|
||||
}
|
||||
|
||||
void Edge::associateFace(unsigned faceId)
|
||||
{
|
||||
mAssociatedFaceIds.push_back(faceId);
|
||||
}
|
||||
|
||||
unsigned Edge::getConnectedFaceId(std::size_t idx) const
|
||||
{
|
||||
return mAssociatedFaceIds[idx];
|
||||
}
|
||||
|
||||
void Edge::associateWithNodes()
|
||||
{
|
||||
mNode0->associateEdge(mId);
|
||||
mNode1->associateEdge(mId);
|
||||
}
|
||||
|
||||
void Edge::setIndex(unsigned idx)
|
||||
{
|
||||
mId = idx;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue