Closed GoogleCodeExporter closed 8 years ago
Original comment by Lince3D@gmail.com
on 14 Feb 2012 at 7:19
Original comment by Lince3D@gmail.com
on 16 Feb 2012 at 7:28
QDualQuaternion.h
Método DoubleConjugate:
la segunda componente que se devuelve debe ser "d.Conjugate() * SQFloat::_1",
no "r...".
QLineSegment2D.h
Método Scale(QBaseVector2)
Te falta el return *this;
QLineSegment3D.h
Método Translate(QTranslationMatrix4x4)
Te falta el return *this;
QQuaternion.h
Método Normalize
Igual se podría hacer
const float_q& fInvLength = SQFloat::_1/fLength;
y ahorrarnos 4 divisiones?
QQuaternion.cpp
Método Slerp:
Algunas constantes habría que ponerles el & (fAngleB, FInvSin,fWeight...)
¿no? En este método y en UnitSlerp a unas se las pones que no las tenían
pero a otras que las tenían se las quitas. Como supongo que será por algo,
explica :)
Resto correcto.
Original comment by jwl...@gmail.com
on 16 Feb 2012 at 9:27
Parche II
QPlane.h
ScaleWithPivot(V3, v3)
Falta return *this;
ScaleWithPivot(V3, v4)
Falta return *this;
QRay2D.h
Reflection
¿No debería devolver un ray2D en vez de un parámetro de salida?
bool Intersection(const QBaseRay<VectorType, QVector3> &ray) const
En el segundo producto vectorial se te olvidó quitar el parámetro de salida.
QVector3 vCross = this->Direction.CrossProduct(ray.Direction, vCross);
inline bool Contains(const VectorType &vPoint) const
Parametro de salida
QVector3 vCross = vAux.Direction.CrossProduct(this->Direction, vCross); //
Calculates cross product to check if both vectors are parallel
Ver comentarios adicionales en el foro.
Original comment by jwl...@gmail.com
on 19 Feb 2012 at 10:07
Parche III
* QSphere.h
inline QSphere& ScaleWithPivot(const VectorType &vScale, const float_q
&fRadiusScale, const VectorType &vPivot)
Falta documentación de return
inline QSphere& RotateWithPivot(const QRotationMatrix3x3 &rotation, const
VectorType &vPivot)
Falta documentación de return
* QTransformationMatrix3x3.h
inline QTransformationMatrix3x3 SwitchHandConvention()
El método sería const.
* QTriangle2D.h
inline QVector2 GetCircumcenter() const
Sobra documentacion de vCircumcenter
inline QVector2 GetOrthocenter() const
Sobra documentacion de vOrthocenter
* QVector3.h
QVector3& Transform(const QTransformationMatrix<QMatrix4x3> &transformation);
Falta documentación de return.
* QVector4.h
inline QVector4 Homogenize() const
No estoy seguro de que deba haber un assert aquí. Quizás baste simplemente
con no hacer nada si w=0.
* QSpaceConversioMatrix.cpp
void QSpaceConversionMatrix::SetViewSpaceMatrix(const QVector4 &vPointOfView,
const QVector4 &vTarget, const QVector4 &vUpDirection)
{
this->SetViewSpaceMatrix(QVector3(vPointOfView.x, vPointOfView.y, vPointOfView.z),
QVector3(vTarget.x, vTarget.y, vTarget.z),
QVector3(vUpDirection.x, vUpDirection.y, vUpDirection.z));
}
Hay un constructor de QVector3 desde un QBaseVector4, igual vale para abreviar.
Original comment by jwl...@gmail.com
on 22 Feb 2012 at 9:47
Original comment by Lince3D@gmail.com
on 23 Feb 2012 at 8:20
Refactorizando métodos de transformación.
Original comment by Lince3D@gmail.com
on 23 Feb 2012 at 8:21
Original comment by Lince3D@gmail.com
on 26 Feb 2012 at 7:25
Parche IV
* QLineSegment3D.h
Transform (QSpaceConversionMatrix)
Documentación: has puesto "converted" en vez de "transformed", como vienes
haciendo.
Transform (QDualQuaternion),
Documentación: has puesto "converted" en vez de "transformed", como vienes
haciendo.
this->.A.Transform (te sobra un punto a la izda de A)
* QRay3D.h
Scale (QBaseVector3), (float_q, ...)
ScaleWithPivot (QBaseVector3), (float_q, ...)
Has puesto auxRay.Origine
Por lo demás correcto, la paso a DONE.
Original comment by jwl...@gmail.com
on 27 Feb 2012 at 10:00
Original issue reported on code.google.com by
Lince3D@gmail.com
on 14 Feb 2012 at 7:19