40 glTranslated(
dA,0.0,
dD);
42 glColor4f(0.5,0.5,0.5,1.0);
45 glVertex3d(0.0,0.0,0.0);
46 glVertex3d(-
dA,0.0,-
dD);
49 glRotated(
dAlpha,1.0,0.0,0.0);
51 glColor4f(0.5,0.5,0.5,1.0);
62 for (
int i=0; i<
children.count(); ++i)
64 children[i]->draw(encoders,pSelected);
73 static const double dRadius=80.0;
74 static const double dDeg2Rad=
M_PI/180.0,dThr=4.0*dDeg2Rad,dRad2Deg=180.0/
M_PI;
76 if (dOmega<-dThr || dOmega>dThr)
78 double dNeg=dOmega>=0.0?1.0:-1.0;
79 double dAngle=dNeg*dOmega;
81 glBegin(GL_LINE_STRIP);
82 for (
double angle=-dAngle; angle<=dAngle; angle+=dDeg2Rad)
83 glVertex3d(-dRadius*cos(angle),dRadius*sin(angle),0.0);
86 glRotated(dOmega*dRad2Deg,0.0,0.0,1.0);
87 glTranslated(-dRadius,0.0,0.0);
88 glRotated(dNeg*90.0,1.0,0.0,0.0);
89 glutSolidCone(7.5,30.0,16,16);
96 glVertex3d(0.0,0.0,0.0);
97 glVertex3d(0.0,0.0,dMag);
100 glTranslated(0.0,0.0,dMag);
101 glRotated(dMag<0.0?180.0:0.0,1.0,0.0,0.0);
102 glutSolidCone(7.5,30.0,16,16);
BVHNodeDH(const QString &name, int enc, double Dx, double Dz, double Rx, double Rz0, iCubMesh *mesh=0)
void drawArc(double dOmega)
void drawArrow(double dMag)
virtual void draw(double *encoders, BVHNode *pSelected)
const QString & name() const
QList< BVHNode * > children