Exemplo n.º 1
0
int main() {
	std::shared_ptr<Pos> pPos(new Pos(7, 8));
	std::shared_ptr<Pos> pPos2(pPos);
	pPos->print();
	pPos2->print();
	return 0;
}
Exemplo n.º 2
0
TEST(ALPose2DTest, normalize)
{
  const float eps = 1e-4f;
  AL::Math::Pose2D pPos0(0.0f, 0.0f, 0.0f);
  EXPECT_THROW(pPos0.normalize(), std::runtime_error);
  AL::Math::Pose2D pPos01(0.001f, 0.0f, 0.0f);
  EXPECT_NO_THROW(pPos01.normalize());

  AL::Math::Pose2D pPos1(1.0f, 0.0f, 2.0f);
  AL::Math::Pose2D n1 = pPos1.normalize();
  EXPECT_NEAR(n1.norm(), 1.0f, eps);
  EXPECT_NEAR(pPos1.getAngle(), n1.getAngle(), eps);
  EXPECT_NEAR(pPos1.theta, n1.theta, eps);

  AL::Math::Pose2D pPos2(-1.0f, 0.0f, 2.0f);
  AL::Math::Pose2D n2 = pPos2.normalize();
  EXPECT_NEAR(n2.norm(), 1.0f, eps);
  EXPECT_NEAR(pPos2.getAngle(), n2.getAngle(), eps);
  EXPECT_NEAR(pPos2.theta, n2.theta, eps);

  AL::Math::Pose2D pPos3(0.0f, 1.5f, 2.0f);
  AL::Math::Pose2D n3 = pPos3.normalize();
  EXPECT_NEAR(n3.norm(), 1.0f, eps);
  EXPECT_NEAR(pPos3.getAngle(), n3.getAngle(), eps);
  EXPECT_NEAR(pPos3.theta, n3.theta, eps);

  AL::Math::Pose2D pPos4(1.5f, -1.0f, 2.0f);
  AL::Math::Pose2D n4 = pPos4.normalize();
  EXPECT_NEAR(n4.norm(), 1.0f, eps);
  EXPECT_NEAR(pPos4.getAngle(), n4.getAngle(), eps);
  EXPECT_NEAR(pPos4.theta, n4.theta, eps);

  AL::Math::Pose2D pPos5(1.9f, -2.1f, 2.0f);
  AL::Math::Pose2D n5 = pPos5.normalize();
  EXPECT_NEAR(n5.norm(), 1.0f, eps);
  EXPECT_NEAR(pPos5.getAngle(), n5.getAngle(), eps);
  EXPECT_NEAR(pPos5.theta, n5.theta, eps);

}
Exemplo n.º 3
0
TEST(ALPose2DTest, norm)
{
  const float eps = 1e-4f;
  AL::Math::Pose2D pPos1(1.0f, 0.0f, 2.0f);
  EXPECT_NEAR(pPos1.norm(), 1.0f, eps);

  AL::Math::Pose2D pPos2(-1.0f, 0.0f, 2.0f);
  EXPECT_NEAR(pPos2.norm(), 1.0f, eps);

  AL::Math::Pose2D pPos3(0.0f, 1.5f, 2.0f);
  EXPECT_NEAR(pPos3.norm(), 1.5f, eps);

  AL::Math::Pose2D pPos4(1.5f, -1.0f, 2.0f);
  EXPECT_NEAR(pPos4.norm(), 1.8028f, eps);

  AL::Math::Pose2D pPos5(1.9f, -2.1f, 2.0f);
  AL::Math::Pose2D pPos6(-1.9f, -2.1f, 2.0f);
  AL::Math::Pose2D pPos7(-1.9f, 2.1f, 2.0f);
  EXPECT_NEAR(pPos5.norm(), pPos6.norm(), eps);
  EXPECT_NEAR(pPos7.norm(), pPos6.norm(), eps);
  EXPECT_NEAR(pPos5.norm(), pPos5.norm(), eps);
}