Package net.mtrop.doom.map.data
Class DoomLinedef
java.lang.Object
net.mtrop.doom.map.data.DoomLinedef
- All Implemented Interfaces:
BinaryObject
Doom/Boom 14-byte format implementation of Linedef.
- Author:
- Matthew Tropiano
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.mtrop.doom.object.BinaryObject
BinaryObject.InlineScanner<BO extends BinaryObject>, BinaryObject.Reflect, BinaryObject.Scanner<BO extends BinaryObject>, BinaryObject.Shared, BinaryObject.Transformer<BO extends BinaryObject>
-
Field Summary
Modifier and TypeFieldDescriptionprotected int
Behavior bitflags.static final int
Byte length of this object.protected int
Back sidedef.protected int
Front sidedef.protected int
Linedef special.protected int
Linedef special tag.protected int
Vertex end.protected int
Vertex start. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
getFlags()
int
int
int
int
getTag()
int
int
boolean
isFlagSet
(int flagType) Check's if a flag bit is set.void
readBytes
(InputStream in) Reads from anInputStream
and sets this object's fields.void
setFlag
(int flagType, boolean set) Sets/clears a bit flag.void
setFlags
(int flags) Sets/replaces this linedef's full bitflags.void
setSidedefBackIndex
(int sidedefBackIndex) Sets the back sidedef index.void
setSidedefFrontIndex
(int sidedefFrontIndex) Sets the front sidedef index.void
setSpecial
(int special) Sets the linedef special type.void
setTag
(int tag) Sets this linedef's special tag.void
setVertexEndIndex
(int vertexEndIndex) Sets the ending vertex index.void
setVertexStartIndex
(int vertexStartIndex) Sets the starting vertex index.toString()
void
writeBytes
(OutputStream out) Writes this object to anOutputStream
.
-
Field Details
-
LENGTH
public static final int LENGTHByte length of this object.- See Also:
-
tag
protected int tagLinedef special tag. -
vertexStartIndex
protected int vertexStartIndexVertex start. -
vertexEndIndex
protected int vertexEndIndexVertex end. -
sidedefFrontIndex
protected int sidedefFrontIndexFront sidedef. -
sidedefBackIndex
protected int sidedefBackIndexBack sidedef. -
flags
protected int flagsBehavior bitflags. -
special
protected int specialLinedef special.
-
-
Constructor Details
-
DoomLinedef
public DoomLinedef()Creates a new linedef.
-
-
Method Details
-
setTag
public void setTag(int tag) Sets this linedef's special tag.- Parameters:
tag
- the new tag.
-
getTag
public int getTag()- Returns:
- this linedef's special tag.
-
readBytes
Description copied from interface:BinaryObject
Reads from anInputStream
and sets this object's fields. Only reads the amount of bytes that it takes to read a single instance of the object. Note that not every object may have a consistent length!- Specified by:
readBytes
in interfaceBinaryObject
- Parameters:
in
- theInputStream
to read from.- Throws:
IOException
- if a read error occurs.
-
writeBytes
Description copied from interface:BinaryObject
Writes this object to anOutputStream
.- Specified by:
writeBytes
in interfaceBinaryObject
- Parameters:
out
- theOutputStream
to write to.- Throws:
IOException
- if a write error occurs.
-
toString
-
setVertexStartIndex
public void setVertexStartIndex(int vertexStartIndex) Sets the starting vertex index.- Parameters:
vertexStartIndex
- the index of the start vertex.- Throws:
IllegalArgumentException
- if index is outside the range 0 to 65535.
-
getVertexStartIndex
public int getVertexStartIndex()- Returns:
- the starting vertex index.
-
setVertexEndIndex
public void setVertexEndIndex(int vertexEndIndex) Sets the ending vertex index.- Parameters:
vertexEndIndex
- the index of the end vertex.- Throws:
IllegalArgumentException
- if index is outside the range 0 to 65535.
-
getVertexEndIndex
public int getVertexEndIndex()- Returns:
- the ending vertex index.
-
setSidedefFrontIndex
public void setSidedefFrontIndex(int sidedefFrontIndex) Sets the front sidedef index.- Parameters:
sidedefFrontIndex
- the index of the front sidedef.- Throws:
IllegalArgumentException
- if special is outside the range -1 to 32767.
-
getSidedefFrontIndex
public int getSidedefFrontIndex()- Returns:
- the front sidedef index.
-
setSidedefBackIndex
public void setSidedefBackIndex(int sidedefBackIndex) Sets the back sidedef index.- Parameters:
sidedefBackIndex
- the index of the back sidedef.- Throws:
IllegalArgumentException
- if special is outside the range -1 to 32767.
-
getSidedefBackIndex
public int getSidedefBackIndex()- Returns:
- the back sidedef index.
-
setSpecial
public void setSpecial(int special) Sets the linedef special type.- Parameters:
special
- the number of the special.- Throws:
IllegalArgumentException
- if special is outside the range 0 to 65535.
-
getSpecial
public int getSpecial()- Returns:
- the linedef special type.
-
getFlags
public int getFlags()- Returns:
- this linedef's full bitflags.
-
setFlags
public void setFlags(int flags) Sets/replaces this linedef's full bitflags.- Parameters:
flags
- the flags to set
-
isFlagSet
public boolean isFlagSet(int flagType) Check's if a flag bit is set.- Parameters:
flagType
- the flag type (constant).- Returns:
- true if set, false if not.
- See Also:
-
setFlag
public void setFlag(int flagType, boolean set) Sets/clears a bit flag.- Parameters:
flagType
- the flag type (constant).set
- if true, set the bit. If false, clear it.- See Also:
-