namespace terrain
{
	TriangleMapper UPPER_TRIANGLE_MAPPER(
		Triangle2d(
			Point2d(0, 0), 
			Point2d(0, static_cast<float>(Terrain::PATCH_SIZE - 1)), 
			Point2d(static_cast<float>(Terrain::PATCH_SIZE - 1), static_cast<float>(Terrain::PATCH_SIZE - 1))
		));

	TriangleMapper LOWER_TRIANGLE_MAPPER(
		Triangle2d(
			Point2d(
			static_cast<float>(Terrain::PATCH_SIZE - 1), static_cast<float>(Terrain::PATCH_SIZE - 1)), 
			Point2d(static_cast<float>(Terrain::PATCH_SIZE - 1), 0), 
			Point2d(0, 0)));

} // namespace terrain
Пример #2
0
 inline
 Triangle2d
 Triangle3d::projectedInto(const Plane3d& plane) const {
     return Triangle2d(
         vertex(0).projectedInto(plane),
         vertex(1).projectedInto(plane),
         vertex(2).projectedInto(plane),
         handedness() * plane.handedness()
     );
 }