-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcimplot3d.h
421 lines (410 loc) · 24.6 KB
/
cimplot3d.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimplot3d
//based on implot3d.h file version 0.2 from https://github.com/brenocq/implot3d
#ifndef CIMPLOT3D_INCLUDED
#define CIMPLOT3D_INCLUDED
#include "cimgui.h"
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImPlot3DContext ImPlot3DContext;
typedef struct ImPlot3DStyle ImPlot3DStyle;
typedef struct ImPlot3DPoint ImPlot3DPoint;
typedef struct ImPlot3DRay ImPlot3DRay;
typedef struct ImPlot3DPlane ImPlot3DPlane;
typedef struct ImPlot3DBox ImPlot3DBox;
typedef struct ImPlot3DRange ImPlot3DRange;
typedef struct ImPlot3DQuat ImPlot3DQuat;
struct ImPlot3DContext;
struct ImPlot3DStyle;
struct ImPlot3DPoint;
struct ImPlot3DRay;
struct ImPlot3DPlane;
struct ImPlot3DBox;
struct ImPlot3DRange;
struct ImPlot3DQuat;
typedef int ImPlot3DCond;
typedef int ImPlot3DCol;
typedef int ImPlot3DStyleVar;
typedef int ImPlot3DMarker;
typedef int ImPlot3DLocation;
typedef int ImAxis3D;
typedef int ImPlane3D;
typedef int ImPlot3DColormap;
typedef int ImPlot3DFlags;
typedef int ImPlot3DItemFlags;
typedef int ImPlot3DScatterFlags;
typedef int ImPlot3DLineFlags;
typedef int ImPlot3DTriangleFlags;
typedef int ImPlot3DQuadFlags;
typedef int ImPlot3DSurfaceFlags;
typedef int ImPlot3DMeshFlags;
typedef int ImPlot3DLegendFlags;
typedef int ImPlot3DAxisFlags;
typedef enum {
ImPlot3DFlags_None = 0,
ImPlot3DFlags_NoTitle = 1 << 0,
ImPlot3DFlags_NoLegend = 1 << 1,
ImPlot3DFlags_NoMouseText = 1 << 2,
ImPlot3DFlags_NoClip = 1 << 3,
ImPlot3DFlags_NoMenus = 1 << 4,
ImPlot3DFlags_CanvasOnly = ImPlot3DFlags_NoTitle | ImPlot3DFlags_NoLegend | ImPlot3DFlags_NoMouseText,
}ImPlot3DFlags_;
typedef enum {
ImPlot3DCond_None = ImGuiCond_None,
ImPlot3DCond_Always = ImGuiCond_Always,
ImPlot3DCond_Once = ImGuiCond_Once,
}ImPlot3DCond_;
typedef enum {
ImPlot3DCol_Line = 0,
ImPlot3DCol_Fill,
ImPlot3DCol_MarkerOutline,
ImPlot3DCol_MarkerFill,
ImPlot3DCol_TitleText,
ImPlot3DCol_InlayText,
ImPlot3DCol_FrameBg,
ImPlot3DCol_PlotBg,
ImPlot3DCol_PlotBorder,
ImPlot3DCol_LegendBg,
ImPlot3DCol_LegendBorder,
ImPlot3DCol_LegendText,
ImPlot3DCol_AxisText,
ImPlot3DCol_AxisGrid,
ImPlot3DCol_AxisTick,
ImPlot3DCol_COUNT,
}ImPlot3DCol_;
typedef enum {
ImPlot3DStyleVar_LineWeight,
ImPlot3DStyleVar_Marker,
ImPlot3DStyleVar_MarkerSize,
ImPlot3DStyleVar_MarkerWeight,
ImPlot3DStyleVar_FillAlpha,
ImPlot3DStyleVar_PlotDefaultSize,
ImPlot3DStyleVar_PlotMinSize,
ImPlot3DStyleVar_PlotPadding,
ImPlot3DStyleVar_LabelPadding,
ImPlot3DStyleVar_LegendPadding,
ImPlot3DStyleVar_LegendInnerPadding,
ImPlot3DStyleVar_LegendSpacing,
ImPlot3DStyleVar_COUNT
}ImPlot3DStyleVar_;
typedef enum {
ImPlot3DMarker_None = -1,
ImPlot3DMarker_Circle,
ImPlot3DMarker_Square,
ImPlot3DMarker_Diamond,
ImPlot3DMarker_Up,
ImPlot3DMarker_Down,
ImPlot3DMarker_Left,
ImPlot3DMarker_Right,
ImPlot3DMarker_Cross,
ImPlot3DMarker_Plus,
ImPlot3DMarker_Asterisk,
ImPlot3DMarker_COUNT
}ImPlot3DMarker_;
typedef enum {
ImPlot3DItemFlags_None = 0,
ImPlot3DItemFlags_NoLegend = 1 << 0,
ImPlot3DItemFlags_NoFit = 1 << 1,
}ImPlot3DItemFlags_;
typedef enum {
ImPlot3DScatterFlags_None = 0,
ImPlot3DScatterFlags_NoLegend = ImPlot3DItemFlags_NoLegend,
ImPlot3DScatterFlags_NoFit = ImPlot3DItemFlags_NoFit,
}ImPlot3DScatterFlags_;
typedef enum {
ImPlot3DLineFlags_None = 0,
ImPlot3DLineFlags_NoLegend = ImPlot3DItemFlags_NoLegend,
ImPlot3DLineFlags_NoFit = ImPlot3DItemFlags_NoFit,
ImPlot3DLineFlags_Segments = 1 << 10,
ImPlot3DLineFlags_Loop = 1 << 11,
ImPlot3DLineFlags_SkipNaN = 1 << 12,
}ImPlot3DLineFlags_;
typedef enum {
ImPlot3DTriangleFlags_None = 0,
ImPlot3DTriangleFlags_NoLegend = ImPlot3DItemFlags_NoLegend,
ImPlot3DTriangleFlags_NoFit = ImPlot3DItemFlags_NoFit,
}ImPlot3DTriangleFlags_;
typedef enum {
ImPlot3DQuadFlags_None = 0,
ImPlot3DQuadFlags_NoLegend = ImPlot3DItemFlags_NoLegend,
ImPlot3DQuadFlags_NoFit = ImPlot3DItemFlags_NoFit,
}ImPlot3DQuadFlags_;
typedef enum {
ImPlot3DSurfaceFlags_None = 0,
ImPlot3DSurfaceFlags_NoLegend = ImPlot3DItemFlags_NoLegend,
ImPlot3DSurfaceFlags_NoFit = ImPlot3DItemFlags_NoFit,
}ImPlot3DSurfaceFlags_;
typedef enum {
ImPlot3DMeshFlags_None = 0,
ImPlot3DMeshFlags_NoLegend = ImPlot3DItemFlags_NoLegend,
ImPlot3DMeshFlags_NoFit = ImPlot3DItemFlags_NoFit,
}ImPlot3DMeshFlags_;
typedef enum {
ImPlot3DLegendFlags_None = 0,
ImPlot3DLegendFlags_NoButtons = 1 << 0,
ImPlot3DLegendFlags_NoHighlightItem = 1 << 1,
ImPlot3DLegendFlags_Horizontal = 1 << 2,
}ImPlot3DLegendFlags_;
typedef enum {
ImPlot3DLocation_Center = 0,
ImPlot3DLocation_North = 1 << 0,
ImPlot3DLocation_South = 1 << 1,
ImPlot3DLocation_West = 1 << 2,
ImPlot3DLocation_East = 1 << 3,
ImPlot3DLocation_NorthWest = ImPlot3DLocation_North | ImPlot3DLocation_West,
ImPlot3DLocation_NorthEast = ImPlot3DLocation_North | ImPlot3DLocation_East,
ImPlot3DLocation_SouthWest = ImPlot3DLocation_South | ImPlot3DLocation_West,
ImPlot3DLocation_SouthEast = ImPlot3DLocation_South | ImPlot3DLocation_East
}ImPlot3DLocation_;
typedef enum {
ImPlot3DAxisFlags_None = 0,
ImPlot3DAxisFlags_NoLabel = 1 << 0,
ImPlot3DAxisFlags_NoGridLines = 1 << 1,
ImPlot3DAxisFlags_NoTickMarks = 1 << 2,
ImPlot3DAxisFlags_NoTickLabels = 1 << 3,
ImPlot3DAxisFlags_LockMin = 1 << 4,
ImPlot3DAxisFlags_LockMax = 1 << 5,
ImPlot3DAxisFlags_AutoFit = 1 << 6,
ImPlot3DAxisFlags_Invert = 1 << 7,
ImPlot3DAxisFlags_Lock = ImPlot3DAxisFlags_LockMin | ImPlot3DAxisFlags_LockMax,
ImPlot3DAxisFlags_NoDecorations = ImPlot3DAxisFlags_NoLabel | ImPlot3DAxisFlags_NoGridLines | ImPlot3DAxisFlags_NoTickLabels,
}ImPlot3DAxisFlags_;
typedef enum {
ImAxis3D_X = 0,
ImAxis3D_Y,
ImAxis3D_Z,
ImAxis3D_COUNT,
}ImAxis3D_;
typedef enum {
ImPlane3D_YZ = 0,
ImPlane3D_XZ,
ImPlane3D_XY,
ImPlane3D_COUNT,
}ImPlane3D_;
typedef enum {
ImPlot3DColormap_Deep = 0,
ImPlot3DColormap_Dark = 1,
ImPlot3DColormap_Pastel = 2,
ImPlot3DColormap_Paired = 3,
ImPlot3DColormap_Viridis = 4,
ImPlot3DColormap_Plasma = 5,
ImPlot3DColormap_Hot = 6,
ImPlot3DColormap_Cool = 7,
ImPlot3DColormap_Pink = 8,
ImPlot3DColormap_Jet = 9,
ImPlot3DColormap_Twilight = 10,
ImPlot3DColormap_RdBu = 11,
ImPlot3DColormap_BrBG = 12,
ImPlot3DColormap_PiYG = 13,
ImPlot3DColormap_Spectral = 14,
ImPlot3DColormap_Greys = 15,
}ImPlot3DColormap_;
typedef int (*ImPlot3DFormatter)(float value, char* buff, int size, void* user_data);
struct ImPlot3DPoint
{
float x, y, z;
};
struct ImPlot3DRay
{
ImPlot3DPoint Origin;
ImPlot3DPoint Direction;
};
struct ImPlot3DPlane
{
ImPlot3DPoint Point;
ImPlot3DPoint Normal;
};
struct ImPlot3DBox
{
ImPlot3DPoint Min;
ImPlot3DPoint Max;
};
struct ImPlot3DRange
{
float Min;
float Max;
};
struct ImPlot3DQuat
{
float x, y, z, w;
};
struct ImPlot3DStyle
{
float LineWeight;
int Marker;
float MarkerSize;
float MarkerWeight;
float FillAlpha;
ImVec2 PlotDefaultSize;
ImVec2 PlotMinSize;
ImVec2 PlotPadding;
ImVec2 LabelPadding;
ImVec2 LegendPadding;
ImVec2 LegendInnerPadding;
ImVec2 LegendSpacing;
ImVec4 Colors[ImPlot3DCol_COUNT];
ImPlot3DColormap Colormap;
};
static const int CUBE_VTX_COUNT = 8;
static const int CUBE_IDX_COUNT = 36;
extern ImPlot3DPoint cube_vtx[CUBE_VTX_COUNT];
extern unsigned int cube_idx[CUBE_IDX_COUNT];
static const int SPHERE_VTX_COUNT = 162;
static const int SPHERE_IDX_COUNT = 960;
extern ImPlot3DPoint sphere_vtx[SPHERE_VTX_COUNT];
extern unsigned int sphere_idx[SPHERE_IDX_COUNT];
static const int DUCK_VTX_COUNT = 254;
static const int DUCK_IDX_COUNT = 1428;
extern ImPlot3DPoint duck_vtx[DUCK_VTX_COUNT];
extern unsigned int duck_idx[DUCK_IDX_COUNT];
#else
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API ImPlot3DContext* ImPlot3D_CreateContext(void);
CIMGUI_API void ImPlot3D_DestroyContext(ImPlot3DContext* ctx);
CIMGUI_API ImPlot3DContext* ImPlot3D_GetCurrentContext(void);
CIMGUI_API void ImPlot3D_SetCurrentContext(ImPlot3DContext* ctx);
CIMGUI_API bool ImPlot3D_BeginPlot(const char* title_id,const ImVec2 size,ImPlot3DFlags flags);
CIMGUI_API void ImPlot3D_EndPlot(void);
CIMGUI_API void ImPlot3D_SetupAxis(ImAxis3D axis,const char* label,ImPlot3DAxisFlags flags);
CIMGUI_API void ImPlot3D_SetupAxisLimits(ImAxis3D axis,double v_min,double v_max,ImPlot3DCond cond);
CIMGUI_API void ImPlot3D_SetupAxisFormat(ImAxis3D idx,ImPlot3DFormatter formatter,void* data);
CIMGUI_API void ImPlot3D_SetupAxisTicks_doublePtr(ImAxis3D axis,const double* values,int n_ticks,const char* const labels[],bool keep_default);
CIMGUI_API void ImPlot3D_SetupAxisTicks_double(ImAxis3D axis,double v_min,double v_max,int n_ticks,const char* const labels[],bool keep_default);
CIMGUI_API void ImPlot3D_SetupAxes(const char* x_label,const char* y_label,const char* z_label,ImPlot3DAxisFlags x_flags,ImPlot3DAxisFlags y_flags,ImPlot3DAxisFlags z_flags);
CIMGUI_API void ImPlot3D_SetupAxesLimits(double x_min,double x_max,double y_min,double y_max,double z_min,double z_max,ImPlot3DCond cond);
CIMGUI_API void ImPlot3D_SetupBoxRotation_Float(float elevation,float azimuth,bool animate,ImPlot3DCond cond);
CIMGUI_API void ImPlot3D_SetupBoxRotation_Plot3DQuat(ImPlot3DQuat rotation,bool animate,ImPlot3DCond cond);
CIMGUI_API void ImPlot3D_SetupBoxInitialRotation_Float(float elevation,float azimuth);
CIMGUI_API void ImPlot3D_SetupBoxInitialRotation_Plot3DQuat(ImPlot3DQuat rotation);
CIMGUI_API void ImPlot3D_SetupBoxScale(float x,float y,float z);
CIMGUI_API void ImPlot3D_SetupLegend(ImPlot3DLocation location,ImPlot3DLegendFlags flags);
CIMGUI_API void ImPlot3D_PlotScatter_FloatPtr(const char* label_id,const float* xs,const float* ys,const float* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_doublePtr(const char* label_id,const double* xs,const double* ys,const double* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_S8Ptr(const char* label_id,const ImS8* xs,const ImS8* ys,const ImS8* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_U8Ptr(const char* label_id,const ImU8* xs,const ImU8* ys,const ImU8* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_S16Ptr(const char* label_id,const ImS16* xs,const ImS16* ys,const ImS16* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_U16Ptr(const char* label_id,const ImU16* xs,const ImU16* ys,const ImU16* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_S32Ptr(const char* label_id,const ImS32* xs,const ImS32* ys,const ImS32* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_U32Ptr(const char* label_id,const ImU32* xs,const ImU32* ys,const ImU32* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_S64Ptr(const char* label_id,const ImS64* xs,const ImS64* ys,const ImS64* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotScatter_U64Ptr(const char* label_id,const ImU64* xs,const ImU64* ys,const ImU64* zs,int count,ImPlot3DScatterFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_FloatPtr(const char* label_id,const float* xs,const float* ys,const float* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_doublePtr(const char* label_id,const double* xs,const double* ys,const double* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_S8Ptr(const char* label_id,const ImS8* xs,const ImS8* ys,const ImS8* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_U8Ptr(const char* label_id,const ImU8* xs,const ImU8* ys,const ImU8* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_S16Ptr(const char* label_id,const ImS16* xs,const ImS16* ys,const ImS16* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_U16Ptr(const char* label_id,const ImU16* xs,const ImU16* ys,const ImU16* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_S32Ptr(const char* label_id,const ImS32* xs,const ImS32* ys,const ImS32* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_U32Ptr(const char* label_id,const ImU32* xs,const ImU32* ys,const ImU32* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_S64Ptr(const char* label_id,const ImS64* xs,const ImS64* ys,const ImS64* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotLine_U64Ptr(const char* label_id,const ImU64* xs,const ImU64* ys,const ImU64* zs,int count,ImPlot3DLineFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_FloatPtr(const char* label_id,const float* xs,const float* ys,const float* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_doublePtr(const char* label_id,const double* xs,const double* ys,const double* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_S8Ptr(const char* label_id,const ImS8* xs,const ImS8* ys,const ImS8* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_U8Ptr(const char* label_id,const ImU8* xs,const ImU8* ys,const ImU8* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_S16Ptr(const char* label_id,const ImS16* xs,const ImS16* ys,const ImS16* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_U16Ptr(const char* label_id,const ImU16* xs,const ImU16* ys,const ImU16* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_S32Ptr(const char* label_id,const ImS32* xs,const ImS32* ys,const ImS32* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_U32Ptr(const char* label_id,const ImU32* xs,const ImU32* ys,const ImU32* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_S64Ptr(const char* label_id,const ImS64* xs,const ImS64* ys,const ImS64* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotTriangle_U64Ptr(const char* label_id,const ImU64* xs,const ImU64* ys,const ImU64* zs,int count,ImPlot3DTriangleFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_FloatPtr(const char* label_id,const float* xs,const float* ys,const float* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_doublePtr(const char* label_id,const double* xs,const double* ys,const double* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_S8Ptr(const char* label_id,const ImS8* xs,const ImS8* ys,const ImS8* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_U8Ptr(const char* label_id,const ImU8* xs,const ImU8* ys,const ImU8* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_S16Ptr(const char* label_id,const ImS16* xs,const ImS16* ys,const ImS16* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_U16Ptr(const char* label_id,const ImU16* xs,const ImU16* ys,const ImU16* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_S32Ptr(const char* label_id,const ImS32* xs,const ImS32* ys,const ImS32* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_U32Ptr(const char* label_id,const ImU32* xs,const ImU32* ys,const ImU32* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_S64Ptr(const char* label_id,const ImS64* xs,const ImS64* ys,const ImS64* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotQuad_U64Ptr(const char* label_id,const ImU64* xs,const ImU64* ys,const ImU64* zs,int count,ImPlot3DQuadFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_FloatPtr(const char* label_id,const float* xs,const float* ys,const float* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_doublePtr(const char* label_id,const double* xs,const double* ys,const double* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_S8Ptr(const char* label_id,const ImS8* xs,const ImS8* ys,const ImS8* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_U8Ptr(const char* label_id,const ImU8* xs,const ImU8* ys,const ImU8* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_S16Ptr(const char* label_id,const ImS16* xs,const ImS16* ys,const ImS16* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_U16Ptr(const char* label_id,const ImU16* xs,const ImU16* ys,const ImU16* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_S32Ptr(const char* label_id,const ImS32* xs,const ImS32* ys,const ImS32* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_U32Ptr(const char* label_id,const ImU32* xs,const ImU32* ys,const ImU32* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_S64Ptr(const char* label_id,const ImS64* xs,const ImS64* ys,const ImS64* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotSurface_U64Ptr(const char* label_id,const ImU64* xs,const ImU64* ys,const ImU64* zs,int x_count,int y_count,double scale_min,double scale_max,ImPlot3DSurfaceFlags flags,int offset,int stride);
CIMGUI_API void ImPlot3D_PlotMesh(const char* label_id,const ImPlot3DPoint* vtx,const unsigned int* idx,int vtx_count,int idx_count,ImPlot3DMeshFlags flags);
CIMGUI_API void ImPlot3D_PlotText(const char* text,float x,float y,float z,float angle,const ImVec2 pix_offset);
CIMGUI_API void ImPlot3D_PlotToPixels_Plot3DPoInt(ImVec2 *pOut,const ImPlot3DPoint point);
CIMGUI_API void ImPlot3D_PlotToPixels_double(ImVec2 *pOut,double x,double y,double z);
CIMGUI_API ImPlot3DRay ImPlot3D_PixelsToPlotRay_Vec2(const ImVec2 pix);
CIMGUI_API ImPlot3DRay ImPlot3D_PixelsToPlotRay_double(double x,double y);
CIMGUI_API void ImPlot3D_PixelsToPlotPlane_Vec2(ImPlot3DPoint *pOut,const ImVec2 pix,ImPlane3D plane,bool mask);
CIMGUI_API void ImPlot3D_PixelsToPlotPlane_double(ImPlot3DPoint *pOut,double x,double y,ImPlane3D plane,bool mask);
CIMGUI_API void ImPlot3D_GetPlotPos(ImVec2 *pOut);
CIMGUI_API void ImPlot3D_GetPlotSize(ImVec2 *pOut);
CIMGUI_API ImDrawList* ImPlot3D_GetPlotDrawList(void);
CIMGUI_API ImPlot3DStyle* ImPlot3D_GetStyle(void);
CIMGUI_API void ImPlot3D_StyleColorsAuto(ImPlot3DStyle* dst);
CIMGUI_API void ImPlot3D_StyleColorsDark(ImPlot3DStyle* dst);
CIMGUI_API void ImPlot3D_StyleColorsLight(ImPlot3DStyle* dst);
CIMGUI_API void ImPlot3D_StyleColorsClassic(ImPlot3DStyle* dst);
CIMGUI_API void ImPlot3D_PushStyleColor_U32(ImPlot3DCol idx,ImU32 col);
CIMGUI_API void ImPlot3D_PushStyleColor_Vec4(ImPlot3DCol idx,const ImVec4 col);
CIMGUI_API void ImPlot3D_PopStyleColor(int count);
CIMGUI_API void ImPlot3D_PushStyleVar_Float(ImPlot3DStyleVar idx,float val);
CIMGUI_API void ImPlot3D_PushStyleVar_Int(ImPlot3DStyleVar idx,int val);
CIMGUI_API void ImPlot3D_PushStyleVar_Vec2(ImPlot3DStyleVar idx,const ImVec2 val);
CIMGUI_API void ImPlot3D_PopStyleVar(int count);
CIMGUI_API void ImPlot3D_SetNextLineStyle(const ImVec4 col,float weight);
CIMGUI_API void ImPlot3D_SetNextFillStyle(const ImVec4 col,float alpha_mod);
CIMGUI_API void ImPlot3D_SetNextMarkerStyle(ImPlot3DMarker marker,float size,const ImVec4 fill,float weight,const ImVec4 outline);
CIMGUI_API void ImPlot3D_GetStyleColorVec4(ImVec4 *pOut,ImPlot3DCol idx);
CIMGUI_API ImU32 ImPlot3D_GetStyleColorU32(ImPlot3DCol idx);
CIMGUI_API ImPlot3DColormap ImPlot3D_AddColormap_Vec4Ptr(const char* name,const ImVec4* cols,int size,bool qual);
CIMGUI_API ImPlot3DColormap ImPlot3D_AddColormap_U32Ptr(const char* name,const ImU32* cols,int size,bool qual);
CIMGUI_API int ImPlot3D_GetColormapCount(void);
CIMGUI_API const char* ImPlot3D_GetColormapName(ImPlot3DColormap cmap);
CIMGUI_API ImPlot3DColormap ImPlot3D_GetColormapIndex(const char* name);
CIMGUI_API void ImPlot3D_PushColormap_Plot3DColormap(ImPlot3DColormap cmap);
CIMGUI_API void ImPlot3D_PushColormap_Str(const char* name);
CIMGUI_API void ImPlot3D_PopColormap(int count);
CIMGUI_API void ImPlot3D_NextColormapColor(ImVec4 *pOut);
CIMGUI_API int ImPlot3D_GetColormapSize(ImPlot3DColormap cmap);
CIMGUI_API void ImPlot3D_GetColormapColor(ImVec4 *pOut,int idx,ImPlot3DColormap cmap);
CIMGUI_API void ImPlot3D_SampleColormap(ImVec4 *pOut,float t,ImPlot3DColormap cmap);
CIMGUI_API void ImPlot3D_ShowDemoWindow(bool* p_open);
CIMGUI_API void ImPlot3D_ShowStyleEditor(ImPlot3DStyle* ref);
CIMGUI_API ImPlot3DPoint* ImPlot3DPoint_ImPlot3DPoint_Nil(void);
CIMGUI_API void ImPlot3DPoint_destroy(ImPlot3DPoint* self);
CIMGUI_API ImPlot3DPoint* ImPlot3DPoint_ImPlot3DPoint_Float(float _x,float _y,float _z);
CIMGUI_API float ImPlot3DPoint_Dot(ImPlot3DPoint* self,const ImPlot3DPoint rhs);
CIMGUI_API void ImPlot3DPoint_Cross(ImPlot3DPoint *pOut,ImPlot3DPoint* self,const ImPlot3DPoint rhs);
CIMGUI_API float ImPlot3DPoint_Length(ImPlot3DPoint* self);
CIMGUI_API float ImPlot3DPoint_LengthSquared(ImPlot3DPoint* self);
CIMGUI_API void ImPlot3DPoint_Normalize(ImPlot3DPoint* self);
CIMGUI_API void ImPlot3DPoint_Normalized(ImPlot3DPoint *pOut,ImPlot3DPoint* self);
CIMGUI_API bool ImPlot3DPoint_IsNaN(ImPlot3DPoint* self);
CIMGUI_API ImPlot3DBox* ImPlot3DBox_ImPlot3DBox_Nil(void);
CIMGUI_API void ImPlot3DBox_destroy(ImPlot3DBox* self);
CIMGUI_API ImPlot3DBox* ImPlot3DBox_ImPlot3DBox_Plot3DPoInt(const ImPlot3DPoint min,const ImPlot3DPoint max);
CIMGUI_API void ImPlot3DBox_Expand(ImPlot3DBox* self,const ImPlot3DPoint point);
CIMGUI_API bool ImPlot3DBox_Contains(ImPlot3DBox* self,const ImPlot3DPoint point);
CIMGUI_API bool ImPlot3DBox_ClipLineSegment(ImPlot3DBox* self,const ImPlot3DPoint p0,const ImPlot3DPoint p1,ImPlot3DPoint* p0_clipped,ImPlot3DPoint* p1_clipped);
CIMGUI_API ImPlot3DRange* ImPlot3DRange_ImPlot3DRange_Nil(void);
CIMGUI_API void ImPlot3DRange_destroy(ImPlot3DRange* self);
CIMGUI_API ImPlot3DRange* ImPlot3DRange_ImPlot3DRange_Float(float min,float max);
CIMGUI_API void ImPlot3DRange_Expand(ImPlot3DRange* self,float value);
CIMGUI_API bool ImPlot3DRange_Contains(ImPlot3DRange* self,float value);
CIMGUI_API float ImPlot3DRange_Size(ImPlot3DRange* self);
CIMGUI_API ImPlot3DQuat* ImPlot3DQuat_ImPlot3DQuat_Nil(void);
CIMGUI_API void ImPlot3DQuat_destroy(ImPlot3DQuat* self);
CIMGUI_API ImPlot3DQuat* ImPlot3DQuat_ImPlot3DQuat_FloatFloat(float _x,float _y,float _z,float _w);
CIMGUI_API ImPlot3DQuat* ImPlot3DQuat_ImPlot3DQuat_FloatPlot3DPoInt(float _angle,const ImPlot3DPoint _axis);
CIMGUI_API void ImPlot3DQuat_FromTwoVectors(ImPlot3DQuat *pOut,const ImPlot3DPoint v0,const ImPlot3DPoint v1);
CIMGUI_API void ImPlot3DQuat_FromElAz(ImPlot3DQuat *pOut,float elevation,float azimuth);
CIMGUI_API float ImPlot3DQuat_Length(ImPlot3DQuat* self);
CIMGUI_API void ImPlot3DQuat_Normalized(ImPlot3DQuat *pOut,ImPlot3DQuat* self);
CIMGUI_API void ImPlot3DQuat_Conjugate(ImPlot3DQuat *pOut,ImPlot3DQuat* self);
CIMGUI_API void ImPlot3DQuat_Inverse(ImPlot3DQuat *pOut,ImPlot3DQuat* self);
CIMGUI_API ImPlot3DQuat* ImPlot3DQuat_Normalize(ImPlot3DQuat* self);
CIMGUI_API void ImPlot3DQuat_Slerp(ImPlot3DQuat *pOut,const ImPlot3DQuat q1,const ImPlot3DQuat q2,float t);
CIMGUI_API float ImPlot3DQuat_Dot(ImPlot3DQuat* self,const ImPlot3DQuat rhs);
CIMGUI_API ImPlot3DStyle* ImPlot3DStyle_ImPlot3DStyle(void);
CIMGUI_API void ImPlot3DStyle_destroy(ImPlot3DStyle* self);
#endif //CIMPLOT3D_INCLUDED