style cleanup: mostly whitespace around operators

This commit is contained in:
Campbell Barton 2012-03-25 23:54:33 +00:00
parent 1ce2c73816
commit 09144c3756
16 changed files with 5170 additions and 5154 deletions

View File

@ -70,7 +70,7 @@
/* Set up drawing environment for drawing motion paths */
void draw_motion_paths_init(View3D *v3d, ARegion *ar)
{
RegionView3D *rv3d= ar->regiondata;
RegionView3D *rv3d = ar->regiondata;
if (v3d->zbuf) glDisable(GL_DEPTH_TEST);
@ -79,15 +79,15 @@ void draw_motion_paths_init(View3D *v3d, ARegion *ar)
}
/* Draw the given motion path for an Object or a Bone
* - assumes that the viewport has already been initialized properly
* - assumes that the viewport has already been initialized properly
* i.e. draw_motion_paths_init() has been called
*/
void draw_motion_path_instance(Scene *scene,
Object *ob, bPoseChannel *pchan, bAnimVizSettings *avs, bMotionPath *mpath)
Object *ob, bPoseChannel *pchan, bAnimVizSettings *avs, bMotionPath *mpath)
{
//RegionView3D *rv3d= ar->regiondata;
bMotionPathVert *mpv, *mpv_start;
int i, stepsize= avs->path_step;
int i, stepsize = avs->path_step;
int sfra, efra, len;
@ -99,21 +99,21 @@ void draw_motion_path_instance(Scene *scene,
* the current frame to draw. However, this range is still
* restricted by the limits of the original path.
*/
sfra= CFRA - avs->path_bc;
efra= CFRA + avs->path_ac;
if (sfra < mpath->start_frame) sfra= mpath->start_frame;
if (efra > mpath->end_frame) efra= mpath->end_frame;
sfra = CFRA - avs->path_bc;
efra = CFRA + avs->path_ac;
if (sfra < mpath->start_frame) sfra = mpath->start_frame;
if (efra > mpath->end_frame) efra = mpath->end_frame;
len= efra - sfra;
len = efra - sfra;
sind= sfra - mpath->start_frame;
mpv_start= (mpath->points + sind);
sind = sfra - mpath->start_frame;
mpv_start = (mpath->points + sind);
}
else {
sfra= mpath->start_frame;
sfra = mpath->start_frame;
efra = sfra + mpath->length;
len = mpath->length;
mpv_start= mpath->points;
mpv_start = mpath->points;
}
if (len <= 0) {
@ -124,17 +124,17 @@ void draw_motion_path_instance(Scene *scene,
glShadeModel(GL_SMOOTH);
glBegin(GL_LINE_STRIP);
for (i=0, mpv=mpv_start; i < len; i++, mpv++) {
short sel= (pchan) ? (pchan->bone->flag & BONE_SELECTED) : (ob->flag & SELECT);
for (i = 0, mpv = mpv_start; i < len; i++, mpv++) {
short sel = (pchan) ? (pchan->bone->flag & BONE_SELECTED) : (ob->flag & SELECT);
float intensity; /* how faint */
/* set color
* - more intense for active/selected bones, less intense for unselected bones
* - black for before current frame, green for current frame, blue for after current frame
* - intensity decreases as distance from current frame increases
* - more intense for active/selected bones, less intense for unselected bones
* - black for before current frame, green for current frame, blue for after current frame
* - intensity decreases as distance from current frame increases
*/
#define SET_INTENSITY(A, B, C, min, max) (((1.0f - ((C - B) / (C - A))) * (max-min)) + min)
if ((sfra+i) < CFRA) {
#define SET_INTENSITY(A, B, C, min, max) (((1.0f - ((C - B) / (C - A))) * (max - min)) + min)
if ((sfra + i) < CFRA) {
/* black - before cfra */
if (sel) {
// intensity= 0.5f;
@ -146,7 +146,7 @@ void draw_motion_path_instance(Scene *scene,
}
UI_ThemeColorBlend(TH_WIRE, TH_BACK, intensity);
}
else if ((sfra+i) > CFRA) {
else if ((sfra + i) > CFRA) {
/* blue - after cfra */
if (sel) {
//intensity = 0.5f;
@ -161,10 +161,10 @@ void draw_motion_path_instance(Scene *scene,
else {
/* green - on cfra */
if (sel) {
intensity= 0.5f;
intensity = 0.5f;
}
else {
intensity= 0.99f;
intensity = 0.99f;
}
UI_ThemeColorBlendShade(TH_CFRAME, TH_BACK, intensity, 10);
}
@ -182,28 +182,28 @@ void draw_motion_path_instance(Scene *scene,
* NOTE: this is not really visible/noticeable
*/
glBegin(GL_POINTS);
for (i=0, mpv=mpv_start; i < len; i++, mpv++)
for (i = 0, mpv = mpv_start; i < len; i++, mpv++)
glVertex3fv(mpv->co);
glEnd();
/* Draw little white dots at each framestep value */
UI_ThemeColor(TH_TEXT_HI);
glBegin(GL_POINTS);
for (i=0, mpv=mpv_start; i < len; i+=stepsize, mpv+=stepsize)
for (i = 0, mpv = mpv_start; i < len; i += stepsize, mpv += stepsize)
glVertex3fv(mpv->co);
glEnd();
/* Draw big green dot where the current frame is */
// NOTE: only do this when drawing keyframes for now...
if ((avs->path_viewflag & MOTIONPATH_VIEW_KFRAS) &&
(sfra < CFRA) && (CFRA <= efra))
(sfra < CFRA) && (CFRA <= efra))
{
UI_ThemeColor(TH_CFRAME);
glPointSize(6.0f);
glBegin(GL_POINTS);
mpv = mpv_start + (CFRA - sfra);
glVertex3fv(mpv->co);
mpv = mpv_start + (CFRA - sfra);
glVertex3fv(mpv->co);
glEnd();
glPointSize(1.0f);
@ -217,26 +217,26 @@ void draw_motion_path_instance(Scene *scene,
if (avs->path_viewflag & MOTIONPATH_VIEW_FNUMS) {
unsigned char col[4];
UI_GetThemeColor3ubv(TH_TEXT_HI, col);
col[3]= 255;
col[3] = 255;
for (i=0, mpv=mpv_start; i < len; i+=stepsize, mpv+=stepsize) {
for (i = 0, mpv = mpv_start; i < len; i += stepsize, mpv += stepsize) {
char numstr[32];
float co[3];
/* only draw framenum if several consecutive highlighted points don't occur on same point */
if (i == 0) {
sprintf(numstr, "%d", (i+sfra));
sprintf(numstr, "%d", (i + sfra));
mul_v3_m4v3(co, ob->imat, mpv->co);
view3d_cached_text_draw_add(co, numstr, 0, V3D_CACHE_TEXT_WORLDSPACE|V3D_CACHE_TEXT_ASCII, col);
view3d_cached_text_draw_add(co, numstr, 0, V3D_CACHE_TEXT_WORLDSPACE | V3D_CACHE_TEXT_ASCII, col);
}
else if ((i > stepsize) && (i < len-stepsize)) {
else if ((i > stepsize) && (i < len - stepsize)) {
bMotionPathVert *mpvP = (mpv - stepsize);
bMotionPathVert *mpvN = (mpv + stepsize);
if ((equals_v3v3(mpv->co, mpvP->co)==0) || (equals_v3v3(mpv->co, mpvN->co)==0)) {
sprintf(numstr, "%d", (sfra+i));
if ((equals_v3v3(mpv->co, mpvP->co) == 0) || (equals_v3v3(mpv->co, mpvN->co) == 0)) {
sprintf(numstr, "%d", (sfra + i));
mul_v3_m4v3(co, ob->imat, mpv->co);
view3d_cached_text_draw_add(co, numstr, 0, V3D_CACHE_TEXT_WORLDSPACE|V3D_CACHE_TEXT_ASCII, col);
view3d_cached_text_draw_add(co, numstr, 0, V3D_CACHE_TEXT_WORLDSPACE | V3D_CACHE_TEXT_ASCII, col);
}
}
}
@ -246,7 +246,7 @@ void draw_motion_path_instance(Scene *scene,
if (avs->path_viewflag & MOTIONPATH_VIEW_KFRAS) {
unsigned char col[4];
AnimData *adt= BKE_animdata_from_id(&ob->id);
AnimData *adt = BKE_animdata_from_id(&ob->id);
DLRBT_Tree keys;
/* build list of all keyframes in active action for object or pchan */
@ -256,8 +256,8 @@ void draw_motion_path_instance(Scene *scene,
/* it is assumed that keyframes for bones are all grouped in a single group
* unless an option is set to always use the whole action
*/
if ((pchan) && (avs->path_viewflag & MOTIONPATH_VIEW_KFACT)==0) {
bActionGroup *agrp= action_groups_find_named(adt->action, pchan->name);
if ((pchan) && (avs->path_viewflag & MOTIONPATH_VIEW_KFACT) == 0) {
bActionGroup *agrp = action_groups_find_named(adt->action, pchan->name);
if (agrp) {
agroup_to_keylist(adt, agrp, &keys, NULL);
@ -272,14 +272,14 @@ void draw_motion_path_instance(Scene *scene,
/* Draw slightly-larger yellow dots at each keyframe */
UI_GetThemeColor3ubv(TH_VERTEX_SELECT, col);
col[3]= 255;
col[3] = 255;
glPointSize(4.0f); // XXX perhaps a bit too big
glColor3ubv(col);
glBegin(GL_POINTS);
for (i=0, mpv=mpv_start; i < len; i++, mpv++) {
float mframe= (float)(sfra + i);
for (i = 0, mpv = mpv_start; i < len; i++, mpv++) {
float mframe = (float)(sfra + i);
if (BLI_dlrbTree_search_exact(&keys, compare_ak_cfraPtr, &mframe))
glVertex3fv(mpv->co);
@ -291,15 +291,15 @@ void draw_motion_path_instance(Scene *scene,
/* Draw frame numbers of keyframes */
if (avs->path_viewflag & MOTIONPATH_VIEW_KFNOS) {
float co[3];
for (i=0, mpv=mpv_start; i < len; i++, mpv++) {
float mframe= (float)(sfra + i);
for (i = 0, mpv = mpv_start; i < len; i++, mpv++) {
float mframe = (float)(sfra + i);
if (BLI_dlrbTree_search_exact(&keys, compare_ak_cfraPtr, &mframe)) {
char numstr[32];
sprintf(numstr, "%d", (sfra+i));
sprintf(numstr, "%d", (sfra + i));
mul_v3_m4v3(co, ob->imat, mpv->co);
view3d_cached_text_draw_add(co, numstr, 0, V3D_CACHE_TEXT_WORLDSPACE|V3D_CACHE_TEXT_ASCII, col);
view3d_cached_text_draw_add(co, numstr, 0, V3D_CACHE_TEXT_WORLDSPACE | V3D_CACHE_TEXT_ASCII, col);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -71,7 +71,7 @@
#include "ED_mesh.h"
#include "ED_uvedit.h"
#include "view3d_intern.h" // own include
#include "view3d_intern.h" // own include
/* user data structures for derived mesh callbacks */
typedef struct drawMeshFaceSelect_userData {
@ -96,8 +96,8 @@ typedef struct drawTFace_userData {
/* Flags for marked edges */
enum {
eEdge_Visible = (1<<0),
eEdge_Select = (1<<1),
eEdge_Visible = (1 << 0),
eEdge_Select = (1 << 1),
};
/* Creates a hash of edges to flags indicating selected/visible */
@ -108,7 +108,7 @@ static void get_marked_edge_info__orFlags(EdgeHash *eh, int v0, int v1, int flag
if (!BLI_edgehash_haskey(eh, v0, v1))
BLI_edgehash_insert(eh, v0, v1, NULL);
flags_p = (int*) BLI_edgehash_lookup_p(eh, v0, v1);
flags_p = (int *) BLI_edgehash_lookup_p(eh, v0, v1);
*flags_p |= flags;
}
@ -120,7 +120,7 @@ static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me)
MLoop *ml_next;
int i, j;
for (i=0; i<me->totpoly; i++) {
for (i = 0; i < me->totpoly; i++) {
mp = &me->mpoly[i];
if (!(mp->flag & ME_HIDE)) {
@ -128,7 +128,7 @@ static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me)
if (mp->flag & ME_FACE_SEL) flags |= eEdge_Select;
ml = me->mloop + mp->loopstart;
for (j=0; j<mp->totloop; j++, ml++) {
for (j = 0; j < mp->totloop; j++, ml++) {
ml_next = ME_POLY_LOOP_NEXT(me->mloop, mp, j);
get_marked_edge_info__orFlags(eh, ml->v, ml_next->v, flags);
}
@ -142,7 +142,7 @@ static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me)
static DMDrawOption draw_mesh_face_select__setHiddenOpts(void *userData, int index)
{
drawMeshFaceSelect_userData *data = userData;
Mesh *me= data->me;
Mesh *me = data->me;
MEdge *med = &me->medge[index];
uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2);
@ -170,11 +170,11 @@ static DMDrawOption draw_mesh_face_select__setSelectOpts(void *userData, int ind
/* draws unselected */
static DMDrawOption draw_mesh_face_select__drawFaceOptsInv(void *userData, int index)
{
Mesh *me = (Mesh*)userData;
Mesh *me = (Mesh *)userData;
MPoly *mface = &me->mpoly[index];
if (!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL))
return DM_DRAW_OPTION_NO_MCOL; /* Don't set color */
if (!(mface->flag & ME_HIDE) && !(mface->flag & ME_FACE_SEL))
return DM_DRAW_OPTION_NO_MCOL; /* Don't set color */
else
return DM_DRAW_OPTION_SKIP;
}
@ -202,20 +202,20 @@ static void draw_mesh_face_select(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
/* dull unselected faces so as not to get in the way of seeing color */
glColor4ub(96, 96, 96, 64);
dm->drawMappedFacesTex(dm, draw_mesh_face_select__drawFaceOptsInv, NULL, (void*)me);
dm->drawMappedFacesTex(dm, draw_mesh_face_select__drawFaceOptsInv, NULL, (void *)me);
glDisable(GL_BLEND);
}
bglPolygonOffset(rv3d->dist, 1.0);
/* Draw Stippled Outline for selected faces */
/* Draw Stippled Outline for selected faces */
glColor3ub(255, 255, 255);
setlinestyle(1);
dm->drawMappedEdges(dm, draw_mesh_face_select__setSelectOpts, &data);
setlinestyle(0);
bglPolygonOffset(rv3d->dist, 0.0); // resets correctly now, even after calling accumulated offsets
bglPolygonOffset(rv3d->dist, 0.0); // resets correctly now, even after calling accumulated offsets
BLI_edgehash_free(data.eh, NULL);
}
@ -224,10 +224,10 @@ static void draw_mesh_face_select(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm)
static Material *give_current_material_or_def(Object *ob, int matnr)
{
extern Material defmaterial; // render module abuse...
Material *ma= give_current_material(ob, matnr);
extern Material defmaterial; // render module abuse...
Material *ma = give_current_material(ob, matnr);
return ma?ma:&defmaterial;
return ma ? ma : &defmaterial;
}
/* Icky globals, fix with userdata parameter */
@ -255,9 +255,9 @@ static int set_draw_settings_cached(int clearcache, MTFace *texface, Material *m
int lit = 0;
if (clearcache) {
c_textured= c_lit= c_backculled= -1;
c_texface= (MTFace*) -1;
c_badtex= 0;
c_textured = c_lit = c_backculled = -1;
c_texface = (MTFace *) -1;
c_badtex = 0;
}
else {
textured = gtexdraw.istex;
@ -284,35 +284,35 @@ static int set_draw_settings_cached(int clearcache, MTFace *texface, Material *m
else
textured = 0;
if (backculled!=c_backculled) {
if (backculled != c_backculled) {
if (backculled) glEnable(GL_CULL_FACE);
else glDisable(GL_CULL_FACE);
c_backculled= backculled;
c_backculled = backculled;
}
if (textured!=c_textured || texface!=c_texface) {
if (textured ) {
c_badtex= !GPU_set_tpage(texface, !(litob->mode & OB_MODE_TEXTURE_PAINT), alphablend);
if (textured != c_textured || texface != c_texface) {
if (textured) {
c_badtex = !GPU_set_tpage(texface, !(litob->mode & OB_MODE_TEXTURE_PAINT), alphablend);
}
else {
GPU_set_tpage(NULL, 0, 0);
c_badtex= 0;
c_badtex = 0;
}
c_textured= textured;
c_texface= texface;
c_textured = textured;
c_texface = texface;
}
if (c_badtex) lit= 0;
if (lit!=c_lit || ma!=c_ma) {
if (c_badtex) lit = 0;
if (lit != c_lit || ma != c_ma) {
if (lit) {
float spec[4];
if (!ma)ma= give_current_material_or_def(NULL, 0); //default material
if (!ma) ma = give_current_material_or_def(NULL, 0); //default material
spec[0]= ma->spec*ma->specr;
spec[1]= ma->spec*ma->specg;
spec[2]= ma->spec*ma->specb;
spec[3]= 1.0;
spec[0] = ma->spec * ma->specr;
spec[1] = ma->spec * ma->specg;
spec[2] = ma->spec * ma->specb;
spec[3] = 1.0;
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, spec);
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
@ -324,7 +324,7 @@ static int set_draw_settings_cached(int clearcache, MTFace *texface, Material *m
glDisable(GL_LIGHTING);
glDisable(GL_COLOR_MATERIAL);
}
c_lit= lit;
c_lit = lit;
}
return c_badtex;
@ -340,25 +340,25 @@ static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, O
/* texture draw is abused for mask selection mode, do this so wire draw
* with face selection in weight paint is not lit. */
if ((v3d->drawtype <= OB_WIRE) && (ob->mode & OB_MODE_WEIGHT_PAINT)) {
solidtex= FALSE;
Gtexdraw.islit= 0;
solidtex = FALSE;
Gtexdraw.islit = 0;
}
else if (v3d->drawtype==OB_SOLID || ((ob->mode & OB_MODE_EDIT) && v3d->drawtype!=OB_TEXTURE)) {
else if (v3d->drawtype == OB_SOLID || ((ob->mode & OB_MODE_EDIT) && v3d->drawtype != OB_TEXTURE)) {
/* draw with default lights in solid draw mode and edit mode */
solidtex= TRUE;
Gtexdraw.islit= -1;
solidtex = TRUE;
Gtexdraw.islit = -1;
}
else {
/* draw with lights in the scene otherwise */
solidtex= FALSE;
Gtexdraw.islit= GPU_scene_object_lights(scene, ob, v3d->lay, rv3d->viewmat, !rv3d->is_persp);
solidtex = FALSE;
Gtexdraw.islit = GPU_scene_object_lights(scene, ob, v3d->lay, rv3d->viewmat, !rv3d->is_persp);
}
rgba_float_to_uchar(obcol, ob->col);
glCullFace(GL_BACK); glEnable(GL_CULL_FACE);
if (solidtex || v3d->drawtype==OB_TEXTURE) istex= 1;
else istex= 0;
if (solidtex || v3d->drawtype == OB_TEXTURE) istex = 1;
else istex = 0;
Gtexdraw.ob = ob;
Gtexdraw.istex = istex;
@ -393,8 +393,8 @@ static void draw_textured_end(void)
static DMDrawOption draw_tface__set_draw_legacy(MTFace *tface, int has_mcol, int matnr)
{
Material *ma= give_current_material(Gtexdraw.ob, matnr+1);
int validtexture=0;
Material *ma = give_current_material(Gtexdraw.ob, matnr + 1);
int validtexture = 0;
if (ma && (ma->game.flag & GEMAT_INVISIBLE))
return DM_DRAW_OPTION_SKIP;
@ -405,7 +405,7 @@ static DMDrawOption draw_tface__set_draw_legacy(MTFace *tface, int has_mcol, int
glColor3ub(0xFF, 0x00, 0xFF);
return DM_DRAW_OPTION_NO_MCOL; /* Don't set color */
}
else if (ma && (ma->shade_flag&MA_OBCOLOR)) {
else if (ma && (ma->shade_flag & MA_OBCOLOR)) {
glColor3ubv(Gtexdraw.obcol);
return DM_DRAW_OPTION_NO_MCOL; /* Don't set color */
}
@ -438,7 +438,7 @@ static DMDrawOption draw_mcol__set_draw_legacy(MTFace *UNUSED(tface), int has_mc
static DMDrawOption draw_tface__set_draw(MTFace *tface, int has_mcol, int matnr)
{
Material *ma= give_current_material(Gtexdraw.ob, matnr+1);
Material *ma = give_current_material(Gtexdraw.ob, matnr + 1);
if (ma && (ma->game.flag & GEMAT_INVISIBLE)) return 0;
@ -461,78 +461,78 @@ static void add_tface_color_layer(DerivedMesh *dm)
MTFace *tface = DM_get_poly_data_layer(dm, CD_MTFACE);
MFace *mface = dm->getTessFaceArray(dm);
MCol *finalCol;
int i,j;
int i, j;
MCol *mcol = dm->getTessFaceDataArray(dm, CD_PREVIEW_MCOL);
if (!mcol)
mcol = dm->getTessFaceDataArray(dm, CD_MCOL);
finalCol = MEM_mallocN(sizeof(MCol)*4*dm->getNumTessFaces(dm),"add_tface_color_layer");
for (i=0;i<dm->getNumTessFaces(dm);i++) {
Material *ma= give_current_material(Gtexdraw.ob, mface[i].mat_nr+1);
finalCol = MEM_mallocN(sizeof(MCol) * 4 * dm->getNumTessFaces(dm), "add_tface_color_layer");
for (i = 0; i < dm->getNumTessFaces(dm); i++) {
Material *ma = give_current_material(Gtexdraw.ob, mface[i].mat_nr + 1);
if (ma && (ma->game.flag&GEMAT_INVISIBLE)) {
if ( mcol )
memcpy(&finalCol[i*4],&mcol[i*4],sizeof(MCol)*4);
if (ma && (ma->game.flag & GEMAT_INVISIBLE)) {
if (mcol)
memcpy(&finalCol[i * 4], &mcol[i * 4], sizeof(MCol) * 4);
else
for (j=0;j<4;j++) {
finalCol[i*4+j].b = 255;
finalCol[i*4+j].g = 255;
finalCol[i*4+j].r = 255;
for (j = 0; j < 4; j++) {
finalCol[i * 4 + j].b = 255;
finalCol[i * 4 + j].g = 255;
finalCol[i * 4 + j].r = 255;
}
}
else if (tface && mface && set_draw_settings_cached(0, tface, ma, Gtexdraw)) {
for (j=0;j<4;j++) {
finalCol[i*4+j].b = 255;
finalCol[i*4+j].g = 0;
finalCol[i*4+j].r = 255;
for (j = 0; j < 4; j++) {
finalCol[i * 4 + j].b = 255;
finalCol[i * 4 + j].g = 0;
finalCol[i * 4 + j].r = 255;
}
}
else if (tface && (tface->mode & TF_OBCOL)) {
for (j=0;j<4;j++) {
finalCol[i*4+j].b = FTOCHAR(Gtexdraw.obcol[0]);
finalCol[i*4+j].g = FTOCHAR(Gtexdraw.obcol[1]);
finalCol[i*4+j].r = FTOCHAR(Gtexdraw.obcol[2]);
for (j = 0; j < 4; j++) {
finalCol[i * 4 + j].b = FTOCHAR(Gtexdraw.obcol[0]);
finalCol[i * 4 + j].g = FTOCHAR(Gtexdraw.obcol[1]);
finalCol[i * 4 + j].r = FTOCHAR(Gtexdraw.obcol[2]);
}
}
else if (!mcol) {
if (tface) {
for (j=0;j<4;j++) {
finalCol[i*4+j].b = 255;
finalCol[i*4+j].g = 255;
finalCol[i*4+j].r = 255;
for (j = 0; j < 4; j++) {
finalCol[i * 4 + j].b = 255;
finalCol[i * 4 + j].g = 255;
finalCol[i * 4 + j].r = 255;
}
}
else {
float col[3];
Material *ma= give_current_material(Gtexdraw.ob, mface[i].mat_nr+1);
Material *ma = give_current_material(Gtexdraw.ob, mface[i].mat_nr + 1);
if (ma) {
if (Gtexdraw.color_profile) linearrgb_to_srgb_v3_v3(col, &ma->r);
else copy_v3_v3(col, &ma->r);
for (j=0;j<4;j++) {
finalCol[i*4+j].b = FTOCHAR(col[0]);
finalCol[i*4+j].g = FTOCHAR(col[1]);
finalCol[i*4+j].r = FTOCHAR(col[2]);
for (j = 0; j < 4; j++) {
finalCol[i * 4 + j].b = FTOCHAR(col[0]);
finalCol[i * 4 + j].g = FTOCHAR(col[1]);
finalCol[i * 4 + j].r = FTOCHAR(col[2]);
}
}
else
for (j=0;j<4;j++) {
finalCol[i*4+j].b = 255;
finalCol[i*4+j].g = 255;
finalCol[i*4+j].r = 255;
for (j = 0; j < 4; j++) {
finalCol[i * 4 + j].b = 255;
finalCol[i * 4 + j].g = 255;
finalCol[i * 4 + j].r = 255;
}
}
}
else {
for (j=0;j<4;j++) {
finalCol[i*4+j].r = mcol[i*4+j].r;
finalCol[i*4+j].g = mcol[i*4+j].g;
finalCol[i*4+j].b = mcol[i*4+j].b;
for (j = 0; j < 4; j++) {
finalCol[i * 4 + j].r = mcol[i * 4 + j].r;
finalCol[i * 4 + j].g = mcol[i * 4 + j].g;
finalCol[i * 4 + j].b = mcol[i * 4 + j].b;
}
}
}
CustomData_add_layer( &dm->faceData, CD_TEXTURE_MCOL, CD_ASSIGN, finalCol, dm->numTessFaceData );
CustomData_add_layer(&dm->faceData, CD_TEXTURE_MCOL, CD_ASSIGN, finalCol, dm->numTessFaceData);
}
static DMDrawOption draw_tface_mapped__set_draw(void *userData, int index)
@ -549,7 +549,7 @@ static DMDrawOption draw_tface_mapped__set_draw(void *userData, int index)
}
else {
MTexPoly *tpoly = (me->mtpoly) ? &me->mtpoly[index] : NULL;
MTFace mtf= {{{0}}};
MTFace mtf = {{{0}}};
int matnr = mpoly->mat_nr;
if (tpoly) {
@ -564,13 +564,13 @@ static DMDrawOption draw_em_tf_mapped__set_draw(void *userData, int index)
{
drawEMTFMapped_userData *data = userData;
BMEditMesh *em = data->em;
BMFace *efa= EDBM_get_face_for_index(em, index);
BMFace *efa = EDBM_get_face_for_index(em, index);
if (efa==NULL || BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) {
if (efa == NULL || BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) {
return DM_DRAW_OPTION_SKIP;
}
else {
MTFace mtf= {{{0}}};
MTFace mtf = {{{0}}};
int matnr = efa->mat_nr;
if (data->has_mtface) {
@ -579,16 +579,16 @@ static DMDrawOption draw_em_tf_mapped__set_draw(void *userData, int index)
}
return draw_tface__set_draw_legacy(data->has_mtface ? &mtf : NULL,
data->has_mcol, matnr);
data->has_mcol, matnr);
}
}
static DMDrawOption wpaint__setSolidDrawOptions_material(void *userData, int index)
{
Mesh *me = (Mesh*)userData;
Mesh *me = (Mesh *)userData;
if (me->mat && me->mpoly) {
Material *ma= me->mat[me->mpoly[index].mat_nr];
Material *ma = me->mat[me->mpoly[index].mat_nr];
if (ma && (ma->game.flag & GEMAT_INVISIBLE)) {
return DM_DRAW_OPTION_SKIP;
}
@ -600,7 +600,7 @@ static DMDrawOption wpaint__setSolidDrawOptions_material(void *userData, int ind
/* when face select is on, use face hidden flag */
static DMDrawOption wpaint__setSolidDrawOptions_facemask(void *userData, int index)
{
Mesh *me = (Mesh*)userData;
Mesh *me = (Mesh *)userData;
MPoly *mp = &me->mpoly[index];
if (mp->flag & ME_HIDE)
return DM_DRAW_OPTION_SKIP;
@ -615,7 +615,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl)
MTexPoly *mtpoly = me->mtpoly;
MLoopUV *mloopuv = me->mloopuv;
MLoopUV *luv;
MLoopCol *mloopcol = me->mloopcol; /* why does mcol exist? */
MLoopCol *mloopcol = me->mloopcol; /* why does mcol exist? */
MLoopCol *lcol;
bProperty *prop = get_ob_property(ob, "Text");
@ -623,7 +623,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl)
int a, totpoly = me->totpoly;
/* fake values to pass to GPU_render_text() */
MCol tmp_mcol[4] = {{0}};
MCol tmp_mcol[4] = {{0}};
MCol *tmp_mcol_pt = mloopcol ? tmp_mcol : NULL;
MTFace tmp_tf = {{{0}}};
@ -634,33 +634,33 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl)
/* don't draw when editing */
if (ob->mode & OB_MODE_EDIT)
return;
else if (ob==OBACT)
else if (ob == OBACT)
if (paint_facesel_test(ob) || paint_vertsel_test(ob))
return;
ddm = mesh_get_derived_deform(scene, ob, CD_MASK_BAREMESH);
for (a=0, mp=mface; a<totpoly ; a++, mtpoly++, mp++) {
short matnr= mp->mat_nr;
int mf_smooth= mp->flag & ME_SMOOTH;
for (a = 0, mp = mface; a < totpoly; a++, mtpoly++, mp++) {
short matnr = mp->mat_nr;
int mf_smooth = mp->flag & ME_SMOOTH;
Material *mat = me->mat[matnr];
int mode= mat->game.flag;
int mode = mat->game.flag;
if (!(mode&GEMAT_INVISIBLE) && (mode&GEMAT_TEXT) && mp->totloop >= 3) {
if (!(mode & GEMAT_INVISIBLE) && (mode & GEMAT_TEXT) && mp->totloop >= 3) {
/* get the polygon as a tri/quad */
int mp_vi[4];
float v1[3], v2[3], v3[3], v4[3];
char string[MAX_PROPSTRING];
int characters, i, glattrib= -1, badtex= 0;
int characters, i, glattrib = -1, badtex = 0;
/* TEXFACE */
ME_MTEXFACE_CPY(&tmp_tf, mtpoly);
if (glsl) {
GPU_enable_material(matnr+1, &gattribs);
GPU_enable_material(matnr + 1, &gattribs);
for (i=0; i<gattribs.totlayer; i++) {
for (i = 0; i < gattribs.totlayer; i++) {
if (gattribs.layer[i].type == CD_MTFACE) {
glattrib = gattribs.layer[i].glindex;
break;
@ -675,9 +675,9 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl)
}
mp_vi[0] = me->mloop[mp->loopstart + 0].v;
mp_vi[1] = me->mloop[mp->loopstart + 1].v;
mp_vi[2] = me->mloop[mp->loopstart + 2].v;
mp_vi[3] = (mp->totloop >= 4) ? me->mloop[mp->loopstart + 3].v : 0;
mp_vi[1] = me->mloop[mp->loopstart + 1].v;
mp_vi[2] = me->mloop[mp->loopstart + 2].v;
mp_vi[3] = (mp->totloop >= 4) ? me->mloop[mp->loopstart + 3].v : 0;
/* UV */
luv = &mloopuv[mp->loopstart];
@ -721,13 +721,13 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl)
if (!mf_smooth) {
float nor[3];
normal_tri_v3( nor,v1, v2, v3);
normal_tri_v3(nor, v1, v2, v3);
glNormal3fv(nor);
}
GPU_render_text(&tmp_tf, mode, string, characters,
(unsigned int*)tmp_mcol_pt, v1, v2, v3, (mp->totloop >= 4 ? v4: NULL), glattrib);
(unsigned int *)tmp_mcol_pt, v1, v2, v3, (mp->totloop >= 4 ? v4 : NULL), glattrib);
}
}
@ -749,7 +749,7 @@ static int compareDrawOptions(void *userData, int cur_index, int next_index)
static int compareDrawOptionsEm(void *userData, int cur_index, int next_index)
{
drawEMTFMapped_userData *data= userData;
drawEMTFMapped_userData *data = userData;
if (data->mf && data->mf[cur_index].mat_nr != data->mf[next_index].mat_nr)
return 0;
@ -762,7 +762,7 @@ static int compareDrawOptionsEm(void *userData, int cur_index, int next_index)
void draw_mesh_textured_old(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int draw_flags)
{
Mesh *me= ob->data;
Mesh *me = ob->data;
/* correct for negative scale */
if (ob->transflag & OB_NEG_SCALE) glFrontFace(GL_CW);
@ -771,23 +771,23 @@ void draw_mesh_textured_old(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec
/* draw the textured mesh */
draw_textured_begin(scene, v3d, rv3d, ob);
glColor4f(1.0f,1.0f,1.0f,1.0f);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
if (ob->mode & OB_MODE_EDIT) {
drawEMTFMapped_userData data;
data.em= me->edit_btmesh;
data.has_mcol= CustomData_has_layer(&me->edit_btmesh->bm->ldata, CD_MLOOPCOL);
data.has_mtface= CustomData_has_layer(&me->edit_btmesh->bm->pdata, CD_MTEXPOLY);
data.mf= DM_get_tessface_data_layer(dm, CD_MFACE);
data.tf= DM_get_tessface_data_layer(dm, CD_MTFACE);
data.em = me->edit_btmesh;
data.has_mcol = CustomData_has_layer(&me->edit_btmesh->bm->ldata, CD_MLOOPCOL);
data.has_mtface = CustomData_has_layer(&me->edit_btmesh->bm->pdata, CD_MTEXPOLY);
data.mf = DM_get_tessface_data_layer(dm, CD_MFACE);
data.tf = DM_get_tessface_data_layer(dm, CD_MTFACE);
dm->drawMappedFacesTex(dm, draw_em_tf_mapped__set_draw, compareDrawOptionsEm, &data);
}
else if (draw_flags & DRAW_FACE_SELECT) {
if (ob->mode & OB_MODE_WEIGHT_PAINT)
dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions_facemask, GPU_enable_material, NULL, me,
DM_DRAW_USE_COLORS | DM_DRAW_ALWAYS_SMOOTH);
DM_DRAW_USE_COLORS | DM_DRAW_ALWAYS_SMOOTH);
else
dm->drawMappedFacesTex(dm, me->mpoly ? draw_tface_mapped__set_draw : NULL, NULL, me);
}
@ -801,7 +801,7 @@ void draw_mesh_textured_old(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec
else {
drawTFace_userData userData;
if (!CustomData_has_layer(&dm->faceData,CD_TEXTURE_MCOL))
if (!CustomData_has_layer(&dm->faceData, CD_TEXTURE_MCOL))
add_tface_color_layer(dm);
userData.mf = DM_get_tessface_data_layer(dm, CD_MFACE);
@ -849,22 +849,22 @@ static void tex_mat_set_material_cb(void *UNUSED(userData), int mat_nr, void *at
static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs)
{
/* texture draw mode without GLSL */
TexMatCallback *data= (TexMatCallback*)userData;
TexMatCallback *data = (TexMatCallback *)userData;
GPUVertexAttribs *gattribs = attribs;
Image *ima;
ImageUser *iuser;
bNode *node;
int texture_set= 0;
int texture_set = 0;
/* draw image texture if we find one */
if (ED_object_get_active_image(data->ob, mat_nr, &ima, &iuser, &node)) {
/* get openl texture */
int mipmap= 1;
int bindcode= (ima)? GPU_verify_image(ima, iuser, 0, 0, mipmap): 0;
int mipmap = 1;
int bindcode = (ima) ? GPU_verify_image(ima, iuser, 0, 0, mipmap) : 0;
float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f};
if (bindcode) {
NodeTexBase *texbase= node->storage;
NodeTexBase *texbase = node->storage;
/* disable existing material */
GPU_disable_material();
@ -886,12 +886,12 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs)
/* use active UV texture layer */
memset(gattribs, 0, sizeof(*gattribs));
gattribs->layer[0].type= CD_MTFACE;
gattribs->layer[0].name[0]= '\0';
gattribs->layer[0].gltexco= 1;
gattribs->totlayer= 1;
gattribs->layer[0].type = CD_MTFACE;
gattribs->layer[0].name[0] = '\0';
gattribs->layer[0].gltexco = 1;
gattribs->totlayer = 1;
texture_set= 1;
texture_set = 1;
}
}
@ -912,8 +912,8 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs)
static int tex_mat_set_face_mesh_cb(void *userData, int index)
{
/* faceselect mode face hiding */
TexMatCallback *data= (TexMatCallback*)userData;
Mesh *me = (Mesh*)data->me;
TexMatCallback *data = (TexMatCallback *)userData;
Mesh *me = (Mesh *)data->me;
MPoly *mp = &me->mpoly[index];
return !(mp->flag & ME_HIDE);
@ -922,9 +922,9 @@ static int tex_mat_set_face_mesh_cb(void *userData, int index)
static int tex_mat_set_face_editmesh_cb(void *userData, int index)
{
/* editmode face hiding */
TexMatCallback *data= (TexMatCallback*)userData;
Mesh *me = (Mesh*)data->me;
BMFace *efa= EDBM_get_face_for_index(me->edit_btmesh, index);
TexMatCallback *data = (TexMatCallback *)userData;
Mesh *me = (Mesh *)data->me;
BMFace *efa = EDBM_get_face_for_index(me->edit_btmesh, index);
return !BM_elem_flag_test(efa, BM_ELEM_HIDDEN);
}
@ -945,32 +945,32 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o
if (ob->mode & OB_MODE_WEIGHT_PAINT) {
/* weight paint mode exception */
dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions_material,
GPU_enable_material, NULL, ob->data, DM_DRAW_USE_COLORS | DM_DRAW_ALWAYS_SMOOTH);
GPU_enable_material, NULL, ob->data, DM_DRAW_USE_COLORS | DM_DRAW_ALWAYS_SMOOTH);
}
else {
Mesh *me= ob->data;
Mesh *me = ob->data;
TexMatCallback data = {scene, ob, me, dm};
int (*set_face_cb)(void*, int);
int (*set_face_cb)(void *, int);
int glsl;
/* face hiding callback depending on mode */
if (ob == scene->obedit)
set_face_cb= tex_mat_set_face_editmesh_cb;
set_face_cb = tex_mat_set_face_editmesh_cb;
else if (draw_flags & DRAW_FACE_SELECT)
set_face_cb= tex_mat_set_face_mesh_cb;
set_face_cb = tex_mat_set_face_mesh_cb;
else
set_face_cb= NULL;
set_face_cb = NULL;
/* test if we can use glsl */
glsl= (v3d->drawtype == OB_MATERIAL) && GPU_glsl_support();
glsl = (v3d->drawtype == OB_MATERIAL) && GPU_glsl_support();
GPU_begin_object_materials(v3d, rv3d, scene, ob, glsl, NULL);
if (glsl) {
/* draw glsl */
dm->drawMappedFacesMat(dm,
tex_mat_set_material_cb,
set_face_cb, &data);
tex_mat_set_material_cb,
set_face_cb, &data);
}
else {
float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f};
@ -981,8 +981,8 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o
glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 0);
dm->drawMappedFacesMat(dm,
tex_mat_set_texture_cb,
set_face_cb, &data);
tex_mat_set_texture_cb,
set_face_cb, &data);
}
GPU_end_object_materials();

File diff suppressed because it is too large Load Diff

View File

@ -77,7 +77,7 @@
#include "BLF_api.h"
#include "view3d_intern.h" // own include
#include "view3d_intern.h" // own include
#ifdef _WIN32
@ -90,38 +90,38 @@ static LARGE_INTEGER liFrequency;
static LARGE_INTEGER liStartTime;
static LARGE_INTEGER liCurrentTime;
static void tstart ( void )
static void tstart(void)
{
QueryPerformanceFrequency ( &liFrequency );
QueryPerformanceCounter ( &liStartTime );
QueryPerformanceFrequency(&liFrequency);
QueryPerformanceCounter(&liStartTime);
}
static void tend ( void )
static void tend(void)
{
QueryPerformanceCounter ( &liCurrentTime );
QueryPerformanceCounter(&liCurrentTime);
}
static double tval( void )
static double tval(void)
{
return ((double)( (liCurrentTime.QuadPart - liStartTime.QuadPart)* (double)1000.0/(double)liFrequency.QuadPart ));
return ((double)( (liCurrentTime.QuadPart - liStartTime.QuadPart) * (double)1000.0 / (double)liFrequency.QuadPart));
}
#else
#include <sys/time.h>
static struct timeval _tstart, _tend;
static struct timezone tz;
static void tstart ( void )
static void tstart(void)
{
gettimeofday ( &_tstart, &tz );
gettimeofday(&_tstart, &tz);
}
static void tend ( void )
static void tend(void)
{
gettimeofday ( &_tend,&tz );
gettimeofday(&_tend, &tz);
}
#if 0
static double tval()
{
double t1, t2;
t1 = ( double ) _tstart.tv_sec*1000 + ( double ) _tstart.tv_usec/ ( 1000 );
t2 = ( double ) _tend.tv_sec*1000 + ( double ) _tend.tv_usec/ ( 1000 );
return t2-t1;
t1 = ( double ) _tstart.tv_sec * 1000 + ( double ) _tstart.tv_usec / (1000);
t2 = ( double ) _tend.tv_sec * 1000 + ( double ) _tend.tv_usec / (1000);
return t2 - t1;
}
#endif
#endif
@ -134,13 +134,13 @@ static int intersect_edges(float *points, float a, float b, float c, float d, fl
float t;
int numpoints = 0;
for (i=0; i<12; i++) {
t = -(a*edges[i][0][0] + b*edges[i][0][1] + c*edges[i][0][2] + d)
/ (a*edges[i][1][0] + b*edges[i][1][1] + c*edges[i][1][2]);
if ((t>0)&&(t<1)) {
points[numpoints * 3 + 0] = edges[i][0][0] + edges[i][1][0]*t;
points[numpoints * 3 + 1] = edges[i][0][1] + edges[i][1][1]*t;
points[numpoints * 3 + 2] = edges[i][0][2] + edges[i][1][2]*t;
for (i = 0; i < 12; i++) {
t = -(a * edges[i][0][0] + b * edges[i][0][1] + c * edges[i][0][2] + d) /
(a * edges[i][1][0] + b * edges[i][1][1] + c * edges[i][1][2]);
if ((t > 0) && (t < 1)) {
points[numpoints * 3 + 0] = edges[i][0][0] + edges[i][1][0] * t;
points[numpoints * 3 + 1] = edges[i][0][1] + edges[i][1][1] * t;
points[numpoints * 3 + 2] = edges[i][0][2] + edges[i][1][2] * t;
numpoints++;
}
}
@ -159,14 +159,14 @@ static int convex(float *p0, float *up, float *a, float *b)
void draw_volume(ARegion *ar, GPUTexture *tex, float *min, float *max, int res[3], float dx, GPUTexture *tex_shadow)
{
RegionView3D *rv3d= ar->regiondata;
RegionView3D *rv3d = ar->regiondata;
float viewnormal[3];
int i, j, n, good_index;
float d /*, d0 */ /* UNUSED */, dd, ds;
float *points = NULL;
int numpoints = 0;
float cor[3] = {1.,1.,1.};
float cor[3] = {1., 1., 1.};
int gl_depth = 0, gl_blend = 0;
/* draw slices of smoke is adapted from c++ code authored
@ -197,22 +197,22 @@ void draw_volume(ARegion *ar, GPUTexture *tex, float *min, float *max, int res[3
/* Fragment program to calculate the view3d of smoke */
/* using 2 textures, density and shadow */
const char *text = "!!ARBfp1.0\n"
"PARAM dx = program.local[0];\n"
"PARAM darkness = program.local[1];\n"
"PARAM f = {1.442695041, 1.442695041, 1.442695041, 0.01};\n"
"TEMP temp, shadow, value;\n"
"TEX temp, fragment.texcoord[0], texture[0], 3D;\n"
"TEX shadow, fragment.texcoord[0], texture[1], 3D;\n"
"MUL value, temp, darkness;\n"
"MUL value, value, dx;\n"
"MUL value, value, f;\n"
"EX2 temp, -value.r;\n"
"SUB temp.a, 1.0, temp.r;\n"
"MUL temp.r, temp.r, shadow.r;\n"
"MUL temp.g, temp.g, shadow.r;\n"
"MUL temp.b, temp.b, shadow.r;\n"
"MOV result.color, temp;\n"
"END\n";
"PARAM dx = program.local[0];\n"
"PARAM darkness = program.local[1];\n"
"PARAM f = {1.442695041, 1.442695041, 1.442695041, 0.01};\n"
"TEMP temp, shadow, value;\n"
"TEX temp, fragment.texcoord[0], texture[0], 3D;\n"
"TEX shadow, fragment.texcoord[0], texture[1], 3D;\n"
"MUL value, temp, darkness;\n"
"MUL value, value, dx;\n"
"MUL value, value, f;\n"
"EX2 temp, -value.r;\n"
"SUB temp.a, 1.0, temp.r;\n"
"MUL temp.r, temp.r, shadow.r;\n"
"MUL temp.g, temp.g, shadow.r;\n"
"MUL temp.b, temp.b, shadow.r;\n"
"MOV result.color, temp;\n"
"END\n";
GLuint prog;
@ -317,23 +317,24 @@ void draw_volume(ARegion *ar, GPUTexture *tex, float *min, float *max, int res[3
normalize_v3(viewnormal);
// find cube vertex that is closest to the viewer
for (i=0; i<8; i++) {
float x,y,z;
for (i = 0; i < 8; i++) {
float x, y, z;
x = cv[i][0] - viewnormal[0];
y = cv[i][1] - viewnormal[1];
z = cv[i][2] - viewnormal[2];
if ((x>=min[0])&&(x<=max[0])
&&(y>=min[1])&&(y<=max[1])
&&(z>=min[2])&&(z<=max[2])) {
if ((x >= min[0]) && (x <= max[0]) &&
(y >= min[1]) && (y <= max[1]) &&
(z >= min[2]) && (z <= max[2]))
{
break;
}
}
if (i >= 8) {
/* fallback, avoid using buffer over-run */
i= 0;
i = 0;
}
// printf("i: %d\n", i);
@ -347,9 +348,9 @@ void draw_volume(ARegion *ar, GPUTexture *tex, float *min, float *max, int res[3
glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, (GLsizei)strlen(text), text);
// cell spacing
glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, 0, dx, dx, dx, 1.0);
glProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 0, dx, dx, dx, 1.0);
// custom parameter for smoke style (higher = thicker)
glProgramLocalParameter4fARB (GL_FRAGMENT_PROGRAM_ARB, 1, 7.0, 7.0, 7.0, 1.0);
glProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 1, 7.0, 7.0, 7.0, 1.0);
}
else
printf("Your gfx card does not support 3D View smoke drawing.\n");
@ -361,9 +362,9 @@ void draw_volume(ARegion *ar, GPUTexture *tex, float *min, float *max, int res[3
printf("No volume shadow\n");
if (!GPU_non_power_of_two_support()) {
cor[0] = (float)res[0]/(float)power_of_2_max_i(res[0]);
cor[1] = (float)res[1]/(float)power_of_2_max_i(res[1]);
cor[2] = (float)res[2]/(float)power_of_2_max_i(res[2]);
cor[0] = (float)res[0] / (float)power_of_2_max_i(res[0]);
cor[1] = (float)res[1] / (float)power_of_2_max_i(res[1]);
cor[2] = (float)res[2] / (float)power_of_2_max_i(res[2]);
}
// our slices are defined by the plane equation a*x + b*y +c*z + d = 0
@ -372,24 +373,24 @@ void draw_volume(ARegion *ar, GPUTexture *tex, float *min, float *max, int res[3
// inserting previously found vertex into the plane equation
/* d0 = (viewnormal[0]*cv[i][0] + viewnormal[1]*cv[i][1] + viewnormal[2]*cv[i][2]); */ /* UNUSED */
ds = (ABS(viewnormal[0])*size[0] + ABS(viewnormal[1])*size[1] + ABS(viewnormal[2])*size[2]);
ds = (ABS(viewnormal[0]) * size[0] + ABS(viewnormal[1]) * size[1] + ABS(viewnormal[2]) * size[2]);
dd = 0.05; // ds/512.0f;
n = 0;
good_index = i;
// printf("d0: %f, dd: %f, ds: %f\n\n", d0, dd, ds);
points = MEM_callocN(sizeof(float)*12*3, "smoke_points_preview");
points = MEM_callocN(sizeof(float) * 12 * 3, "smoke_points_preview");
while (1) {
float p0[3];
float tmp_point[3], tmp_point2[3];
if (dd*(float)n > ds)
if (dd * (float)n > ds)
break;
copy_v3_v3(tmp_point, viewnormal);
mul_v3_fl(tmp_point, -dd*((ds/dd)-(float)n));
mul_v3_fl(tmp_point, -dd * ((ds / dd) - (float)n));
add_v3_v3v3(tmp_point2, cv[good_index], tmp_point);
d = dot_v3v3(tmp_point2, viewnormal);

View File

@ -62,7 +62,7 @@
#include "UI_resources.h"
#include "view3d_intern.h" // own include
#include "view3d_intern.h" // own include
/* ******************** manage regions ********************* */
@ -70,20 +70,20 @@ ARegion *view3d_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
ar = BKE_area_find_region_type(sa, RGN_TYPE_UI);
if (ar) return ar;
/* add subdiv level; after header */
ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
ar = BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* is error! */
if (ar==NULL) return NULL;
if (ar == NULL) return NULL;
arnew= MEM_callocN(sizeof(ARegion), "buttons for view3d");
arnew = MEM_callocN(sizeof(ARegion), "buttons for view3d");
BLI_insertlinkafter(&sa->regionbase, ar, arnew);
arnew->regiontype= RGN_TYPE_UI;
arnew->alignment= RGN_ALIGN_RIGHT;
arnew->regiontype = RGN_TYPE_UI;
arnew->alignment = RGN_ALIGN_RIGHT;
arnew->flag = RGN_FLAG_HIDDEN;
@ -92,42 +92,42 @@ ARegion *view3d_has_buttons_region(ScrArea *sa)
ARegion *view3d_has_tools_region(ScrArea *sa)
{
ARegion *ar, *artool=NULL, *arprops=NULL, *arhead;
ARegion *ar, *artool = NULL, *arprops = NULL, *arhead;
for (ar= sa->regionbase.first; ar; ar= ar->next) {
if (ar->regiontype==RGN_TYPE_TOOLS)
artool= ar;
if (ar->regiontype==RGN_TYPE_TOOL_PROPS)
arprops= ar;
for (ar = sa->regionbase.first; ar; ar = ar->next) {
if (ar->regiontype == RGN_TYPE_TOOLS)
artool = ar;
if (ar->regiontype == RGN_TYPE_TOOL_PROPS)
arprops = ar;
}
/* tool region hide/unhide also hides props */
if (arprops && artool) return artool;
if (artool==NULL) {
if (artool == NULL) {
/* add subdiv level; after header */
for (arhead= sa->regionbase.first; arhead; arhead= arhead->next)
if (arhead->regiontype==RGN_TYPE_HEADER)
for (arhead = sa->regionbase.first; arhead; arhead = arhead->next)
if (arhead->regiontype == RGN_TYPE_HEADER)
break;
/* is error! */
if (arhead==NULL) return NULL;
if (arhead == NULL) return NULL;
artool= MEM_callocN(sizeof(ARegion), "tools for view3d");
artool = MEM_callocN(sizeof(ARegion), "tools for view3d");
BLI_insertlinkafter(&sa->regionbase, arhead, artool);
artool->regiontype= RGN_TYPE_TOOLS;
artool->alignment= RGN_ALIGN_LEFT; //RGN_OVERLAP_LEFT;
artool->regiontype = RGN_TYPE_TOOLS;
artool->alignment = RGN_ALIGN_LEFT; //RGN_OVERLAP_LEFT;
artool->flag = RGN_FLAG_HIDDEN;
}
if (arprops==NULL) {
if (arprops == NULL) {
/* add extra subdivided region for tool properties */
arprops= MEM_callocN(sizeof(ARegion), "tool props for view3d");
arprops = MEM_callocN(sizeof(ARegion), "tool props for view3d");
BLI_insertlinkafter(&sa->regionbase, artool, arprops);
arprops->regiontype= RGN_TYPE_TOOL_PROPS;
arprops->alignment= RGN_ALIGN_BOTTOM|RGN_SPLIT_PREV;
arprops->regiontype = RGN_TYPE_TOOL_PROPS;
arprops->alignment = RGN_ALIGN_BOTTOM | RGN_SPLIT_PREV;
}
return artool;
@ -138,12 +138,12 @@ ARegion *view3d_has_tools_region(ScrArea *sa)
/* function to always find a regionview3d context inside 3D window */
RegionView3D *ED_view3d_context_rv3d(bContext *C)
{
RegionView3D *rv3d= CTX_wm_region_view3d(C);
RegionView3D *rv3d = CTX_wm_region_view3d(C);
if (rv3d==NULL) {
if (rv3d == NULL) {
ScrArea *sa = CTX_wm_area(C);
if (sa && sa->spacetype == SPACE_VIEW3D) {
ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
ARegion *ar = BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
if (ar) {
rv3d = ar->regiondata;
}
@ -156,33 +156,33 @@ RegionView3D *ED_view3d_context_rv3d(bContext *C)
* so return that, the caller can then access the ar->regiondata */
int ED_view3d_context_user_region(bContext *C, View3D **v3d_r, ARegion **ar_r)
{
ScrArea *sa= CTX_wm_area(C);
ScrArea *sa = CTX_wm_area(C);
*v3d_r = NULL;
*ar_r = NULL;
if (sa && sa->spacetype==SPACE_VIEW3D) {
ARegion *ar= CTX_wm_region(C);
if (sa && sa->spacetype == SPACE_VIEW3D) {
ARegion *ar = CTX_wm_region(C);
View3D *v3d = (View3D *)sa->spacedata.first;
if (ar) {
RegionView3D *rv3d= ar->regiondata;
RegionView3D *rv3d = ar->regiondata;
if (rv3d && rv3d->viewlock == 0) {
*v3d_r = v3d;
*ar_r = ar;
return 1;
}
else {
ARegion *ar_unlock_user= NULL;
ARegion *ar_unlock= NULL;
for (ar= sa->regionbase.first; ar; ar= ar->next) {
ARegion *ar_unlock_user = NULL;
ARegion *ar_unlock = NULL;
for (ar = sa->regionbase.first; ar; ar = ar->next) {
/* find the first unlocked rv3d */
if (ar->regiondata && ar->regiontype == RGN_TYPE_WINDOW) {
rv3d= ar->regiondata;
rv3d = ar->regiondata;
if (rv3d->viewlock == 0) {
ar_unlock= ar;
if (rv3d->persp==RV3D_PERSP || rv3d->persp==RV3D_CAMOB) {
ar_unlock_user= ar;
ar_unlock = ar;
if (rv3d->persp == RV3D_PERSP || rv3d->persp == RV3D_CAMOB) {
ar_unlock_user = ar;
break;
}
}
@ -243,24 +243,24 @@ void ED_view3d_init_mats_rv3d_gl(struct Object *ob, struct RegionView3D *rv3d)
static SpaceLink *view3d_new(const bContext *C)
{
Scene *scene= CTX_data_scene(C);
Scene *scene = CTX_data_scene(C);
ARegion *ar;
View3D *v3d;
RegionView3D *rv3d;
v3d= MEM_callocN(sizeof(View3D), "initview3d");
v3d->spacetype= SPACE_VIEW3D;
v3d->blockscale= 0.7f;
v3d->lay= v3d->layact= 1;
v3d = MEM_callocN(sizeof(View3D), "initview3d");
v3d->spacetype = SPACE_VIEW3D;
v3d->blockscale = 0.7f;
v3d->lay = v3d->layact = 1;
if (scene) {
v3d->lay= v3d->layact= scene->lay;
v3d->camera= scene->camera;
v3d->lay = v3d->layact = scene->lay;
v3d->camera = scene->camera;
}
v3d->scenelock= TRUE;
v3d->grid= 1.0f;
v3d->gridlines= 16;
v3d->scenelock = TRUE;
v3d->grid = 1.0f;
v3d->gridlines = 16;
v3d->gridsubdiv = 10;
v3d->drawtype= OB_SOLID;
v3d->drawtype = OB_SOLID;
v3d->gridflag |= V3D_SHOW_X;
v3d->gridflag |= V3D_SHOW_Y;
@ -270,60 +270,60 @@ static SpaceLink *view3d_new(const bContext *C)
v3d->flag |= V3D_SELECT_OUTLINE;
v3d->flag2 |= V3D_SHOW_RECONSTRUCTION;
v3d->lens= 35.0f;
v3d->near= 0.01f;
v3d->far= 1000.0f;
v3d->lens = 35.0f;
v3d->near = 0.01f;
v3d->far = 1000.0f;
v3d->twflag |= U.tw_flag & V3D_USE_MANIPULATOR;
v3d->twtype= V3D_MANIP_TRANSLATE;
v3d->around= V3D_CENTROID;
v3d->twtype = V3D_MANIP_TRANSLATE;
v3d->around = V3D_CENTROID;
v3d->bundle_size= 0.2f;
v3d->bundle_drawtype= OB_PLAINAXES;
v3d->bundle_size = 0.2f;
v3d->bundle_drawtype = OB_PLAINAXES;
/* header */
ar= MEM_callocN(sizeof(ARegion), "header for view3d");
ar = MEM_callocN(sizeof(ARegion), "header for view3d");
BLI_addtail(&v3d->regionbase, ar);
ar->regiontype= RGN_TYPE_HEADER;
ar->alignment= RGN_ALIGN_BOTTOM;
ar->regiontype = RGN_TYPE_HEADER;
ar->alignment = RGN_ALIGN_BOTTOM;
/* tool shelf */
ar= MEM_callocN(sizeof(ARegion), "toolshelf for view3d");
ar = MEM_callocN(sizeof(ARegion), "toolshelf for view3d");
BLI_addtail(&v3d->regionbase, ar);
ar->regiontype= RGN_TYPE_TOOLS;
ar->alignment= RGN_ALIGN_LEFT;
ar->regiontype = RGN_TYPE_TOOLS;
ar->alignment = RGN_ALIGN_LEFT;
ar->flag = RGN_FLAG_HIDDEN;
/* tool properties */
ar= MEM_callocN(sizeof(ARegion), "tool properties for view3d");
ar = MEM_callocN(sizeof(ARegion), "tool properties for view3d");
BLI_addtail(&v3d->regionbase, ar);
ar->regiontype= RGN_TYPE_TOOL_PROPS;
ar->alignment= RGN_ALIGN_BOTTOM|RGN_SPLIT_PREV;
ar->regiontype = RGN_TYPE_TOOL_PROPS;
ar->alignment = RGN_ALIGN_BOTTOM | RGN_SPLIT_PREV;
ar->flag = RGN_FLAG_HIDDEN;
/* buttons/list view */
ar= MEM_callocN(sizeof(ARegion), "buttons for view3d");
ar = MEM_callocN(sizeof(ARegion), "buttons for view3d");
BLI_addtail(&v3d->regionbase, ar);
ar->regiontype= RGN_TYPE_UI;
ar->alignment= RGN_ALIGN_RIGHT;
ar->regiontype = RGN_TYPE_UI;
ar->alignment = RGN_ALIGN_RIGHT;
ar->flag = RGN_FLAG_HIDDEN;
/* main area */
ar= MEM_callocN(sizeof(ARegion), "main area for view3d");
ar = MEM_callocN(sizeof(ARegion), "main area for view3d");
BLI_addtail(&v3d->regionbase, ar);
ar->regiontype= RGN_TYPE_WINDOW;
ar->regiontype = RGN_TYPE_WINDOW;
ar->regiondata= MEM_callocN(sizeof(RegionView3D), "region view3d");
rv3d= ar->regiondata;
rv3d->viewquat[0]= 1.0f;
rv3d->persp= RV3D_PERSP;
rv3d->view= RV3D_VIEW_PERSPORTHO;
rv3d->dist= 10.0;
ar->regiondata = MEM_callocN(sizeof(RegionView3D), "region view3d");
rv3d = ar->regiondata;
rv3d->viewquat[0] = 1.0f;
rv3d->persp = RV3D_PERSP;
rv3d->view = RV3D_VIEW_PERSPORTHO;
rv3d->dist = 10.0;
return (SpaceLink *)v3d;
}
@ -331,7 +331,7 @@ static SpaceLink *view3d_new(const bContext *C)
/* not spacelink itself */
static void view3d_free(SpaceLink *sl)
{
View3D *vd= (View3D *) sl;
View3D *vd = (View3D *) sl;
BLI_freelistN(&vd->bgpicbase);
@ -349,17 +349,17 @@ static void view3d_init(struct wmWindowManager *UNUSED(wm), ScrArea *UNUSED(sa))
static SpaceLink *view3d_duplicate(SpaceLink *sl)
{
View3D *v3do= (View3D *)sl;
View3D *v3dn= MEM_dupallocN(sl);
View3D *v3do = (View3D *)sl;
View3D *v3dn = MEM_dupallocN(sl);
/* clear or remove stuff from old */
// XXX BIF_view3d_previewrender_free(v3do);
if (v3do->localvd) {
v3do->localvd= NULL;
v3do->properties_storage= NULL;
v3do->lay= v3dn->localvd->lay;
v3do->localvd = NULL;
v3do->properties_storage = NULL;
v3do->lay = v3dn->localvd->lay;
v3do->lay &= 0xFFFFFF;
}
@ -370,7 +370,7 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
BLI_duplicatelist(&v3dn->bgpicbase, &v3do->bgpicbase);
v3dn->properties_storage= NULL;
v3dn->properties_storage = NULL;
return (SpaceLink *)v3dn;
}
@ -453,7 +453,7 @@ static void view3d_main_area_init(wmWindowManager *wm, ARegion *ar)
WM_event_add_keymap_handler(&ar->handlers, keymap);
/* add drop boxes */
lb= WM_dropboxmap_find("View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW);
lb = WM_dropboxmap_find("View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW);
WM_event_add_dropbox_handler(&ar->handlers, lb);
@ -461,9 +461,9 @@ static void view3d_main_area_init(wmWindowManager *wm, ARegion *ar)
static int view3d_ob_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(event))
{
if (drag->type==WM_DRAG_ID) {
ID *id= (ID *)drag->poin;
if ( GS(id->name)==ID_OB )
if (drag->type == WM_DRAG_ID) {
ID *id = (ID *)drag->poin;
if (GS(id->name) == ID_OB)
return 1;
}
return 0;
@ -471,9 +471,9 @@ static int view3d_ob_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSE
static int view3d_mat_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(event))
{
if (drag->type==WM_DRAG_ID) {
ID *id= (ID *)drag->poin;
if ( GS(id->name)==ID_MA )
if (drag->type == WM_DRAG_ID) {
ID *id = (ID *)drag->poin;
if (GS(id->name) == ID_MA)
return 1;
}
return 0;
@ -481,13 +481,13 @@ static int view3d_mat_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUS
static int view3d_ima_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(event))
{
if (drag->type==WM_DRAG_ID) {
ID *id= (ID *)drag->poin;
if ( GS(id->name)==ID_IM )
if (drag->type == WM_DRAG_ID) {
ID *id = (ID *)drag->poin;
if (GS(id->name) == ID_IM)
return 1;
}
else if (drag->type==WM_DRAG_PATH) {
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE)) /* rule might not work? */
else if (drag->type == WM_DRAG_PATH) {
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE)) /* rule might not work? */
return 1;
}
return 0;
@ -496,7 +496,7 @@ static int view3d_ima_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUS
static int view3d_ima_bg_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
{
if ( ED_view3d_give_base_under_cursor(C, event->mval) ) {
if (ED_view3d_give_base_under_cursor(C, event->mval) ) {
return 0;
}
return view3d_ima_drop_poll(C, drag, event);
@ -504,7 +504,7 @@ static int view3d_ima_bg_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
static int view3d_ima_ob_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
{
if ( ED_view3d_give_base_under_cursor(C, event->mval) ) {
if (ED_view3d_give_base_under_cursor(C, event->mval) ) {
return view3d_ima_drop_poll(C, drag, event);
}
return 0;
@ -512,30 +512,30 @@ static int view3d_ima_ob_drop_poll(bContext *C, wmDrag *drag, wmEvent *event)
static void view3d_ob_drop_copy(wmDrag *drag, wmDropBox *drop)
{
ID *id= (ID *)drag->poin;
ID *id = (ID *)drag->poin;
PointerRNA ptr;
/* need to put name in sub-operator in macro */
ptr= RNA_pointer_get(drop->ptr, "OBJECT_OT_add_named");
ptr = RNA_pointer_get(drop->ptr, "OBJECT_OT_add_named");
if (ptr.data)
RNA_string_set(&ptr, "name", id->name+2);
RNA_string_set(&ptr, "name", id->name + 2);
else
RNA_string_set(drop->ptr, "name", id->name+2);
RNA_string_set(drop->ptr, "name", id->name + 2);
}
static void view3d_id_drop_copy(wmDrag *drag, wmDropBox *drop)
{
ID *id= (ID *)drag->poin;
ID *id = (ID *)drag->poin;
RNA_string_set(drop->ptr, "name", id->name+2);
RNA_string_set(drop->ptr, "name", id->name + 2);
}
static void view3d_id_path_drop_copy(wmDrag *drag, wmDropBox *drop)
{
ID *id= (ID *)drag->poin;
ID *id = (ID *)drag->poin;
if (id)
RNA_string_set(drop->ptr, "name", id->name+2);
RNA_string_set(drop->ptr, "name", id->name + 2);
if (drag->path[0])
RNA_string_set(drop->ptr, "filepath", drag->path);
}
@ -544,7 +544,7 @@ static void view3d_id_path_drop_copy(wmDrag *drag, wmDropBox *drop)
/* region dropbox definition */
static void view3d_dropboxes(void)
{
ListBase *lb= WM_dropboxmap_find("View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW);
ListBase *lb = WM_dropboxmap_find("View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW);
WM_dropbox_add(lb, "OBJECT_OT_add_named_cursor", view3d_ob_drop_poll, view3d_ob_drop_copy);
WM_dropbox_add(lb, "OBJECT_OT_drop_named_material", view3d_mat_drop_poll, view3d_id_drop_copy);
@ -557,7 +557,7 @@ static void view3d_dropboxes(void)
/* type callback, not region itself */
static void view3d_main_area_free(ARegion *ar)
{
RegionView3D *rv3d= ar->regiondata;
RegionView3D *rv3d = ar->regiondata;
if (rv3d) {
if (rv3d->localvd) MEM_freeN(rv3d->localvd);
@ -575,7 +575,7 @@ static void view3d_main_area_free(ARegion *ar)
MEM_freeN(rv3d->depths);
}
MEM_freeN(rv3d);
ar->regiondata= NULL;
ar->regiondata = NULL;
}
}
@ -583,20 +583,20 @@ static void view3d_main_area_free(ARegion *ar)
static void *view3d_main_area_duplicate(void *poin)
{
if (poin) {
RegionView3D *rv3d= poin, *new;
RegionView3D *rv3d = poin, *new;
new= MEM_dupallocN(rv3d);
new = MEM_dupallocN(rv3d);
if (rv3d->localvd)
new->localvd= MEM_dupallocN(rv3d->localvd);
new->localvd = MEM_dupallocN(rv3d->localvd);
if (rv3d->clipbb)
new->clipbb= MEM_dupallocN(rv3d->clipbb);
new->clipbb = MEM_dupallocN(rv3d->clipbb);
new->depths= NULL;
new->ri= NULL;
new->render_engine= NULL;
new->gpd= NULL;
new->sms= NULL;
new->smooth_timer= NULL;
new->depths = NULL;
new->ri = NULL;
new->render_engine = NULL;
new->gpd = NULL;
new->sms = NULL;
new->smooth_timer = NULL;
return new;
}
@ -605,28 +605,28 @@ static void *view3d_main_area_duplicate(void *poin)
static void view3d_recalc_used_layers(ARegion *ar, wmNotifier *wmn, Scene *scene)
{
wmWindow *win= wmn->wm->winactive;
wmWindow *win = wmn->wm->winactive;
ScrArea *sa;
unsigned int lay_used= 0;
unsigned int lay_used = 0;
Base *base;
if (!win) return;
base= scene->base.first;
base = scene->base.first;
while (base) {
lay_used |= base->lay & ((1<<20)-1); /* ignore localview */
lay_used |= base->lay & ((1 << 20) - 1); /* ignore localview */
if (lay_used == (1<<20)-1)
if (lay_used == (1 << 20) - 1)
break;
base= base->next;
base = base->next;
}
for (sa= win->screen->areabase.first; sa; sa= sa->next) {
for (sa = win->screen->areabase.first; sa; sa = sa->next) {
if (sa->spacetype == SPACE_VIEW3D) {
if (BLI_findindex(&sa->regionbase, ar) != -1) {
View3D *v3d= sa->spacedata.first;
v3d->lay_used= lay_used;
View3D *v3d = sa->spacedata.first;
v3d->lay_used = lay_used;
break;
}
}
@ -638,9 +638,9 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
bScreen *sc;
/* context changes */
switch(wmn->category) {
switch (wmn->category) {
case NC_ANIMATION:
switch(wmn->data) {
switch (wmn->data) {
case ND_KEYFRAME_PROP:
case ND_NLA_ACTCHANGE:
ED_region_tag_redraw(ar);
@ -657,7 +657,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
}
break;
case NC_SCENE:
switch(wmn->data) {
switch (wmn->data) {
case ND_LAYER_CONTENT:
view3d_recalc_used_layers(ar, wmn, wmn->reference);
ED_region_tag_redraw(ar);
@ -680,7 +680,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
ED_region_tag_redraw(ar);
break;
case NC_OBJECT:
switch(wmn->data) {
switch (wmn->data) {
case ND_BONE_ACTIVE:
case ND_BONE_SELECT:
case ND_TRANSFORM:
@ -693,20 +693,20 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
ED_region_tag_redraw(ar);
break;
}
switch(wmn->action) {
switch (wmn->action) {
case NA_ADDED:
ED_region_tag_redraw(ar);
break;
}
break;
case NC_GEOM:
switch(wmn->data) {
switch (wmn->data) {
case ND_DATA:
case ND_SELECT:
ED_region_tag_redraw(ar);
break;
}
switch(wmn->action) {
switch (wmn->action) {
case NA_EDITED:
ED_region_tag_redraw(ar);
break;
@ -721,20 +721,20 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
ED_region_tag_redraw_overlay(ar);
break;
case NC_MATERIAL:
switch(wmn->data) {
switch (wmn->data) {
case ND_SHADING_DRAW:
ED_region_tag_redraw(ar);
break;
}
break;
case NC_WORLD:
switch(wmn->data) {
switch (wmn->data) {
case ND_WORLD_DRAW:
/* handled by space_view3d_listener() for v3d access */
break;
case ND_WORLD_STARS:
{
RegionView3D *rv3d= ar->regiondata;
RegionView3D *rv3d = ar->regiondata;
if (rv3d->persp == RV3D_CAMOB) {
ED_region_tag_redraw(ar);
}
@ -742,7 +742,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
}
break;
case NC_LAMP:
switch(wmn->data) {
switch (wmn->data) {
case ND_LIGHTING_DRAW:
ED_region_tag_redraw(ar);
break;
@ -758,13 +758,13 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
ED_region_tag_redraw(ar);
break;
case NC_MOVIECLIP:
if (wmn->data==ND_DISPLAY)
if (wmn->data == ND_DISPLAY)
ED_region_tag_redraw(ar);
break;
case NC_SPACE:
if (wmn->data == ND_SPACE_VIEW3D) {
if (wmn->subtype == NS_VIEW3D_GPU) {
RegionView3D *rv3d= ar->regiondata;
RegionView3D *rv3d = ar->regiondata;
rv3d->rflag |= RV3D_GPULIGHT_UPDATE;
}
ED_region_tag_redraw(ar);
@ -775,7 +775,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
ED_region_tag_redraw(ar);
break;
case NC_SCREEN:
switch(wmn->data) {
switch (wmn->data) {
case ND_GPENCIL:
case ND_ANIMPLAY:
case ND_SKETCH:
@ -786,7 +786,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
case ND_SCREENSET:
/* screen was changed, need to update used layers due to NC_SCENE|ND_LAYER_CONTENT */
/* updates used layers only for View3D in active screen */
sc= wmn->reference;
sc = wmn->reference;
view3d_recalc_used_layers(ar, wmn, sc->scene);
ED_region_tag_redraw(ar);
break;
@ -799,7 +799,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn)
/* concept is to retrieve cursor type context-less */
static void view3d_main_area_cursor(wmWindow *win, ScrArea *UNUSED(sa), ARegion *UNUSED(ar))
{
Scene *scene= win->screen->scene;
Scene *scene = win->screen->scene;
if (scene->obedit) {
WM_cursor_set(win, CURSOR_EDIT);
@ -827,9 +827,9 @@ static void view3d_header_area_draw(const bContext *C, ARegion *ar)
static void view3d_header_area_listener(ARegion *ar, wmNotifier *wmn)
{
/* context changes */
switch(wmn->category) {
switch (wmn->category) {
case NC_SCENE:
switch(wmn->data) {
switch (wmn->data) {
case ND_FRAME:
case ND_OB_ACTIVE:
case ND_OB_SELECT:
@ -868,9 +868,9 @@ static void view3d_buttons_area_draw(const bContext *C, ARegion *ar)
static void view3d_buttons_area_listener(ARegion *ar, wmNotifier *wmn)
{
/* context changes */
switch(wmn->category) {
switch (wmn->category) {
case NC_ANIMATION:
switch(wmn->data) {
switch (wmn->data) {
case ND_KEYFRAME_PROP:
case ND_NLA_ACTCHANGE:
ED_region_tag_redraw(ar);
@ -883,7 +883,7 @@ static void view3d_buttons_area_listener(ARegion *ar, wmNotifier *wmn)
}
break;
case NC_SCENE:
switch(wmn->data) {
switch (wmn->data) {
case ND_FRAME:
case ND_OB_ACTIVE:
case ND_OB_SELECT:
@ -895,14 +895,14 @@ static void view3d_buttons_area_listener(ARegion *ar, wmNotifier *wmn)
ED_region_tag_redraw(ar);
break;
}
switch(wmn->action) {
switch (wmn->action) {
case NA_EDITED:
ED_region_tag_redraw(ar);
break;
}
break;
case NC_OBJECT:
switch(wmn->data) {
switch (wmn->data) {
case ND_BONE_ACTIVE:
case ND_BONE_SELECT:
case ND_TRANSFORM:
@ -915,7 +915,7 @@ static void view3d_buttons_area_listener(ARegion *ar, wmNotifier *wmn)
}
break;
case NC_GEOM:
switch(wmn->data) {
switch (wmn->data) {
case ND_DATA:
case ND_SELECT:
ED_region_tag_redraw(ar);
@ -930,7 +930,7 @@ static void view3d_buttons_area_listener(ARegion *ar, wmNotifier *wmn)
ED_region_tag_redraw(ar);
break;
case NC_BRUSH:
if (wmn->action==NA_EDITED)
if (wmn->action == NA_EDITED)
ED_region_tag_redraw(ar);
break;
case NC_SPACE:
@ -967,7 +967,7 @@ static void view3d_tools_area_draw(const bContext *C, ARegion *ar)
static void view3d_props_area_listener(ARegion *ar, wmNotifier *wmn)
{
/* context changes */
switch(wmn->category) {
switch (wmn->category) {
case NC_WM:
if (wmn->data == ND_HISTORY)
ED_region_tag_redraw(ar);
@ -989,9 +989,9 @@ static void space_view3d_listener(struct ScrArea *sa, struct wmNotifier *wmn)
View3D *v3d = sa->spacedata.first;
/* context changes */
switch(wmn->category) {
switch (wmn->category) {
case NC_SCENE:
switch(wmn->data) {
switch (wmn->data) {
case ND_WORLD:
if (v3d->flag2 & V3D_RENDER_OVERRIDE)
ED_area_tag_redraw_regiontype(sa, RGN_TYPE_WINDOW);
@ -999,7 +999,7 @@ static void space_view3d_listener(struct ScrArea *sa, struct wmNotifier *wmn)
}
break;
case NC_WORLD:
switch(wmn->data) {
switch (wmn->data) {
case ND_WORLD_DRAW:
if (v3d->flag2 & V3D_RENDER_OVERRIDE)
ED_area_tag_redraw_regiontype(sa, RGN_TYPE_WINDOW);
@ -1007,7 +1007,7 @@ static void space_view3d_listener(struct ScrArea *sa, struct wmNotifier *wmn)
}
break;
case NC_MATERIAL:
switch(wmn->data) {
switch (wmn->data) {
case ND_NODES:
if (v3d->drawtype == OB_TEXTURE)
ED_area_tag_redraw_regiontype(sa, RGN_TYPE_WINDOW);
@ -1035,25 +1035,26 @@ static void space_view3d_listener(struct ScrArea *sa, struct wmNotifier *wmn)
const char *view3d_context_dir[] = {
"selected_objects", "selected_bases", "selected_editable_objects",
"selected_editable_bases", "visible_objects", "visible_bases", "selectable_objects", "selectable_bases",
"active_base", "active_object", NULL};
"active_base", "active_object", NULL
};
static int view3d_context(const bContext *C, const char *member, bContextDataResult *result)
{
View3D *v3d= CTX_wm_view3d(C);
Scene *scene= CTX_data_scene(C);
View3D *v3d = CTX_wm_view3d(C);
Scene *scene = CTX_data_scene(C);
Base *base;
/* fallback to the scene layer, allows duplicate and other object operators to run outside the 3d view */
unsigned int lay = v3d ? v3d->lay:scene->lay;
unsigned int lay = v3d ? v3d->lay : scene->lay;
if (CTX_data_dir(member)) {
CTX_data_dir_set(result, view3d_context_dir);
}
else if (CTX_data_equals(member, "selected_objects") || CTX_data_equals(member, "selected_bases")) {
int selected_objects= CTX_data_equals(member, "selected_objects");
int selected_objects = CTX_data_equals(member, "selected_objects");
for (base=scene->base.first; base; base=base->next) {
for (base = scene->base.first; base; base = base->next) {
if ((base->flag & SELECT) && (base->lay & lay)) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW)==0) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) {
if (selected_objects)
CTX_data_id_list_add(result, &base->object->id);
else
@ -1065,12 +1066,12 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
return 1;
}
else if (CTX_data_equals(member, "selected_editable_objects") || CTX_data_equals(member, "selected_editable_bases")) {
int selected_editable_objects= CTX_data_equals(member, "selected_editable_objects");
int selected_editable_objects = CTX_data_equals(member, "selected_editable_objects");
for (base=scene->base.first; base; base=base->next) {
for (base = scene->base.first; base; base = base->next) {
if ((base->flag & SELECT) && (base->lay & lay)) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW)==0) {
if (0==object_is_libdata(base->object)) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) {
if (0 == object_is_libdata(base->object)) {
if (selected_editable_objects)
CTX_data_id_list_add(result, &base->object->id);
else
@ -1083,11 +1084,11 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
return 1;
}
else if (CTX_data_equals(member, "visible_objects") || CTX_data_equals(member, "visible_bases")) {
int visible_objects= CTX_data_equals(member, "visible_objects");
int visible_objects = CTX_data_equals(member, "visible_objects");
for (base=scene->base.first; base; base=base->next) {
for (base = scene->base.first; base; base = base->next) {
if (base->lay & lay) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW)==0) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) {
if (visible_objects)
CTX_data_id_list_add(result, &base->object->id);
else
@ -1099,11 +1100,11 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
return 1;
}
else if (CTX_data_equals(member, "selectable_objects") || CTX_data_equals(member, "selectable_bases")) {
int selectable_objects= CTX_data_equals(member, "selectable_objects");
int selectable_objects = CTX_data_equals(member, "selectable_objects");
for (base=scene->base.first; base; base=base->next) {
for (base = scene->base.first; base; base = base->next) {
if (base->lay & lay) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW)==0 && (base->object->restrictflag & OB_RESTRICT_SELECT)==0) {
if ((base->object->restrictflag & OB_RESTRICT_VIEW) == 0 && (base->object->restrictflag & OB_RESTRICT_SELECT) == 0) {
if (selectable_objects)
CTX_data_id_list_add(result, &base->object->id);
else
@ -1116,14 +1117,14 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
}
else if (CTX_data_equals(member, "active_base")) {
if (scene->basact && (scene->basact->lay & lay))
if ((scene->basact->object->restrictflag & OB_RESTRICT_VIEW)==0)
if ((scene->basact->object->restrictflag & OB_RESTRICT_VIEW) == 0)
CTX_data_pointer_set(result, &scene->id, &RNA_ObjectBase, scene->basact);
return 1;
}
else if (CTX_data_equals(member, "active_object")) {
if (scene->basact && (scene->basact->lay & lay))
if ((scene->basact->object->restrictflag & OB_RESTRICT_VIEW)==0)
if ((scene->basact->object->restrictflag & OB_RESTRICT_VIEW) == 0)
CTX_data_id_pointer_set(result, &scene->basact->object->id);
return 1;
@ -1139,56 +1140,56 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
/* only called once, from space/spacetypes.c */
void ED_spacetype_view3d(void)
{
SpaceType *st= MEM_callocN(sizeof(SpaceType), "spacetype view3d");
SpaceType *st = MEM_callocN(sizeof(SpaceType), "spacetype view3d");
ARegionType *art;
st->spaceid= SPACE_VIEW3D;
st->spaceid = SPACE_VIEW3D;
strncpy(st->name, "View3D", BKE_ST_MAXNAME);
st->new= view3d_new;
st->free= view3d_free;
st->init= view3d_init;
st->new = view3d_new;
st->free = view3d_free;
st->init = view3d_init;
st->listener = space_view3d_listener;
st->duplicate= view3d_duplicate;
st->operatortypes= view3d_operatortypes;
st->keymap= view3d_keymap;
st->dropboxes= view3d_dropboxes;
st->context= view3d_context;
st->duplicate = view3d_duplicate;
st->operatortypes = view3d_operatortypes;
st->keymap = view3d_keymap;
st->dropboxes = view3d_dropboxes;
st->context = view3d_context;
/* regions: main window */
art= MEM_callocN(sizeof(ARegionType), "spacetype view3d main region");
art = MEM_callocN(sizeof(ARegionType), "spacetype view3d main region");
art->regionid = RGN_TYPE_WINDOW;
art->keymapflag= ED_KEYMAP_GPENCIL;
art->draw= view3d_main_area_draw;
art->init= view3d_main_area_init;
art->free= view3d_main_area_free;
art->duplicate= view3d_main_area_duplicate;
art->listener= view3d_main_area_listener;
art->cursor= view3d_main_area_cursor;
art->lock= 1; /* can become flag, see BKE_spacedata_draw_locks */
art->keymapflag = ED_KEYMAP_GPENCIL;
art->draw = view3d_main_area_draw;
art->init = view3d_main_area_init;
art->free = view3d_main_area_free;
art->duplicate = view3d_main_area_duplicate;
art->listener = view3d_main_area_listener;
art->cursor = view3d_main_area_cursor;
art->lock = 1; /* can become flag, see BKE_spacedata_draw_locks */
BLI_addhead(&st->regiontypes, art);
/* regions: listview/buttons */
art= MEM_callocN(sizeof(ARegionType), "spacetype view3d buttons region");
art = MEM_callocN(sizeof(ARegionType), "spacetype view3d buttons region");
art->regionid = RGN_TYPE_UI;
art->prefsizex= 180; // XXX
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_FRAMES;
art->listener= view3d_buttons_area_listener;
art->init= view3d_buttons_area_init;
art->draw= view3d_buttons_area_draw;
art->prefsizex = 180; // XXX
art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_FRAMES;
art->listener = view3d_buttons_area_listener;
art->init = view3d_buttons_area_init;
art->draw = view3d_buttons_area_draw;
BLI_addhead(&st->regiontypes, art);
view3d_buttons_register(art);
/* regions: tool(bar) */
art= MEM_callocN(sizeof(ARegionType), "spacetype view3d tools region");
art = MEM_callocN(sizeof(ARegionType), "spacetype view3d tools region");
art->regionid = RGN_TYPE_TOOLS;
art->prefsizex= 160; // XXX
art->prefsizey= 50; // XXX
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_FRAMES;
art->listener= view3d_buttons_area_listener;
art->init= view3d_tools_area_init;
art->draw= view3d_tools_area_draw;
art->prefsizex = 160; // XXX
art->prefsizey = 50; // XXX
art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_FRAMES;
art->listener = view3d_buttons_area_listener;
art->init = view3d_tools_area_init;
art->draw = view3d_tools_area_draw;
BLI_addhead(&st->regiontypes, art);
#if 0
@ -1197,27 +1198,27 @@ void ED_spacetype_view3d(void)
#endif
/* regions: tool properties */
art= MEM_callocN(sizeof(ARegionType), "spacetype view3d tool properties region");
art = MEM_callocN(sizeof(ARegionType), "spacetype view3d tool properties region");
art->regionid = RGN_TYPE_TOOL_PROPS;
art->prefsizex= 0;
art->prefsizey= 120;
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_FRAMES;
art->listener= view3d_props_area_listener;
art->init= view3d_tools_area_init;
art->draw= view3d_tools_area_draw;
art->prefsizex = 0;
art->prefsizey = 120;
art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_FRAMES;
art->listener = view3d_props_area_listener;
art->init = view3d_tools_area_init;
art->draw = view3d_tools_area_draw;
BLI_addhead(&st->regiontypes, art);
view3d_tool_props_register(art);
/* regions: header */
art= MEM_callocN(sizeof(ARegionType), "spacetype view3d header region");
art = MEM_callocN(sizeof(ARegionType), "spacetype view3d header region");
art->regionid = RGN_TYPE_HEADER;
art->prefsizey= HEADERY;
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES|ED_KEYMAP_HEADER;
art->listener= view3d_header_area_listener;
art->init= view3d_header_area_init;
art->draw= view3d_header_area_draw;
art->prefsizey = HEADERY;
art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D | ED_KEYMAP_FRAMES | ED_KEYMAP_HEADER;
art->listener = view3d_header_area_listener;
art->init = view3d_header_area_init;
art->draw = view3d_header_area_draw;
BLI_addhead(&st->regiontypes, art);
BKE_spacetype_register(st);

View File

@ -83,44 +83,44 @@
/* ******************* view3d space & buttons ************** */
#define B_NOP 1
#define B_REDR 2
#define B_OBJECTPANELROT 1007
#define B_NOP 1
#define B_REDR 2
#define B_OBJECTPANELROT 1007
#define B_OBJECTPANELMEDIAN 1008
#define B_ARMATUREPANEL1 1009
#define B_ARMATUREPANEL2 1010
#define B_ARMATUREPANEL1 1009
#define B_ARMATUREPANEL2 1010
#define B_OBJECTPANELPARENT 1011
#define B_OBJECTPANEL 1012
#define B_ARMATUREPANEL3 1013
#define B_OBJECTPANELSCALE 1014
#define B_OBJECTPANELDIMS 1015
#define B_TRANSFORMSPACEADD 1016
#define B_TRANSFORMSPACECLEAR 1017
#define B_SETPT_AUTO 2125
#define B_SETPT_VECTOR 2126
#define B_SETPT_ALIGN 2127
#define B_SETPT_FREE 2128
#define B_RECALCMBALL 2501
#define B_OBJECTPANEL 1012
#define B_ARMATUREPANEL3 1013
#define B_OBJECTPANELSCALE 1014
#define B_OBJECTPANELDIMS 1015
#define B_TRANSFORMSPACEADD 1016
#define B_TRANSFORMSPACECLEAR 1017
#define B_SETPT_AUTO 2125
#define B_SETPT_VECTOR 2126
#define B_SETPT_ALIGN 2127
#define B_SETPT_FREE 2128
#define B_RECALCMBALL 2501
#define B_WEIGHT0_0 2840
#define B_WEIGHT1_4 2841
#define B_WEIGHT1_2 2842
#define B_WEIGHT3_4 2843
#define B_WEIGHT1_0 2844
#define B_WEIGHT0_0 2840
#define B_WEIGHT1_4 2841
#define B_WEIGHT1_2 2842
#define B_WEIGHT3_4 2843
#define B_WEIGHT1_0 2844
#define B_OPA1_8 2845
#define B_OPA1_4 2846
#define B_OPA1_2 2847
#define B_OPA3_4 2848
#define B_OPA1_0 2849
#define B_OPA1_8 2845
#define B_OPA1_4 2846
#define B_OPA1_2 2847
#define B_OPA3_4 2848
#define B_OPA1_0 2849
#define B_CLR_WPAINT 2850
#define B_CLR_WPAINT 2850
#define B_RV3D_LOCKED 2900
#define B_RV3D_BOXVIEW 2901
#define B_RV3D_BOXCLIP 2902
#define B_RV3D_LOCKED 2900
#define B_RV3D_BOXVIEW 2901
#define B_RV3D_BOXCLIP 2902
#define B_IDNAME 3000
#define B_IDNAME 3000
/* temporary struct for storing transform properties */
typedef struct {
@ -167,8 +167,8 @@ static float compute_scale_factor(const float ve_median, const float median)
/* is used for both read and write... */
static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float lim)
{
uiBlock *block = (layout)? uiLayoutAbsoluteBlock(layout): NULL;
MDeformVert *dvert =NULL;
uiBlock *block = (layout) ? uiLayoutAbsoluteBlock(layout) : NULL;
MDeformVert *dvert = NULL;
TransformProperties *tfp;
float median[7], ve_median[7];
int tot, totw, totweight, totedge, totradius;
@ -221,8 +221,8 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
int i, max = 1, init = 1;
char str[320];
for (i = 0; i<dvert->totweight; i++) {
dg = BLI_findlink (&ob->defbase, dvert->dw[i].def_nr);
for (i = 0; i < dvert->totweight; i++) {
dg = BLI_findlink(&ob->defbase, dvert->dw[i].def_nr);
if (dg) {
max += BLI_snprintf(str, sizeof(str), "%s %%x%d|", dg->name, dvert->dw[i].def_nr);
if (max < sizeof(str)) strcat(defstr, str);
@ -281,7 +281,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
}
else {
bp = nu->bp;
a = nu->pntsu*nu->pntsv;
a = nu->pntsu * nu->pntsv;
while (a--) {
if (bp->f1 & SELECT) {
add_v3_v3(median, bp->vec);
@ -405,7 +405,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, IFACE_("Bevel Weight:"), 0, 20, 200, 20,
&(tfp->ve_median[6]), 0.0, 1.0, 1, 3, TIP_("Weight used by Bevel modifier"));
}
else if (totedge>1) {
else if (totedge > 1) {
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, IFACE_("Mean Crease:"), 0, 40, 200, 20,
&(tfp->ve_median[3]), 0.0, 1.0, 1, 3, TIP_("Weight used by SubSurf modifier"));
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, IFACE_("Mean Bevel Weight:"), 0, 20, 200, 20,
@ -571,7 +571,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
}
else {
bp = nu->bp;
a = nu->pntsu*nu->pntsv;
a = nu->pntsu * nu->pntsv;
while (a--) {
if (bp->f1 & SELECT) {
add_v3_v3(bp->vec, median);
@ -605,7 +605,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
int a;
const float scale_w = compute_scale_factor(ve_median[4], median[4]);
a = lt->editlatt->latt->pntsu*lt->editlatt->latt->pntsv*lt->editlatt->latt->pntsw;
a = lt->editlatt->latt->pntsu * lt->editlatt->latt->pntsv * lt->editlatt->latt->pntsw;
bp = lt->editlatt->latt->def;
while (a--) {
if (bp->f1 & SELECT) {
@ -820,7 +820,7 @@ static void do_view3d_vgroup_buttons(bContext *C, void *UNUSED(arg), int event)
/* default for now */
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_GEOM|ND_DATA, ob->data);
WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
}
static int view3d_panel_vgroup_poll(const bContext *C, PanelType *UNUSED(pt))
@ -862,7 +862,7 @@ static void view3d_panel_vgroup(const bContext *C, Panel *pa)
uiBlockBeginAlign(block);
for (i = dv->totweight; i != 0; i--, dw++) {
dg = BLI_findlink (&ob->defbase, dw->def_nr);
dg = BLI_findlink(&ob->defbase, dw->def_nr);
if (dg) {
uiDefButF(block, NUM, B_VGRP_PNL_EDIT_SINGLE + dw->def_nr, dg->name, 0, yco, 180, 20,
&dw->weight, 0.0, 1.0, 1, 3, "");
@ -912,7 +912,7 @@ static void v3d_transform_butsR(uiLayout *layout, PointerRNA *ptr)
colsub = uiLayoutColumn(split, 1);
uiItemR(colsub, ptr, "lock_rotations_4d", UI_ITEM_R_TOGGLE, IFACE_("4L"), ICON_NONE);
if (RNA_boolean_get(ptr, "lock_rotations_4d"))
uiItemR(colsub, ptr, "lock_rotation_w", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
uiItemR(colsub, ptr, "lock_rotation_w", UI_ITEM_R_TOGGLE + UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
else
uiItemL(colsub, "", ICON_NONE);
uiItemR(colsub, ptr, "lock_rotation", UI_ITEM_R_TOGGLE | UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
@ -970,7 +970,7 @@ static void v3d_posearmature_buts(uiLayout *layout, Object *ob)
/* row = uiLayoutRow(layout, 0); */
if (!pchan) {
if (!pchan) {
uiItemL(layout, IFACE_("No Bone Active"), ICON_NONE);
return;
}
@ -991,57 +991,57 @@ static void v3d_posearmature_buts(uiLayout *layout, Object *ob)
float quat[4];
/* convert to euler, passing through quats... */
axis_angle_to_quat(quat, pchan->rotAxis, pchan->rotAngle);
quat_to_eul( tfp->ob_eul,quat);
quat_to_eul(tfp->ob_eul, quat);
}
else if (pchan->rotmode == ROT_MODE_QUAT)
quat_to_eul( tfp->ob_eul,pchan->quat);
quat_to_eul(tfp->ob_eul, pchan->quat);
else
copy_v3_v3(tfp->ob_eul, pchan->eul);
tfp->ob_eul[0]*= RAD2DEGF(1.0f);
tfp->ob_eul[1]*= RAD2DEGF(1.0f);
tfp->ob_eul[2]*= RAD2DEGF(1.0f);
tfp->ob_eul[0] *= RAD2DEGF(1.0f);
tfp->ob_eul[1] *= RAD2DEGF(1.0f);
tfp->ob_eul[2] *= RAD2DEGF(1.0f);
uiDefBut(block, LABEL, 0, "Location:", 0, 240, 100, 20, 0, 0, 0, 0, 0, "");
uiBlockBeginAlign(block);
but = uiDefButF(block, NUM, B_ARMATUREPANEL2, "X:", 0, 220, 120, 19, pchan->loc, -lim, lim, 100, 3, "");
but = uiDefButF(block, NUM, B_ARMATUREPANEL2, "X:", 0, 220, 120, 19, pchan->loc, -lim, lim, 100, 3, "");
uiButSetUnitType(but, PROP_UNIT_LENGTH);
but = uiDefButF(block, NUM, B_ARMATUREPANEL2, "Y:", 0, 200, 120, 19, pchan->loc+1, -lim, lim, 100, 3, "");
but = uiDefButF(block, NUM, B_ARMATUREPANEL2, "Y:", 0, 200, 120, 19, pchan->loc + 1, -lim, lim, 100, 3, "");
uiButSetUnitType(but, PROP_UNIT_LENGTH);
but = uiDefButF(block, NUM, B_ARMATUREPANEL2, "Z:", 0, 180, 120, 19, pchan->loc+2, -lim, lim, 100, 3, "");
but = uiDefButF(block, NUM, B_ARMATUREPANEL2, "Z:", 0, 180, 120, 19, pchan->loc + 2, -lim, lim, 100, 3, "");
uiButSetUnitType(but, PROP_UNIT_LENGTH);
uiBlockEndAlign(block);
uiBlockBeginAlign(block);
uiDefIconButBitS(block, ICONTOG, OB_LOCK_LOCX, B_REDR, ICON_UNLOCKED, 125, 220, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects X Location value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_LOCY, B_REDR, ICON_UNLOCKED, 125, 200, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Y Location value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_LOCZ, B_REDR, ICON_UNLOCKED, 125, 180, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Z Location value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_LOCX, B_REDR, ICON_UNLOCKED, 125, 220, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects X Location value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_LOCY, B_REDR, ICON_UNLOCKED, 125, 200, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Y Location value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_LOCZ, B_REDR, ICON_UNLOCKED, 125, 180, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Z Location value from being Transformed");
uiBlockEndAlign(block);
uiDefBut(block, LABEL, 0, "Rotation:", 0, 160, 100, 20, 0, 0, 0, 0, 0, "");
uiDefBut(block, LABEL, 0, "Rotation:", 0, 160, 100, 20, 0, 0, 0, 0, 0, "");
uiBlockBeginAlign(block);
uiDefButF(block, NUM, B_ARMATUREPANEL3, "X:", 0, 140, 120, 19, tfp->ob_eul, -1000.0, 1000.0, 100, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL3, "Y:", 0, 120, 120, 19, tfp->ob_eul+1, -1000.0, 1000.0, 100, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL3, "Z:", 0, 100, 120, 19, tfp->ob_eul+2, -1000.0, 1000.0, 100, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL3, "X:", 0, 140, 120, 19, tfp->ob_eul, -1000.0, 1000.0, 100, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL3, "Y:", 0, 120, 120, 19, tfp->ob_eul + 1, -1000.0, 1000.0, 100, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL3, "Z:", 0, 100, 120, 19, tfp->ob_eul + 2, -1000.0, 1000.0, 100, 3, "");
uiBlockEndAlign(block);
uiBlockBeginAlign(block);
uiDefIconButBitS(block, ICONTOG, OB_LOCK_ROTX, B_REDR, ICON_UNLOCKED, 125, 140, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects X Rotation value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_ROTY, B_REDR, ICON_UNLOCKED, 125, 120, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Y Rotation value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_ROTZ, B_REDR, ICON_UNLOCKED, 125, 100, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Z Rotation value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_ROTX, B_REDR, ICON_UNLOCKED, 125, 140, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects X Rotation value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_ROTY, B_REDR, ICON_UNLOCKED, 125, 120, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Y Rotation value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_ROTZ, B_REDR, ICON_UNLOCKED, 125, 100, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Z Rotation value from being Transformed");
uiBlockEndAlign(block);
uiDefBut(block, LABEL, 0, "Scale:", 0, 80, 100, 20, 0, 0, 0, 0, 0, "");
uiDefBut(block, LABEL, 0, "Scale:", 0, 80, 100, 20, 0, 0, 0, 0, 0, "");
uiBlockBeginAlign(block);
uiDefButF(block, NUM, B_ARMATUREPANEL2, "X:", 0, 60, 120, 19, pchan->size, -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL2, "Y:", 0, 40, 120, 19, pchan->size+1, -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL2, "Z:", 0, 20, 120, 19, pchan->size+2, -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL2, "X:", 0, 60, 120, 19, pchan->size, -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL2, "Y:", 0, 40, 120, 19, pchan->size + 1, -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_ARMATUREPANEL2, "Z:", 0, 20, 120, 19, pchan->size + 2, -lim, lim, 10, 3, "");
uiBlockEndAlign(block);
uiBlockBeginAlign(block);
uiDefIconButBitS(block, ICONTOG, OB_LOCK_SCALEX, B_REDR, ICON_UNLOCKED, 125, 60, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects X Scale value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_SCALEY, B_REDR, ICON_UNLOCKED, 125, 40, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Y Scale value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_SCALEZ, B_REDR, ICON_UNLOCKED, 125, 20, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects z Scale value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_SCALEX, B_REDR, ICON_UNLOCKED, 125, 60, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects X Scale value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_SCALEY, B_REDR, ICON_UNLOCKED, 125, 40, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects Y Scale value from being Transformed");
uiDefIconButBitS(block, ICONTOG, OB_LOCK_SCALEZ, B_REDR, ICON_UNLOCKED, 125, 20, 25, 19, &(pchan->protectflag), 0, 0, 0, 0, "Protects z Scale value from being Transformed");
uiBlockEndAlign(block);
#endif
}
@ -1085,7 +1085,7 @@ static void v3d_editarmature_buts(uiLayout *layout, Object *ob)
col = uiLayoutColumn(layout, 0);
uiItemR(col, &eboneptr, "head", 0, NULL, ICON_NONE);
if (ebone->parent && ebone->flag & BONE_CONNECTED ) {
if (ebone->parent && ebone->flag & BONE_CONNECTED) {
PointerRNA parptr = RNA_pointer_get(&eboneptr, "parent");
uiItemR(col, &parptr, "tail_radius", 0, IFACE_("Radius (Parent)"), ICON_NONE);
}
@ -1164,34 +1164,34 @@ static void do_view3d_region_buttons(bContext *C, void *UNUSED(index), int event
switch (event) {
case B_REDR:
ED_area_tag_redraw(CTX_wm_area(C));
return; /* no notifier! */
case B_REDR:
ED_area_tag_redraw(CTX_wm_area(C));
return; /* no notifier! */
case B_OBJECTPANEL:
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
break;
case B_OBJECTPANEL:
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
break;
case B_OBJECTPANELMEDIAN:
if (ob) {
v3d_editvertex_buts(NULL, v3d, ob, 1.0);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
}
break;
case B_OBJECTPANELMEDIAN:
if (ob) {
v3d_editvertex_buts(NULL, v3d, ob, 1.0);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
}
break;
/* note; this case also used for parbone */
case B_OBJECTPANELPARENT:
if (ob) {
if (ob->id.lib || BKE_object_parent_loop_check(ob->parent, ob))
ob->parent = NULL;
else {
DAG_scene_sort(bmain, scene);
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
case B_OBJECTPANELPARENT:
if (ob) {
if (ob->id.lib || BKE_object_parent_loop_check(ob->parent, ob))
ob->parent = NULL;
else {
DAG_scene_sort(bmain, scene);
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
}
}
break;
break;
case B_ARMATUREPANEL3: /* rotate button on channel */
case B_ARMATUREPANEL3: /* rotate button on channel */
{
bPoseChannel *pchan;
float eul[3];
@ -1218,73 +1218,73 @@ static void do_view3d_region_buttons(bContext *C, void *UNUSED(index), int event
}
/* no break, pass on */
case B_ARMATUREPANEL2:
ob->pose->flag |= (POSE_LOCKED|POSE_DO_UNLOCK);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
break;
case B_ARMATUREPANEL2:
ob->pose->flag |= (POSE_LOCKED | POSE_DO_UNLOCK);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
break;
case B_TRANSFORMSPACEADD:
case B_TRANSFORMSPACEADD:
{
char names[sizeof(((TransformOrientation *)NULL)->name)] = "";
BIF_createTransformOrientation(C, NULL, names, 1, 0);
}
break;
case B_TRANSFORMSPACECLEAR:
BIF_clearTransformOrientation(C);
break;
case B_TRANSFORMSPACECLEAR:
BIF_clearTransformOrientation(C);
break;
#if 0 /* XXX */
case B_WEIGHT0_0:
wpaint->weight = 0.0f;
break;
case B_WEIGHT0_0:
wpaint->weight = 0.0f;
break;
case B_WEIGHT1_4:
wpaint->weight = 0.25f;
break;
case B_WEIGHT1_2:
wpaint->weight = 0.5f;
break;
case B_WEIGHT3_4:
wpaint->weight = 0.75f;
break;
case B_WEIGHT1_0:
wpaint->weight = 1.0f;
break;
case B_WEIGHT1_4:
wpaint->weight = 0.25f;
break;
case B_WEIGHT1_2:
wpaint->weight = 0.5f;
break;
case B_WEIGHT3_4:
wpaint->weight = 0.75f;
break;
case B_WEIGHT1_0:
wpaint->weight = 1.0f;
break;
case B_OPA1_8:
wpaint->a = 0.125f;
break;
case B_OPA1_4:
wpaint->a = 0.25f;
break;
case B_OPA1_2:
wpaint->a = 0.5f;
break;
case B_OPA3_4:
wpaint->a = 0.75f;
break;
case B_OPA1_0:
wpaint->a = 1.0f;
break;
case B_OPA1_8:
wpaint->a = 0.125f;
break;
case B_OPA1_4:
wpaint->a = 0.25f;
break;
case B_OPA1_2:
wpaint->a = 0.5f;
break;
case B_OPA3_4:
wpaint->a = 0.75f;
break;
case B_OPA1_0:
wpaint->a = 1.0f;
break;
#endif
case B_CLR_WPAINT:
case B_CLR_WPAINT:
/* if (!multires_level1_test()) { */
{
bDeformGroup *defGroup = BLI_findlink(&ob->defbase, ob->actdef-1);
bDeformGroup *defGroup = BLI_findlink(&ob->defbase, ob->actdef - 1);
if (defGroup) {
Mesh *me = ob->data;
int a;
for (a = 0; a < me->totvert; a++)
ED_vgroup_vert_remove (ob, defGroup, a);
ED_vgroup_vert_remove(ob, defGroup, a);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
}
}
break;
case B_RV3D_LOCKED:
case B_RV3D_BOXVIEW:
case B_RV3D_BOXCLIP:
case B_RV3D_LOCKED:
case B_RV3D_BOXVIEW:
case B_RV3D_BOXCLIP:
{
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = sa->regionbase.last;
@ -1316,7 +1316,7 @@ static void do_view3d_region_buttons(bContext *C, void *UNUSED(index), int event
}
/* default for now */
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, v3d);
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d);
}
static void view3d_panel_object(const bContext *C, Panel *pa)
@ -1343,7 +1343,7 @@ static void view3d_panel_object(const bContext *C, Panel *pa)
/* XXX uiSetButLock(object_is_libdata(ob), ERROR_LIBDATA_MESSAGE); */
if (ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT)) {
if (ob->mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT)) {
}
else {
if ((ob->mode & OB_MODE_PARTICLE_EDIT) == 0) {
@ -1388,8 +1388,8 @@ static void view3d_panel_preview(bContext *C, ARegion *ar, short cntrl) /* VIEW3
uiPanelControl(UI_PNL_SOLID | UI_PNL_CLOSE | UI_PNL_SCALE | cntrl);
uiSetPanelHandler(VIEW3D_HANDLER_PREVIEW); /* for close and esc */
ofsx = -150 + (sa->winx/2) / v3d->blockscale;
ofsy = -100 + (sa->winy/2) / v3d->blockscale;
ofsx = -150 + (sa->winx / 2) / v3d->blockscale;
ofsy = -100 + (sa->winy / 2) / v3d->blockscale;
if (uiNewPanel(C, ar, block, "Preview", "View3d", ofsx, ofsy, 300, 200) == 0)
return;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -56,7 +56,7 @@
#include "PIL_time.h" /* smoothview */
#include "view3d_intern.h" // own include
#include "view3d_intern.h" // own include
/* NOTE: these defines are saved in keymap files, do not change values but just add new ones */
enum {
FLY_MODAL_CANCEL = 1,
@ -174,7 +174,7 @@ typedef struct FlyInfo {
unsigned char use_freelook;
int mval[2]; /* latest 2D mouse values */
wmNDOFMotionData* ndof; /* latest 3D mouse values */
wmNDOFMotionData*ndof; /* latest 3D mouse values */
/* fly state state */
float speed; /* the speed the view is moving per redraw */
@ -265,9 +265,9 @@ static void drawFlyPixel(const struct bContext *UNUSED(C), struct ARegion *UNUSE
}
/* FlyInfo->state */
#define FLY_RUNNING 0
#define FLY_CANCEL 1
#define FLY_CONFIRM 2
#define FLY_RUNNING 0
#define FLY_CANCEL 1
#define FLY_CONFIRM 2
static int initFlyInfo(bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *event)
{
@ -312,7 +312,7 @@ static int initFlyInfo(bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *event
fly->use_freelook = FALSE;
#ifdef NDOF_FLY_DRAW_TOOMUCH
fly->redraw= 1;
fly->redraw = 1;
#endif
zero_v3(fly->dvec_prev);
@ -348,8 +348,8 @@ static int initFlyInfo(bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *event
(fly->v3d->camera != NULL) &&
(fly->rv3d->is_persp == FALSE))
{
((Camera *)fly->v3d->camera->data)->type= CAM_PERSP;
fly->is_ortho_cam= TRUE;
((Camera *)fly->v3d->camera->data)->type = CAM_PERSP;
fly->is_ortho_cam = TRUE;
}
if (fly->rv3d->persp == RV3D_CAMOB) {
@ -376,7 +376,7 @@ static int initFlyInfo(bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *event
else {
/* perspective or ortho */
if (fly->rv3d->persp == RV3D_ORTHO)
fly->rv3d->persp = RV3D_PERSP; /*if ortho projection, make perspective */
fly->rv3d->persp = RV3D_PERSP; /*if ortho projection, make perspective */
copy_qt_qt(fly->rot_backup, fly->rv3d->viewquat);
copy_v3_v3(fly->ofs_backup, fly->rv3d->ofs);
@ -444,8 +444,9 @@ static int flyEnd(bContext *C, FlyInfo *fly)
DAG_id_tag_update(fly->root_parent ? &fly->root_parent->id : &v3d->camera->id, OB_RECALC_OB);
}
else { /* not camera */
/* Apply the fly mode view */
/*restore the dist*/
/* restore the dist */
float mat[3][3];
upvec[0] = upvec[1] = 0;
upvec[2] = fly->dist_backup; /*x and y are 0*/
@ -489,14 +490,14 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
// puts("ndof motion detected in fly mode!");
// static const char* tag_name = "3D mouse position";
wmNDOFMotionData* incoming_ndof = (wmNDOFMotionData*)event->customdata;
wmNDOFMotionData *incoming_ndof = (wmNDOFMotionData *)event->customdata;
switch (incoming_ndof->progress) {
case P_STARTING:
// start keeping track of 3D mouse position
#ifdef NDOF_FLY_DEBUG
puts("start keeping track of 3D mouse position");
#endif
// fall through...
// fall through...
case P_IN_PROGRESS:
// update 3D mouse position
#ifdef NDOF_FLY_DEBUG
@ -584,8 +585,8 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
fly->pan_view = FALSE;
break;
/* implement WASD keys,
* comments only for 'forward '*/
/* implement WASD keys,
* comments only for 'forward '*/
case FLY_MODAL_DIR_FORWARD:
if (fly->axis == 2 && fly->speed < 0.0f) { /* reverse direction stops, tap again to continue */
fly->axis = -1;
@ -686,11 +687,11 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
}
}
static void move_camera(bContext* C, RegionView3D* rv3d, FlyInfo* fly, int orientationChanged, int positionChanged)
static void move_camera(bContext *C, RegionView3D *rv3d, FlyInfo *fly, int orientationChanged, int positionChanged)
{
/* we are in camera view so apply the view ofs and quat to the view matrix and set the camera to the view */
View3D* v3d = fly->v3d;
View3D*v3d = fly->v3d;
Scene *scene = fly->scene;
ID *id_key;
@ -766,19 +767,18 @@ static int flyApply(bContext *C, FlyInfo *fly)
RegionView3D *rv3d = fly->rv3d;
ARegion *ar = fly->ar;
float mat[3][3], /* 3x3 copy of the view matrix so we can move along the view axis */
dvec[3] = {0, 0, 0}, /* this is the direction thast added to the view offset per redraw */
float mat[3][3]; /* 3x3 copy of the view matrix so we can move along the view axis */
float dvec[3] = {0, 0, 0}; /* this is the direction thast added to the view offset per redraw */
/* Camera Uprighting variables */
upvec[3] = {0, 0, 0}, /* stores the view's up vector */
float upvec[3] = {0, 0, 0}; /* stores the view's up vector */
moffset[2], /* mouse offset from the views center */
tmp_quat[4]; /* used for rotating the view */
float moffset[2]; /* mouse offset from the views center */
float tmp_quat[4]; /* used for rotating the view */
int
// cent_orig[2], /* view center */
//XXX- can avoid using // cent[2], /* view center modified */
xmargin, ymargin; /* x and y margin are define the safe area where the mouses movement wont rotate the view */
// int cent_orig[2], /* view center */
//XXX- can avoid using // cent[2], /* view center modified */
int xmargin, ymargin; /* x and y margin are define the safe area where the mouses movement wont rotate the view */
#ifdef NDOF_FLY_DEBUG
{
@ -839,7 +839,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
float time_redraw;
float time_redraw_clamped;
#ifdef NDOF_FLY_DRAW_TOOMUCH
fly->redraw= 1;
fly->redraw = 1;
#endif
time_current = PIL_check_seconds_timer();
time_redraw = (float)(time_current - fly->time_lastdraw);
@ -870,7 +870,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
}
else {
float roll; /* similar to the angle between the camera's up and the Z-up,
* but its very rough so just roll */
* but its very rough so just roll */
/* rotate about the X axis- look up/down */
if (moffset[1]) {
@ -883,7 +883,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
if (fly->xlock)
fly->xlock = 2; /*check for rotation*/
fly->xlock = 2; /*check for rotation*/
if (fly->zlock)
fly->zlock = 2;
fly->xlock_momentum = 0.0f;
@ -919,7 +919,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
if (fly->xlock)
fly->xlock = 2;/*check for rotation*/
fly->xlock = 2; /*check for rotation*/
if (fly->zlock)
fly->zlock = 2;
}
@ -940,7 +940,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
mul_m3_v3(mat, upvec);
/* Rotate about the relative up vec */
axis_angle_to_quat(tmp_quat, upvec,
roll * time_redraw_clamped * fly->zlock_momentum * FLY_ZUP_CORRECT_FAC);
roll * time_redraw_clamped * fly->zlock_momentum * FLY_ZUP_CORRECT_FAC);
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
fly->zlock_momentum += FLY_ZUP_CORRECT_ACCEL;
@ -1031,9 +1031,9 @@ static int flyApply(bContext *C, FlyInfo *fly)
static int flyApply_ndof(bContext *C, FlyInfo *fly)
{
/* shorthand for oft-used variables */
wmNDOFMotionData* ndof = fly->ndof;
wmNDOFMotionData *ndof = fly->ndof;
const float dt = ndof->dt;
RegionView3D* rv3d = fly->rv3d;
RegionView3D*rv3d = fly->rv3d;
const int flag = U.ndof_flag;
#if 0
@ -1056,7 +1056,7 @@ static int flyApply_ndof(bContext *C, FlyInfo *fly)
float speed = 10.f; /* blender units per second */
/* ^^ this is ok for default cube scene, but should scale with.. something */
float trans[3] = {lateral_sensitivity * ndof->tvec[0],
float trans[3] = {lateral_sensitivity *ndof->tvec[0],
vertical_sensitivity * ndof->tvec[1],
forward_sensitivity * ndof->tvec[2]};

View File

@ -85,57 +85,57 @@
*/
/* view3d handler codes */
#define VIEW3D_HANDLER_BACKGROUND 1
#define VIEW3D_HANDLER_PROPERTIES 2
#define VIEW3D_HANDLER_OBJECT 3
#define VIEW3D_HANDLER_PREVIEW 4
#define VIEW3D_HANDLER_MULTIRES 5
#define VIEW3D_HANDLER_TRANSFORM 6
#define VIEW3D_HANDLER_BACKGROUND 1
#define VIEW3D_HANDLER_PROPERTIES 2
#define VIEW3D_HANDLER_OBJECT 3
#define VIEW3D_HANDLER_PREVIEW 4
#define VIEW3D_HANDLER_MULTIRES 5
#define VIEW3D_HANDLER_TRANSFORM 6
#define VIEW3D_HANDLER_GREASEPENCIL 7
#define VIEW3D_HANDLER_BONESKETCH 8
#define VIEW3D_HANDLER_BONESKETCH 8
/* end XXX ************* */
static void do_view3d_header_buttons(bContext *C, void *arg, int event);
#define B_SCENELOCK 101
#define B_FULL 102
#define B_HOME 103
#define B_VIEWBUT 104
#define B_PERSP 105
#define B_FULL 102
#define B_HOME 103
#define B_VIEWBUT 104
#define B_PERSP 105
#define B_MODESELECT 108
#define B_SEL_VERT 110
#define B_SEL_EDGE 111
#define B_SEL_FACE 112
#define B_MAN_TRANS 116
#define B_MAN_ROT 117
#define B_MAN_SCALE 118
#define B_NDOF 119
#define B_MAN_MODE 120
#define B_REDR 122
#define B_NOP 123
#define B_SEL_VERT 110
#define B_SEL_EDGE 111
#define B_SEL_FACE 112
#define B_MAN_TRANS 116
#define B_MAN_ROT 117
#define B_MAN_SCALE 118
#define B_NDOF 119
#define B_MAN_MODE 120
#define B_REDR 122
#define B_NOP 123
// XXX quickly ported across
static void handle_view3d_lock(bContext *C)
{
Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
ScrArea *sa= CTX_wm_area(C);
View3D *v3d= CTX_wm_view3d(C);
Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
ScrArea *sa = CTX_wm_area(C);
View3D *v3d = CTX_wm_view3d(C);
if (v3d != NULL && sa != NULL) {
if (v3d->localvd==NULL && v3d->scenelock && sa->spacetype==SPACE_VIEW3D) {
if (v3d->localvd == NULL && v3d->scenelock && sa->spacetype == SPACE_VIEW3D) {
/* copy to scene */
scene->lay= v3d->lay;
scene->layact= v3d->layact;
scene->camera= v3d->camera;
scene->lay = v3d->lay;
scene->layact = v3d->layact;
scene->camera = v3d->camera;
/* not through notifier, listener don't have context
* and non-open screens or spaces need to be updated too */
BKE_screen_view3d_main_sync(&bmain->screen, scene);
/* notifiers for scene update */
WM_event_add_notifier(C, NC_SCENE|ND_LAYER, scene);
WM_event_add_notifier(C, NC_SCENE | ND_LAYER, scene);
}
}
}
@ -150,11 +150,11 @@ static void view3d_layers_editmode_ensure(Scene *scene, View3D *v3d)
{
/* sanity check - when in editmode disallow switching the editmode layer off since its confusing
* an alternative would be to always draw the editmode object. */
if (scene->obedit && (scene->obedit->lay & v3d->lay)==0) {
if (scene->obedit && (scene->obedit->lay & v3d->lay) == 0) {
int bit;
for (bit=0; bit<32; bit++) {
if (scene->obedit->lay & (1<<bit)) {
v3d->lay |= 1<<bit;
for (bit = 0; bit < 32; bit++) {
if (scene->obedit->lay & (1 << bit)) {
v3d->lay |= 1 << bit;
break;
}
}
@ -163,11 +163,11 @@ static void view3d_layers_editmode_ensure(Scene *scene, View3D *v3d)
static int view3d_layers_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
ScrArea *sa= CTX_wm_area(C);
View3D *v3d= sa->spacedata.first;
int nr= RNA_int_get(op->ptr, "nr");
int toggle= RNA_boolean_get(op->ptr, "toggle");
Scene *scene = CTX_data_scene(C);
ScrArea *sa = CTX_wm_area(C);
View3D *v3d = sa->spacedata.first;
int nr = RNA_int_get(op->ptr, "nr");
int toggle = RNA_boolean_get(op->ptr, "toggle");
if (nr < 0)
return OPERATOR_CANCELLED;
@ -175,16 +175,16 @@ static int view3d_layers_exec(bContext *C, wmOperator *op)
if (nr == 0) {
/* all layers */
if (!v3d->layact)
v3d->layact= 1;
v3d->layact = 1;
if (toggle && v3d->lay == ((1<<20)-1)) {
if (toggle && v3d->lay == ((1 << 20) - 1)) {
/* return to active layer only */
v3d->lay = v3d->layact;
view3d_layers_editmode_ensure(scene, v3d);
}
else {
v3d->lay |= (1<<20)-1;
v3d->lay |= (1 << 20) - 1;
}
}
else {
@ -192,24 +192,24 @@ static int view3d_layers_exec(bContext *C, wmOperator *op)
nr--;
if (RNA_boolean_get(op->ptr, "extend")) {
if (toggle && v3d->lay & (1<<nr) && (v3d->lay & ~(1<<nr)))
v3d->lay &= ~(1<<nr);
if (toggle && v3d->lay & (1 << nr) && (v3d->lay & ~(1 << nr)))
v3d->lay &= ~(1 << nr);
else
v3d->lay |= (1<<nr);
v3d->lay |= (1 << nr);
}
else {
v3d->lay = (1<<nr);
v3d->lay = (1 << nr);
}
view3d_layers_editmode_ensure(scene, v3d);
/* set active layer, ensure to always have one */
if (v3d->lay & (1<<nr))
v3d->layact= 1<<nr;
else if ((v3d->lay & v3d->layact)==0) {
for (bit=0; bit<32; bit++) {
if (v3d->lay & (1<<bit)) {
v3d->layact= 1<<bit;
if (v3d->lay & (1 << nr))
v3d->layact = 1 << nr;
else if ((v3d->lay & v3d->layact) == 0) {
for (bit = 0; bit < 32; bit++) {
if (v3d->lay & (1 << bit)) {
v3d->layact = 1 << bit;
break;
}
}
@ -238,7 +238,7 @@ static int view3d_layers_invoke(bContext *C, wmOperator *op, wmEvent *event)
RNA_boolean_set(op->ptr, "extend", FALSE);
if (event->alt) {
int nr= RNA_int_get(op->ptr, "nr") + 10;
int nr = RNA_int_get(op->ptr, "nr") + 10;
RNA_int_set(op->ptr, "nr", nr);
}
view3d_layers_exec(C, op);
@ -248,7 +248,7 @@ static int view3d_layers_invoke(bContext *C, wmOperator *op, wmEvent *event)
static int view3d_layers_poll(bContext *C)
{
return (ED_operator_view3d_active(C) && CTX_wm_view3d(C)->localvd==NULL);
return (ED_operator_view3d_active(C) && CTX_wm_view3d(C)->localvd == NULL);
}
void VIEW3D_OT_layers(wmOperatorType *ot)
@ -264,7 +264,7 @@ void VIEW3D_OT_layers(wmOperatorType *ot)
ot->poll = view3d_layers_poll;
/* flags */
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
RNA_def_int(ot->srna, "nr", 1, 0, 20, "Number", "The layer number to set, zero for all layers", 0, 20);
RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Add this layer to the current view layers");
@ -280,29 +280,29 @@ static int modeselect_addmode(char *str, const char *title, int id, int icon)
static char *view3d_modeselect_pup(Scene *scene)
{
Object *ob= OBACT;
Object *ob = OBACT;
static char string[512];
const char *title= IFACE_("Mode: %t");
const char *title = IFACE_("Mode: %t");
char *str = string;
BLI_strncpy(str, title, sizeof(string));
str += modeselect_addmode(str, N_("Object Mode"), OB_MODE_OBJECT, ICON_OBJECT_DATA);
if (ob==NULL || ob->data==NULL) return string;
if (ob == NULL || ob->data == NULL) return string;
if (ob->id.lib) return string;
if (!((ID *)ob->data)->lib) {
/* if active object is editable */
if ( ((ob->type == OB_MESH)
|| (ob->type == OB_CURVE) || (ob->type == OB_SURF) || (ob->type == OB_FONT)
|| (ob->type == OB_MBALL) || (ob->type == OB_LATTICE))) {
|| (ob->type == OB_CURVE) || (ob->type == OB_SURF) || (ob->type == OB_FONT)
|| (ob->type == OB_MBALL) || (ob->type == OB_LATTICE))) {
str += modeselect_addmode(str, N_("Edit Mode"), OB_MODE_EDIT, ICON_EDITMODE_HLT);
}
else if (ob->type == OB_ARMATURE) {
if (ob->mode & OB_MODE_POSE)
str += modeselect_addmode(str, N_("Edit Mode"), OB_MODE_EDIT|OB_MODE_POSE, ICON_EDITMODE_HLT);
str += modeselect_addmode(str, N_("Edit Mode"), OB_MODE_EDIT | OB_MODE_POSE, ICON_EDITMODE_HLT);
else
str += modeselect_addmode(str, N_("Edit Mode"), OB_MODE_EDIT, ICON_EDITMODE_HLT);
}
@ -317,13 +317,13 @@ static char *view3d_modeselect_pup(Scene *scene)
}
/* if active object is an armature */
if (ob->type==OB_ARMATURE) {
if (ob->type == OB_ARMATURE) {
str += modeselect_addmode(str, N_("Pose Mode"), OB_MODE_POSE, ICON_POSE_HLT);
}
if ( ob->particlesystem.first ||
modifiers_findByType(ob, eModifierType_Cloth) ||
modifiers_findByType(ob, eModifierType_Softbody))
if (ob->particlesystem.first ||
modifiers_findByType(ob, eModifierType_Cloth) ||
modifiers_findByType(ob, eModifierType_Softbody))
{
str += modeselect_addmode(str, N_("Particle Mode"), OB_MODE_PARTICLE_EDIT, ICON_PARTICLEMODE);
}
@ -340,7 +340,7 @@ static void do_view3d_header_buttons(bContext *C, void *UNUSED(arg), int event)
View3D *v3d = sa->spacedata.first;
Object *obedit = CTX_data_edit_object(C);
BMEditMesh *em = NULL;
int ctrl = win->eventstate->ctrl, shift= win->eventstate->shift;
int ctrl = win->eventstate->ctrl, shift = win->eventstate->shift;
PointerRNA props_ptr;
if (obedit && obedit->type == OB_MESH) {
@ -348,83 +348,83 @@ static void do_view3d_header_buttons(bContext *C, void *UNUSED(arg), int event)
}
/* watch it: if sa->win does not exist, check that when calling direct drawing routines */
switch(event) {
case B_REDR:
ED_area_tag_redraw(sa);
break;
case B_MODESELECT:
WM_operator_properties_create(&props_ptr, "OBJECT_OT_mode_set");
RNA_enum_set(&props_ptr, "mode", v3d->modeselect);
WM_operator_name_call(C, "OBJECT_OT_mode_set", WM_OP_EXEC_REGION_WIN, &props_ptr);
WM_operator_properties_free(&props_ptr);
break;
case B_SEL_VERT:
if (em) {
if (shift==0 || em->selectmode==0)
em->selectmode= SCE_SELECT_VERTEX;
ts->selectmode= em->selectmode;
EDBM_selectmode_set(em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
ED_undo_push(C, "Selectmode Set: Vertex");
}
break;
case B_SEL_EDGE:
if (em) {
if (shift==0 || em->selectmode==0) {
if ( (em->selectmode ^ SCE_SELECT_EDGE) == SCE_SELECT_VERTEX) {
if (ctrl) EDBM_convertsel(em, SCE_SELECT_VERTEX,SCE_SELECT_EDGE);
}
em->selectmode = SCE_SELECT_EDGE;
}
ts->selectmode= em->selectmode;
EDBM_selectmode_set(em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
ED_undo_push(C, "Selectmode Set: Edge");
}
break;
case B_SEL_FACE:
if (em) {
if ( shift==0 || em->selectmode==0) {
if ( ((ts->selectmode ^ SCE_SELECT_FACE) == SCE_SELECT_VERTEX) || ((ts->selectmode ^ SCE_SELECT_FACE) == SCE_SELECT_EDGE)) {
if (ctrl) EDBM_convertsel(em, (ts->selectmode ^ SCE_SELECT_FACE),SCE_SELECT_FACE);
}
em->selectmode = SCE_SELECT_FACE;
}
ts->selectmode= em->selectmode;
EDBM_selectmode_set(em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
ED_undo_push(C, "Selectmode Set: Face");
}
break;
switch (event) {
case B_REDR:
ED_area_tag_redraw(sa);
break;
case B_MAN_TRANS:
if ( shift==0 || v3d->twtype==0) {
v3d->twtype= V3D_MANIP_TRANSLATE;
}
ED_area_tag_redraw(sa);
break;
case B_MAN_ROT:
if ( shift==0 || v3d->twtype==0) {
v3d->twtype= V3D_MANIP_ROTATE;
}
ED_area_tag_redraw(sa);
break;
case B_MAN_SCALE:
if ( shift==0 || v3d->twtype==0) {
v3d->twtype= V3D_MANIP_SCALE;
}
ED_area_tag_redraw(sa);
break;
case B_NDOF:
ED_area_tag_redraw(sa);
break;
case B_MAN_MODE:
ED_area_tag_redraw(sa);
break;
default:
break;
case B_MODESELECT:
WM_operator_properties_create(&props_ptr, "OBJECT_OT_mode_set");
RNA_enum_set(&props_ptr, "mode", v3d->modeselect);
WM_operator_name_call(C, "OBJECT_OT_mode_set", WM_OP_EXEC_REGION_WIN, &props_ptr);
WM_operator_properties_free(&props_ptr);
break;
case B_SEL_VERT:
if (em) {
if (shift == 0 || em->selectmode == 0)
em->selectmode = SCE_SELECT_VERTEX;
ts->selectmode = em->selectmode;
EDBM_selectmode_set(em);
WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
ED_undo_push(C, "Selectmode Set: Vertex");
}
break;
case B_SEL_EDGE:
if (em) {
if (shift == 0 || em->selectmode == 0) {
if ( (em->selectmode ^ SCE_SELECT_EDGE) == SCE_SELECT_VERTEX) {
if (ctrl) EDBM_convertsel(em, SCE_SELECT_VERTEX, SCE_SELECT_EDGE);
}
em->selectmode = SCE_SELECT_EDGE;
}
ts->selectmode = em->selectmode;
EDBM_selectmode_set(em);
WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
ED_undo_push(C, "Selectmode Set: Edge");
}
break;
case B_SEL_FACE:
if (em) {
if (shift == 0 || em->selectmode == 0) {
if ( ((ts->selectmode ^ SCE_SELECT_FACE) == SCE_SELECT_VERTEX) || ((ts->selectmode ^ SCE_SELECT_FACE) == SCE_SELECT_EDGE)) {
if (ctrl) EDBM_convertsel(em, (ts->selectmode ^ SCE_SELECT_FACE), SCE_SELECT_FACE);
}
em->selectmode = SCE_SELECT_FACE;
}
ts->selectmode = em->selectmode;
EDBM_selectmode_set(em);
WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
ED_undo_push(C, "Selectmode Set: Face");
}
break;
case B_MAN_TRANS:
if (shift == 0 || v3d->twtype == 0) {
v3d->twtype = V3D_MANIP_TRANSLATE;
}
ED_area_tag_redraw(sa);
break;
case B_MAN_ROT:
if (shift == 0 || v3d->twtype == 0) {
v3d->twtype = V3D_MANIP_ROTATE;
}
ED_area_tag_redraw(sa);
break;
case B_MAN_SCALE:
if (shift == 0 || v3d->twtype == 0) {
v3d->twtype = V3D_MANIP_SCALE;
}
ED_area_tag_redraw(sa);
break;
case B_NDOF:
ED_area_tag_redraw(sa);
break;
case B_MAN_MODE:
ED_area_tag_redraw(sa);
break;
default:
break;
}
}
@ -445,7 +445,7 @@ static int object_mode_icon(int mode)
void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C)
{
Object *obedit = CTX_data_edit_object(C);
uiBlock *block= uiLayoutGetBlock(layout);
uiBlock *block = uiLayoutGetBlock(layout);
uiBlockSetHandleFunc(block, do_view3d_header_buttons, NULL);
@ -453,35 +453,35 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C)
BMEditMesh *em = BMEdit_FromObject(obedit);
uiLayout *row;
row= uiLayoutRow(layout, 1);
block= uiLayoutGetBlock(row);
uiDefIconButBitS(block, TOG, SCE_SELECT_VERTEX, B_SEL_VERT, ICON_VERTEXSEL, 0,0,UI_UNIT_X,UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Vertex select - Shift-Click for multiple modes");
uiDefIconButBitS(block, TOG, SCE_SELECT_EDGE, B_SEL_EDGE, ICON_EDGESEL, 0,0,UI_UNIT_X,UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Edge select - Shift-Click for multiple modes");
uiDefIconButBitS(block, TOG, SCE_SELECT_FACE, B_SEL_FACE, ICON_FACESEL, 0,0,UI_UNIT_X,UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Face select - Shift-Click for multiple modes");
row = uiLayoutRow(layout, 1);
block = uiLayoutGetBlock(row);
uiDefIconButBitS(block, TOG, SCE_SELECT_VERTEX, B_SEL_VERT, ICON_VERTEXSEL, 0, 0, UI_UNIT_X, UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Vertex select - Shift-Click for multiple modes");
uiDefIconButBitS(block, TOG, SCE_SELECT_EDGE, B_SEL_EDGE, ICON_EDGESEL, 0, 0, UI_UNIT_X, UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Edge select - Shift-Click for multiple modes");
uiDefIconButBitS(block, TOG, SCE_SELECT_FACE, B_SEL_FACE, ICON_FACESEL, 0, 0, UI_UNIT_X, UI_UNIT_Y, &em->selectmode, 1.0, 0.0, 0, 0, "Face select - Shift-Click for multiple modes");
}
}
void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
{
bScreen *screen= CTX_wm_screen(C);
ScrArea *sa= CTX_wm_area(C);
View3D *v3d= sa->spacedata.first;
Scene *scene= CTX_data_scene(C);
ToolSettings *ts= CTX_data_tool_settings(C);
bScreen *screen = CTX_wm_screen(C);
ScrArea *sa = CTX_wm_area(C);
View3D *v3d = sa->spacedata.first;
Scene *scene = CTX_data_scene(C);
ToolSettings *ts = CTX_data_tool_settings(C);
PointerRNA v3dptr, toolsptr, sceneptr;
Object *ob= OBACT;
Object *ob = OBACT;
Object *obedit = CTX_data_edit_object(C);
uiBlock *block;
uiBut *but;
uiLayout *row;
const float dpi_fac= UI_DPI_FAC;
const float dpi_fac = UI_DPI_FAC;
int is_paint = 0;
RNA_pointer_create(&screen->id, &RNA_SpaceView3D, v3d, &v3dptr);
RNA_pointer_create(&scene->id, &RNA_ToolSettings, ts, &toolsptr);
RNA_pointer_create(&scene->id, &RNA_Scene, scene, &sceneptr);
block= uiLayoutGetBlock(layout);
block = uiLayoutGetBlock(layout);
uiBlockSetHandleFunc(block, do_view3d_header_buttons, NULL);
/* other buttons: */
@ -490,31 +490,31 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
/* mode */
if (ob) {
v3d->modeselect = ob->mode;
is_paint = ELEM4(ob->mode, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT,OB_MODE_TEXTURE_PAINT);
is_paint = ELEM4(ob->mode, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, OB_MODE_TEXTURE_PAINT);
}
else {
v3d->modeselect = OB_MODE_OBJECT;
}
row= uiLayoutRow(layout, 1);
uiDefIconTextButS(block, MENU, B_MODESELECT, object_mode_icon(v3d->modeselect), view3d_modeselect_pup(scene) ,
0,0,126 * dpi_fac, UI_UNIT_Y, &(v3d->modeselect), 0, 0, 0, 0, TIP_("Mode"));
row = uiLayoutRow(layout, 1);
uiDefIconTextButS(block, MENU, B_MODESELECT, object_mode_icon(v3d->modeselect), view3d_modeselect_pup(scene),
0, 0, 126 * dpi_fac, UI_UNIT_Y, &(v3d->modeselect), 0, 0, 0, 0, TIP_("Mode"));
/* Draw type */
uiItemR(layout, &v3dptr, "viewport_shade", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
if (obedit==NULL && is_paint) {
if (obedit == NULL && is_paint) {
/* Manipulators aren't used in paint modes */
if (!ELEM(ob->mode, OB_MODE_SCULPT, OB_MODE_PARTICLE_EDIT)) {
/* masks aren't used for sculpt and particle painting */
PointerRNA meshptr;
RNA_pointer_create(&ob->id, &RNA_Mesh, ob->data, &meshptr);
if (ob->mode & (OB_MODE_TEXTURE_PAINT|OB_MODE_VERTEX_PAINT)) {
if (ob->mode & (OB_MODE_TEXTURE_PAINT | OB_MODE_VERTEX_PAINT)) {
uiItemR(layout, &meshptr, "use_paint_mask", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
}
else {
row= uiLayoutRow(layout, 1);
row = uiLayoutRow(layout, 1);
uiItemR(row, &meshptr, "use_paint_mask", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
uiItemR(row, &meshptr, "use_paint_mask_vertex", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
}
@ -523,7 +523,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
else {
const char *str_menu;
row= uiLayoutRow(layout, 1);
row = uiLayoutRow(layout, 1);
uiItemR(row, &v3dptr, "pivot_point", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
/* pose/object only however we want to allow in weight paint mode too
@ -533,16 +533,16 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
}
/* Transform widget / manipulators */
row= uiLayoutRow(layout, 1);
row = uiLayoutRow(layout, 1);
uiItemR(row, &v3dptr, "show_manipulator", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
block= uiLayoutGetBlock(row);
block = uiLayoutGetBlock(row);
if (v3d->twflag & V3D_USE_MANIPULATOR) {
but = uiDefIconButBitC(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Translate manipulator - Shift-Click for multiple modes"));
but = uiDefIconButBitC(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0, 0, UI_UNIT_X, UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Translate manipulator - Shift-Click for multiple modes"));
uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
but = uiDefIconButBitC(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Rotate manipulator - Shift-Click for multiple modes"));
but = uiDefIconButBitC(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0, 0, UI_UNIT_X, UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Rotate manipulator - Shift-Click for multiple modes"));
uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
but = uiDefIconButBitC(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Scale manipulator - Shift-Click for multiple modes"));
but = uiDefIconButBitC(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0, 0, UI_UNIT_X, UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Scale manipulator - Shift-Click for multiple modes"));
uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
}
@ -551,12 +551,12 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
}
str_menu = BIF_menustringTransformOrientation(C, "Orientation");
but = uiDefButC(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, TIP_("Transform Orientation"));
but = uiDefButC(block, MENU, B_MAN_MODE, str_menu, 0, 0, 70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, TIP_("Transform Orientation"));
uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
MEM_freeN((void *)str_menu);
}
if (obedit==NULL && v3d->localvd==NULL) {
if (obedit == NULL && v3d->localvd == NULL) {
unsigned int ob_lay = ob ? ob->lay : 0;
/* Layers */

View File

@ -132,7 +132,7 @@ void view3d_keymap(wmKeyConfig *keyconf)
WM_keymap_verify_item(keymap, "VIEW3D_OT_rotate", MIDDLEMOUSE, KM_PRESS, 0, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_move", MIDDLEMOUSE, KM_PRESS, KM_SHIFT, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_zoom", MIDDLEMOUSE, KM_PRESS, KM_CTRL, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_dolly", MIDDLEMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_dolly", MIDDLEMOUSE, KM_PRESS, KM_CTRL | KM_SHIFT, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_view_selected", PADPERIOD, KM_PRESS, 0, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_view_center_cursor", PADPERIOD, KM_PRESS, KM_CTRL, 0);
@ -190,10 +190,10 @@ void view3d_keymap(wmKeyConfig *keyconf)
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_pan", WHEELUPMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "type", V3D_VIEW_PANUP);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_pan", WHEELDOWNMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "type", V3D_VIEW_PANDOWN);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELUPMOUSE, KM_PRESS, KM_CTRL|KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPLEFT);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELDOWNMOUSE, KM_PRESS, KM_CTRL|KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPRIGHT);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELUPMOUSE, KM_PRESS, KM_SHIFT|KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPUP);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELDOWNMOUSE, KM_PRESS, KM_SHIFT|KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPDOWN);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELUPMOUSE, KM_PRESS, KM_CTRL | KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPLEFT);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELDOWNMOUSE, KM_PRESS, KM_CTRL | KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPRIGHT);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELUPMOUSE, KM_PRESS, KM_SHIFT | KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPUP);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_orbit", WHEELDOWNMOUSE, KM_PRESS, KM_SHIFT | KM_ALT, 0)->ptr, "type", V3D_VIEW_STEPDOWN);
/* active aligned, replaces '*' key in 2.4x */
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD1, KM_PRESS, KM_SHIFT, 0);
@ -205,13 +205,13 @@ void view3d_keymap(wmKeyConfig *keyconf)
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD7, KM_PRESS, KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_TOP);
RNA_boolean_set(kmi->ptr, "align_active", TRUE);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD1, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD1, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_BACK);
RNA_boolean_set(kmi->ptr, "align_active", TRUE);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD3, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD3, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_LEFT);
RNA_boolean_set(kmi->ptr, "align_active", TRUE);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD7, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD7, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_BOTTOM);
RNA_boolean_set(kmi->ptr, "align_active", TRUE);
@ -287,22 +287,22 @@ void view3d_keymap(wmKeyConfig *keyconf)
RNA_boolean_set(kmi->ptr, "enumerate", TRUE);
/* selection key-combinations */
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
RNA_boolean_set(kmi->ptr, "extend", TRUE);
RNA_boolean_set(kmi->ptr, "center", TRUE);
RNA_boolean_set(kmi->ptr, "object", FALSE);
RNA_boolean_set(kmi->ptr, "enumerate", FALSE);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_ALT, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL | KM_ALT, 0);
RNA_boolean_set(kmi->ptr, "extend", FALSE);
RNA_boolean_set(kmi->ptr, "center", TRUE);
RNA_boolean_set(kmi->ptr, "object", FALSE);
RNA_boolean_set(kmi->ptr, "enumerate", TRUE);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_ALT, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT | KM_ALT, 0);
RNA_boolean_set(kmi->ptr, "extend", TRUE);
RNA_boolean_set(kmi->ptr, "center", FALSE);
RNA_boolean_set(kmi->ptr, "object", FALSE);
RNA_boolean_set(kmi->ptr, "enumerate", TRUE);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_CTRL|KM_ALT, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT | KM_CTRL | KM_ALT, 0);
RNA_boolean_set(kmi->ptr, "extend", TRUE);
RNA_boolean_set(kmi->ptr, "center", TRUE);
RNA_boolean_set(kmi->ptr, "object", FALSE);
@ -311,7 +311,7 @@ void view3d_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "VIEW3D_OT_select_border", BKEY, KM_PRESS, 0, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_CTRL, 0);
RNA_boolean_set(kmi->ptr, "deselect", FALSE);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_SHIFT|KM_CTRL, 0);
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_SHIFT | KM_CTRL, 0);
RNA_boolean_set(kmi->ptr, "deselect", TRUE);
WM_keymap_add_item(keymap, "VIEW3D_OT_select_circle", CKEY, KM_PRESS, 0, 0);
@ -319,7 +319,7 @@ void view3d_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "VIEW3D_OT_zoom_border", BKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "VIEW3D_OT_render_border", BKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "VIEW3D_OT_camera_to_view", PAD0, KM_PRESS, KM_ALT|KM_CTRL, 0);
WM_keymap_add_item(keymap, "VIEW3D_OT_camera_to_view", PAD0, KM_PRESS, KM_ALT | KM_CTRL, 0);
WM_keymap_add_item(keymap, "VIEW3D_OT_object_as_camera", PAD0, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_menu(keymap, "VIEW3D_MT_snap", SKEY, KM_PRESS, KM_SHIFT, 0);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -64,7 +64,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
#include "view3d_intern.h" // own include
#include "view3d_intern.h" // own include
/* ******************* view3d space & buttons ************** */
@ -76,7 +76,7 @@ static void view3d_panel_operator_redo_buts(const bContext *C, Panel *pa, wmOper
static void view3d_panel_operator_redo_header(const bContext *C, Panel *pa)
{
wmOperator *op= WM_operator_last_redo(C);
wmOperator *op = WM_operator_last_redo(C);
if (op) BLI_strncpy(pa->drawname, op->type->name, sizeof(pa->drawname));
else BLI_strncpy(pa->drawname, IFACE_("Operator"), sizeof(pa->drawname));
@ -85,7 +85,7 @@ static void view3d_panel_operator_redo_header(const bContext *C, Panel *pa)
static void view3d_panel_operator_redo_operator(const bContext *C, Panel *pa, wmOperator *op)
{
if (op->type->flag & OPTYPE_MACRO) {
for (op= op->macro.first; op; op= op->next) {
for (op = op->macro.first; op; op = op->next) {
uiItemL(pa->layout, op->type->name, ICON_NONE);
view3d_panel_operator_redo_operator(C, pa, op);
}
@ -98,15 +98,15 @@ static void view3d_panel_operator_redo_operator(const bContext *C, Panel *pa, wm
/* TODO de-duplicate redo panel functions - campbell */
static void view3d_panel_operator_redo(const bContext *C, Panel *pa)
{
wmOperator *op= WM_operator_last_redo(C);
wmOperator *op = WM_operator_last_redo(C);
uiBlock *block;
if (op==NULL)
if (op == NULL)
return;
if (WM_operator_poll((bContext*)C, op->type) == 0)
if (WM_operator_poll((bContext *)C, op->type) == 0)
return;
block= uiLayoutGetBlock(pa->layout);
block = uiLayoutGetBlock(pa->layout);
if (!WM_operator_check_ui_enabled(C, op->type->name))
uiLayoutSetEnabled(pa->layout, 0);
@ -127,10 +127,10 @@ typedef struct CustomTool {
static void operator_call_cb(struct bContext *C, void *arg_listbase, void *arg2)
{
wmOperatorType *ot= arg2;
wmOperatorType *ot = arg2;
if (ot) {
CustomTool *ct= MEM_callocN(sizeof(CustomTool), "CustomTool");
CustomTool *ct = MEM_callocN(sizeof(CustomTool), "CustomTool");
BLI_addtail(arg_listbase, ct);
BLI_strncpy(ct->opname, ot->idname, OP_MAX_TYPENAME);
@ -141,15 +141,15 @@ static void operator_call_cb(struct bContext *C, void *arg_listbase, void *arg2)
static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
{
GHashIterator *iter= WM_operatortype_iter();
GHashIterator *iter = WM_operatortype_iter();
for ( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
for (; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
wmOperatorType *ot = BLI_ghashIterator_getValue(iter);
if (BLI_strcasestr(ot->name, str)) {
if (WM_operator_poll((bContext*)C, ot)) {
if (WM_operator_poll((bContext *)C, ot)) {
if (0==uiSearchItemAdd(items, ot->name, ot, 0))
if (0 == uiSearchItemAdd(items, ot->name, ot, 0))
break;
}
}
@ -163,15 +163,15 @@ static uiBlock *tool_search_menu(bContext *C, ARegion *ar, void *arg_listbase)
{
static char search[OP_MAX_TYPENAME];
wmEvent event;
wmWindow *win= CTX_wm_window(C);
wmWindow *win = CTX_wm_window(C);
uiBlock *block;
uiBut *but;
/* clear initial search string, then all items show */
search[0]= 0;
search[0] = 0;
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
block = uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_LOOP | UI_BLOCK_REDRAW | UI_BLOCK_RET_1);
/* fake button, it holds space for search items */
uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
@ -183,11 +183,11 @@ static uiBlock *tool_search_menu(bContext *C, ARegion *ar, void *arg_listbase)
uiBlockSetDirection(block, UI_DOWN);
uiEndBlock(C, block);
event= *(win->eventstate); /* XXX huh huh? make api call */
event.type= EVT_BUT_OPEN;
event.val= KM_PRESS;
event.customdata= but;
event.customdatafree= FALSE;
event = *(win->eventstate); /* XXX huh huh? make api call */
event.type = EVT_BUT_OPEN;
event.val = KM_PRESS;
event.customdata = but;
event.customdatafree = FALSE;
wm_event_add(win, &event);
return block;
@ -196,25 +196,25 @@ static uiBlock *tool_search_menu(bContext *C, ARegion *ar, void *arg_listbase)
static void view3d_panel_tool_shelf(const bContext *C, Panel *pa)
{
SpaceLink *sl= CTX_wm_space_data(C);
SpaceType *st= NULL;
SpaceLink *sl = CTX_wm_space_data(C);
SpaceType *st = NULL;
uiLayout *col;
const char *context= CTX_data_mode_string(C);
const char *context = CTX_data_mode_string(C);
if (sl)
st= BKE_spacetype_from_id(sl->spacetype);
st = BKE_spacetype_from_id(sl->spacetype);
if (st && st->toolshelf.first) {
CustomTool *ct;
for (ct= st->toolshelf.first; ct; ct= ct->next) {
if (0==strncmp(context, ct->context, OP_MAX_TYPENAME)) {
col= uiLayoutColumn(pa->layout, 1);
for (ct = st->toolshelf.first; ct; ct = ct->next) {
if (0 == strncmp(context, ct->context, OP_MAX_TYPENAME)) {
col = uiLayoutColumn(pa->layout, 1);
uiItemFullO(col, ct->opname, NULL, ICON_NONE, NULL, WM_OP_INVOKE_REGION_WIN, 0);
}
}
}
col= uiLayoutColumn(pa->layout, 1);
col = uiLayoutColumn(pa->layout, 1);
uiDefBlockBut(uiLayoutGetBlock(pa->layout), tool_search_menu, &st->toolshelf, "Add Tool", 0, 0, UI_UNIT_X, UI_UNIT_Y, "Add Tool in shelf, gets saved in files");
}
@ -223,10 +223,10 @@ void view3d_toolshelf_register(ARegionType *art)
{
PanelType *pt;
pt= MEM_callocN(sizeof(PanelType), "spacetype view3d panel tools");
pt = MEM_callocN(sizeof(PanelType), "spacetype view3d panel tools");
strcpy(pt->idname, "VIEW3D_PT_tool_shelf");
strcpy(pt->label, "Tool Shelf");
pt->draw= view3d_panel_tool_shelf;
pt->draw = view3d_panel_tool_shelf;
BLI_addtail(&art->paneltypes, pt);
}
@ -234,11 +234,11 @@ void view3d_tool_props_register(ARegionType *art)
{
PanelType *pt;
pt= MEM_callocN(sizeof(PanelType), "spacetype view3d panel last operator");
pt = MEM_callocN(sizeof(PanelType), "spacetype view3d panel last operator");
strcpy(pt->idname, "VIEW3D_PT_last_operator");
strcpy(pt->label, "Operator");
pt->draw_header= view3d_panel_operator_redo_header;
pt->draw= view3d_panel_operator_redo;
pt->draw_header = view3d_panel_operator_redo_header;
pt->draw = view3d_panel_operator_redo;
BLI_addtail(&art->paneltypes, pt);
}
@ -246,8 +246,8 @@ void view3d_tool_props_register(ARegionType *art)
static int view3d_toolshelf(bContext *C, wmOperator *UNUSED(op))
{
ScrArea *sa= CTX_wm_area(C);
ARegion *ar= view3d_has_tools_region(sa);
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = view3d_has_tools_region(sa);
if (ar)
ED_region_toggle_hidden(C, ar);

File diff suppressed because it is too large Load Diff