sanyaade-g2g-repos / quimeraengine

Automatically exported from code.google.com/p/quimeraengine
0 stars 1 forks source link

Añadir escala del radio a métodos de QCircle y QSphere #230

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Existe un problema conceptual que consiste en que las transformaciones 
aplicadas a círculos y esferas sólo pueden afectar a la posición de las 
figuras y no a sus dimensiones, ya que si se les aplica una escala distinta a 
cada dimensión, dejarían de ser círculo esfera; por tanto, sus radios deben 
permanecer inalterados. En lugar de realizar un cálculo arbitrario para 
intentar deducir el radio que deberían tener ambas figuras tras aplicarles 
ciertas transformaciones de escala, se dejará tal responsabilidad al usuario. 
Para ello, se va a añadir un parámetro nuevo a todos los métodos de 
transformación de QCircle y QSphere que puedan producir alteraciones 
irregulares a la escala de ambos; este parámetro será de tipo const float_q&, 
se llamará fRadiusScale, valor que se multiplicará directamente por el radio 
(por tanto 100% = 1.0) e irá ubicado donde se encuentre la marca <###> en la 
siguiente lista:

QCircle:

-inline void Scale(const QBaseVector2 &vScale, <###>)

-inline void Scale(const QBaseVector2 &vScale, <###>, QBaseOrb<QVector2> 
&outCircle) const

-inline void Scale(const float_q &fScaleX, const float_q &fScaleY, <###>)

-inline void Scale(const float_q &fScaleX, const float_q &fScaleY, <###>, 
QBaseOrb<QVector2> &outCircle) const

-inline void ScaleWithPivot(const QBaseVector2 &vScale, <###>, const 
QBaseVector2 &vPivot)

-inline void ScaleWithPivot(const QBaseVector2 &vScale, <###>, const 
QBaseVector2 &vPivot, QBaseOrb<QVector2> &outCircle) const

-inline void ScaleWithPivot(const float_q &fScaleX, const float_q &fScaleY, 
<###>, const QBaseVector2 &vPivot)

-inline void ScaleWithPivot(const float_q &fScaleX, const float_q &fScaleY, 
<###>, const QBaseVector2 &vPivot, QBaseOrb<QVector2> &outCircle) const

-inline void Transform(const QTransformationMatrix3x3 &transformation, <###>)

-inline void Transform(const QTransformationMatrix3x3 &transformation, <###>, 
QBaseOrb<QVector2> &outCircle) const

-inline void TransformWithPivot(const QTransformationMatrix3x3 &transformation, 
<###>, const QBaseVector2 &vPivot)

-inline void TransformWithPivot(const QTransformationMatrix3x3 &transformation, 
<###>, const QBaseVector2 &vPivot, QBaseOrb<QVector2> &outCircle) const

QSphere:

-inline void Scale (const VectorType& vScale <###>)

-inline void Scale (const VectorType& vScale, <###>, QBaseOrb<VectorType>& 
outputSphere) const

-inline void Scale (const float_q& fScaleX, const float_q& fScaleY, const 
float_q& fScaleZ, <###>)

-inline void Scale (const float_q& fScaleX, const float_q& fScaleY, const 
float_q& fScaleZ, <###>, QBaseOrb<VectorType>& outputSphere) const

-inline void ScaleWithPivot (const VectorType& vScale, <###>, const VectorType& 
vPivot)

-inline void ScaleWithPivot (const VectorType& vScale, <###>, const VectorType& 
vPivot, QBaseOrb<VectorType>& outputSphere) const

-inline void ScaleWithPivot (const float_q& fScaleX, const float_q& fScaleY, 
const float_q& fScaleZ, <###>, const VectorType& vPivot)

-inline void ScaleWithPivot (const float_q& fScaleX, const float_q& fScaleY, 
const float_q& fScaleZ, <###>, const VectorType& vPivot, QBaseOrb<VectorType>& 
outputSphere) const

-inline void Scale(const QScaleMatrix3x3 &mScale, <###>)

-inline void Scale(const QScaleMatrix3x3 &mScale, <###>, QBaseOrb<VectorType> 
&outSphere) const

-inline void ScaleWithPivot(const QScaleMatrix3x3 &mScale, <###>, const 
VectorType &vPivot)

-inline void ScaleWithPivot(const QScaleMatrix3x3 &mScale, <###>, const 
VectorType &vPivot, QBaseOrb<VectorType> &outSphere) const

-inline void Transform(const QTransformationMatrix<QMatrix4x3> &mTransf, <###>)

-inline void Transform(const QTransformationMatrix<QMatrix4x3> &mTransf, <###>, 
QBaseOrb<VectorType> &outSphere) const

-inline void Transform(const QTransformationMatrix<QMatrix4x4> &mTransf, <###>)

-inline void Transform(const QTransformationMatrix<QMatrix4x4> &mTransf, <###>, 
QBaseOrb<VectorType> &outSphere) const

PONER AVISO DE QUE SOLO MODIFICA EL CENTRO
-inline void Transform(const QSpaceConversionMatrix &mTransf) 

PONER AVISO DE QUE SOLO MODIFICA EL CENTRO
-inline void Transform(const QSpaceConversionMatrix &mTransf, 
QBaseOrb<VectorType> &outSphere) const

-inline void TransformWithPivot(const QTransformationMatrix<QMatrix4x3> 
&mTransf, <###>, const VectorType &vPivot)

-inline void TransformWithPivot(const QTransformationMatrix<QMatrix4x3> 
&mTransf, <###>, const VectorType &vPivot, QBaseOrb<VectorType> &outSphere) 
const

-inline void TransformWithPivot(const QTransformationMatrix<QMatrix4x4> 
&mTransf, <###>, const VectorType &vPivot)

-inline void TransformWithPivot(const QTransformationMatrix<QMatrix4x4> 
&mTransf, <###>, const VectorType &vPivot, QBaseOrb<VectorType> &outSphere) 
const

Original issue reported on code.google.com by Lince3D@gmail.com on 7 Jan 2012 at 1:09

GoogleCodeExporter commented 8 years ago

Original comment by Lince3D@gmail.com on 7 Jan 2012 at 1:09

GoogleCodeExporter commented 8 years ago
Necesita que se acabe la unificación de parámetros para no entrar en 
colisiones.

Original comment by Lince3D@gmail.com on 7 Jan 2012 at 1:30

GoogleCodeExporter commented 8 years ago
No hay que olvidar añadir el parámetro a la documentación y modificar esta 
para que no diga que sólo se modifica el centro.

Original comment by Lince3D@gmail.com on 7 Jan 2012 at 1:53

GoogleCodeExporter commented 8 years ago
Los nombres de los parámetros de las firmas expuestas no coincide debido a que 
se han renombrado. Los tipos no han cambiado.

Original comment by Lince3D@gmail.com on 9 Jan 2012 at 11:01

GoogleCodeExporter commented 8 years ago

Original comment by Lince3D@gmail.com on 10 Jan 2012 at 7:40

GoogleCodeExporter commented 8 years ago

Original comment by Lince3D@gmail.com on 10 Jan 2012 at 7:40

GoogleCodeExporter commented 8 years ago
Resultado de la revisión: Correcta.

Original comment by Lince3D@gmail.com on 10 Jan 2012 at 7:40