WireFrustum: javadoc + add makeGeometry(Camera) method #2480
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These changes focus on improving the readability, robustness, and maintainability of the
WireFrustum
class.Comprehensive Javadoc Documentation
Extensive Javadoc comments were added to the class, constructors, and all methods. This significantly enhances code understanding and future maintainability.
Robust Input Validation
Implemented explicit checks in the WireFrustum constructor and the update method to ensure that the points array is never null and always contains exactly 8
Vector3f
objects. This prevents common runtime errors such asNullPointerException
andIndexOutOfBoundsException
, making the class more reliable.Minor Code Refinements
Small adjustments were made to the update method to explicitly clear the existing FloatBuffer before writing new data, enhancing clarity in buffer handling.
New Utility Method:
makeGeometry(Camera camera)
for Debugging.A dedicated static method,
makeGeometry
, was added. This method specifically generates aGeometry
object representing the wireframe viewing frustum of any given camera. This is an invaluable tool for debugging and visualizing the camera's exact viewing volume within the 3D scene, which helps in understanding culling, shadow calculations, and general scene setup.