Reasonable but harmless clang warning cleanup
This commit is contained in:
parent
26e8652a24
commit
d127123513
|
@ -156,7 +156,7 @@ void CoordinateFrame::Render(QGLWidget* glw,QPainter* p)
|
||||||
}
|
}
|
||||||
glGetError(); // Patch to buggy qt rendertext;
|
glGetError(); // Patch to buggy qt rendertext;
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
assert(!glGetError());
|
assert(!glGetError());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CoordinateFrame::drawTickedLine(const Point3d &a,const Point3d &b, float dim,float tickDist,float linewidth)
|
void CoordinateFrame::drawTickedLine(const Point3d &a,const Point3d &b, float dim,float tickDist,float linewidth)
|
||||||
|
@ -171,7 +171,7 @@ void CoordinateFrame::drawTickedLine(const Point3d &a,const Point3d &b, float di
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glPushAttrib(GL_POINT_BIT);
|
glPushAttrib(GL_POINT_BIT);
|
||||||
glPointSize(linewidth*3);
|
glPointSize(linewidth*3);
|
||||||
glBegin(GL_POINTS);
|
glBegin(GL_POINTS);
|
||||||
glVertex3f(a[0] + dim*v[0],a[1] + dim*v[1],a[2] + dim*v[2]);
|
glVertex3f(a[0] + dim*v[0],a[1] + dim*v[1],a[2] + dim*v[2]);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
@ -205,18 +205,18 @@ MovableCoordinateFrame::MovableCoordinateFrame(float size)
|
||||||
// nothing here
|
// nothing here
|
||||||
}
|
}
|
||||||
|
|
||||||
void MovableCoordinateFrame::Render(QGLWidget* gla)
|
void MovableCoordinateFrame::Render(QGLWidget* gla, QPainter *p)
|
||||||
{
|
{
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
|
|
||||||
glTranslate(position);
|
glTranslate(position);
|
||||||
Matrix44f mrot;
|
Matrix44f mrot;
|
||||||
rotation.ToMatrix(mrot);
|
rotation.ToMatrix(mrot);
|
||||||
|
|
||||||
glMultMatrix(Inverse(mrot));
|
glMultMatrix(Inverse(mrot));
|
||||||
|
|
||||||
CoordinateFrame::Render(gla);
|
CoordinateFrame::Render(gla,p);
|
||||||
|
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,13 +232,13 @@ void MovableCoordinateFrame::GetTransform(Matrix44f & transform)
|
||||||
rotation.ToMatrix(rot);
|
rotation.ToMatrix(rot);
|
||||||
|
|
||||||
transform = Inverse(rot) * transform ;
|
transform = Inverse(rot) * transform ;
|
||||||
|
|
||||||
// apply translation
|
// apply translation
|
||||||
Matrix44f pos;
|
Matrix44f pos;
|
||||||
pos.SetTranslate(position);
|
pos.SetTranslate(position);
|
||||||
|
|
||||||
transform = pos * transform;
|
transform = pos * transform;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MovableCoordinateFrame::Reset(bool reset_position,bool reset_alignment)
|
void MovableCoordinateFrame::Reset(bool reset_position,bool reset_alignment)
|
||||||
|
@ -272,7 +272,7 @@ Quaternionf MovableCoordinateFrame::GetRotation()
|
||||||
void MovableCoordinateFrame::Rot(float angle_deg,const Point3f axis)
|
void MovableCoordinateFrame::Rot(float angle_deg,const Point3f axis)
|
||||||
{
|
{
|
||||||
Similarityf s;
|
Similarityf s;
|
||||||
s.SetRotate(math::ToRad(angle_deg),(rotation).Rotate(axis));
|
s.SetRotate(math::ToRad(angle_deg),(rotation).Rotate(axis));
|
||||||
Move(s);
|
Move(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -286,22 +286,22 @@ void MovableCoordinateFrame::AlignWith(const Point3f pri,const Point3f secondary
|
||||||
|
|
||||||
primary.Normalize();
|
primary.Normalize();
|
||||||
Plane3f plane(0,primary); // projection plane for the second rotation
|
Plane3f plane(0,primary); // projection plane for the second rotation
|
||||||
|
|
||||||
Point3f x(1,0,0),y(0,1,0),z(0,0,1);
|
Point3f x(1,0,0),y(0,1,0),z(0,0,1);
|
||||||
Point3f first(0,0,0),second(0,0,0),third(0,0,0);
|
Point3f first(0,0,0),second(0,0,0),third(0,0,0);
|
||||||
|
|
||||||
if(c1=='X'){ first = x;
|
if(c1=='X'){ first = x;
|
||||||
if((c2=='Y')||(c2==' ')){ second = y; third = z; }
|
if((c2=='Y')||(c2==' ')){ second = y; third = z; }
|
||||||
else if(c2=='Z'){ second = z; third = y; }
|
else if(c2=='Z'){ second = z; third = y; }
|
||||||
else assert (0);
|
else assert (0);
|
||||||
} else if(c1=='Y'){ first = y;
|
} else if(c1=='Y'){ first = y;
|
||||||
if((c2=='Z')||(c2==' ')){ second = z; third = x; }
|
if((c2=='Z')||(c2==' ')){ second = z; third = x; }
|
||||||
else if(c2=='X'){ second = x; third = z; }
|
else if(c2=='X'){ second = x; third = z; }
|
||||||
else assert (0);
|
else assert (0);
|
||||||
} else if(c1=='Z'){ first = z;
|
} else if(c1=='Z'){ first = z;
|
||||||
if((c2=='X')||(c2==' ')){ second = x; third = y; }
|
if((c2=='X')||(c2==' ')){ second = x; third = y; }
|
||||||
else if(c2=='Y'){ second = y; third = x; }
|
else if(c2=='Y'){ second = y; third = x; }
|
||||||
else assert (0);
|
else assert (0);
|
||||||
} else assert (0);
|
} else assert (0);
|
||||||
|
|
||||||
Point3f old_first = Inverse(rotation).Rotate(first); // axis 1
|
Point3f old_first = Inverse(rotation).Rotate(first); // axis 1
|
||||||
|
@ -352,19 +352,19 @@ void MovableCoordinateFrame::RotateToAlign(const Point3f source, const Point3f d
|
||||||
Point3f axis = dest ^ source;
|
Point3f axis = dest ^ source;
|
||||||
float sinangle = axis.Norm();
|
float sinangle = axis.Norm();
|
||||||
float cosangle = dest.dot(source);
|
float cosangle = dest.dot(source);
|
||||||
float angle = math::Atan2(sinangle,cosangle);
|
float angle = math::Atan2(sinangle,cosangle);
|
||||||
|
|
||||||
if( math::Abs(angle) < EPSILON )
|
if( math::Abs(angle) < EPSILON )
|
||||||
return; // angle ~ 0, aborting
|
return; // angle ~ 0, aborting
|
||||||
|
|
||||||
if( math::Abs(math::Abs(angle)-M_PI) < EPSILON){
|
if( math::Abs(math::Abs(angle)-M_PI) < EPSILON){
|
||||||
// must find a axis to flip on
|
// must find a axis to flip on
|
||||||
Plane3f plane(0,source);
|
Plane3f plane(0,source);
|
||||||
axis=plane.Projection(Point3f(1,0,0)); // project a "random" point on source's normal plane
|
axis=plane.Projection(Point3f(1,0,0)); // project a "random" point on source's normal plane
|
||||||
if(axis.Norm() < EPSILON){ // source was ~ [1,0,0]...
|
if(axis.Norm() < EPSILON){ // source was ~ [1,0,0]...
|
||||||
axis=plane.Projection(Point3f(0,1,0));
|
axis=plane.Projection(Point3f(0,1,0));
|
||||||
assert(axis.Norm() > EPSILON); // this point must be good
|
assert(axis.Norm() > EPSILON); // this point must be good
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rotation = rotation * Quaternionf(angle,axis);
|
rotation = rotation * Quaternionf(angle,axis);
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,7 @@ public:
|
||||||
|
|
||||||
@param glw the GL widget.
|
@param glw the GL widget.
|
||||||
*/
|
*/
|
||||||
virtual void Render(QGLWidget* glw);
|
virtual void Render(QGLWidget* glw,QPainter* p = NULL);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@brief Reset the position and/or the rotation of the coordinate frame.
|
@brief Reset the position and/or the rotation of the coordinate frame.
|
||||||
|
@ -222,7 +222,7 @@ protected:
|
||||||
Point3f position;
|
Point3f position;
|
||||||
Quaternionf rotation;
|
Quaternionf rotation;
|
||||||
|
|
||||||
// functions:
|
// functions:
|
||||||
virtual void Move(const Similarityf);
|
virtual void Move(const Similarityf);
|
||||||
void RotateToAlign(const Point3f, const Point3f);
|
void RotateToAlign(const Point3f, const Point3f);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue