Package com.io7m.smfj.format.support
Class SMFTriangleTracker
- java.lang.Object
-
- com.io7m.smfj.format.support.SMFTriangleTracker
-
public final class SMFTriangleTracker extends java.lang.ObjectA tracker of triangle counts and indices.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceSMFTriangleTracker.ErrorReceiverTypeA receiver of error messages.
-
Constructor Summary
Constructors Constructor Description SMFTriangleTracker(SMFTriangleTracker.ErrorReceiverType inErrors, long inVertexCount, long inTriangleCount)Construct a tracker.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTriangle(com.io7m.jlexing.core.LexicalPosition<java.net.URI> lexical, long v0, long v1, long v2)Add a triangle.booleancheck(com.io7m.jlexing.core.LexicalPosition<java.net.URI> lexical)Check that all invariants hold.
-
-
-
Constructor Detail
-
SMFTriangleTracker
public SMFTriangleTracker(SMFTriangleTracker.ErrorReceiverType inErrors, long inVertexCount, long inTriangleCount)
Construct a tracker.- Parameters:
inErrors- A receiver of errorsinVertexCount- The expected number of verticesinTriangleCount- The expected number of triangles
-
-
Method Detail
-
addTriangle
public void addTriangle(com.io7m.jlexing.core.LexicalPosition<java.net.URI> lexical, long v0, long v1, long v2)Add a triangle.- Parameters:
lexical- The triangle declaration positionv0- The index of vertex 0v1- The index of vertex 1v2- The index of vertex 2
-
check
public boolean check(com.io7m.jlexing.core.LexicalPosition<java.net.URI> lexical)
Check that all invariants hold. If they do not, errors will be published to the error receiver andfalsereturned.- Parameters:
lexical- The lexical position- Returns:
trueif all invariants hold
-
-