c_api_line_object.h - Engine C API Reference

c_api_line_object.h
  1. #pragma once
  2. #include "c_api_types.h"
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. struct LineObjectCApi
  7. {
  8. void (*dispatch) (WorldPtr, LineObjectPtr);
  9. void (*reset) (LineObjectPtr);
  10. void (*add_line) (LineObjectPtr, ConstVector4Ptr color, ConstVector3Ptr from, ConstVector3Ptr to);
  11. void (*add_cone) (LineObjectPtr, ConstVector4Ptr color, ConstVector3Ptr from, ConstVector3Ptr to, float radius, unsigned num_segments, unsigned num_bars);
  12. void (*add_circle) (LineObjectPtr, ConstVector4Ptr color, ConstVector3Ptr center, float radius, ConstVector3Ptr normal, unsigned num_segments);
  13. void (*add_sphere) (LineObjectPtr, ConstVector4Ptr color, ConstVector3Ptr center, float radius, unsigned num_segments, unsigned num_parts);
  14. void (*add_half_sphere) (LineObjectPtr, ConstVector4Ptr color, ConstVector3Ptr center, float radius, ConstVector3Ptr normal, unsigned num_segments, unsigned num_parts);
  15. void (*add_box) (LineObjectPtr, ConstVector4Ptr color, ConstMatrix4x4Ptr pose, float radius, ConstVector3Ptr half_extents);
  16. void (*add_capsule) (LineObjectPtr, ConstVector4Ptr color, ConstVector3Ptr from, ConstVector3Ptr to, float radius, unsigned num_segments, unsigned num_circles, unsigned num_bars);
  17. void (*add_axes) (LineObjectPtr, ConstMatrix4x4Ptr pose, float length);
  18. /* Not available in Release builds. If camera_direction is supplied, back-facing triangles will get culled. */
  19. void (*add_unit_meshes) (LineObjectPtr, uint64_t unit_resource_name_id64, const char *optional_debug_unit_resource_name, ConstVector4Ptr color, ConstMatrix4x4Ptr pose, ConstVector3Ptr optional_camera_direction);
  20. };
  21. #ifdef __cplusplus
  22. }
  23. #endif