simplify XYWnd::PaintSizeInfo slightly
This commit is contained in:
parent
afdf2a76e0
commit
601ca95fbf
|
|
@ -1942,27 +1942,22 @@ void XYWnd::UpdateCameraIcon(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float Betwixt( float f1, float f2 ){
|
|
||||||
if ( f1 > f2 ) {
|
|
||||||
return f2 + ( ( f1 - f2 ) / 2 );
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return f1 + ( ( f2 - f1 ) / 2 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// can be greatly simplified but per usual i am in a hurry
|
// can be greatly simplified but per usual i am in a hurry
|
||||||
// which is not an excuse, just a fact
|
// which is not an excuse, just a fact
|
||||||
void XYWnd::PaintSizeInfo( int nDim1, int nDim2, Vector3& vMinBounds, Vector3& vMaxBounds ){
|
void XYWnd::PaintSizeInfo( const int nDim1, const int nDim2 ){
|
||||||
if ( vector3_equal( vMinBounds, vMaxBounds ) ) {
|
const AABB bounds = GlobalSelectionSystem().getBoundsSelected();
|
||||||
|
if ( bounds.extents == g_vector3_identity ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const char* g_pDimStrings[] = {"x:", "y:", "z:"};
|
|
||||||
typedef const char* OrgStrings[2];
|
|
||||||
const OrgStrings g_pOrgStrings[] = { { "x:", "y:", }, { "x:", "z:", }, { "y:", "z:", } };
|
|
||||||
|
|
||||||
Vector3 vSize( vector3_subtracted( vMaxBounds, vMinBounds ) );
|
const Vector3 min = bounds.origin - bounds.extents;
|
||||||
|
const Vector3 max = bounds.origin + bounds.extents;
|
||||||
|
const Vector3 mid = bounds.origin;
|
||||||
|
const Vector3 size = bounds.extents * 2;
|
||||||
|
|
||||||
|
const char* dimStrings[] = {"x:", "y:", "z:"};
|
||||||
|
typedef const char* OrgStrings[2];
|
||||||
|
const OrgStrings orgStrings[] = { { "x:", "y:", }, { "x:", "z:", }, { "y:", "z:", } };
|
||||||
|
|
||||||
glColor3f( g_xywindow_globals.color_selbrushes[0] * .65f,
|
glColor3f( g_xywindow_globals.color_selbrushes[0] * .65f,
|
||||||
g_xywindow_globals.color_selbrushes[1] * .65f,
|
g_xywindow_globals.color_selbrushes[1] * .65f,
|
||||||
|
|
@ -1973,116 +1968,116 @@ void XYWnd::PaintSizeInfo( int nDim1, int nDim2, Vector3& vMinBounds, Vector3& v
|
||||||
if ( m_viewType == XY ) {
|
if ( m_viewType == XY ) {
|
||||||
glBegin( GL_LINES );
|
glBegin( GL_LINES );
|
||||||
|
|
||||||
glVertex3f( vMinBounds[nDim1], vMinBounds[nDim2] - 6.0f / m_fScale, 0.0f );
|
glVertex3f( min[nDim1], min[nDim2] - 6.0f / m_fScale, 0.0f );
|
||||||
glVertex3f( vMinBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale, 0.0f );
|
glVertex3f( min[nDim1], min[nDim2] - 10.0f / m_fScale, 0.0f );
|
||||||
|
|
||||||
glVertex3f( vMinBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale, 0.0f );
|
glVertex3f( min[nDim1], min[nDim2] - 10.0f / m_fScale, 0.0f );
|
||||||
glVertex3f( vMaxBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale, 0.0f );
|
glVertex3f( max[nDim1], min[nDim2] - 10.0f / m_fScale, 0.0f );
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1], vMinBounds[nDim2] - 6.0f / m_fScale, 0.0f );
|
glVertex3f( max[nDim1], min[nDim2] - 6.0f / m_fScale, 0.0f );
|
||||||
glVertex3f( vMaxBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale, 0.0f );
|
glVertex3f( max[nDim1], min[nDim2] - 10.0f / m_fScale, 0.0f );
|
||||||
|
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1] + 6.0f / m_fScale, vMinBounds[nDim2], 0.0f );
|
glVertex3f( max[nDim1] + 6.0f / m_fScale, min[nDim2], 0.0f );
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, vMinBounds[nDim2], 0.0f );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, min[nDim2], 0.0f );
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, vMinBounds[nDim2], 0.0f );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, min[nDim2], 0.0f );
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, vMaxBounds[nDim2], 0.0f );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, max[nDim2], 0.0f );
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1] + 6.0f / m_fScale, vMaxBounds[nDim2], 0.0f );
|
glVertex3f( max[nDim1] + 6.0f / m_fScale, max[nDim2], 0.0f );
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, vMaxBounds[nDim2], 0.0f );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, max[nDim2], 0.0f );
|
||||||
|
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glRasterPos3f( Betwixt( vMinBounds[nDim1], vMaxBounds[nDim1] ), vMinBounds[nDim2] - 20.0f / m_fScale, 0.0f );
|
glRasterPos3f( mid[nDim1], min[nDim2] - 20.0f / m_fScale, 0.0f );
|
||||||
dimensions << g_pDimStrings[nDim1] << vSize[nDim1];
|
dimensions << dimStrings[nDim1] << size[nDim1];
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
dimensions.clear();
|
dimensions.clear();
|
||||||
|
|
||||||
glRasterPos3f( vMaxBounds[nDim1] + 16.0f / m_fScale, Betwixt( vMinBounds[nDim2], vMaxBounds[nDim2] ), 0.0f );
|
glRasterPos3f( max[nDim1] + 16.0f / m_fScale, mid[nDim2], 0.0f );
|
||||||
dimensions << g_pDimStrings[nDim2] << vSize[nDim2];
|
dimensions << dimStrings[nDim2] << size[nDim2];
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
dimensions.clear();
|
dimensions.clear();
|
||||||
|
|
||||||
glRasterPos3f( vMinBounds[nDim1] + 4, vMaxBounds[nDim2] + 8 / m_fScale, 0.0f );
|
glRasterPos3f( min[nDim1] + 4, max[nDim2] + 8 / m_fScale, 0.0f );
|
||||||
dimensions << "(" << g_pOrgStrings[0][0] << vMinBounds[nDim1] << " " << g_pOrgStrings[0][1] << vMaxBounds[nDim2] << ")";
|
dimensions << "(" << orgStrings[0][0] << min[nDim1] << " " << orgStrings[0][1] << max[nDim2] << ")";
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
}
|
}
|
||||||
else if ( m_viewType == XZ ) {
|
else if ( m_viewType == XZ ) {
|
||||||
glBegin( GL_LINES );
|
glBegin( GL_LINES );
|
||||||
|
|
||||||
glVertex3f( vMinBounds[nDim1], 0, vMinBounds[nDim2] - 6.0f / m_fScale );
|
glVertex3f( min[nDim1], 0, min[nDim2] - 6.0f / m_fScale );
|
||||||
glVertex3f( vMinBounds[nDim1], 0, vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( min[nDim1], 0, min[nDim2] - 10.0f / m_fScale );
|
||||||
|
|
||||||
glVertex3f( vMinBounds[nDim1], 0,vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( min[nDim1], 0,min[nDim2] - 10.0f / m_fScale );
|
||||||
glVertex3f( vMaxBounds[nDim1], 0,vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( max[nDim1], 0,min[nDim2] - 10.0f / m_fScale );
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1], 0,vMinBounds[nDim2] - 6.0f / m_fScale );
|
glVertex3f( max[nDim1], 0,min[nDim2] - 6.0f / m_fScale );
|
||||||
glVertex3f( vMaxBounds[nDim1], 0,vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( max[nDim1], 0,min[nDim2] - 10.0f / m_fScale );
|
||||||
|
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1] + 6.0f / m_fScale, 0,vMinBounds[nDim2] );
|
glVertex3f( max[nDim1] + 6.0f / m_fScale, 0,min[nDim2] );
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, 0,vMinBounds[nDim2] );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, 0,min[nDim2] );
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, 0,vMinBounds[nDim2] );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, 0,min[nDim2] );
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, 0,vMaxBounds[nDim2] );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, 0,max[nDim2] );
|
||||||
|
|
||||||
glVertex3f( vMaxBounds[nDim1] + 6.0f / m_fScale, 0,vMaxBounds[nDim2] );
|
glVertex3f( max[nDim1] + 6.0f / m_fScale, 0,max[nDim2] );
|
||||||
glVertex3f( vMaxBounds[nDim1] + 10.0f / m_fScale, 0,vMaxBounds[nDim2] );
|
glVertex3f( max[nDim1] + 10.0f / m_fScale, 0,max[nDim2] );
|
||||||
|
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glRasterPos3f( Betwixt( vMinBounds[nDim1], vMaxBounds[nDim1] ), 0, vMinBounds[nDim2] - 20.0f / m_fScale );
|
glRasterPos3f( mid[nDim1], 0, min[nDim2] - 20.0f / m_fScale );
|
||||||
dimensions << g_pDimStrings[nDim1] << vSize[nDim1];
|
dimensions << dimStrings[nDim1] << size[nDim1];
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
dimensions.clear();
|
dimensions.clear();
|
||||||
|
|
||||||
glRasterPos3f( vMaxBounds[nDim1] + 16.0f / m_fScale, 0, Betwixt( vMinBounds[nDim2], vMaxBounds[nDim2] ) );
|
glRasterPos3f( max[nDim1] + 16.0f / m_fScale, 0, mid[nDim2] );
|
||||||
dimensions << g_pDimStrings[nDim2] << vSize[nDim2];
|
dimensions << dimStrings[nDim2] << size[nDim2];
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
dimensions.clear();
|
dimensions.clear();
|
||||||
|
|
||||||
glRasterPos3f( vMinBounds[nDim1] + 4, 0, vMaxBounds[nDim2] + 8 / m_fScale );
|
glRasterPos3f( min[nDim1] + 4, 0, max[nDim2] + 8 / m_fScale );
|
||||||
dimensions << "(" << g_pOrgStrings[1][0] << vMinBounds[nDim1] << " " << g_pOrgStrings[1][1] << vMaxBounds[nDim2] << ")";
|
dimensions << "(" << orgStrings[1][0] << min[nDim1] << " " << orgStrings[1][1] << max[nDim2] << ")";
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
glBegin( GL_LINES );
|
glBegin( GL_LINES );
|
||||||
|
|
||||||
glVertex3f( 0, vMinBounds[nDim1], vMinBounds[nDim2] - 6.0f / m_fScale );
|
glVertex3f( 0, min[nDim1], min[nDim2] - 6.0f / m_fScale );
|
||||||
glVertex3f( 0, vMinBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( 0, min[nDim1], min[nDim2] - 10.0f / m_fScale );
|
||||||
|
|
||||||
glVertex3f( 0, vMinBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( 0, min[nDim1], min[nDim2] - 10.0f / m_fScale );
|
||||||
glVertex3f( 0, vMaxBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( 0, max[nDim1], min[nDim2] - 10.0f / m_fScale );
|
||||||
|
|
||||||
glVertex3f( 0, vMaxBounds[nDim1], vMinBounds[nDim2] - 6.0f / m_fScale );
|
glVertex3f( 0, max[nDim1], min[nDim2] - 6.0f / m_fScale );
|
||||||
glVertex3f( 0, vMaxBounds[nDim1], vMinBounds[nDim2] - 10.0f / m_fScale );
|
glVertex3f( 0, max[nDim1], min[nDim2] - 10.0f / m_fScale );
|
||||||
|
|
||||||
|
|
||||||
glVertex3f( 0, vMaxBounds[nDim1] + 6.0f / m_fScale, vMinBounds[nDim2] );
|
glVertex3f( 0, max[nDim1] + 6.0f / m_fScale, min[nDim2] );
|
||||||
glVertex3f( 0, vMaxBounds[nDim1] + 10.0f / m_fScale, vMinBounds[nDim2] );
|
glVertex3f( 0, max[nDim1] + 10.0f / m_fScale, min[nDim2] );
|
||||||
|
|
||||||
glVertex3f( 0, vMaxBounds[nDim1] + 10.0f / m_fScale, vMinBounds[nDim2] );
|
glVertex3f( 0, max[nDim1] + 10.0f / m_fScale, min[nDim2] );
|
||||||
glVertex3f( 0, vMaxBounds[nDim1] + 10.0f / m_fScale, vMaxBounds[nDim2] );
|
glVertex3f( 0, max[nDim1] + 10.0f / m_fScale, max[nDim2] );
|
||||||
|
|
||||||
glVertex3f( 0, vMaxBounds[nDim1] + 6.0f / m_fScale, vMaxBounds[nDim2] );
|
glVertex3f( 0, max[nDim1] + 6.0f / m_fScale, max[nDim2] );
|
||||||
glVertex3f( 0, vMaxBounds[nDim1] + 10.0f / m_fScale, vMaxBounds[nDim2] );
|
glVertex3f( 0, max[nDim1] + 10.0f / m_fScale, max[nDim2] );
|
||||||
|
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glRasterPos3f( 0, Betwixt( vMinBounds[nDim1], vMaxBounds[nDim1] ), vMinBounds[nDim2] - 20.0f / m_fScale );
|
glRasterPos3f( 0, mid[nDim1], min[nDim2] - 20.0f / m_fScale );
|
||||||
dimensions << g_pDimStrings[nDim1] << vSize[nDim1];
|
dimensions << dimStrings[nDim1] << size[nDim1];
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
dimensions.clear();
|
dimensions.clear();
|
||||||
|
|
||||||
glRasterPos3f( 0, vMaxBounds[nDim1] + 16.0f / m_fScale, Betwixt( vMinBounds[nDim2], vMaxBounds[nDim2] ) );
|
glRasterPos3f( 0, max[nDim1] + 16.0f / m_fScale, mid[nDim2] );
|
||||||
dimensions << g_pDimStrings[nDim2] << vSize[nDim2];
|
dimensions << dimStrings[nDim2] << size[nDim2];
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
dimensions.clear();
|
dimensions.clear();
|
||||||
|
|
||||||
glRasterPos3f( 0, vMinBounds[nDim1] + 4.0f, vMaxBounds[nDim2] + 8 / m_fScale );
|
glRasterPos3f( 0, min[nDim1] + 4.0f, max[nDim2] + 8 / m_fScale );
|
||||||
dimensions << "(" << g_pOrgStrings[2][0] << vMinBounds[nDim1] << " " << g_pOrgStrings[2][1] << vMaxBounds[nDim2] << ")";
|
dimensions << "(" << orgStrings[2][0] << min[nDim1] << " " << orgStrings[2][1] << max[nDim2] << ")";
|
||||||
GlobalOpenGL().drawString( dimensions.c_str() );
|
GlobalOpenGL().drawString( dimensions.c_str() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2349,9 +2344,7 @@ void XYWnd::XY_Draw(){
|
||||||
|
|
||||||
// size info
|
// size info
|
||||||
if ( g_xywindow_globals_private.m_bSizePaint && GlobalSelectionSystem().countSelected() != 0 ) {
|
if ( g_xywindow_globals_private.m_bSizePaint && GlobalSelectionSystem().countSelected() != 0 ) {
|
||||||
Vector3 min, max;
|
PaintSizeInfo( nDim1, nDim2 );
|
||||||
Select_GetBounds( min, max );
|
|
||||||
PaintSizeInfo( nDim1, nDim2, min, max );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( g_bCrossHairs ) {
|
if ( g_bCrossHairs ) {
|
||||||
|
|
|
||||||
|
|
@ -199,7 +199,7 @@ VIEWTYPE m_viewType;
|
||||||
void OriginalButtonUp( guint32 nFlags, int point, int pointy );
|
void OriginalButtonUp( guint32 nFlags, int point, int pointy );
|
||||||
void OriginalButtonDown( guint32 nFlags, int point, int pointy );
|
void OriginalButtonDown( guint32 nFlags, int point, int pointy );
|
||||||
|
|
||||||
void PaintSizeInfo( int nDim1, int nDim2, Vector3& vMinBounds, Vector3& vMaxBounds );
|
void PaintSizeInfo( int nDim1, int nDim2 );
|
||||||
|
|
||||||
int m_entityCreate_x, m_entityCreate_y;
|
int m_entityCreate_x, m_entityCreate_y;
|
||||||
bool m_entityCreate;
|
bool m_entityCreate;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user