| 
| IM3D_API AppData &  | GetAppData () | 
|   | 
| IM3D_API void  | NewFrame () | 
|   | 
| IM3D_API void  | EndFrame () | 
|   | 
| IM3D_API const DrawList *  | GetDrawLists () | 
|   | 
| IM3D_API U32  | GetDrawListCount () | 
|   | 
| IM3D_API const TextDrawList *  | GetTextDrawLists () | 
|   | 
| IM3D_API U32  | GetTextDrawListCount () | 
|   | 
| IM3D_API void  | Draw () | 
|   | 
| IM3D_API void  | BeginPoints () | 
|   | 
| IM3D_API void  | BeginLines () | 
|   | 
| IM3D_API void  | BeginLineLoop () | 
|   | 
| IM3D_API void  | BeginLineStrip () | 
|   | 
| IM3D_API void  | BeginTriangles () | 
|   | 
| IM3D_API void  | BeginTriangleStrip () | 
|   | 
| IM3D_API void  | End () | 
|   | 
| IM3D_API void  | Vertex (const Vec3 &_position) | 
|   | 
| IM3D_API void  | Vertex (const Vec3 &_position, Color _color) | 
|   | 
| IM3D_API void  | Vertex (const Vec3 &_position, float _size) | 
|   | 
| IM3D_API void  | Vertex (const Vec3 &_position, float _size, Color _color) | 
|   | 
| IM3D_API void  | Vertex (float _x, float _y, float _z) | 
|   | 
| IM3D_API void  | Vertex (float _x, float _y, float _z, Color _color) | 
|   | 
| IM3D_API void  | Vertex (float _x, float _y, float _z, float _size) | 
|   | 
| IM3D_API void  | Vertex (float _x, float _y, float _z, float _size, Color _color) | 
|   | 
| IM3D_API void  | PushColor () | 
|   | 
| IM3D_API void  | PushColor (Color _color) | 
|   | 
| IM3D_API void  | PopColor () | 
|   | 
| IM3D_API void  | SetColor (Color _color) | 
|   | 
| IM3D_API void  | SetColor (float _r, float _g, float _b, float _a=1.0f) | 
|   | 
| IM3D_API Color  | GetColor () | 
|   | 
| IM3D_API void  | PushAlpha () | 
|   | 
| IM3D_API void  | PushAlpha (float _alpha) | 
|   | 
| IM3D_API void  | PopAlpha () | 
|   | 
| IM3D_API void  | SetAlpha (float _alpha) | 
|   | 
| IM3D_API float  | GetAlpha () | 
|   | 
| IM3D_API void  | PushSize () | 
|   | 
| IM3D_API void  | PushSize (float _size) | 
|   | 
| IM3D_API void  | PopSize () | 
|   | 
| IM3D_API void  | SetSize (float _size) | 
|   | 
| IM3D_API float  | GetSize () | 
|   | 
| IM3D_API void  | PushEnableSorting () | 
|   | 
| IM3D_API void  | PushEnableSorting (bool _enable) | 
|   | 
| IM3D_API void  | PopEnableSorting () | 
|   | 
| IM3D_API void  | EnableSorting (bool _enable) | 
|   | 
| IM3D_API void  | PushDrawState () | 
|   | 
| IM3D_API void  | PopDrawState () | 
|   | 
| IM3D_API void  | PushMatrix () | 
|   | 
| IM3D_API void  | PushMatrix (const Mat4 &_mat4) | 
|   | 
| IM3D_API void  | PopMatrix () | 
|   | 
| IM3D_API void  | SetMatrix (const Mat4 &_mat4) | 
|   | 
| IM3D_API void  | SetIdentity () | 
|   | 
| IM3D_API void  | MulMatrix (const Mat4 &_mat4) | 
|   | 
| IM3D_API void  | Translate (float _x, float _y, float _z) | 
|   | 
| IM3D_API void  | Translate (const Vec3 &_vec3) | 
|   | 
| IM3D_API void  | Rotate (const Vec3 &_axis, float _angle) | 
|   | 
| IM3D_API void  | Rotate (const Mat3 &_rotation) | 
|   | 
| IM3D_API void  | Scale (float _x, float _y, float _z) | 
|   | 
| IM3D_API void  | DrawXyzAxes () | 
|   | 
| IM3D_API void  | DrawPoint (const Vec3 &_position, float _size, Color _color) | 
|   | 
| IM3D_API void  | DrawLine (const Vec3 &_a, const Vec3 &_b, float _size, Color _color) | 
|   | 
| IM3D_API void  | DrawQuad (const Vec3 &_a, const Vec3 &_b, const Vec3 &_c, const Vec3 &_d) | 
|   | 
| IM3D_API void  | DrawQuad (const Vec3 &_origin, const Vec3 &_normal, const Vec2 &_size) | 
|   | 
| IM3D_API void  | DrawQuadFilled (const Vec3 &_a, const Vec3 &_b, const Vec3 &_c, const Vec3 &_d) | 
|   | 
| IM3D_API void  | DrawQuadFilled (const Vec3 &_origin, const Vec3 &_normal, const Vec2 &_size) | 
|   | 
| IM3D_API void  | DrawCircle (const Vec3 &_origin, const Vec3 &_normal, float _radius, int _detail=-1) | 
|   | 
| IM3D_API void  | DrawCircleFilled (const Vec3 &_origin, const Vec3 &_normal, float _radius, int _detail=-1) | 
|   | 
| IM3D_API void  | DrawSphere (const Vec3 &_origin, float _radius, int _detail=-1) | 
|   | 
| IM3D_API void  | DrawSphereFilled (const Vec3 &_origin, float _radius, int _detail=-1) | 
|   | 
| IM3D_API void  | DrawAlignedBox (const Vec3 &_min, const Vec3 &_max) | 
|   | 
| IM3D_API void  | DrawAlignedBoxFilled (const Vec3 &_min, const Vec3 &_max) | 
|   | 
| IM3D_API void  | DrawCylinder (const Vec3 &_start, const Vec3 &_end, float _radius, int _detail=-1) | 
|   | 
| IM3D_API void  | DrawCapsule (const Vec3 &_start, const Vec3 &_end, float _radius, int _detail=-1) | 
|   | 
| IM3D_API void  | DrawPrism (const Vec3 &_start, const Vec3 &_end, float _radius, int _sides) | 
|   | 
| IM3D_API void  | DrawArrow (const Vec3 &_start, const Vec3 &_end, float _headLength=-1.0f, float _headThickness=-1.0f) | 
|   | 
| IM3D_API void  | Text (const Vec3 &_position, U32 _textFlags, const char *_text,...) | 
|   | 
| IM3D_API void  | Text (const Vec3 &_position, float _size, Color _color, U32 _textFlags, const char *_text,...) | 
|   | 
| IM3D_API Id  | MakeId (const char *_str) | 
|   | 
| IM3D_API Id  | MakeId (const void *_ptr) | 
|   | 
| IM3D_API Id  | MakeId (int _i) | 
|   | 
| IM3D_API void  | PushId () | 
|   | 
| IM3D_API void  | PushId (Id _id) | 
|   | 
| IM3D_API void  | PushId (const char *_str) | 
|   | 
| IM3D_API void  | PushId (const void *_ptr) | 
|   | 
| IM3D_API void  | PushId (int _i) | 
|   | 
| IM3D_API void  | PopId () | 
|   | 
| IM3D_API Id  | GetId () | 
|   | 
| IM3D_API void  | PushLayerId (Id _layer) | 
|   | 
| IM3D_API void  | PushLayerId (const char *_str) | 
|   | 
| IM3D_API void  | PopLayerId () | 
|   | 
| IM3D_API Id  | GetLayerId () | 
|   | 
| IM3D_API bool  | GizmoTranslation (const char *_id, float _translation_[3], bool _local=false) | 
|   | 
| IM3D_API bool  | GizmoRotation (const char *_id, float _rotation_[3 *3], bool _local=false) | 
|   | 
| IM3D_API bool  | GizmoScale (const char *_id, float _scale_[3]) | 
|   | 
| IM3D_API bool  | Gizmo (const char *_id, float _translation_[3], float _rotation_[3 *3], float _scale_[3]) | 
|   | 
| IM3D_API bool  | Gizmo (const char *_id, float _transform_[4 *4]) | 
|   | 
| IM3D_API bool  | GizmoTranslation (Id _id, float _translation_[3], bool _local=false) | 
|   | 
| IM3D_API bool  | GizmoRotation (Id _id, float _rotation_[3 *3], bool _local=false) | 
|   | 
| IM3D_API bool  | GizmoScale (Id _id, float _scale_[3]) | 
|   | 
| IM3D_API bool  | Gizmo (Id _id, float _transform_[4 *4]) | 
|   | 
| IM3D_API bool  | Gizmo (Id _id, float _translation_[3], float _rotation_[3 *3], float _scale_[3]) | 
|   | 
| IM3D_API Id  | GetActiveId () | 
|   | 
| IM3D_API Id  | GetHotId () | 
|   | 
| IM3D_API bool  | IsVisible (const Vec3 &_origin, float _radius) | 
|   | 
| IM3D_API bool  | IsVisible (const Vec3 &_min, const Vec3 &_max) | 
|   | 
| IM3D_API Context &  | GetContext () | 
|   | 
| IM3D_API void  | SetContext (Context &_ctx) | 
|   | 
| IM3D_API void  | MergeContexts (Context &_dst_, const Context &_src) | 
|   | 
| void  | PushLayerId () | 
|   | 
| Vec2  | operator+ (const Vec2 &_lhs, const Vec2 &_rhs) | 
|   | 
| Vec2  | operator- (const Vec2 &_lhs, const Vec2 &_rhs) | 
|   | 
| Vec2  | operator* (const Vec2 &_lhs, const Vec2 &_rhs) | 
|   | 
| Vec2  | operator/ (const Vec2 &_lhs, const Vec2 &_rhs) | 
|   | 
| Vec2  | operator* (const Vec2 &_lhs, float _rhs) | 
|   | 
| Vec2  | operator/ (const Vec2 &_lhs, float _rhs) | 
|   | 
| Vec2  | operator- (const Vec2 &_v) | 
|   | 
| float  | Dot (const Vec2 &_lhs, const Vec2 &_rhs) | 
|   | 
| float  | Length (const Vec2 &_v) | 
|   | 
| float  | Length2 (const Vec2 &_v) | 
|   | 
| Vec2  | Abs (const Vec2 &_v) | 
|   | 
| Vec2  | Normalize (const Vec2 &_v) | 
|   | 
| Vec3  | operator+ (const Vec3 &_lhs, const Vec3 &_rhs) | 
|   | 
| Vec3  | operator- (const Vec3 &_lhs, const Vec3 &_rhs) | 
|   | 
| Vec3  | operator* (const Vec3 &_lhs, const Vec3 &_rhs) | 
|   | 
| Vec3  | operator/ (const Vec3 &_lhs, const Vec3 &_rhs) | 
|   | 
| Vec3  | operator* (const Vec3 &_lhs, float _rhs) | 
|   | 
| Vec3  | operator/ (const Vec3 &_lhs, float _rhs) | 
|   | 
| Vec3  | operator- (const Vec3 &_v) | 
|   | 
| float  | Dot (const Vec3 &_lhs, const Vec3 &_rhs) | 
|   | 
| float  | Length (const Vec3 &_v) | 
|   | 
| float  | Length2 (const Vec3 &_v) | 
|   | 
| Vec3  | Abs (const Vec3 &_v) | 
|   | 
| Vec3  | Normalize (const Vec3 &_v) | 
|   | 
| Vec3  | Cross (const Vec3 &_a, const Vec3 &_b) | 
|   | 
| Vec4  | operator+ (const Vec4 &_lhs, const Vec4 &_rhs) | 
|   | 
| Vec4  | operator- (const Vec4 &_lhs, const Vec4 &_rhs) | 
|   | 
| Vec4  | operator* (const Vec4 &_lhs, const Vec4 &_rhs) | 
|   | 
| Vec4  | operator/ (const Vec4 &_lhs, const Vec4 &_rhs) | 
|   | 
| Vec4  | operator* (const Vec4 &_lhs, float _rhs) | 
|   | 
| Vec4  | operator/ (const Vec4 &_lhs, float _rhs) | 
|   | 
| Vec4  | operator- (const Vec4 &_v) | 
|   | 
| float  | Dot (const Vec4 &_lhs, const Vec4 &_rhs) | 
|   | 
| float  | Length (const Vec4 &_v) | 
|   | 
| float  | Length2 (const Vec4 &_v) | 
|   | 
| Vec4  | Abs (const Vec4 &_v) | 
|   | 
| Vec4  | Normalize (const Vec4 &_v) | 
|   | 
| Mat3  | operator* (const Mat3 &_lhs, const Mat3 &_rhs) | 
|   | 
| Vec3  | operator* (const Mat3 &_m, const Vec3 &_v) | 
|   | 
| Vec4  | operator* (const Mat3 &_m, const Vec4 &_v) | 
|   | 
| Mat3  | Transpose (const Mat3 &_m) | 
|   | 
| Vec3  | ToEulerXYZ (const Mat3 &_m) | 
|   | 
| Mat3  | FromEulerXYZ (Vec3 &_xyz) | 
|   | 
| Mat3  | Rotation (const Vec3 &_axis, float _rads) | 
|   | 
| Mat3  | Scale (const Vec3 &_s) | 
|   | 
| Mat4  | operator* (const Mat4 &_lhs, const Mat4 &_rhs) | 
|   | 
| Vec3  | operator* (const Mat4 &_m, const Vec3 &_pos) | 
|   | 
| Vec4  | operator* (const Mat4 &_m, const Vec4 &_v) | 
|   | 
| Mat4  | Inverse (const Mat4 &_m) | 
|   | 
| Mat4  | Transpose (const Mat4 &_m) | 
|   | 
| Mat4  | Translation (const Vec3 &_t) | 
|   | 
| Mat4  | AlignZ (const Vec3 &_axis, const Vec3 &_up=Vec3(0.0f, 1.0f, 0.0f)) | 
|   | 
| Mat4  | LookAt (const Vec3 &_from, const Vec3 &_to, const Vec3 &_up=Vec3(0.0f, 1.0f, 0.0f)) | 
|   | 
| bool  | Intersects (const Ray &_ray, const Plane &_plane) | 
|   | 
| bool  | Intersect (const Ray &_ray, const Plane &_plane, float &t0_) | 
|   | 
| bool  | Intersects (const Ray &_ray, const Sphere &_sphere) | 
|   | 
| bool  | Intersect (const Ray &_ray, const Sphere &_sphere, float &t0_, float &t1_) | 
|   | 
| bool  | Intersects (const Ray &_ray, const Capsule &_capsule) | 
|   | 
| bool  | Intersect (const Ray &_ray, const Capsule &_capsule, float &t0_, float &t1_) | 
|   | 
| void  | Nearest (const Line &_line0, const Line &_line1, float &t0_, float &t1_) | 
|   | 
| void  | Nearest (const Ray &_ray, const Line &_line, float &tr_, float &tl_) | 
|   | 
| Vec3  | Nearest (const Ray &_ray, const LineSegment &_segment, float &tr_) | 
|   | 
| float  | Distance2 (const Ray &_ray, const LineSegment &_segment) | 
|   | 
| float  | Distance (const Vec4 &_plane, const Vec3 &_point) | 
|   | 
| float  | Radians (float _degrees) | 
|   | 
| float  | Degrees (float _radians) | 
|   | 
| template<typename T>  | 
| bool  | AllLess (const T &_a, const T &_b) | 
|   | 
| template<typename T>  | 
| T  | Max (T _a, T _b) | 
|   | 
| template<typename T>  | 
| T  | Min (T _a, T _b) | 
|   | 
| template<typename T>  | 
| T  | Clamp (T _a, T _min, T _max) | 
|   | 
| float  | Remap (float _x, float _start, float _end) | 
|   | 
|   | __ImplementClass (Im3d::Im3dInputHandler, 'IM3H', Input::InputHandler) | 
|   | 
|   | __ImplementPluginContext (Im3dContext) | 
|   | 
| template<typename filterFunc>  | 
| static void  | CollectByFilter (const CoreGraphics::CmdBufferId cmdBuf, const PipelineId pipeline, PrimitiveTopology::Code topology, IndexT &vertexBufferOffset, IndexT &vertexCount, filterFunc &&filter) | 
|   |