41 TempPt.s.X = (TempPt.s.X * this->
AdjustWidth) - 1.0f;
45 length =(TempPt.s.X * TempPt.s.X) +(TempPt.s.Y * TempPt.s.Y);
56 NewVec->s.X = TempPt.s.X * norm;
57 NewVec->s.Y = TempPt.s.Y * norm;
63 NewVec->s.X = TempPt.s.X;
64 NewVec->s.Y = TempPt.s.Y;
65 NewVec->s.Z =
FuncSqrt(1.0f - length);
78 this->
EnVec.s.Z = 0.0f;
93 this->
EnVec.s.Z = 0.0f;
118 Vector3fCross(&Perp, &this->
StVec, &this->
EnVec);
121 if(Vector3fLength(&Perp) >
Epsilon)
124 NewRot->s.X = Perp.s.X;
125 NewRot->s.Y = Perp.s.Y;
126 NewRot->s.Z = Perp.s.Z;
128 NewRot->s.W= Vector3fDot(&this->
StVec, &this->
EnVec);
void setBounds(GLfloat NewWidth, GLfloat NewHeight)
void drag(const Point2fT *NewPt, Quat4fT *NewRot)
void _mapToSphere(const Point2fT *NewPt, Vector3fT *NewVec) const
void click(const Point2fT *NewPt)