2011-02-23 10:52:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 *  * * * * *  BEGIN  GPL  LICENSE  BLOCK  * * * * * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  free  software ;  you  can  redistribute  it  and / or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  modify  it  under  the  terms  of  the  GNU  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  as  published  by  the  Free  Software  Foundation ;  either  version  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  of  the  License ,  or  ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  distributed  in  the  hope  that  it  will  be  useful , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .   See  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  GNU  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  You  should  have  received  a  copy  of  the  GNU  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  along  with  this  program ;  if  not ,  write  to  the  Free  Software  Foundation , 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-12 13:34:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  Inc . ,  51  Franklin  Street ,  Fifth  Floor ,  Boston ,  MA  02110 - 1301 ,  USA . 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  Original  Code  is  Copyright  ( C )  2001 - 2002  by  NaN  Holding  BV . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  All  rights  reserved . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  Original  Code  is :  all  of  this  file . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Contributor ( s ) :  none  yet . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  * * * * *  END  GPL  LICENSE  BLOCK  * * * * * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-02-27 20:29:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/** \file blender/editors/transform/transform.h
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *   \ ingroup  edtransform 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-17 18:59:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifndef __TRANSFORM_H__ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define __TRANSFORM_H__ 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-08 16:17:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "ED_transform.h" 
  
						 
					
						
							
								
									
										
										
										
											2010-02-20 20:29:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "ED_numinput.h" 
  
						 
					
						
							
								
									
										
										
										
											2013-02-28 11:29:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "ED_view3d.h" 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-12-01 18:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "DNA_listBase.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* ************************** Types ***************************** */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  TransInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  TransData ;  
						 
					
						
							
								
									
										
										
										
											2009-09-28 19:49:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  TransformOrientation ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								struct  TransSnap ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  NumInput ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  Object ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  View3D ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  ScrArea ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  Scene ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  bConstraint ;  
						 
					
						
							
								
									
										
										
										
											2009-12-21 17:23:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  wmKeyMap ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  wmKeyConfig ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								struct  bContext ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  wmEvent ;  
						 
					
						
							
								
									
										
										
										
											2009-02-16 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  wmTimer ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								struct  ARegion ;  
						 
					
						
							
								
									
										
										
										
											2009-09-28 19:49:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  ReportList ;  
						 
					
						
							
								
									
										
										
										
											2014-07-09 19:58:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  EditBone ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-10-23 06:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* transinfo->redraw */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TREDRAW_NOTHING    =  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TREDRAW_HARD       =  1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TREDRAW_SOFT       =  2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  eRedrawFlag ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-12-01 18:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  TransSnapPoint  {  
						 
					
						
							
								
									
										
										
										
											2012-04-29 15:47:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  TransSnapPoint  * next ,  * prev ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-12-01 18:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  co [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  TransSnapPoint ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransSnap  {  
						 
					
						
							
								
									
										
										
										
											2009-03-29 19:52:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short 	mode ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-12-03 19:18:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short 	target ; 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									short 	modePoint ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-26 19:47:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short 	modeSelect ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-04 09:20:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool 	align ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-17 02:53:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool 	project ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bool 	snap_self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bool 	peel ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-30 18:57:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool 	snap_spatial_grid ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 19:52:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short   	status ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-17 21:26:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 	snapPoint [ 3 ] ;  /* snapping from this point */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-20 15:06:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 	snapTarget [ 3 ] ;  /* to this point */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float 	snapNormal [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float 	snapTangent [ 3 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-06-29 14:34:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									char 	snapNodeBorder ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-12-01 18:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ListBase  points ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-26 20:23:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									TransSnapPoint 	* selectedPoint ; 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float 	dist ;  // Distance from snapPoint to snapTarget
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									double 	last ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void   ( * applySnap ) ( struct  TransInfo  * ,  float  * ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void   ( * calcSnap ) ( struct  TransInfo  * ,  float  * ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void   ( * targetSnap ) ( struct  TransInfo  * ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-17 02:53:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* Get the transform distance between two points (used by Closest snap) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   ( * distance ) ( struct  TransInfo  * ,  const  float  p1 [ 3 ] ,  const  float  p2 [ 3 ] ) ; 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  TransSnap ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransCon  {  
						 
					
						
							
								
									
										
										
										
											2009-12-17 17:34:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short  orientation ; 	 /**/ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									char   text [ 50 ] ;       /* Description of the Constraint for header_print                            */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  mtx [ 3 ] [ 3 ] ;      /* Matrix of the Constraint space                                            */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  imtx [ 3 ] [ 3 ] ;     /* Inverse Matrix of the Constraint space                                    */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  pmtx [ 3 ] [ 3 ] ;     /* Projection Constraint Matrix (same as imtx with some axis == 0)           */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 16:47:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int    imval [ 2 ] ; 	     /* initial mouse value for visual calculation                                */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 16:31:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									                     /* the one in TransInfo is not garanty to stay the same (Rotates change it)  */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int    mode ;           /* Mode flags of the Constraint                                              */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-15 13:08:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void   ( * drawExtra ) ( struct  TransInfo  * t ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 16:31:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									                     /* For constraints that needs to draw differently from the other
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									                      *  uses  this  instead  of  the  generic  draw  function                             */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-15 13:08:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void   ( * applyVec ) ( struct  TransInfo  * t ,  struct  TransData  * td ,  const  float  in [ 3 ] ,  float  out [ 3 ] ,  float  pvec [ 3 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 16:31:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									                     /* Apply function pointer for linear vectorial transformation                */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									                     /* The last three parameters are pointers to the in/out/printable vectors    */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-15 23:17:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void   ( * applySize ) ( struct  TransInfo  * t ,  struct  TransData  * td ,  float  smat [ 3 ] [ 3 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 16:31:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									                     /* Apply function pointer for size transformation */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-15 13:08:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void   ( * applyRot ) ( struct  TransInfo  * t ,  struct  TransData  * td ,  float  vec [ 3 ] ,  float  * angle ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 16:31:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									                     /* Apply function pointer for rotation transformation */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  TransCon ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransDataExtension  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  drot [ 3 ] ; 		 /* Initial object drot */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-25 16:49:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// float drotAngle;	 /* Initial object drotAngle,    TODO: not yet implemented */
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// float drotAxis[3];	 /* Initial object drotAxis, TODO: not yet implemented */
 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-28 10:19:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  dquat [ 4 ] ; 		 /* Initial object dquat */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-04 03:35:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  dscale [ 3 ] ;      /* Initial object dscale */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-05 16:05:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  * rot ;           /* Rotation of the data to transform                                              */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   irot [ 3 ] ;       /* Initial rotation                                                               */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-05 16:05:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  * quat ;          /* Rotation quaternion of the data to transform                                   */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   iquat [ 4 ] ; 	 /* Initial rotation quaternion                                                    */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-05 16:05:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  * rotAngle ; 	 /* Rotation angle of the data to transform                                        */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 16:31:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   irotAngle ; 	 /* Initial rotation angle                                                         */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-05 16:05:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  * rotAxis ; 		 /* Rotation axis of the data to transform                                         */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 16:31:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   irotAxis [ 4 ] ; 	 /* Initial rotation axis                                                          */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-08-05 16:05:24 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  * size ;          /* Size of the data to transform                                                  */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   isize [ 3 ] ; 	 /* Initial size                                                                   */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   obmat [ 4 ] [ 4 ] ; 	 /* Object matrix */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-10-24 06:16:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   l_smtx [ 3 ] [ 3 ] ;  /* use instead of td->smtx, It is the same but without the 'bone->bone_mat', see TD_PBONE_LOCAL_MTX_C */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-13 16:01:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   r_mtx [ 3 ] [ 3 ] ;   /* The rotscale matrix of pose bone, to allow using snap-align in translation mode,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									                      *  when  td - > mtx  is  the  loc  pose  bone  matrix  ( and  hence  can ' t  be  used  to  apply  rotation  in  some  cases , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									                      *  namely  when  a  bone  is  in  " NoLocal "  or  " Hinge "  mode ) . . .  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   r_smtx [ 3 ] [ 3 ] ;  /* Invers of previous one. */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-11-14 19:19:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int     rotOrder ; 	/* rotation mode,  as defined in eRotationModes (DNA_action_types.h) */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-23 12:06:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  oloc [ 3 ] ,  orot [ 3 ] ,  oquat [ 4 ] ,  orotAxis [ 3 ] ,  orotAngle ;  /* Original object transformation used for rigid bodies */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  TransDataExtension ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransData2D  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  loc [ 3 ] ; 		/* Location of data used to transform (x,y,0) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  * loc2d ; 		/* Pointer to real 2d location of data */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-06 19:54:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-10-21 01:33:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  * h1 ,  * h2 ;      /* Pointer to handle locations, if handles aren't being moved independently */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-06 19:54:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  ih1 [ 2 ] ,  ih2 [ 2 ] ; 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  TransData2D ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-03-09 00:41:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* we need to store 2 handles for each transdata in case the other handle wasnt selected */  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransDataCurveHandleFlags  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  ih1 ,  ih2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char  * h1 ,  * h2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  TransDataCurveHandleFlags ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-21 07:01:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* for sequencer transform */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransDataSeq  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  Sequence  * seq ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-23 23:14:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int  flag ; 		/* a copy of seq->flag that may be modified for nested strips */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-09-04 20:55:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int  start_offset ;  /* use this so we can have transform data at the strips start, but apply correctly to the start frame  */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-21 07:01:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short  sel_flag ;  /* one of SELECT, SEQ_LEFTSEL and SEQ_RIGHTSEL */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-21 07:01:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  TransDataSeq ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-11-24 18:18:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  TransSeq  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransDataSeq  * tdseq ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  min ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  max ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bool  snap_left ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  TransSeq ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 11:26:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* for NLA transform (stored in td->extra pointer) */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransDataNla  {  
						 
					
						
							
								
									
										
										
										
											2009-07-12 03:42:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ID  * id ; 						/* ID-block NLA-data is attached to */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
									
										
										
										
											2009-07-07 05:41:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  NlaTrack  * oldTrack ; 	/* Original NLA-Track that the strip belongs to */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  NlaTrack  * nlt ; 		/* Current NLA-Track that the strip belongs to */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  NlaStrip  * strip ; 		/* NLA-strip this data represents */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* dummy values for transform to write in - must have 3 elements... */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  h1 [ 3 ] ; 				/* start handle */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  h2 [ 3 ] ; 				/* end handle */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  trackIndex ; 				/* index of track that strip is currently in */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  handle ; 					/* handle-index: 0 for dummy entry, -1 for start, 1 for end, 2 for both ends */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-09 11:26:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  TransDataNla ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-09-22 08:41:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  LinkNode ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  GHash ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* header of TransDataEdgeSlideVert, TransDataEdgeSlideEdge */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransDataGenericSlideVert  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  BMVert  * v ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  LinkNode  * * cd_loop_groups ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-16 18:49:18 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  co_orig_3d [ 3 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  TransDataGenericSlideVert ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 05:19:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  TransDataEdgeSlideVert  {  
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* TransDataGenericSlideVert */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-29 00:53:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  BMVert  * v ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  LinkNode  * * cd_loop_groups ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-19 02:22:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  v_co_orig [ 3 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-16 18:49:18 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* end generic */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-12-26 08:47:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-05-23 09:46:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  edge_len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 19:57:54 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  BMVert  * v_side [ 2 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-16 18:49:18 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-11-07 11:19:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* add origvert.co to get the original locations */ 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 19:57:54 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  dir_side [ 2 ] [ 3 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-08-31 12:08:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  loop_nr ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 05:19:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  TransDataEdgeSlideVert ;  
						 
					
						
							
								
									
										
										
										
											2009-09-22 08:41:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-12 02:18:20 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* store original data so we can correct UV's and similar when sliding */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  SlideOrigData  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* flag that is set when origfaces is initialized */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bool  use_origfaces ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-16 18:49:18 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  GHash     * origverts ;   /* map {BMVert: TransDataGenericSlideVert} */ 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-12 02:18:20 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  GHash     * origfaces ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  BMesh  * bm_origfaces ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  MemArena  * arena ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* number of math BMLoop layers */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int   layer_math_map_num ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* array size of 'layer_math_map_num'
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  maps  TransDataVertSlideVert . cd_group  index  to  absolute  CustomData  layer  index  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  * layer_math_map ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 14:15:31 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* array of slide vert data especially for mirror verts */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransDataGenericSlideVert  * sv_mirror ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  totsv_mirror ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-12 02:18:20 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  SlideOrigData ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 05:19:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  EdgeSlideData  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransDataEdgeSlideVert  * sv ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-12-26 08:47:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int  totsv ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-27 13:47:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-04-19 02:22:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int  mval_start [ 2 ] ,  mval_end [ 2 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-04-13 21:48:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  BMEditMesh  * em ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-23 09:46:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-12 02:18:20 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									SlideOrigData  orig_data ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-23 09:46:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  perc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-18 23:20:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool  is_proportional ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bool  flipped_vtx ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-23 09:46:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  curr_sv_index ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 21:28:03 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/** when un-clamped - use this index: #TransDataEdgeSlideVert.dir_side */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  curr_side_unclamp ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 05:19:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  EdgeSlideData ;  
						 
					
						
							
								
									
										
										
										
											2009-09-22 08:41:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 14:08:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransDataVertSlideVert  {  
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* TransDataGenericSlideVert */ 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-29 19:39:58 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  BMVert  * v ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  LinkNode  * * cd_loop_groups ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-16 18:49:18 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float    co_orig_3d [ 3 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 19:40:54 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* end generic */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 14:08:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  ( * co_link_orig_3d ) [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int      co_link_tot ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int      co_link_curr ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  TransDataVertSlideVert ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  VertSlideData  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransDataVertSlideVert  * sv ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  totsv ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  BMEditMesh  * em ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-12 02:18:20 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									SlideOrigData  orig_data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 14:08:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  perc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-18 23:20:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool  is_proportional ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bool  flipped_vtx ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 14:08:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  curr_sv_index ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-08 22:58:31 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* result of ED_view3d_ob_project_mat_get */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  proj_mat [ 4 ] [ 4 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 14:08:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  VertSlideData ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-07-09 19:58:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  BoneInitData  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  EditBone  * bone ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  tail [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  rad_tail ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  roll ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  head [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  dist ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  xwidth ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float  zwidth ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  BoneInitData ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransData  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   dist ;          /* Distance needed to affect element (for Proportionnal Editing)                  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   rdist ;         /* Distance to the nearest element (for Proportionnal Editing)                    */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   factor ;        /* Factor of the transformation (for Proportionnal Editing)                       */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  * loc ;           /* Location of the data to transform                                              */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   iloc [ 3 ] ;       /* Initial location                                                               */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float  * val ;           /* Value pointer for special transforms */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-28 10:35:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   ival ;          /* Old value*/ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float   center [ 3 ] ; 	 /* Individual data center                                                         */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   mtx [ 3 ] [ 3 ] ;     /* Transformation matrix from data space to global space                          */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float   smtx [ 3 ] [ 3 ] ;    /* Transformation matrix from global space to data space                          */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float   axismtx [ 3 ] [ 3 ] ; /* Axis orientation matrix of the data                                            */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  Object  * ob ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  bConstraint  * con ; 	/* for objects/bones, the first constraint in its constraint stack */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransDataExtension  * ext ; 	/* for objects, poses. 1 single malloc per TransInfo! */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransDataCurveHandleFlags  * hdata ;  /* for curves, stores handle flags for modification/cancel */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-27 13:47:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void   * extra ; 		 /* extra data (mirrored element pointer, in editmode mesh to BMVert) (editbone for roll fixing) (...) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int   flag ;            /* Various flags */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									short   protectflag ; 	 /* If set, copy of Object or PoseChannel protection */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  TransData ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  MouseInput  {  
						 
					
						
							
								
									
										
										
										
											2013-01-14 08:02:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void 	( * apply ) ( struct  TransInfo  * t ,  struct  MouseInput  * mi ,  const  int  mval [ 2 ] ,  float  output [ 3 ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void 	( * post ) ( struct  TransInfo  * t ,  float  values [ 3 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 16:47:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int      imval [ 2 ] ;        	/* initial mouse position                */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-17 02:53:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool 	precision ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 16:47:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int      precision_mval [ 2 ] ; 	/* mouse position when precision key was pressed */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-12 03:42:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 	center [ 2 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 	factor ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-21 00:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void  	* data ;  /* additional data, if needed by the particular function */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  MouseInput ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  struct  TransInfo  {  
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int          mode ;            /* current mode                         */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int 	        flag ;            /* generic flags for special behaviors  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int 			modifiers ; 		/* special modifiers, by function, not key */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									short 		state ; 			/* current state (running, canceled,...)*/ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int          options ;         /* current context/options for transform                      */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float        val ;             /* init value for some transformations (and rotation angle)  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float        fac ;             /* factor for distance based transform  */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-23 03:57:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void       ( * transform ) ( struct  TransInfo  * ,  const  int [ 2 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
																/* transform function pointer           */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-23 06:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									eRedrawFlag  ( * handleEvent ) ( struct  TransInfo  * ,  const  struct  wmEvent  * ) ; 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
																/* event handler function pointer  RETURN 1 if redraw is needed */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int          total ;           /* total number of transformed data     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransData   * data ;            /* transformed data (array)             */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									TransDataExtension  * ext ; 	/* transformed data extension (array)   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransData2D  * data2d ; 		/* transformed data for 2d (array)      */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									TransCon     con ;             /* transformed constraint               */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TransSnap 	tsnap ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NumInput     num ;             /* numerical input                      */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MouseInput 	mouse ; 			/* mouse input                          */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-23 06:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									eRedrawFlag  redraw ;          /* redraw flag                          */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-06 15:50:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 		prop_size ; 		/* proportional circle radius           */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									char 		proptext [ 20 ] ; 	/* proportional falloff text			*/ 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-26 15:45:09 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float        aspect [ 3 ] ;       /* spaces using non 1:1 aspect, (uv's, f-curve, movie-clip... etc)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									                             *  use  for  conversion  and  snapping .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-26 16:19:39 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float        center [ 3 ] ;       /* center of transformation (in local-space) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float        center_global [ 3 ] ;   /* center of transformation (in global-space) */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-12 03:42:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float        center2d [ 2 ] ;     /* center in screen coordinates         */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 16:47:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int          imval [ 2 ] ;        /* initial mouse position               */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-28 15:39:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short 		event_type ; 		/* event->type used to invoke transform */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									short        idx_max ; 		/* maximum index on the input vector	*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float 		snap [ 3 ] ; 		/* Snapping Gears						*/ 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-30 18:57:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 		snap_spatial [ 3 ] ;  /* Spatial snapping gears(even when rotating, scaling... etc) */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-24 05:38:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									char 		frame_side ; 		/* Mouse side of the cfra, 'L', 'R' or 'B' */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float 		viewmat [ 4 ] [ 4 ] ; 	/* copy from G.vd, prevents feedback,   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float 		viewinv [ 4 ] [ 4 ] ;   /* and to make sure we don't have to    */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float 		persmat [ 4 ] [ 4 ] ;   /* access G.vd from other space types   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float 		persinv [ 4 ] [ 4 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									short 		persp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									short 		around ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									char 		spacetype ; 		/* spacetype where transforming is      */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-30 11:47:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									char 		helpline ; 		/* helpline modes (not to be confused with hotline) */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float 		vec [ 3 ] ; 			/* translation, to show for widget   	*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float 		mat [ 3 ] [ 3 ] ; 		/* rot/rescale, to show for widget   	*/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float 		spacemtx [ 3 ] [ 3 ] ; 	/* orientation matrix of the current space	*/ 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-11 08:51:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									char 		spacename [ 64 ] ; 	/* name of the current space, MAX_NAME		*/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									struct  Object  * poseobj ; 		/* if t->flag & T_POSE, this denotes pose object */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									void        * customData ; 		/* Per Transform custom data */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-22 20:16:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void   	  ( * customFree ) ( struct  TransInfo  * ) ;  /* if a special free function is needed */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*************** NEW STUFF *********************/ 
							 
						 
					
						
							
								
									
										
										
										
											2009-12-17 17:50:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short 		launch_event ;  	/* event type used to launch transform */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-06 15:50:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short 		current_orientation ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-12-17 17:50:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									short 		twtype ; 			/* backup from view3d, to restore on end */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-06 15:50:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									short 		prop_mode ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-15 21:54:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									short 		mirror ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-06 15:50:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									float 		values [ 4 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-06 15:50:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 		auto_values [ 4 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-04 20:49:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 		axis [ 3 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-11-03 04:38:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float 		axis_orig [ 3 ] ; 	/* TransCon can change 'axis', store the original value here */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-17 13:07:48 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-04-17 02:53:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool 		remove_on_cancel ;  /* remove elements if operator is canceled */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-17 13:07:48 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									void 		* view ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-11-20 21:43:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  bContext  * context ;  /* Only valid (non null) during an operator called function. */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									struct  ScrArea 	* sa ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  ARegion 	* ar ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									struct  Scene 	* scene ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 00:41:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  ToolSettings  * settings ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-16 03:01:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  wmTimer  * animtimer ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-02-14 14:01:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  wmKeyMap  * keymap ;   /* so we can do lookups for header text */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-20 06:04:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  ReportList  * reports ;   /* assign from the operator, or can be NULL */ 
							 
						 
					
						
							
								
									
										
										
										
											2011-05-12 16:47:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int          mval [ 2 ] ;         /* current mouse position               */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-03-09 11:40:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float        zfac ;            /* use for 3d view */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-12 02:16:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									struct  Object  * obedit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									float           obedit_mat [ 3 ] [ 3 ] ;  /* normalized editmode matrix (T_EDIT only) */ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									void 		* draw_handle_apply ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void 		* draw_handle_view ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void 		* draw_handle_pixel ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void 		* draw_handle_cursor ; 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  TransInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* ******************** Macros & Prototypes *********************** */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* transinfo->state */  
						 
					
						
							
								
									
										
										
										
											2009-11-12 19:49:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define TRANS_STARTING  0 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TRANS_RUNNING	1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TRANS_CONFIRM	2 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TRANS_CANCEL	3 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* transinfo->flag */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_OBJECT		(1 << 0) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_EDIT			(1 << 1) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_POSE			(1 << 2) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_TEXTURE		(1 << 3) 
  
						 
					
						
							
								
									
										
										
										
											2014-03-01 01:21:25 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* transforming the camera while in camera view */ 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# define T_CAMERA		(1 << 4) 
  
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // trans on points, having no rotation/scale
 
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# define T_POINTS		(1 << 6) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// for manipulator exceptions, like scaling using center point, drawing help lines
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_USES_MANIPULATOR	(1 << 7) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* restrictions flags */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_ALL_RESTRICTIONS	((1 << 8)|(1 << 9)|(1 << 10)) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_NO_CONSTRAINT		(1 << 8) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_NULL_ONE			(1 << 9) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_NO_ZERO			(1 << 10) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_PROP_EDIT			(1 << 11) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_PROP_CONNECTED	(1 << 12) 
  
						 
					
						
							
								
									
										
										
										
											2013-06-20 13:24:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define T_PROP_PROJECTED	(1 << 25) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_PROP_EDIT_ALL		(T_PROP_EDIT | T_PROP_CONNECTED | T_PROP_PROJECTED) 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_V3D_ALIGN			(1 << 14) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* for 2d views like uv or ipo */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define T_2D_EDIT			(1 << 15) 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# define T_CLIP_UV			(1 << 16) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_FREE_CUSTOMDATA	(1 << 17) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* auto-ik is on */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_AUTOIK			(1 << 18) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-06 15:50:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define T_MIRROR			(1 << 19) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_AUTOVALUES		(1 << 20) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* to specificy if we save back settings at the end */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define	T_MODAL				(1 << 21) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-03-28 13:59:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* no retopo */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_NO_PROJECT		(1 << 22) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-04-02 19:40:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define T_RELEASE_CONFIRM	(1 << 23) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-11-07 12:55:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* alternative transformation. used to add offset to tracking markers */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define T_ALT_TRANSFORM		(1 << 24) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-03 22:15:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* TransInfo->modifiers */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define	MOD_CONSTRAINT_SELECT	0x01 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define	MOD_PRECISION			0x02 
  
						 
					
						
							
								
									
										
										
										
											2009-11-26 19:47:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define	MOD_SNAP				0x04 
  
						 
					
						
							
								
									
										
										
										
											2009-12-03 19:18:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define	MOD_SNAP_INVERT			0x08 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define	MOD_CONSTRAINT_PLANE	0x10 
  
						 
					
						
							
								
									
										
										
										
											2009-01-03 22:15:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-21 13:13:41 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* use node center for transform instead of upper-left corner.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  disabled  since  it  makes  absolute  snapping  not  work  so  nicely 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// #define USE_NODE_CENTER
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-03 22:15:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* ******************************************************************************** */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-04-30 11:47:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* transinfo->helpline */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define HLP_NONE		0 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define HLP_SPRING		1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define HLP_ANGLE		2 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define HLP_HARROW		3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define HLP_VARROW		4 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define HLP_TRACKBALL	5 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* transinfo->con->mode */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define CON_APPLY		1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define CON_AXIS0		2 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define CON_AXIS1		4 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define CON_AXIS2		8 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define CON_SELECT		16 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define CON_NOFLIP		32	 /* does not reorient vector to face viewport when on */ 
  
						 
					
						
							
								
									
										
										
										
											2009-01-18 21:36:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define CON_USER		64 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* transdata->flag */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_SELECTED			1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define	TD_NOACTION			(1 << 2) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define	TD_USEQUAT			(1 << 3) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_NOTCONNECTED		(1 << 4) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_SINGLESIZE		(1 << 5)	 /* used for scaling of MetaElem->rad */ 
  
						 
					
						
							
								
									
										
											 
										
											
												Merge plane track feature from tomato branch
This commit includes all the changes made for plane tracker
in tomato branch.
Movie clip editor changes:
- Artist might create a plane track out of multiple point
  tracks which belongs to the same track (minimum amount of
  point tracks is 4, maximum is not actually limited).
  When new plane track is added, it's getting "tracked"
  across all point tracks, which makes it stick to the same
  plane point tracks belong to.
- After plane track was added, it need to be manually adjusted
  in a way it covers feature one might to mask/replace.
  General transform tools (G, R, S) or sliding corners with
  a mouse could be sued for this. Plane corner which
  corresponds to left bottom image corner has got X/Y axis
  on it (red is for X axis, green for Y).
- Re-adjusting plane corners makes plane to be "re-tracked"
  for the frames sequence between current frame and next
  and previous keyframes.
- Kayframes might be removed from the plane, using Shit-X
  (Marker Delete) operator. However, currently manual
  re-adjustment or "re-track" trigger is needed.
Compositor changes:
- Added new node called Plane Track Deform.
- User selects which plane track to use (for this he need
  to select movie clip datablock, object and track names).
- Node gets an image input, which need to be warped into
  the plane.
- Node outputs:
  * Input image warped into the plane.
  * Plane, rasterized to a mask.
Masking changes:
- Mask points might be parented to a plane track, which
  makes this point deforming in a way as if it belongs
  to the tracked plane.
Some video tutorials are available:
- Coder video: http://www.youtube.com/watch?v=vISEwqNHqe4
- Artist video: https://vimeo.com/71727578
This is mine and Keir's holiday code project :)
											 
										 
										
											2013-08-16 09:46:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define TD_INDIVIDUAL_SCALE	(1 << 8)  /* Scale relative to individual element center */ 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# define TD_NOCENTER			(1 << 9) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_NO_EXT			(1 << 10)	 /* ext abused for particle key timing */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_SKIP				(1 << 11)	 /* don't transform this data */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_BEZTRIPLE		(1 << 12)	 /* if this is a bez triple, we need to restore the handles, if this is set transdata->misc.hdata needs freeing */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_NO_LOC			(1 << 13)	 /* when this is set, don't apply translation changes to this element */ 
  
						 
					
						
							
								
									
										
										
										
											2009-01-28 02:56:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define TD_NOTIMESNAP		(1 << 14)	 /* for Graph Editor autosnap, indicates that point should not undergo autosnapping */ 
  
						 
					
						
							
								
									
										
										
										
											2011-09-25 12:31:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define TD_INTVALUES		(1 << 15) 	 /* for Graph Editor - curves that can only have int-values need their keyframes tagged with this */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_MIRROR_EDGE		(1 << 16) 	 /* For editmode mirror, clamp to x = 0 */ 
  
						 
					
						
							
								
									
										
										
										
											2010-05-06 19:54:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define TD_MOVEHANDLE1		(1 << 17)	 /* For fcurve handles, move them along with their keyframes */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_MOVEHANDLE2		(1 << 18) 
  
						 
					
						
							
								
									
										
										
										
											2010-10-24 06:16:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define TD_PBONE_LOCAL_MTX_P (1 << 19)	 /* exceptional case with pose bone rotating when a parent bone has 'Local Location' option enabled and rotating also transforms it. */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TD_PBONE_LOCAL_MTX_C (1 << 20)	 /* same as above but for a child bone */ 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* transsnap->status */  
						 
					
						
							
								
									
										
										
										
											2009-11-26 19:47:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define SNAP_FORCED		1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define TARGET_INIT		2 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define POINT_INIT		4 
  
						 
					
						
							
								
									
										
										
										
											2009-12-01 18:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# define MULTI_POINTS	8 
  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-04-17 13:46:34 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  initTransform ( struct  bContext  * C ,  struct  TransInfo  * t ,  struct  wmOperator  * op ,  const  struct  wmEvent  * event ,  int  mode ) ;  
						 
					
						
							
								
									
										
										
										
											2009-01-03 22:15:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  saveTransform ( struct  bContext  * C ,  struct  TransInfo  * t ,  struct  wmOperator  * op ) ;  
						 
					
						
							
								
									
										
										
										
											2013-03-13 09:03:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								int   transformEvent ( TransInfo  * t ,  const  struct  wmEvent  * event ) ;  
						 
					
						
							
								
									
										
										
										
											2010-11-20 21:43:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  transformApply ( struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2008-12-31 17:11:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								int   transformEnd ( struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  setTransformViewMatrices ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2015-06-26 15:45:09 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  setTransformViewAspect ( TransInfo  * t ,  float  r_aspect [ 3 ] ) ;  
						 
					
						
							
								
									
										
										
										
											2012-03-12 06:53:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  convertViewVec ( TransInfo  * t ,  float  r_vec [ 3 ] ,  int  dx ,  int  dy ) ;  
						 
					
						
							
								
									
										
										
										
											2013-02-28 11:29:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  projectIntViewEx ( TransInfo  * t ,  const  float  vec [ 3 ] ,  int  adr [ 2 ] ,  const  eV3DProjTest  flag ) ;  
						 
					
						
							
								
									
										
										
										
											2012-03-12 06:53:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  projectIntView ( TransInfo  * t ,  const  float  vec [ 3 ] ,  int  adr [ 2 ] ) ;  
						 
					
						
							
								
									
										
										
										
											2013-02-28 11:29:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  projectFloatViewEx ( TransInfo  * t ,  const  float  vec [ 3 ] ,  float  adr [ 2 ] ,  const  eV3DProjTest  flag ) ;  
						 
					
						
							
								
									
										
										
										
											2012-03-12 06:53:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  projectFloatView ( TransInfo  * t ,  const  float  vec [ 3 ] ,  float  adr [ 2 ] ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-30 11:08:33 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  applyAspectRatio ( TransInfo  * t ,  float  vec [ 2 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  removeAspectRatio ( TransInfo  * t ,  float  vec [ 2 ] ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-28 20:46:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  drawPropCircle ( const  struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-01-10 18:33:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-12-21 17:23:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  wmKeyMap  * transform_modal_keymap ( struct  wmKeyConfig  * keyconf ) ;  
						 
					
						
							
								
									
										
											 
										
											
												2.5
Modal keymaps.
I've tried to make it as simple as possible, yet still using sufficient facilities to enable self-documenting UIs, saving/reading in files, and proper Python support.
The simplicity is: the 'modal keymap' just checks an event, uses event matching similarly to other keymap matching, and if there's a match it changes the event type, and sets the event value to what the modal keymap has defined. The event values are being defined using EnumPropertyItem structs, so the UI will be able to show all options in self-documenting way.
This system also allows to still handle hardcoded own events.
Tech doc:
1) define keymap
- Create map with unique name, WM_modalkeymap_add()
- Give map property definitions (EnumPropertyItem *)
  This only for UI, so user can get information on available options
2) items
- WM_modalkeymap_add_item(): give it an enum value for events
3) activate
- In keymap definition code, assign the modal keymap to operatortype
  WM_modalkeymap_assign()
4) event manager
- The event handler will check for modal keymap, if so:
  - If the modal map has a match:
    - Sets event->type to EVT_MODAL_MAP
    - Sets event->val to the enum value
5) modal handler
- If event type is EVT_MODAL_MAP:
  - Check event->val, handle it
- Other events can just be handled still
Two examples added in the code:
editors/transform/transform.c: transform_modal_keymap()
editors/screen/screen_ops.c: keymap_modal_set()
Also: to support 'key release' the define KM_RELEASE now is officially
used in event manager, this is not '0', so don't check key events with
the old convention if(event->val) but use if(event->val==KM_PRESS)
											 
										 
										
											2009-07-21 11:03:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/*********************** transform_conversions.c ********** */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  ListBase ;  
						 
					
						
							
								
									
										
										
										
											2009-01-28 02:56:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-08 14:31:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  flushTransIntFrameActionData ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-01-28 02:56:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  flushTransGraphData ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  remake_graph_transdata ( TransInfo  * t ,  struct  ListBase  * anim_data ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  flushTransUVs ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  flushTransParticles ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-04-04 09:20:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  clipUVTransform ( TransInfo  * t ,  float  vec [ 2 ] ,  const  bool  resize ) ;  
						 
					
						
							
								
									
										
										
										
											2012-08-06 13:40:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  clipUVData ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-01-04 01:08:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  flushTransNodes ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-01-21 07:01:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  flushTransSeq ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2011-11-07 12:55:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  flushTransTracking ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2012-06-04 16:42:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  flushTransMasking ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2014-07-21 12:02:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  flushTransPaintCurve ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2014-07-09 19:58:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  restoreBones ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*********************** exported from transform_manipulator.c ********** */  
						 
					
						
							
								
									
										
										
										
											2014-04-17 13:46:34 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  gimbal_axis ( struct  Object  * ob ,  float  gmat [ 3 ] [ 3 ] ) ;  /* return 0 when no gimbal for selection */  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*********************** TransData Creation and General Handling *********** */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  createTransData ( struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  sort_trans_data_dist ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-12-14 03:20:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  special_aftertrans_update ( struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-06-24 22:41:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								int   special_transform_moving ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  transform_autoik_update ( TransInfo  * t ,  short  mode ) ;  
						 
					
						
							
								
									
										
										
										
											2014-11-27 21:37:42 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  transdata_check_local_islands ( TransInfo  * t ,  short  around ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-12 02:01:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								int  count_set_pose_transflags ( int  * out_mode ,  short  around ,  struct  Object  * ob ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* auto-keying stuff used by special_aftertrans_update */  
						 
					
						
							
								
									
										
										
										
											2009-12-14 03:20:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  autokeyframe_ob_cb_func ( struct  bContext  * C ,  struct  Scene  * scene ,  struct  View3D  * v3d ,  struct  Object  * ob ,  int  tmode ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  autokeyframe_pose_cb_func ( struct  bContext  * C ,  struct  Scene  * scene ,  struct  View3D  * v3d ,  struct  Object  * ob ,  int  tmode ,  short  targetless_ik ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*********************** Constraints *****************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-10-16 14:32:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  drawConstraint ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-01-10 18:33:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  getConstraintMatrix ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  setConstraint ( TransInfo  * t ,  float  space [ 3 ] [ 3 ] ,  int  mode ,  const  char  text [ ] ) ;  
						 
					
						
							
								
									
										
										
										
											2013-05-01 05:26:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  setAxisMatrixConstraint ( TransInfo  * t ,  int  mode ,  const  char  text [ ] ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  setLocalConstraint ( TransInfo  * t ,  int  mode ,  const  char  text [ ] ) ;  
						 
					
						
							
								
									
										
										
										
											2009-10-07 20:55:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  setUserConstraint ( TransInfo  * t ,  short  orientation ,  int  mode ,  const  char  text [ ] ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  constraintNumInput ( TransInfo  * t ,  float  vec [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-04-04 09:20:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  isLockConstraint ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								int   getConstraintSpaceDimension ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								char  constraintModeToChar ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  startConstraint ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  stopConstraint ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  initSelectConstraint ( TransInfo  * t ,  float  mtx [ 3 ] [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  selectConstraint ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  postSelectConstraint ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  setNearestAxis ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*********************** Snapping ********************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NO_GEARS  	=  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									BIG_GEARS 	=  1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									SMALL_GEARS 	=  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GearsType ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 17:46:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  snapGridIncrement ( TransInfo  * t ,  float  * val ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  snapGridIncrementAction ( TransInfo  * t ,  float  * val ,  GearsType  action ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-19 20:47:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  snapSequenceBounds ( TransInfo  * t ,  const  int  mval [ 2 ] ) ;  
						 
					
						
							
								
									
										
										
										
											2014-11-24 18:18:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-04-04 09:20:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  activeSnap ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								bool  validSnap ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-12-03 19:18:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 19:52:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  initSnapping ( struct  TransInfo  * t ,  struct  wmOperator  * op ) ;  
						 
					
						
							
								
									
										
										
										
											2009-10-12 22:33:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  applyProject ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-11-06 17:46:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  applyGridAbsolute ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  applySnapping ( TransInfo  * t ,  float  * vec ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  resetSnapping ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-10-23 06:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								eRedrawFlag  handleSnapping ( TransInfo  * t ,  const  struct  wmEvent  * event ) ;  
						 
					
						
							
								
									
										
										
										
											2009-03-28 20:46:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  drawSnapping ( const  struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-04-04 09:20:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  usingSnappingNormal ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								bool  validSnappingNormal ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-12-01 18:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  getSnapPoint ( TransInfo  * t ,  float  vec [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  addSnapPoint ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-10-23 06:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								eRedrawFlag  updateSelectedSnapPoint ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2009-12-01 18:26:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  removeSnapPoint ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/********************** Mouse Input ******************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									INPUT_NONE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									INPUT_VECTOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									INPUT_SPRING , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									INPUT_SPRING_FLIP , 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-03 22:02:02 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									INPUT_SPRING_DELTA , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									INPUT_ANGLE , 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-13 01:09:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									INPUT_ANGLE_SPRING , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									INPUT_TRACKBALL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									INPUT_HORIZONTAL_RATIO , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									INPUT_HORIZONTAL_ABSOLUTE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									INPUT_VERTICAL_RATIO , 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-21 00:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									INPUT_VERTICAL_ABSOLUTE , 
							 
						 
					
						
							
								
									
										
										
										
											2013-01-31 22:18:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									INPUT_CUSTOM_RATIO , 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-03 22:02:02 +06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									INPUT_CUSTOM_RATIO_FLIP , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  MouseInputMode ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-10-12 03:42:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  initMouseInput ( TransInfo  * t ,  MouseInput  * mi ,  const  float  center [ 2 ] ,  const  int  mval [ 2 ] ) ;  
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  initMouseInputMode ( TransInfo  * t ,  MouseInput  * mi ,  MouseInputMode  mode ) ;  
						 
					
						
							
								
									
										
										
										
											2013-10-23 06:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								eRedrawFlag  handleMouseInput ( struct  TransInfo  * t ,  struct  MouseInput  * mi ,  const  struct  wmEvent  * event ) ;  
						 
					
						
							
								
									
										
										
										
											2011-05-20 07:40:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  applyMouseInput ( struct  TransInfo  * t ,  struct  MouseInput  * mi ,  const  int  mval [ 2 ] ,  float  output [ 3 ] ) ;  
						 
					
						
							
								
									
										
										
										
											2008-12-29 20:37:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-15 03:35:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  setCustomPoints ( TransInfo  * t ,  MouseInput  * mi ,  const  int  start [ 2 ] ,  const  int  end [ 2 ] ) ;  
						 
					
						
							
								
									
										
										
										
											2013-01-14 08:02:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  setInputPostFct ( MouseInput  * mi ,  void 	( * post ) ( struct  TransInfo  * t ,  float  values [ 3 ] ) ) ;  
						 
					
						
							
								
									
										
										
										
											2009-09-21 00:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/*********************** Generics ********************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-25 07:49:49 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  initTransInfo ( struct  bContext  * C ,  TransInfo  * t ,  struct  wmOperator  * op ,  const  struct  wmEvent  * event ) ;  
						 
					
						
							
								
									
										
										
										
											2013-04-18 01:52:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  postTrans ( struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-04-24 15:15:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  resetTransModal ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  resetTransRestrictions ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-08-05 20:40:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  drawLine ( TransInfo  * t ,  const  float  center [ 3 ] ,  const  float  dir [ 3 ] ,  char  axis ,  short  options ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* DRAWLINE options flags */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define DRAWLIGHT	1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  applyTransObjects ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  restoreTransObjects ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  recalcData ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  calculateCenter2D ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2015-06-26 16:19:39 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  calculateCenterGlobal ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-09 16:52:09 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  calculateCenter ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* API functions for getting center points */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  calculateCenterBound ( TransInfo  * t ,  float  r_center [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  calculateCenterMedian ( TransInfo  * t ,  float  r_center [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  calculateCenterCursor ( TransInfo  * t ,  float  r_center [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  calculateCenterCursor2D ( TransInfo  * t ,  float  r_center [ 2 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  calculateCenterCursorGraph2D ( TransInfo  * t ,  float  r_center [ 2 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								bool  calculateCenterActive ( TransInfo  * t ,  bool  select_only ,  float  r_center [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  calculatePropRatio ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  getViewVector ( TransInfo  * t ,  float  coord [ 3 ] ,  float  vec [ 3 ] ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-14 04:27:32 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  transform_data_ext_rotate ( TransData  * td ,  float  mat [ 3 ] [ 3 ] ,  bool  use_drot ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-18 21:36:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*********************** Transform Orientations ******************************/  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-18 21:36:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  initTransformOrientation ( struct  bContext  * C ,  TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* Those two fill in mat and return non-zero on success */  
						 
					
						
							
								
									
										
										
										
											2013-04-04 09:20:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  createSpaceNormal ( float  mat [ 3 ] [ 3 ] ,  const  float  normal [ 3 ] ) ;  
						 
					
						
							
								
									
										
										
										
											2013-07-24 13:56:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  createSpaceNormalTangent ( float  mat [ 3 ] [ 3 ] ,  const  float  normal [ 3 ] ,  const  float  tangent [ 3 ] ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-25 07:49:49 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								struct  TransformOrientation  * addMatrixSpace ( struct  bContext  * C ,  float  mat [ 3 ] [ 3 ] ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                            const  char  * name ,  const  bool  overwrite ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-25 08:37:57 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  applyTransformOrientation ( const  struct  bContext  * C ,  float  mat [ 3 ] [ 3 ] ,  char  r_name [ 64 ] ) ;  
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ORIENTATION_NONE	0 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ORIENTATION_NORMAL	1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ORIENTATION_VERT	2 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ORIENTATION_EDGE	3 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define ORIENTATION_FACE	4 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-25 07:49:49 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								int  getTransformOrientation ( const  struct  bContext  * C ,  float  normal [ 3 ] ,  float  plane [ 3 ] ,  const  bool  activeOnly ) ;  
						 
					
						
							
								
									
										
										
										
											2009-11-06 10:38:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-01-13 05:19:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  freeEdgeSlideTempFaces ( EdgeSlideData  * sld ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  freeEdgeSlideVerts ( TransInfo  * t ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  projectEdgeSlideData ( TransInfo  * t ,  bool  is_final ) ;  
						 
					
						
							
								
									
										
										
										
											2009-09-22 08:41:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-12 02:18:20 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  freeVertSlideTempFaces ( VertSlideData  * sld ) ;  
						 
					
						
							
								
									
										
										
										
											2013-01-13 14:08:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  freeVertSlideVerts ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2015-01-12 02:18:20 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  projectVertSlideData ( TransInfo  * t ,  bool  is_final ) ;  
						 
					
						
							
								
									
										
										
										
											2013-01-13 14:08:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-02-18 16:35:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* TODO. transform_queries.c */  
						 
					
						
							
								
									
										
										
										
											2013-05-01 05:26:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								bool  checkUseAxisMatrix ( TransInfo  * t ) ;  
						 
					
						
							
								
									
										
										
										
											2013-02-18 16:35:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
											
												2.5
Transform:
First working port of the transform code:
- Object mode only (other conversions need to be ported)
- Contraints (global and local only) working
- Snap (no edit mode, obviously) working
- Numinput working
- Gears (Ctrl and Shift) working
- Only grap, rotate, scale, shear, warp and to sphere have been added as hotkey, but the rest should work too once accessible
- No manipulator
- No drawn feedback other than moving stuff and header print (no constraint line, snap circle, ...)
- No NDOF support
I've only tested Scons support, though Makefil *should* work, I *think*.
Misc:
-QuatIsNull function in arith
-Exporting project_* and view[line|ray] functions from view3d
											 
										 
										
											2008-12-29 01:41:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# endif