1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

fix inline

add container/indexes.hpp
add tuple/indexes.hpp
This commit is contained in:
bolero-MURAKAMI 2012-04-04 22:23:41 +09:00
parent ba6482d1ec
commit c6bd230ee4
340 changed files with 1087 additions and 979 deletions

View file

@ -136,7 +136,7 @@ namespace sprout {
// make_simple_camera
//
template<typename Unit>
SPROUT_CONSTEXPR inline sprout::darkroom::cameras::basic_simple_camera<Unit>
inline SPROUT_CONSTEXPR sprout::darkroom::cameras::basic_simple_camera<Unit>
make_simple_camera(
Unit const& far_plane,
typename sprout::darkroom::cameras::basic_simple_camera<Unit>::angle_of_view_reference::values reference_value

View file

@ -62,7 +62,7 @@ namespace sprout {
// mul
//
template<typename Color, typename Fac>
SPROUT_CONSTEXPR inline Color mul(Color const& lhs, Fac const& rhs) {
inline SPROUT_CONSTEXPR Color mul(Color const& lhs, Fac const& rhs) {
return sprout::tuples::remake<Color>(
lhs,
sprout::darkroom::colors::r(lhs) * rhs,
@ -74,7 +74,7 @@ namespace sprout {
// add
//
template<typename Color1, typename Color2>
SPROUT_CONSTEXPR inline Color1 add(Color1 const& lhs, Color2 const& rhs) {
inline SPROUT_CONSTEXPR Color1 add(Color1 const& lhs, Color2 const& rhs) {
return sprout::tuples::remake<Color1>(
lhs,
sprout::darkroom::colors::r(lhs) + sprout::darkroom::colors::r(rhs),
@ -86,7 +86,7 @@ namespace sprout {
// filter
//
template<typename Color1, typename Color2>
SPROUT_CONSTEXPR inline Color1 filter(Color1 const& lhs, Color2 const& rhs) {
inline SPROUT_CONSTEXPR Color1 filter(Color1 const& lhs, Color2 const& rhs) {
return sprout::tuples::remake<Color1>(
lhs,
sprout::darkroom::colors::r(lhs) * sprout::darkroom::colors::r(rhs),
@ -99,7 +99,7 @@ namespace sprout {
// rgb_f_to_rgb
//
template<typename RGB, typename RGB_F>
SPROUT_CONSTEXPR inline RGB rgb_f_to_rgb(RGB_F const& col) {
inline SPROUT_CONSTEXPR RGB rgb_f_to_rgb(RGB_F const& col) {
typedef typename sprout::darkroom::access::unit<RGB>::type unit_type;
return sprout::tuples::make<RGB>(
sprout::darkroom::colors::r(col) < 0 ? std::numeric_limits<unit_type>::min()

View file

@ -50,7 +50,7 @@ namespace sprout {
// length_sq
//
template<typename Vector>
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Vector>::type
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Vector>::type
length_sq(Vector const& vec) {
return sprout::darkroom::coords::x(vec) * sprout::darkroom::coords::x(vec)
+ sprout::darkroom::coords::y(vec) * sprout::darkroom::coords::y(vec)
@ -61,7 +61,7 @@ namespace sprout {
// length
//
template<typename Vector>
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Vector>::type
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Vector>::type
length(Vector const& vec) {
using std::sqrt;
return sqrt(sprout::darkroom::coords::length_sq(vec));
@ -70,7 +70,7 @@ namespace sprout {
// add
//
template<typename Vector1, typename Vector2>
SPROUT_CONSTEXPR inline Vector1 add(Vector1 const& lhs, Vector2 const& rhs) {
inline SPROUT_CONSTEXPR Vector1 add(Vector1 const& lhs, Vector2 const& rhs) {
return sprout::tuples::remake<Vector1>(
lhs,
sprout::darkroom::coords::x(lhs) + sprout::darkroom::coords::x(rhs),
@ -82,7 +82,7 @@ namespace sprout {
// sub
//
template<typename Vector1, typename Vector2>
SPROUT_CONSTEXPR inline Vector1 sub(Vector1 const& lhs, Vector2 const& rhs) {
inline SPROUT_CONSTEXPR Vector1 sub(Vector1 const& lhs, Vector2 const& rhs) {
return sprout::tuples::remake<Vector1>(
lhs,
sprout::darkroom::coords::x(lhs) - sprout::darkroom::coords::x(rhs),
@ -94,7 +94,7 @@ namespace sprout {
// scale
//
template<typename Vector, typename Fac>
SPROUT_CONSTEXPR inline Vector scale(Vector const& lhs, Fac const& rhs) {
inline SPROUT_CONSTEXPR Vector scale(Vector const& lhs, Fac const& rhs) {
return sprout::tuples::remake<Vector>(
lhs,
sprout::darkroom::coords::x(lhs) * rhs,
@ -106,7 +106,7 @@ namespace sprout {
// dot
//
template<typename Vector>
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Vector>::type
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Vector>::type
dot(Vector const& lhs, Vector const& rhs) {
return sprout::darkroom::coords::x(lhs) * sprout::darkroom::coords::x(rhs)
+ sprout::darkroom::coords::y(lhs) * sprout::darkroom::coords::y(rhs)
@ -117,7 +117,7 @@ namespace sprout {
// cross
//
template<typename Vector1, typename Vector2>
SPROUT_CONSTEXPR inline Vector1 cross(Vector1 const& lhs, Vector2 const& rhs) {
inline SPROUT_CONSTEXPR Vector1 cross(Vector1 const& lhs, Vector2 const& rhs) {
return sprout::tuples::remake<Vector1>(
lhs,
sprout::darkroom::coords::y(lhs) * sprout::darkroom::coords::z(rhs)
@ -135,7 +135,7 @@ namespace sprout {
//
namespace detail {
template<typename Vector>
SPROUT_CONSTEXPR inline Vector normalize_impl(
inline SPROUT_CONSTEXPR Vector normalize_impl(
Vector const& vec,
typename sprout::darkroom::access::unit<Vector>::type const& len
)
@ -149,7 +149,7 @@ namespace sprout {
}
} // namespace detail
template<typename Vector>
SPROUT_CONSTEXPR inline Vector normalize(Vector const& vec) {
inline SPROUT_CONSTEXPR Vector normalize(Vector const& vec) {
return sprout::darkroom::coords::detail::normalize_impl(
vec,
sprout::darkroom::coords::length(vec)
@ -159,7 +159,7 @@ namespace sprout {
// resize
//
template<typename Vector, typename Fac>
SPROUT_CONSTEXPR inline Vector resize(Vector const& lhs, Fac const& rhs) {
inline SPROUT_CONSTEXPR Vector resize(Vector const& lhs, Fac const& rhs) {
return sprout::darkroom::coords::detail::normalize_impl(
lhs,
sprout::darkroom::coords::length(lhs) / rhs
@ -169,7 +169,7 @@ namespace sprout {
// reflect
//
template<typename Incident, typename Normal>
SPROUT_CONSTEXPR inline Incident reflect(Incident const& incid, Normal const& nor) {
inline SPROUT_CONSTEXPR Incident reflect(Incident const& incid, Normal const& nor) {
return sprout::darkroom::coords::sub(
incid,
sprout::darkroom::coords::scale(nor, sprout::darkroom::coords::dot(incid, nor) * 2)

View file

@ -158,7 +158,7 @@ namespace sprout {
// make_point_light
//
template<typename Position, typename Color>
SPROUT_CONSTEXPR inline sprout::darkroom::lights::basic_point_light<Position, Color>
inline SPROUT_CONSTEXPR sprout::darkroom::lights::basic_point_light<Position, Color>
make_point_light(Position const& pos, Color const& col) {
return sprout::darkroom::lights::basic_point_light<Position, Color>(pos, col);
}

View file

@ -204,7 +204,7 @@ namespace sprout {
// make_aa_plane
//
template<typename Material, typename Unit>
SPROUT_CONSTEXPR inline sprout::darkroom::objects::basic_aa_plane<Material>
inline SPROUT_CONSTEXPR sprout::darkroom::objects::basic_aa_plane<Material>
make_aa_plane(
sprout::darkroom::objects::aa_plane_direction::values dir_val,
Unit const& val,

View file

@ -13,7 +13,7 @@ namespace sprout {
// intersect
//
template<typename Object, typename Ray>
SPROUT_CONSTEXPR inline typename Object::template intersection<Ray>::type
inline SPROUT_CONSTEXPR typename Object::template intersection<Ray>::type
intersect(Object const& obj, Ray const& ray) {
return obj.intersect(ray);
}
@ -62,7 +62,7 @@ namespace sprout {
};
} // namespace detail
template<typename Objects, typename Ray>
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Objects>::type
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Objects>::type
::template intersection<Ray>::type
intersect_list(Objects const& objs, Ray const& ray) {
return sprout::darkroom::objects::detail::intersect_list_impl<

View file

@ -263,7 +263,7 @@ namespace sprout {
// make_sphere
//
template<typename Material, typename Position, typename Radius>
SPROUT_CONSTEXPR inline sprout::darkroom::objects::basic_sphere<Material, Position>
inline SPROUT_CONSTEXPR sprout::darkroom::objects::basic_sphere<Material, Position>
make_sphere(Position const& pos, Radius const& rad, Material const& mat) {
return sprout::darkroom::objects::basic_sphere<Material, Position>(pos, rad, mat);
}

View file

@ -25,7 +25,7 @@ namespace sprout {
typename Lights,
sprout::index_t... XIndexes
>
SPROUT_CONSTEXPR inline typename sprout::container_traits<Pixels>::value_type
inline SPROUT_CONSTEXPR typename sprout::container_traits<Pixels>::value_type
generate_impl_line(
RayTracer const& raytracer,
Renderer const& renderer,
@ -73,7 +73,7 @@ namespace sprout {
typename Lights,
sprout::index_t... YIndexes
>
SPROUT_CONSTEXPR inline Pixels
inline SPROUT_CONSTEXPR Pixels
generate_impl(
RayTracer const& raytracer,
Renderer const& renderer,
@ -124,7 +124,7 @@ namespace sprout {
typename Objects,
typename Lights
>
SPROUT_CONSTEXPR inline Pixels generate(
inline SPROUT_CONSTEXPR Pixels generate(
RayTracer const& raytracer,
Renderer const& renderer,
Camera const& camera,

View file

@ -49,7 +49,7 @@ namespace sprout {
// point_of_intersection
//
template<typename Ray, typename Distance>
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Ray>::type
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Ray>::type
point_of_intersection(Ray const& ray, Distance const& dist) {
return sprout::darkroom::coords::add(
sprout::darkroom::rays::position(ray),