Initial revision
This commit is contained in:
403
source/blender/include/blendef.h
Normal file
403
source/blender/include/blendef.h
Normal file
@@ -0,0 +1,403 @@
|
||||
/* $Id$
|
||||
*
|
||||
* ***** BEGIN GPL/BL DUAL 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. The Blender
|
||||
* Foundation also sells licenses for use in proprietary software under
|
||||
* the Blender License. See http://www.blender.org/BL/ for information
|
||||
* about this.
|
||||
*
|
||||
* 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,
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* 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/BL DUAL LICENSE BLOCK *****
|
||||
*/
|
||||
#ifndef BLENDEF_H
|
||||
#define BLENDEF_H
|
||||
|
||||
#ifdef WIN32
|
||||
#else
|
||||
#ifndef __BeOS
|
||||
#define O_BINARY 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef MAXFLOAT
|
||||
#define MAXFLOAT ((float)3.40282347e+38)
|
||||
#endif
|
||||
|
||||
#include <float.h> /* deze moet een keer naar de blender.h */
|
||||
|
||||
|
||||
|
||||
|
||||
/* **************** ALGEMEEN ********************* */
|
||||
|
||||
#define VECCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);}
|
||||
#define QUATCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2); *(v1+3)= *(v2+3);}
|
||||
|
||||
#define INPR(v1, v2) ( (v1)[0]*(v2)[0] + (v1)[1]*(v2)[1] + (v1)[2]*(v2)[2] )
|
||||
#define CLAMP(a, b, c) if((a)<(b)) (a)=(b); else if((a)>(c)) (a)=(c)
|
||||
#define CLAMPIS(a, b, c) ((a)<(b) ? (b) : (a)>(c) ? (c) : (a))
|
||||
#define CLAMPTEST(a, b, c) if((b)<(c)) {CLAMP(a, b, c);} else {CLAMP(a, c, b);}
|
||||
|
||||
#define IS_EQ(a,b) ((fabs((double)(a)-(b)) >= (double) FLT_EPSILON) ? 0 : 1)
|
||||
|
||||
#define INIT_MINMAX(min, max) (min)[0]= (min)[1]= (min)[2]= 1.0e30; (max)[0]= (max)[1]= (max)[2]= -1.0e30;
|
||||
#define DO_MINMAX(vec, min, max) if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0]; \
|
||||
if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1]; \
|
||||
if( (min)[2]>(vec)[2] ) (min)[2]= (vec)[2]; \
|
||||
if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0]; \
|
||||
if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1]; \
|
||||
if( (max)[2]<(vec)[2] ) (max)[2]= (vec)[2]; \
|
||||
|
||||
#define DO_MINMAX2(vec, min, max) if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0]; \
|
||||
if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1]; \
|
||||
if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0]; \
|
||||
if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1];
|
||||
|
||||
#define MINSIZE(val, size) ( ((val)>=0.0) ? (((val)<(size)) ? (size): (val)) : ( ((val)>(-size)) ? (-size) : (val)))
|
||||
|
||||
#define BTST(a,b) ( ( (a) & 1<<(b) )!=0 )
|
||||
#define BCLR(a,b) ( (a) & ~(1<<(b)) )
|
||||
#define BSET(a,b) ( (a) | 1<<(b) )
|
||||
/* bit-row */
|
||||
#define BROW(min, max) (((max)>=31? 0xFFFFFFFF: (1<<(max+1))-1) - ((min)? ((1<<(min))-1):0) )
|
||||
|
||||
// return values
|
||||
|
||||
#define RET_OK 0
|
||||
#define RET_ERROR 1
|
||||
#define RET_CANCEL 2
|
||||
#define RET_YES (1 == 1)
|
||||
#define RET_NO (1 == 0)
|
||||
|
||||
#define LONGCOPY(a, b, c) {int lcpc=c, *lcpa=(int *)a, *lcpb=(int *)b; while(lcpc-->0) *(lcpa++)= *(lcpb++);}
|
||||
|
||||
#if defined(__sgi) || defined(__sparc) || defined (__PPC__) || defined (__ppc__) || defined (__BIG_ENDIAN__)
|
||||
/* big endian */
|
||||
#define MAKE_ID2(c, d) ( (c)<<8 | (d) )
|
||||
#define MOST_SIG_BYTE 0
|
||||
#define BBIG_ENDIAN
|
||||
#else
|
||||
/* little endian */
|
||||
#define MAKE_ID2(c, d) ( (d)<<8 | (c) )
|
||||
#define MOST_SIG_BYTE 1
|
||||
#define BLITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#define SELECT 1
|
||||
#define ACTIVE 2
|
||||
#define NOT_YET 0
|
||||
|
||||
|
||||
#define TESTBASE(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) )
|
||||
#define TESTBASELIB(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) && ((base)->object->id.lib==0))
|
||||
#define FIRSTBASE G.scene->base.first
|
||||
#define LASTBASE G.scene->base.last
|
||||
#define BASACT (G.scene->basact)
|
||||
#define OBACT (BASACT? BASACT->object: 0)
|
||||
#define ID_NEW(a) if( (a) && (a)->id.newid ) (a)= (void *)(a)->id.newid
|
||||
#define ID_NEW_US(a) if( (a)->id.newid) {(a)= (void *)(a)->id.newid; (a)->id.us++;}
|
||||
#define ID_NEW_US2(a) if( ((ID *)a)->newid) {(a)= ((ID *)a)->newid; ((ID *)a)->us++;}
|
||||
#define CFRA (G.scene->r.cfra)
|
||||
#define F_CFRA ((float)(G.scene->r.cfra))
|
||||
#define SFRA (G.scene->r.sfra)
|
||||
#define EFRA (G.scene->r.efra)
|
||||
|
||||
#define ISPOIN(a, b, c) ( (a->b) && (a->c) )
|
||||
#define ISPOIN3(a, b, c, d) ( (a->b) && (a->c) && (a->d) )
|
||||
#define ISPOIN4(a, b, c, d, e) ( (a->b) && (a->c) && (a->d) && (a->e) )
|
||||
|
||||
|
||||
#define KNOTSU(nu) ( (nu)->orderu+ (nu)->pntsu+ (nu->orderu-1)*((nu)->flagu & 1) )
|
||||
#define KNOTSV(nu) ( (nu)->orderv+ (nu)->pntsv+ (nu->orderv-1)*((nu)->flagv & 1) )
|
||||
|
||||
/* psfont */
|
||||
#define FNT_PDRAW 1
|
||||
#define FNT_HAEBERLI 2
|
||||
|
||||
|
||||
/* isect en scanfill */
|
||||
#define COMPLIMIT 0.0003
|
||||
|
||||
|
||||
/* **************** MAX ********************* */
|
||||
|
||||
|
||||
#define MAXLAMP 256
|
||||
/* max lengte material array, 16 vanwege bitjes in matfrom */
|
||||
#define MAXPICKBUF 2000
|
||||
#define MAXSEQ 32
|
||||
/* in Image struct */
|
||||
#define MAXMIPMAP 10
|
||||
/* in buttons.c */
|
||||
#define MAX_EFFECT 20
|
||||
|
||||
/* getbutton */
|
||||
|
||||
/* do_global_buttons(event) */
|
||||
|
||||
#define B_ACTLOCAL 24 /* __NLA */
|
||||
#define B_ACTALONE 25 /* __NLA */
|
||||
#define B_ARMLOCAL 26 /* __NLA */
|
||||
#define B_ARMALONE 27 /* __NLA */
|
||||
|
||||
#define B_WORLDLOCAL 28
|
||||
#define B_WORLDALONE 29
|
||||
#define B_LATTLOCAL 30
|
||||
#define B_MBALLLOCAL 31
|
||||
#define B_CAMERALOCAL 32
|
||||
#define B_OBLOCAL 33
|
||||
#define B_IPOLOCAL 34
|
||||
#define B_LAMPLOCAL 35
|
||||
#define B_MATLOCAL 36
|
||||
#define B_TEXLOCAL 37
|
||||
#define B_MESHLOCAL 38
|
||||
#define B_CURVELOCAL 39
|
||||
|
||||
#define B_LATTALONE 40
|
||||
#define B_MBALLALONE 41
|
||||
#define B_CAMERAALONE 42
|
||||
#define B_OBALONE 43
|
||||
#define B_IPOALONE 44
|
||||
#define B_LAMPALONE 45
|
||||
#define B_MATALONE 46
|
||||
#define B_TEXALONE 47
|
||||
#define B_MESHALONE 48
|
||||
#define B_CURVEALONE 49
|
||||
/* EVENT < 50: alone's en locals */
|
||||
|
||||
#define B_SHOWSPLASH 70
|
||||
#define B_RESETAUTOSAVE 71
|
||||
#define B_SOUNDTOGGLE 72
|
||||
#define B_MIPMAPCHANGED 73
|
||||
#define B_CONSTRAINTBROWSE 74 /* __NLA */
|
||||
#define B_ACTIONDELETE 75 /* __NLA */
|
||||
#define B_ACTIONBROWSE 76 /* __NLA */
|
||||
#define B_IMAGEDELETE 77
|
||||
#define B_LTEXBROWSE 78
|
||||
#define B_MESHBROWSE 79
|
||||
#define B_EXTEXBROWSE 80
|
||||
#define B_LOADTEMP 81
|
||||
#define B_MATDELETE 82
|
||||
#define B_TEXDELETE 83
|
||||
#define B_IPODELETE 84
|
||||
#define B_WORLDDELETE 85
|
||||
#define B_WTEXBROWSE 86
|
||||
#define B_WORLDBROWSE 87
|
||||
#define B_IPOBROWSE 88
|
||||
#define B_NEWFRAME 89
|
||||
#define B_LAMPBROWSE 90
|
||||
#define B_MATBROWSE 91
|
||||
#define B_TEXBROWSE 92
|
||||
#define B_EDITBROWSE 93
|
||||
#define B_AUTOTEXNAME 94
|
||||
#define B_AUTOMATNAME 95
|
||||
#define B_MATLOCK 96
|
||||
#define B_IDNAME 97
|
||||
#define B_NEWSPACE 98
|
||||
#define B_FULL 99
|
||||
#define B_REDR 100
|
||||
|
||||
|
||||
/* VIEW3D: 100 */
|
||||
#define B_HOME 101
|
||||
#define B_LAY 102
|
||||
/* pasop: codes 102-132 in gebuik voor layers */
|
||||
#define B_AUTOKEY 139
|
||||
#define B_SCENELOCK 140
|
||||
#define B_LOCALVIEW 141
|
||||
#define B_U_CAPSLOCK 142
|
||||
#define B_EDITMODE 143
|
||||
#define B_VPAINT 144
|
||||
#define B_FACESEL 145
|
||||
#define B_VIEWBUT 146
|
||||
#define B_PERSP 147
|
||||
#define B_PROPTOOL 148
|
||||
#define B_VIEWRENDER 149
|
||||
#define B_VIEWTRANS 150
|
||||
#define B_VIEWZOOM 151
|
||||
#define B_STARTGAME 152
|
||||
#define B_POSEMODE 153
|
||||
#define B_TEXTUREPAINT 154
|
||||
#define B_WPAINT 155
|
||||
|
||||
/* IPO: 200 */
|
||||
#define B_IPOHOME 201
|
||||
#define B_IPOBORDER 202
|
||||
#define B_IPOCOPY 203
|
||||
#define B_IPOPASTE 204
|
||||
#define B_IPOCONT 205
|
||||
#define B_IPOEXTRAP 206
|
||||
#define B_IPOCYCLIC 207
|
||||
#define B_IPOMAIN 208
|
||||
#define B_IPOSHOWKEY 209
|
||||
#define B_IPOCYCLICX 210
|
||||
/* warn: also used for oops and seq */
|
||||
#define B_VIEW2DZOOM 211
|
||||
#define B_IPOPIN 212
|
||||
|
||||
/* OOPS: 250 */
|
||||
#define B_OOPSHOME 251
|
||||
#define B_OOPSBORDER 252
|
||||
#define B_NEWOOPS 253
|
||||
|
||||
/* INFO: 300 */
|
||||
/* pas op: ook in filesel.c en editobject.c */
|
||||
#define B_INFOSCR 301
|
||||
#define B_INFODELSCR 302
|
||||
#define B_INFOSCE 304
|
||||
#define B_INFODELSCE 305
|
||||
#define B_FILEMENU 306
|
||||
#define B_PACKFILE 307
|
||||
|
||||
/* IMAGE: 350 */
|
||||
#define B_SIMAGEHOME 351
|
||||
#define B_SIMABROWSE 352
|
||||
#define B_SIMAGELOAD 353
|
||||
#define B_SIMAGEDRAW 354
|
||||
#define B_BE_SQUARE 355
|
||||
#define B_SIMAGEDRAW1 356
|
||||
#define B_TWINANIM 357
|
||||
#define B_SIMAGEREPLACE 358
|
||||
#define B_CLIP_UV 359
|
||||
#define B_SIMAGELOAD1 360
|
||||
#define B_SIMAGEREPLACE1 361
|
||||
#define B_SIMAGEPAINTTOOL 362
|
||||
#define B_SIMAPACKIMA 363
|
||||
#define B_SIMAGESAVE 364
|
||||
|
||||
/* BUTS: 400 */
|
||||
#define B_BUTSHOME 401
|
||||
#define B_BUTSPREVIEW 402
|
||||
#define B_MATCOPY 403
|
||||
#define B_MATPASTE 404
|
||||
#define B_MESHTYPE 405
|
||||
|
||||
/* IMASEL: 450 */
|
||||
/* in de imasel.h */
|
||||
|
||||
/* TEXT: 500 */
|
||||
#define B_TEXTBROWSE 501
|
||||
#define B_TEXTALONE 502
|
||||
#define B_TEXTLOCAL 503
|
||||
#define B_TEXTDELETE 504
|
||||
#define B_TEXTFONT 505
|
||||
#define B_TEXTSTORE 506
|
||||
|
||||
/* FILE: 550 */
|
||||
#define B_SORTFILELIST 551
|
||||
#define B_RELOADDIR 552
|
||||
|
||||
/* SEQUENCE: 600 */
|
||||
#define B_SEQHOME 601
|
||||
#define B_SEQCLEAR 602
|
||||
|
||||
/* SOUND: 650 */
|
||||
#define B_SOUNDBROWSE 651
|
||||
#define B_SOUNDBROWSE2 652
|
||||
#define B_SOUNDHOME 653
|
||||
#define B_PACKSOUND 654
|
||||
|
||||
/* ACTION: 701 - 800 */
|
||||
#define B_ACTHOME 701
|
||||
#define B_ACTCOPY 702
|
||||
#define B_ACTPASTE 703
|
||||
#define B_ACTPASTEFLIP 704
|
||||
#define B_ACTCYCLIC 705
|
||||
#define B_ACTCONT 706
|
||||
#define B_ACTMAIN 707
|
||||
#define B_ACTPIN 708
|
||||
#define B_ACTBAKE 709
|
||||
|
||||
#define B_NOTHING -1
|
||||
#define B_NOP -1
|
||||
|
||||
/* NLA: 801-900 */
|
||||
#define B_NLAHOME 801
|
||||
|
||||
/* editbutflag */
|
||||
#define B_CLOCKWISE 1
|
||||
#define B_KEEPORIG 2
|
||||
#define B_BEAUTY 4
|
||||
#define B_SMOOTH 8
|
||||
|
||||
|
||||
/* ***************** DISPLIST ***************** */
|
||||
|
||||
#define DL_POLY 0
|
||||
#define DL_SEGM 1
|
||||
#define DL_SURF 2
|
||||
#define DL_TRIA 3
|
||||
#define DL_INDEX3 4
|
||||
#define DL_INDEX4 5
|
||||
#define DL_VERTCOL 6
|
||||
#define DL_VERTS 7
|
||||
#define DL_NORS 8
|
||||
|
||||
#define DL_SURFINDEX(cyclu, cyclv, sizeu, sizev) \
|
||||
\
|
||||
if( (cyclv)==0 && a==(sizev)-1) break; \
|
||||
if(cyclu) { \
|
||||
p1= sizeu*a; \
|
||||
p2= p1+ sizeu-1; \
|
||||
p3= p1+ sizeu; \
|
||||
p4= p2+ sizeu; \
|
||||
b= 0; \
|
||||
} \
|
||||
else { \
|
||||
p2= sizeu*a; \
|
||||
p1= p2+1; \
|
||||
p4= p2+ sizeu; \
|
||||
p3= p1+ sizeu; \
|
||||
b= 1; \
|
||||
} \
|
||||
if( (cyclv) && a==sizev-1) { \
|
||||
p3-= sizeu*sizev; \
|
||||
p4-= sizeu*sizev; \
|
||||
}
|
||||
|
||||
/* DISPLAYMODE */
|
||||
#define R_DISPLAYVIEW 0
|
||||
#define R_DISPLAYWIN 1
|
||||
#define R_DISPLAYAUTO 2
|
||||
|
||||
|
||||
|
||||
#if defined(__sgi) || defined(__sparc) || defined (__PPC__) || defined (__ppc__) || defined (__BIG_ENDIAN__)
|
||||
#define RCOMP 3
|
||||
#define GCOMP 2
|
||||
#define BCOMP 1
|
||||
#define ACOMP 0
|
||||
|
||||
#else
|
||||
|
||||
#define RCOMP 0
|
||||
#define GCOMP 1
|
||||
#define BCOMP 2
|
||||
#define ACOMP 3
|
||||
#endif
|
||||
|
||||
#ifdef GS
|
||||
#undef GS
|
||||
#endif
|
||||
#define GS(a) (*((short *)(a)))
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user