PeriDyno 1.0.0
Loading...
Searching...
No Matches
ImGuizmo.cpp File Reference
#include <imgui.h>
#include <imgui_internal.h>
#include "ImGuizmo.h"
Include dependency graph for ImGuizmo.cpp:

Go to the source code of this file.

Classes

struct  ImGuizmo::vec_t
 
struct  ImGuizmo::matrix_t
 
struct  ImGuizmo::Context
 

Namespaces

namespace  ImGuizmo
 

Macros

#define IMGUI_DEFINE_MATH_OPERATORS
 
#define _malloca(x)
 
#define _freea(x)
 

Enumerations

enum  ImGuizmo::MOVETYPE {
  ImGuizmo::MT_NONE , ImGuizmo::MT_MOVE_X , ImGuizmo::MT_MOVE_Y , ImGuizmo::MT_MOVE_Z ,
  ImGuizmo::MT_MOVE_YZ , ImGuizmo::MT_MOVE_ZX , ImGuizmo::MT_MOVE_XY , ImGuizmo::MT_MOVE_SCREEN ,
  ImGuizmo::MT_ROTATE_X , ImGuizmo::MT_ROTATE_Y , ImGuizmo::MT_ROTATE_Z , ImGuizmo::MT_ROTATE_SCREEN ,
  ImGuizmo::MT_SCALE_X , ImGuizmo::MT_SCALE_Y , ImGuizmo::MT_SCALE_Z , ImGuizmo::MT_SCALE_XYZ
}
 

Functions

static OPERATION ImGuizmo::operator& (OPERATION lhs, OPERATION rhs)
 
static bool ImGuizmo::operator!= (OPERATION lhs, int rhs)
 
static bool ImGuizmo::operator== (OPERATION lhs, int rhs)
 
static bool ImGuizmo::Intersects (OPERATION lhs, OPERATION rhs)
 
static bool ImGuizmo::Contains (OPERATION lhs, OPERATION rhs)
 
void ImGuizmo::FPU_MatrixF_x_MatrixF (const float *a, const float *b, float *r)
 
void ImGuizmo::Frustum (float left, float right, float bottom, float top, float znear, float zfar, float *m16)
 
void ImGuizmo::Perspective (float fovyInDegrees, float aspectRatio, float znear, float zfar, float *m16)
 
void ImGuizmo::Cross (const float *a, const float *b, float *r)
 
float ImGuizmo::Dot (const float *a, const float *b)
 
void ImGuizmo::Normalize (const float *a, float *r)
 
void ImGuizmo::LookAt (const float *eye, const float *at, const float *up, float *m16)
 
template<typename T>
T ImGuizmo::Clamp (T x, T y, T z)
 
template<typename T>
T ImGuizmo::max (T x, T y)
 
template<typename T>
T ImGuizmo::min (T x, T y)
 
template<typename T>
bool ImGuizmo::IsWithin (T x, T y, T z)
 
vec_t ImGuizmo::makeVect (float _x, float _y, float _z=0.f, float _w=0.f)
 
vec_t ImGuizmo::makeVect (ImVec2 v)
 
vec_t ImGuizmo::Normalized (const vec_t &v)
 
vec_t ImGuizmo::Cross (const vec_t &v1, const vec_t &v2)
 
float ImGuizmo::Dot (const vec_t &v1, const vec_t &v2)
 
vec_t ImGuizmo::BuildPlan (const vec_t &p_point1, const vec_t &p_normal)
 
static bool ImGuizmo::IsTranslateType (int type)
 
static bool ImGuizmo::IsRotateType (int type)
 
static bool ImGuizmo::IsScaleType (int type)
 
static int ImGuizmo::GetMoveType (OPERATION op, vec_t *gizmoHitProportion)
 
static int ImGuizmo::GetRotateType (OPERATION op)
 
static int ImGuizmo::GetScaleType (OPERATION op)
 
static ImVec2 ImGuizmo::worldToPos (const vec_t &worldPos, const matrix_t &mat, ImVec2 position=ImVec2(gContext.mX, gContext.mY), ImVec2 size=ImVec2(gContext.mWidth, gContext.mHeight))
 
static void ImGuizmo::ComputeCameraRay (vec_t &rayOrigin, vec_t &rayDir, ImVec2 position=ImVec2(gContext.mX, gContext.mY), ImVec2 size=ImVec2(gContext.mWidth, gContext.mHeight))
 
static float ImGuizmo::GetSegmentLengthClipSpace (const vec_t &start, const vec_t &end)
 
static float ImGuizmo::GetParallelogram (const vec_t &ptO, const vec_t &ptA, const vec_t &ptB)
 
vec_t ImGuizmo::PointOnSegment (const vec_t &point, const vec_t &vertPos1, const vec_t &vertPos2)
 
static float ImGuizmo::IntersectRayPlane (const vec_t &rOrigin, const vec_t &rVector, const vec_t &plan)
 
static float ImGuizmo::DistanceToPlane (const vec_t &point, const vec_t &plan)
 
static bool ImGuizmo::IsInContextRect (ImVec2 p)
 
void ImGuizmo::SetRect (float x, float y, float width, float height)
 
void ImGuizmo::SetOrthographic (bool isOrthographic)
 
void ImGuizmo::SetDrawlist (ImDrawList *drawlist)
 
void ImGuizmo::SetImGuiContext (ImGuiContext *ctx)
 
void ImGuizmo::BeginFrame ()
 
bool ImGuizmo::IsUsing ()
 
bool ImGuizmo::IsOver ()
 
bool ImGuizmo::IsOver (OPERATION op)
 
void ImGuizmo::Enable (bool enable)
 
static void ImGuizmo::ComputeContext (const float *view, const float *projection, float *matrix, MODE mode)
 
static void ImGuizmo::ComputeColors (ImU32 *colors, int type, OPERATION operation)
 
static void ImGuizmo::ComputeTripodAxisAndVisibility (int axisIndex, vec_t &dirAxis, vec_t &dirPlaneX, vec_t &dirPlaneY, bool &belowAxisLimit, bool &belowPlaneLimit)
 
static void ImGuizmo::ComputeSnap (float *value, float snap)
 
static void ImGuizmo::ComputeSnap (vec_t &value, const float *snap)
 
static float ImGuizmo::ComputeAngleOnPlan ()
 
static void ImGuizmo::DrawRotationGizmo (OPERATION op, int type)
 
static void ImGuizmo::DrawHatchedAxis (const vec_t &axis)
 
static void ImGuizmo::DrawScaleGizmo (OPERATION op, int type)
 
static void ImGuizmo::DrawTranslationGizmo (OPERATION op, int type)
 
static bool ImGuizmo::CanActivate ()
 
static void ImGuizmo::HandleAndDrawLocalBounds (const float *bounds, matrix_t *matrix, const float *snapValues, OPERATION operation)
 
static bool ImGuizmo::HandleTranslation (float *matrix, float *deltaMatrix, OPERATION op, int &type, const float *snap)
 
static bool ImGuizmo::HandleScale (float *matrix, float *deltaMatrix, OPERATION op, int &type, const float *snap)
 
static bool ImGuizmo::HandleRotation (float *matrix, float *deltaMatrix, OPERATION op, int &type, const float *snap)
 
void ImGuizmo::DecomposeMatrixToComponents (const float *matrix, float *translation, float *rotation, float *scale)
 
void ImGuizmo::RecomposeMatrixFromComponents (const float *translation, const float *rotation, const float *scale, float *matrix)
 
void ImGuizmo::SetID (int id)
 
void ImGuizmo::AllowAxisFlip (bool value)
 
bool ImGuizmo::Manipulate (const float *view, const float *projection, OPERATION operation, MODE mode, float *matrix, float *deltaMatrix, const float *snap, const float *localBounds, const float *boundsSnap)
 
void ImGuizmo::SetGizmoSizeClipSpace (float value)
 
void ImGuizmo::ComputeFrustumPlanes (vec_t *frustum, const float *clip)
 
void ImGuizmo::DrawCubes (const float *view, const float *projection, const float *matrices, int matrixCount)
 
void ImGuizmo::DrawGrid (const float *view, const float *projection, const float *matrix, const float gridSize)
 
void ImGuizmo::ViewManipulate (float *view, float length, ImVec2 position, ImVec2 size, ImU32 backgroundColor)
 

Variables

static const float ImGuizmo::ZPI = 3.14159265358979323846f
 
static const float ImGuizmo::RAD2DEG = (180.f / ZPI)
 
static const float ImGuizmo::DEG2RAD = (ZPI / 180.f)
 
const float ImGuizmo::screenRotateSize = 0.06f
 
static const OPERATION ImGuizmo::TRANSLATE_PLANS [3] = { TRANSLATE_Y | TRANSLATE_Z, TRANSLATE_X | TRANSLATE_Z, TRANSLATE_X | TRANSLATE_Y }
 
static Context ImGuizmo::gContext
 
static const vec_t ImGuizmo::directionUnary [3] = { makeVect(1.f, 0.f, 0.f), makeVect(0.f, 1.f, 0.f), makeVect(0.f, 0.f, 1.f) }
 
static const ImU32 ImGuizmo::directionColor [3] = { IM_COL32(0xAA, 0, 0, 0xFF), IM_COL32(0, 0xAA, 0, 0xFF), IM_COL32(0, 0, 0xAA, 0XFF) }
 
static const ImU32 ImGuizmo::planeColor [3] = { IM_COL32(0xAA, 0, 0, 0x61), IM_COL32(0, 0xAA, 0, 0x61), IM_COL32(0, 0, 0xAA, 0x61) }
 
static const ImU32 ImGuizmo::selectionColor = IM_COL32(0xFF, 0x80, 0x10, 0x8A)
 
static const ImU32 ImGuizmo::inactiveColor = IM_COL32(0x99, 0x99, 0x99, 0x99)
 
static const ImU32 ImGuizmo::translationLineColor = IM_COL32(0xAA, 0xAA, 0xAA, 0xAA)
 
static const char * ImGuizmo::translationInfoMask []
 
static const char * ImGuizmo::scaleInfoMask [] = { "X : %5.2f", "Y : %5.2f", "Z : %5.2f", "XYZ : %5.2f" }
 
static const char * ImGuizmo::rotationInfoMask [] = { "X : %5.2f deg %5.2f rad", "Y : %5.2f deg %5.2f rad", "Z : %5.2f deg %5.2f rad", "Screen : %5.2f deg %5.2f rad" }
 
static const int ImGuizmo::translationInfoIndex [] = { 0,0,0, 1,0,0, 2,0,0, 1,2,0, 0,2,0, 0,1,0, 0,1,2 }
 
static const float ImGuizmo::quadMin = 0.5f
 
static const float ImGuizmo::quadMax = 0.8f
 
static const float ImGuizmo::quadUV [8] = { quadMin, quadMin, quadMin, quadMax, quadMax, quadMax, quadMax, quadMin }
 
static const int ImGuizmo::halfCircleSegmentCount = 64
 
static const float ImGuizmo::snapTension = 0.5f
 

Macro Definition Documentation

◆ _freea

#define _freea ( x)

Definition at line 37 of file ImGuizmo.cpp.

◆ _malloca

#define _malloca ( x)
Value:
alloca(x)

Definition at line 36 of file ImGuizmo.cpp.

◆ IMGUI_DEFINE_MATH_OPERATORS

#define IMGUI_DEFINE_MATH_OPERATORS

Definition at line 27 of file ImGuizmo.cpp.