Blender  V3.3
Public Attributes | List of all members
TransDataContainer Struct Reference

#include <transform.h>

Public Attributes

TransDatadata
 
TransDataExtensiondata_ext
 
TransData2Ddata_2d
 
TransDataMirrordata_mirror
 
int data_len
 
int data_mirror_len
 
int data_gpf_len
 
struct Objectobedit
 
float mat [4][4]
 
float imat [4][4]
 
float mat3 [3][3]
 
float imat3 [3][3]
 
float mat3_unit [3][3]
 
struct Objectposeobj
 
float center_local [3]
 
bool is_active
 
bool use_local_mat
 
union {
   struct {
      uint   use_mirror_axis_x: 1
 
      uint   use_mirror_axis_y: 1
 
      uint   use_mirror_axis_z: 1
 
   } 
 
   char   use_mirror_axis_any
 
}; 
 
TransCustomDataContainer custom
 

Detailed Description

Container for Transform Data

Used to implement multi-object modes, so each object can have its own data array as well as object matrix, local center etc.

Anything that can't be shared between all objects and doesn't make sense to store for every vertex (in the TransDataContainer.data).

Note
at some point this could be used to store non object containers although this only makes sense if each container has its own matrices, otherwise all elements may as well be stored in one array (TransDataContainer.data), as is already done for curve-objects, f-curves. etc.

Definition at line 425 of file source/blender/editors/transform/transform.h.

Member Data Documentation

◆ 

union { ... }

Mirror option.

◆ center_local

float TransDataContainer::center_local[3]

◆ custom

TransCustomDataContainer TransDataContainer::custom

◆ data

TransData* TransDataContainer::data

◆ data_2d

TransData2D* TransDataContainer::data_2d

◆ data_ext

TransDataExtension* TransDataContainer::data_ext

◆ data_gpf_len

int TransDataContainer::data_gpf_len

Total number of transformed gp-frames.

Definition at line 440 of file source/blender/editors/transform/transform.h.

Referenced by createTransActionData(), and flushTransIntFrameActionData().

◆ data_len

int TransDataContainer::data_len

◆ data_mirror

TransDataMirror* TransDataContainer::data_mirror

◆ data_mirror_len

int TransDataContainer::data_mirror_len

◆ imat

float TransDataContainer::imat[4][4]

◆ imat3

float TransDataContainer::imat3[3][3]

◆ is_active

bool TransDataContainer::is_active

Use for cases we care about the active, eg: active vert of active mesh. if set this will always be the first item in the array.

Definition at line 463 of file source/blender/editors/transform/transform.h.

Referenced by createTransSculpt().

◆ mat

float TransDataContainer::mat[4][4]

◆ mat3

float TransDataContainer::mat3[3][3]

3x3 copies of matrices above.

Definition at line 447 of file source/blender/editors/transform/transform.h.

Referenced by ElementRotation_ex(), and init_TransDataContainers().

◆ mat3_unit

float TransDataContainer::mat3_unit[3][3]

◆ obedit

struct Object* TransDataContainer::obedit

◆ poseobj

struct Object* TransDataContainer::poseobj

if 't->flag & T_POSE', this denotes pose object

Definition at line 454 of file source/blender/editors/transform/transform.h.

Referenced by ElementResize(), init_TransDataContainers(), restoreBones(), and restoreMirrorPoseBones().

◆ use_local_mat

bool TransDataContainer::use_local_mat

Store matrix, this avoids having to have duplicate check all over Typically: 'obedit->obmat' or 'poseobj->obmat', but may be used elsewhere too.

Definition at line 469 of file source/blender/editors/transform/transform.h.

Referenced by applyFaceNearest(), applyFaceProject(), Bend(), edge_slide_snap_apply(), init_TransDataContainers(), transdata_center_global_get(), and vert_slide_snap_apply().

◆ use_mirror_axis_any

char TransDataContainer::use_mirror_axis_any

◆ use_mirror_axis_x

uint TransDataContainer::use_mirror_axis_x

◆ use_mirror_axis_y

uint TransDataContainer::use_mirror_axis_y

◆ use_mirror_axis_z

uint TransDataContainer::use_mirror_axis_z

The documentation for this struct was generated from the following file: