LineField Class Reference
#include <LineField.h>
![](../class_line_field.png)
# Public Member Functions | |
void | constructor (Entity owner, const ColliderSpec *colliderSpec) |
Class' constructor. | |
override Vector3D | getNormal () |
override void | configureWireframe () |
Configure the wireframe used to show the collider. | |
override void | print (int32 x, int32 y) |
void | displace (fixed_t displacement) |
Vector3D | getCenter () |
void | getVertexes (Vector3D vertexes[2]) |
void | setNormalLength (fixed_t normalLength) |
# Protected Attributes | |
MeshSpec * | meshSpec |
Mesh used to draw the collider. | |
Vector3D | a |
Extreme of the line that defines the line field. | |
Vector3D | b |
Extreme of the line that defines the line field. | |
Vector3D | normal |
Normal to the line defined by the points a and b. | |
fixed_t | normalLength |
Length of the line field's normal. |
# Additional Inherited Members | |
![]() | |
enum | CollisionResult |
enum | ColliderClassIndexes |
typedef const ColliderSpec | ColliderROMSpec |
![]() | |
void | constructor (Entity owner, const ColliderSpec *colliderSpec) |
Class' constructor. | |
override bool | onEvent (ListenerObject eventFirer, uint16 eventCode) |
override bool | handleMessage (Telegram telegram) |
override void | handleCommand (int32 command, va_list args) |
void | enable () |
Enable the collider for collision checks. | |
void | disable () |
Disable the collider for collision checks. | |
void | setLayers (uint32 layers) |
uint32 | getLayers () |
void | setLayersToIgnore (uint32 layersToIgnore) |
uint32 | getLayersToIgnore () |
void | checkCollisions (bool checkCollisions) |
void | registerCollisions (bool registerCollisions) |
CollisionResult | collides (Collider collider) |
void | resolveCollision (const CollisionInformation *collisionInformation) |
bool | canMoveTowards (Vector3D displacement) |
void | discardCollisions () |
Discard any registered collision. | |
fixed_t | getCollidingFrictionCoefficient () |
void | show () |
Show the collider. | |
void | hide () |
Hide the collider. | |
virtual void | resize (fixed_t sizeDelta) |
![]() | |
Vector3D | position |
Displaced position. | |
VirtualList | otherColliders |
List of colliding colliders. | |
uint32 | layers |
Layers on which this collider live. | |
uint32 | layersToIgnore |
Layers to ignore when checking for collisions. | |
Wireframe | wireframe |
Wireframe to make the collider visible (mainly for debugging purposes) | |
bool | enabled |
If false, it is ignored in all callision checks. | |
uint8 | checkForCollisions |
If false, it doesn't check collision against other colliders. | |
bool | registerCollisions |
If true, it registers other colliders when a collision arises. | |
uint8 | classIndex |
Class index to avoid using __GET_CAST when checking for collisions. | |
bool | invalidPosition |
Flag to force the computation of the collider's position. |
# Detailed Description
Class LineField
Inherits from Collider
Defines a line that is sensible to collision on one of its sides.
Definition at line 35 of file LineField.h.
# Member Function Documentation
# configureWireframe()
|
virtual |
Configure the wireframe used to show the collider.
color
Transparency mode (__TRANSPARENCY_NONE, __TRANSPARENCY_EVEN or __TRANSPARENCY_ODD)
Flag to render the wireframe in interlaced mode
segments
Implements Collider.
Definition at line 92 of file LineField.c.
# constructor()
void LineField::constructor | ( | Entity | owner, |
const ColliderSpec * | colliderSpec ) |
Class' constructor.
Definition at line 52 of file LineField.c.
# displace()
void LineField::displace | ( | fixed_t | displacement | ) |
Displace the line filed.
- Parameters
-
displacement Displacement vector
Definition at line 202 of file LineField.c.
# getCenter()
Vector3D LineField::getCenter | ( | ) |
Retrieve the line field's center point.
- Returns
- Line field's center point
Definition at line 210 of file LineField.c.
# getNormal()
|
virtual |
Retrieve the normal to the collider.
- Returns
- Normal to the collider
Reimplemented from Collider.
Definition at line 85 of file LineField.c.
# getVertexes()
void LineField::getVertexes | ( | Vector3D | vertexes[2] | ) |
Retrieve the vertexes that define the line field.
- Parameters
-
vertexes Array of vectors that define the linefied
Definition at line 225 of file LineField.c.
# print()
Print collider's state.
- Parameters
-
x Screen x coordinate where to print y Screen y coordinate where to print
Reimplemented from Collider.
Definition at line 172 of file LineField.c.
# setNormalLength()
void LineField::setNormalLength | ( | fixed_t | normalLength | ) |
Set the length of the line field's normal.
- Parameters
-
normalLength Length of the line field's normal
Definition at line 244 of file LineField.c.
# Member Data Documentation
# a
|
protected |
Extreme of the line that defines the line field.
Definition at line 43 of file LineField.h.
# b
|
protected |
Extreme of the line that defines the line field.
Definition at line 46 of file LineField.h.
# meshSpec
|
protected |
Mesh used to draw the collider.
Definition at line 40 of file LineField.h.
# normal
|
protected |
Normal to the line defined by the points a and b.
Definition at line 49 of file LineField.h.
# normalLength
|
protected |
Length of the line field's normal.
Definition at line 52 of file LineField.h.
The documentation for this class was generated from the following files:
- VUEngine-Core/source/Component/Collider/LineField/LineField.h
- VUEngine-Core/source/Component/Collider/LineField/LineField.c