Blender  V2.93
Macros | Enumerations | Functions
transform_orientations.h File Reference

Go to the source code of this file.

Macros

#define ORIENTATION_USE_PLANE(ty)   ELEM(ty, ORIENTATION_NORMAL, ORIENTATION_EDGE, ORIENTATION_FACE)
 

Enumerations

enum  {
  ORIENTATION_NONE = 0 , ORIENTATION_NORMAL = 1 , ORIENTATION_VERT = 2 , ORIENTATION_EDGE = 3 ,
  ORIENTATION_FACE = 4
}
 

Functions

short transform_orientation_matrix_get (struct bContext *C, struct TransInfo *t, short orient_index, const float custom[3][3], float r_spacemtx[3][3])
 
const char * transform_orientations_spacename_get (struct TransInfo *t, const short orient_type)
 
void transform_orientations_current_set (struct TransInfo *t, const short orient_index)
 
bool transform_orientations_create_from_axis (float mat[3][3], const float x[3], const float y[3], const float z[3])
 
bool createSpaceNormal (float mat[3][3], const float normal[3])
 
bool createSpaceNormalTangent (float mat[3][3], const float normal[3], const float tangent[3])
 
struct TransformOrientationaddMatrixSpace (struct bContext *C, float mat[3][3], const char *name, const bool overwrite)
 
void applyTransformOrientation (const struct TransformOrientation *ts, float r_mat[3][3], char r_name[64])
 
int getTransformOrientation_ex (const struct bContext *C, struct Object *ob, struct Object *obedit, float normal[3], float plane[3], const short around)
 
int getTransformOrientation (const struct bContext *C, float normal[3], float plane[3])
 

Macro Definition Documentation

◆ ORIENTATION_USE_PLANE

#define ORIENTATION_USE_PLANE (   ty)    ELEM(ty, ORIENTATION_NORMAL, ORIENTATION_EDGE, ORIENTATION_FACE)

Definition at line 59 of file transform_orientations.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ORIENTATION_NONE 
ORIENTATION_NORMAL 
ORIENTATION_VERT 
ORIENTATION_EDGE 
ORIENTATION_FACE 

Definition at line 52 of file transform_orientations.h.

Function Documentation

◆ addMatrixSpace()

struct TransformOrientation* addMatrixSpace ( struct bContext C,
float  mat[3][3],
const char *  name,
const bool  overwrite 
)

◆ applyTransformOrientation()

void applyTransformOrientation ( const struct TransformOrientation ts,
float  r_mat[3][3],
char  r_name[64] 
)

◆ createSpaceNormal()

bool createSpaceNormal ( float  mat[3][3],
const float  normal[3] 
)

◆ createSpaceNormalTangent()

bool createSpaceNormalTangent ( float  mat[3][3],
const float  normal[3],
const float  tangent[3] 
)
Note
To recreate an orientation from the matrix:
  • (plane == mat[1])
  • (normal == mat[2])

Definition at line 320 of file transform_orientations.c.

References cross_v3_v3v3(), is_zero_v3(), negate_v3_v3(), normal, normalize_v3(), and normalize_v3_v3().

Referenced by createBoneSpace(), createCurveSpace(), createMeshSpace(), createTransCurveVerts(), ED_getTransformOrientationMatrix(), and transform_convert_mesh_islands_calc().

◆ getTransformOrientation()

int getTransformOrientation ( const struct bContext C,
float  normal[3],
float  plane[3] 
)

◆ getTransformOrientation_ex()

int getTransformOrientation_ex ( const struct bContext C,
struct Object ob,
struct Object obedit,
float  normal[3],
float  plane[3],
const short  around 
)

◆ transform_orientation_matrix_get()

short transform_orientation_matrix_get ( struct bContext C,
struct TransInfo t,
short  orient_index,
const float  custom[3][3],
float  r_spacemtx[3][3] 
)

◆ transform_orientations_create_from_axis()

bool transform_orientations_create_from_axis ( float  mat[3][3],
const float  x[3],
const float  y[3],
const float  z[3] 
)

◆ transform_orientations_current_set()

void transform_orientations_current_set ( struct TransInfo t,
const short  orient_index 
)

◆ transform_orientations_spacename_get()

const char* transform_orientations_spacename_get ( struct TransInfo t,
const short  orient_type 
)