New feature; User definable Clipping Planes.

Press ALT+B in 3d window, draw a rect, and it becomes a clipping
volume of 4 planes. You then can rotate the view anyway you like.
Works for each 3d window individually.

Disable it with another ALT+B press.

Commit is huge because it had to change all selection code as well.
The user-clipping planes are in 'eye space', the other clipping
happens in projected 'viewport space'.

Nice to notice is that the 'x=3200' convention (to denote a coordinate
is clipped) now is a define. Define value is still a number though... but
we now can get up to screens of 12000 pixels without issues!

Known issue; here it refuses to draw the 'object centers' or Lamp icons
within the clipping region. Can't find any reason for it... however, we
might move to non-pixmaps for it anyway.

Testing might reveil numerous issues, will be standby for it.

Curious? Check this http://www.blender.org/bf/rt4.jpg
This commit is contained in:
2005-08-20 19:18:35 +00:00
parent ad5ac39ccc
commit dd5410162a
18 changed files with 275 additions and 74 deletions

View File

@@ -4293,13 +4293,13 @@ int EdgeSlide(short immediate, float imperc)
LinkNode *edgelist = NULL, *vertlist=NULL, *look;
GHash *vertgh;
SlideVert *tempsv;
float perc = 0, percp = 0,vertdist, projectMat[4][4];
float perc = 0, percp = 0,vertdist, projectMat[4][4], viewMat[4][4];
int i = 0,j, numsel, numadded=0, timesthrough = 0, vertsel=0, prop=1, cancel = 0;
short event, draw=1;
short mval[2], mvalo[2];
char str[128];
view3d_get_object_project_mat(curarea, G.obedit, projectMat);
view3d_get_object_project_mat(curarea, G.obedit, projectMat, viewMat);
mvalo[0] = -1; mvalo[1] = -1;
numsel =0;