Permalink
Browse files

Added buoys

  • Loading branch information...
1 parent 9c9e456 commit 657373510f83b1272aef06829a4d453147986ca7 @gnuvince committed Jan 29, 2012
Showing with 30 additions and 3 deletions.
  1. +26 −3 Application/Sources/Scene/Buoy.cpp
  2. +4 −0 Application/Sources/Scene/Buoy.h
@@ -15,6 +15,10 @@ Buoy::Buoy()
// un Node<real> vous pouvez attacher ses
// sous-objet à l'aide de la méthode this->AddChild(...)
///////////////////////////////////////
+ this->AddChild(&mBase);
+ mBase.AddChild(&mTop);
+ mTop.AddChild(&mPole);
+ mPole.AddChild(&mFlag);
// Size definition
///////////////////////////////////////
@@ -23,6 +27,10 @@ Buoy::Buoy()
// de chaque objet à l'aide de leur méthode
// SetSizes(...)
///////////////////////////////////////
+ mBase.SetSizes(4, 1, 10);
+ mTop.SetSizes(1, 10, 10);
+ mPole.SetSizes(2, .2, 10);
+ mFlag.SetSizes(1, .1, 1);
// Relative transformations
///////////////////////////////////////
@@ -36,6 +44,11 @@ Buoy::Buoy()
// de la classe Transformation
///////////////////////////////////////
+ mTop.GetLocalTransformation().SetTranslation(Vector3<real>(0, 2, 0));
+ mPole.GetLocalTransformation().SetTranslation(Vector3<real>(0, 2, 0));
+ mFlag.GetLocalTransformation().SetTranslation(Vector3<real>(.5, .5, 0));
+ mFlag.GetLocalTransformation().SetRotationX(PI / 2);
+
// Material definition
///////////////////////////////////////
// IFT3355
@@ -46,6 +59,11 @@ Buoy::Buoy()
mBaseMaterial.SetSpecular( Color<real>( 0.01, 0.01, 0.01, 1.0 ) );
mBaseMaterial.SetShininess( 128 );
+ mTopMaterial.SetSurface( Color<real>( .8, .8, .8, 1.0 ) );
+ mTopMaterial.SetSpecular( Color<real>( 0.01, 0.01, 0.01, 1.0 ) );
+ mTopMaterial.SetShininess( 128 );
+
+
// Material application
///////////////////////////////////////
// IFT3355
@@ -56,15 +74,20 @@ Buoy::Buoy()
// pouvez utiliser le même matériau pour plusieurs
// objets.
///////////////////////////////////////
+
+ mBase.SetMaterial(&mBaseMaterial);
+ mTop.SetMaterial(&mTopMaterial);
+ mPole.SetMaterial(&mTopMaterial);
+ mFlag.SetMaterial(&mTopMaterial);
}
void Buoy::Animate( const WaterSurface& waterSurface, real time, real dt )
{
///////////////////////////////////////
// IFT3355
- // Ici vous devrez gérer la rotation et
+ // Ici vous devrez gérer la rotation et
// la translation dû au mouvement de l'eau.
- // La méthode GetGlobalNormal() de la
+ // La méthode GetGlobalNormal() de la
// classe parent HeightField prend une
// position dans le repère global en entrée et
// retourne la normale de l'eau dans le repère
@@ -74,7 +97,7 @@ void Buoy::Animate( const WaterSurface& waterSurface, real time, real dt )
real Buoy::GetRadius() const
{
- // Vous pouvez remplacer cette valeur au besoin.
+ // Vous pouvez remplacer cette valeur au besoin.
//Elle doit correspondre au rayon de la base de la bouée
return 0.5;
}
@@ -23,8 +23,12 @@ class Buoy : public CoreLib::Node<real>
private:
CoreLib::Cylinder<real> mBase;
+ CoreLib::Sphere<real> mTop;
+ CoreLib::Cylinder<real> mPole;
+ CoreLib::Cube<real> mFlag;
CoreLib::BlinnPhongMaterial<real> mBaseMaterial;
+ CoreLib::BlinnPhongMaterial<real> mTopMaterial;
};
}

0 comments on commit 6573735

Please sign in to comment.