Blender V5.0
transform_constraints.cc File Reference
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_userdef_types.h"
#include "DNA_view3d_types.h"
#include "GPU_immediate.hh"
#include "GPU_matrix.hh"
#include "GPU_state.hh"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.h"
#include "BLI_math_rotation.h"
#include "BLI_rect.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "UI_resources.hh"
#include "transform.hh"
#include "transform_gizmo.hh"
#include "transform_orientations.hh"
#include "transform_snap.hh"
#include "transform_constraints.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::transform

Functions

Drawing Constraints
static void blender::ed::transform::drawObjectConstraint (TransInfo *t)
static void blender::ed::transform::drawLine (TransInfo *t, const float center[3], const float dir[3], char axis, short options)
void blender::ed::transform::drawConstraint (TransInfo *t)
void blender::ed::transform::drawPropCircle (TransInfo *t)
void blender::ed::transform::drawPropRange (TransInfo *t)
Internal Setup Calls
void blender::ed::transform::setConstraint (TransInfo *t, int mode, const char text[])
void blender::ed::transform::setAxisMatrixConstraint (TransInfo *t, int mode, const char text[])
void blender::ed::transform::setLocalConstraint (TransInfo *t, int mode, const char text[])
void blender::ed::transform::setUserConstraint (TransInfo *t, int mode, const char text_[])
Start / Stop Constraints
void blender::ed::transform::startConstraint (TransInfo *t)
void blender::ed::transform::stopConstraint (TransInfo *t)
Middle Mouse Button Select
void blender::ed::transform::initSelectConstraint (TransInfo *t)
void blender::ed::transform::selectConstraint (TransInfo *t)
void blender::ed::transform::postSelectConstraint (TransInfo *t)
static void blender::ed::transform::setNearestAxis2d (TransInfo *t)
static void blender::ed::transform::setNearestAxis3d (TransInfo *t)
void blender::ed::transform::setNearestAxis (TransInfo *t)
Helper Functions
int blender::ed::transform::constraintModeToIndex (const TransInfo *t)
bool blender::ed::transform::isLockConstraint (const TransInfo *t)
int blender::ed::transform::getConstraintSpaceDimension (const TransInfo *t)

Internal Utilities

#define CONSTRAIN_EPSILON   0.0001f
static void blender::ed::transform::projection_matrix_calc (const TransInfo *t, float r_pmtx[3][3])
static void blender::ed::transform::constraint_plane_normal_calc (const TransInfo *t, float r_plane_no[3])
void blender::ed::transform::constraintNumInput (TransInfo *t, float vec[3])
static void blender::ed::transform::viewAxisCorrectCenter (const TransInfo *t, float t_con_center[3])
static void blender::ed::transform::axisProjection (const TransInfo *t, const float axis[3], const float in[3], float out[3])
static void blender::ed::transform::constraint_snap_plane_to_edge (const TransInfo *t, const float plane_no[3], float r_out[3])
static void blender::ed::transform::UNUSED_FUNCTION (constraint_snap_plane_to_face(const TransInfo *t, const float plane[4], float r_out[3]))
void blender::ed::transform::transform_constraint_snap_axis_to_edge (const TransInfo *t, const float axis[3], float r_out[3])
void blender::ed::transform::transform_constraint_snap_axis_to_face (const TransInfo *t, const float axis[3], float r_out[3])
static bool blender::ed::transform::isPlaneProjectionViewAligned (const TransInfo *t, const float plane_no[3])
static void blender::ed::transform::planeProjection (const TransInfo *t, const float plane_no[3], const float in[3], float out[3])
static short blender::ed::transform::transform_orientation_or_default (const TransInfo *t)
static const float(* blender::ed::transform::transform_object_axismtx_get (const TransInfo *t, const TransDataContainer *tc, const TransData *td))[3]
void blender::ed::transform::transform_constraint_get_nearest (const TransInfo *t, const float3 &vec, float r_vec[3])
static void blender::ed::transform::applyAxisConstraintVec (const TransInfo *t, const TransDataContainer *, const TransData *td, const float in[3], float out[3])
static void blender::ed::transform::applyObjectConstraintVec (const TransInfo *t, const TransDataContainer *tc, const TransData *td, const float in[3], float out[3])
static void blender::ed::transform::applyAxisConstraintSize (const TransInfo *t, const TransDataContainer *, const TransData *td, float r_smat[3][3])
static void blender::ed::transform::applyObjectConstraintSize (const TransInfo *t, const TransDataContainer *tc, const TransData *td, float r_smat[3][3])
static void blender::ed::transform::constraints_rotation_impl (const TransInfo *t, const float axismtx[3][3], float r_axis[3])
static void blender::ed::transform::applyAxisConstraintRot (const TransInfo *t, const TransDataContainer *, const TransData *td, float r_axis[3])
static void blender::ed::transform::applyObjectConstraintRot (const TransInfo *t, const TransDataContainer *tc, const TransData *td, float r_axis[3])

Macro Definition Documentation

◆ CONSTRAIN_EPSILON