Module technology.sola.engine
Class DebugEntityGraphicsModule
java.lang.Object
technology.sola.engine.defaults.graphics.modules.SolaGraphicsModule
technology.sola.engine.defaults.graphics.modules.SolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>>
technology.sola.engine.defaults.graphics.modules.DebugEntityGraphicsModule
- All Implemented Interfaces:
Comparable<SolaGraphicsModule>
@NullMarked
public class DebugEntityGraphicsModule
extends SolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>>
DebugEntityGraphicsModule is a
SolaEntityGraphicsModule
implementation for rendering debug information for a World
.
It will render broad phase debug information and colliders for Entity
that have a ColliderComponent
.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The render order for the DebugEntityGraphicsModule. -
Constructor Summary
ConstructorsConstructorDescriptionDebugEntityGraphicsModule
(@Nullable CollisionDetectionSystem collisionDetectionSystem) Creates an instance of DebugEntityGraphicsModule. -
Method Summary
Modifier and TypeMethodDescriptionint
getOrder()
Gets the order of this graphics module.technology.sola.ecs.view.View<technology.sola.ecs.view.View2Entry<ColliderComponent,
TransformComponent>> getViewToRender
(technology.sola.ecs.World world) Returns aView
ofEntity
that need to be rendered viaSolaEntityGraphicsModule.renderEntity(Renderer, V, TransformComponent)
boolean
WhetherColliderComponent.getBoundingBox(TransformComponent)
debug rendering is enabled or not.boolean
WhetherCollisionDetectionBroadPhase
debug rendering is enabled or not.boolean
WhetherColliderComponent.getShape(TransformComponent)
debug rendering is enabled or not.void
render
(Renderer renderer, technology.sola.ecs.World world, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) The main render method for a graphics module that is called once per frame.void
renderEntity
(Renderer renderer, technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntry, TransformComponent cameraModifiedEntityTransform) Called on eachEntity
to render it.void
setRenderingBoundingBoxes
(boolean isEnabled) Enable or disableColliderComponent.getBoundingBox(TransformComponent)
debug rendering.void
setRenderingBroadPhase
(boolean isEnabled) Enable or disableCollisionDetectionBroadPhase
debug rendering.void
setRenderingColliders
(boolean isEnabled) Enabled or disableColliderComponent.getShape(TransformComponent)
debug rendering.Methods inherited from class technology.sola.engine.defaults.graphics.modules.SolaEntityGraphicsModule
getTransformForAppliedCamera, renderEntity, renderMethod
Methods inherited from class technology.sola.engine.defaults.graphics.modules.SolaGraphicsModule
compareTo, isActive, setActive
-
Field Details
-
ORDER
public static final int ORDERThe render order for the DebugEntityGraphicsModule.- See Also:
-
-
Constructor Details
-
DebugEntityGraphicsModule
Creates an instance of DebugEntityGraphicsModule.- Parameters:
collisionDetectionSystem
- theCollisionDetectionSystem
instance
-
-
Method Details
-
getViewToRender
public technology.sola.ecs.view.View<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>> getViewToRender(technology.sola.ecs.World world) Description copied from class:SolaEntityGraphicsModule
Returns aView
ofEntity
that need to be rendered viaSolaEntityGraphicsModule.renderEntity(Renderer, V, TransformComponent)
- Specified by:
getViewToRender
in classSolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,
TransformComponent>> - Parameters:
world
- theWorld
- Returns:
- the view of entities
-
render
public void render(Renderer renderer, technology.sola.ecs.World world, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) Description copied from class:SolaGraphicsModule
The main render method for a graphics module that is called once per frame. It will call theSolaGraphicsModule.renderMethod(Renderer, World, Matrix3D, Matrix3D)
if the module is active.- Overrides:
render
in classSolaGraphicsModule
- Parameters:
renderer
- tbeRenderer
instanceworld
- theWorld
instancecameraScaleTransform
- the camera's scalecameraTranslationTransform
- the camera's translation
-
renderEntity
public void renderEntity(Renderer renderer, technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntry, TransformComponent cameraModifiedEntityTransform) Description copied from class:SolaEntityGraphicsModule
Called on eachEntity
to render it. ATransformComponent
instance with the camera's transform applied is provided for each entity. If an entity has aLayerComponent
it will be rendered to its layer.- Specified by:
renderEntity
in classSolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,
TransformComponent>> - Parameters:
renderer
- tbeRenderer
instanceviewEntry
- theViewEntry
containing theEntity
to rendercameraModifiedEntityTransform
- aTransformComponent
with the camera's transform applied to the entity's transform
-
getOrder
public int getOrder()Description copied from class:SolaGraphicsModule
Gets the order of this graphics module. A higher value means it will be rendered on top.- Overrides:
getOrder
in classSolaGraphicsModule
- Returns:
- the order of this graphics module
-
isRenderingColliders
public boolean isRenderingColliders()WhetherColliderComponent.getShape(TransformComponent)
debug rendering is enabled or not.- Returns:
- true if collider debug rendering is enabled
-
setRenderingColliders
public void setRenderingColliders(boolean isEnabled) Enabled or disableColliderComponent.getShape(TransformComponent)
debug rendering.- Parameters:
isEnabled
- new collider debug rendering enabled state
-
isRenderingBoundingBoxes
public boolean isRenderingBoundingBoxes()WhetherColliderComponent.getBoundingBox(TransformComponent)
debug rendering is enabled or not.- Returns:
- true if collider bounding box debug rendering is enabled
-
setRenderingBoundingBoxes
public void setRenderingBoundingBoxes(boolean isEnabled) Enable or disableColliderComponent.getBoundingBox(TransformComponent)
debug rendering.- Parameters:
isEnabled
- new collider bounding box debug rendering enabled state
-
isRenderingBroadPhase
public boolean isRenderingBroadPhase()WhetherCollisionDetectionBroadPhase
debug rendering is enabled or not.- Returns:
- true if collision detection broad phase debug rendering is enabled
-
setRenderingBroadPhase
public void setRenderingBroadPhase(boolean isEnabled) Enable or disableCollisionDetectionBroadPhase
debug rendering.- Parameters:
isEnabled
- new collision detection broad phase debug rendering enabled state
-