38#define WXBGI_DDS_CAMERA 0
39#define WXBGI_DDS_UCS 1
40#define WXBGI_DDS_WORLD_EXTENTS 2
41#define WXBGI_DDS_POINT 3
42#define WXBGI_DDS_LINE 4
43#define WXBGI_DDS_CIRCLE 5
44#define WXBGI_DDS_ARC 6
45#define WXBGI_DDS_ELLIPSE 7
46#define WXBGI_DDS_FILL_ELLIPSE 8
47#define WXBGI_DDS_PIE_SLICE 9
48#define WXBGI_DDS_SECTOR 10
49#define WXBGI_DDS_RECTANGLE 11
50#define WXBGI_DDS_BAR 12
51#define WXBGI_DDS_BAR3D 13
52#define WXBGI_DDS_POLYGON 14
53#define WXBGI_DDS_FILL_POLY 15
54#define WXBGI_DDS_TEXT 16
55#define WXBGI_DDS_IMAGE 17
57#define WXBGI_DDS_BOX 18
58#define WXBGI_DDS_SPHERE 19
59#define WXBGI_DDS_CYLINDER 20
60#define WXBGI_DDS_CONE 21
61#define WXBGI_DDS_TORUS 22
63#define WXBGI_DDS_HEIGHTMAP 23
64#define WXBGI_DDS_PARAM_SURFACE 24
66#define WXBGI_DDS_EXTRUSION 25
67#define WXBGI_DDS_UNKNOWN -1
70#define WXBGI_PARAM_SPHERE 0
71#define WXBGI_PARAM_CYLINDER 1
72#define WXBGI_PARAM_TORUS 2
73#define WXBGI_PARAM_SADDLE 3
74#define WXBGI_PARAM_MOBIUS 4
77#define WXBGI_SOLID_WIREFRAME 0
78#define WXBGI_SOLID_SOLID 1
79#define WXBGI_SOLID_FLAT 1
80#define WXBGI_SOLID_SMOOTH 2
83#define WXBGI_COORD_BGI_PIXEL 0
84#define WXBGI_COORD_WORLD_3D 1
85#define WXBGI_COORD_UCS_LOCAL 2
#define BGI_CALL
Definition bgi_types.h:20
#define BGI_API
Definition bgi_types.h:14
BGI_API const char *BGI_CALL wxbgi_dds_get_id_at(int index)
Returns the auto-assigned ID string of the object at position index (0-based insertion order,...
BGI_API void BGI_CALL wxbgi_solid_set_diffuse(float d)
Set the diffuse light intensity (0–1).
BGI_API void BGI_CALL wxbgi_solid_set_light_dir(float x, float y, float z)
Set the primary (key) light direction.
BGI_API const char *BGI_CALL wxbgi_dds_to_json(void)
Serialises the full DDS scene to a JSON string (DDJ format).
BGI_API void BGI_CALL wxbgi_dds_clear_all(void)
Removes ALL objects from the DDS including cameras and UCS.
BGI_API int BGI_CALL wxbgi_dds_load_json(const char *filePath)
Loads and restores a DDS from a JSON file at filePath.
BGI_API void BGI_CALL wxbgi_dds_scene_set_active(const char *name)
Sets the active scene for immediate-mode draw calls.
BGI_API const char *BGI_CALL wxbgi_cam_get_scene(const char *camName)
Returns the name of the scene currently assigned to a camera.
BGI_API int BGI_CALL wxbgi_dds_get_coord_space(const char *id)
Returns the CoordSpace (WXBGI_COORD_*) of a drawing object.
BGI_API void BGI_CALL wxbgi_render_dds(const char *camName)
Renders all visible DDS drawing objects through the named camera into the BGI pixel buffer.
BGI_API const char *BGI_CALL wxbgi_dds_get_label(const char *id)
Returns the user label of the object identified by id.
BGI_API void BGI_CALL wxbgi_solid_set_light_space(int worldSpace)
Select light coordinate space.
BGI_API void BGI_CALL wxbgi_dds_set_visible(const char *id, int visible)
Sets the visibility flag of the object identified by id.
BGI_API void BGI_CALL wxbgi_gl_pass_destroy(void)
Release all OpenGL objects managed by the GL render pass.
BGI_API void BGI_CALL wxbgi_dds_scene_destroy(const char *name)
Destroys a named DDS scene graph and all its objects.
BGI_API int BGI_CALL wxbgi_dds_from_json(const char *jsonString)
Replaces the current DDS scene with the data in jsonString.
BGI_API void BGI_CALL wxbgi_dds_set_label(const char *id, const char *label)
Sets the user label of the object identified by id.
BGI_API void BGI_CALL wxbgi_dds_scene_clear(const char *name)
Clears all drawing-primitive objects from a named scene.
BGI_API void BGI_CALL wxbgi_solid_set_fill_light(float x, float y, float z, float strength)
Set the secondary (fill) light direction and relative strength.
BGI_API void BGI_CALL wxbgi_solid_set_specular(float s, float shininess)
Set the specular intensity and shininess exponent.
BGI_API int BGI_CALL wxbgi_dds_from_yaml(const char *yamlString)
Replaces the current DDS scene with the data in yamlString.
BGI_API int BGI_CALL wxbgi_dds_object_count(void)
Returns the total number of non-deleted, visible + hidden objects in the DDS (cameras,...
BGI_API int BGI_CALL wxbgi_dds_save_json(const char *filePath)
Serialises the DDS to a JSON file at filePath.
BGI_API int BGI_CALL wxbgi_dds_scene_create(const char *name)
Creates a new named DDS scene graph.
BGI_API int BGI_CALL wxbgi_dds_scene_exists(const char *name)
Tests whether a named scene exists in the registry.
BGI_API const char *BGI_CALL wxbgi_dds_scene_get_active(void)
Returns the name of the currently active scene.
BGI_API void BGI_CALL wxbgi_dds_clear(void)
Removes all drawing-primitive objects from the DDS.
BGI_API void BGI_CALL wxbgi_cam_set_scene(const char *camName, const char *sceneName)
Assigns a DDS scene to a camera.
BGI_API int BGI_CALL wxbgi_dds_get_visible(const char *id)
Returns 1 if the object exists and is visible, 0 otherwise.
BGI_API void BGI_CALL wxbgi_set_legacy_gl_render(int enable)
Enable or disable the legacy per-pixel GL_POINTS rendering path.
BGI_API void BGI_CALL wxbgi_solid_set_ambient(float a)
Set the ambient light intensity (0–1).
BGI_API int BGI_CALL wxbgi_dds_get_type(const char *id)
Returns the WXBGI_DDS_* type constant for the object identified by id, or WXBGI_DDS_UNKNOWN if not fo...
BGI_API int BGI_CALL wxbgi_dds_save_yaml(const char *filePath)
Serialises the DDS to a YAML file at filePath.
BGI_API const char *BGI_CALL wxbgi_dds_to_yaml(void)
Serialises the full DDS scene to a YAML string (DDY format).
BGI_API int BGI_CALL wxbgi_dds_load_yaml(const char *filePath)
Loads and restores a DDS from a YAML file at filePath.
BGI_API int BGI_CALL wxbgi_dds_remove(const char *id)
Soft-deletes the object identified by id.
BGI_API const char *BGI_CALL wxbgi_dds_find_by_label(const char *label)
Returns the ID of the first non-deleted object with the given label, or "" if not found.