diff options
author | Martin Poirier <theeth@yahoo.com> | 2008-02-18 01:19:02 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2008-02-18 01:19:02 +0300 |
commit | 83ddab60b72b693faa77068d77eb35f5555b81d2 (patch) | |
tree | 1442000f4bf7ba64fb26b376a7299b3a72bb5713 /source/blender/include | |
parent | 417687c4ff052fccd6b8da3931fc85d231504773 (diff) |
== Transform Orientations ==
Merge Normal orientation calculations with Custom Orientations, to make it work the same all accross the table:
- One or more faces: use average face normal (first edge of faces define tangent)
- One edge: use edge itself as normal (vertex normals define tangent)
- One vertex: use vertex normal (tangent is perpendicular to normal and z-axis)
- Two vertices => edge orientation
- Two vertices => face orientation
*I tested quite a bit but please report any bugs this might have caused.*
ADDED FILE WARNING: source/blender/src/transform_orientations.c
Diffstat (limited to 'source/blender/include')
-rw-r--r-- | source/blender/include/transform.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/include/transform.h b/source/blender/include/transform.h index 8f6d9bd75c7..96e45da22da 100644 --- a/source/blender/include/transform.h +++ b/source/blender/include/transform.h @@ -481,6 +481,17 @@ int addMatrixSpace(float mat[3][3], char name[]); int addObjectSpace(struct Object *ob); void applyTransformOrientation(void); + +#define ORIENTATION_NONE 0 +#define ORIENTATION_NORMAL 1 +#define ORIENTATION_VERT 2 +#define ORIENTATION_EDGE 3 +#define ORIENTATION_FACE 4 + +int getTransformOrientation(float normal[3], float plane[3], int activeOnly); +int createSpaceNormal(float mat[3][3], float normal[3]); +int createSpaceNormalTangent(float mat[3][3], float normal[3], float tangent[3]); + #endif |