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
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() ); }