void RotationConstraint( Quaternion& current, const PropertyInputContainer& inputs )
{
const Vector3& pagePosition = inputs[0]->GetVector3();
- const Vector3& scrollPosition = inputs[1]->GetVector3();
+ const Vector3& scrollPosition = Vector3(inputs[1]->GetVector2());
// Get position of page.
Vector3 position = pagePosition + scrollPosition;
if(wrap)
{
- const Vector3& min = inputs[2]->GetVector3();
- const Vector3& max = inputs[3]->GetVector3();
+ const Vector2& min = inputs[2]->GetVector2();
+ const Vector2& max = inputs[3]->GetVector2();
if(fabsf(min.x - max.x) > Math::MACHINE_EPSILON_1)
{
Vector2 angle( Clamp(position.x, -1.0f,1.0f),
Clamp(position.y, -1.0f,1.0f) );
- current = Quaternion( angle.x * mAngleSwing.x, Vector3::YAXIS) *
- Quaternion(-angle.y * mAngleSwing.y, Vector3::XAXIS) *
- current;
+ current = Quaternion( Radian( angle.x * mAngleSwing.x ), Vector3::YAXIS ) *
+ Quaternion( Radian( -angle.y * mAngleSwing.y ), Vector3::XAXIS ) *
+ current;
}
/**
void ColorConstraint( Vector4& current, const PropertyInputContainer& inputs )
{
const Vector3& pagePosition = inputs[0]->GetVector3();
- const Vector3& scrollPosition = inputs[1]->GetVector3();
+ const Vector3& scrollPosition = Vector3(inputs[1]->GetVector2());
// Get position of page.
Vector3 position = pagePosition + scrollPosition;
if(wrap)
{
- const Vector3& min = inputs[2]->GetVector3();
- const Vector3& max = inputs[3]->GetVector3();
+ const Vector2& min = inputs[2]->GetVector2();
+ const Vector2& max = inputs[3]->GetVector2();
if(fabsf(min.x - max.x) > Math::MACHINE_EPSILON_1)
{
void PositionConstraint( Vector3& current, const PropertyInputContainer& inputs )
{
const Vector3& pagePosition = inputs[0]->GetVector3();
- const Vector3& scrollPosition = inputs[1]->GetVector3();
+ const Vector3& scrollPosition = Vector3(inputs[1]->GetVector2());
// Get position of page.
Vector3 relativePosition = pagePosition + scrollPosition;
// short circuit: for orthognal view.
if( (fabsf(relativePosition.x) < Math::MACHINE_EPSILON_1) && (fabsf(relativePosition.y) < Math::MACHINE_EPSILON_1) )
{
- current += scrollPosition;
+ current.x += scrollPosition.x;
+ current.y += scrollPosition.y;
return;
}
if(wrap)
{
- const Vector3& min = inputs[2]->GetVector3();
- const Vector3& max = inputs[3]->GetVector3();
+ const Vector2& min = inputs[2]->GetVector2();
+ const Vector2& max = inputs[3]->GetVector2();
if(fabsf(min.x - max.x) > Math::MACHINE_EPSILON_1)
{
relativePosition.x /= pageSize.x;
relativePosition.y /= pageSize.y;
- relativePosition.z = 0.0f;
Vector3 angle( Clamp(relativePosition.x, -1.0f,1.0f) * mAngleSwing.x,
Clamp(relativePosition.y, -1.0f,1.0f) * mAngleSwing.y,
// Rotate position (current) about point.
Vector3 position = current - mAnchor;
- Quaternion rotatorY(angle.x, Vector3::YAXIS);
+ Quaternion rotatorY( Radian( angle.x ), Vector3::YAXIS);
position = rotatorY.Rotate(position);
- Quaternion rotatorX(-angle.y, Vector3::XAXIS);
+ Quaternion rotatorX( Radian( -angle.y ), Vector3::XAXIS);
position = rotatorX.Rotate(position);
position += mAnchor;
position += relativePosition * mPositionSwing;