diff --git a/modules/geom/src/vec4.cc b/modules/geom/src/vec4.cc index 6052187f26fd77130fdf3c33930fd492b2782d80..8f53869a97983bea6f0ae6adc116327cfe9323bd 100644 --- a/modules/geom/src/vec4.cc +++ b/modules/geom/src/vec4.cc @@ -54,11 +54,13 @@ Vec4::Vec4(const Real d[4]) this->set(d[0],d[1],d[2],d[3]); } -/*Vec4::Vec4(const float d[4]) +#if OST_DOUBLE_PRECISION +Vec4::Vec4(const float d[4]) { this->set(d[0],d[1],d[2],d[3]); } -*/ +#endif + Vec4& Vec4::operator=(const Vec4& v) { if(&v!=this) { diff --git a/modules/gfx/src/impl/calc_ambient.cc b/modules/gfx/src/impl/calc_ambient.cc index c1e2cea98260e85cea6162f6d67f606e33947f45..2de06782962fc459bb756a45c29cb2c0a40a9d46 100644 --- a/modules/gfx/src/impl/calc_ambient.cc +++ b/modules/gfx/src/impl/calc_ambient.cc @@ -219,7 +219,7 @@ namespace { // largest opening angle from reference entry to corners float a0 = std::min(geom::Dot(dir0,dir1),std::min(geom::Dot(dir0,dir2),geom::Dot(dir0,dir3))); - if(eit->type==4) a0=std::min(a0,geom::Dot(dir0,dir4)); + if(eit->type==4) a0=std::min(a0,static_cast<float>(geom::Dot(dir0,dir4))); for(std::vector<RayEntry>::iterator rit=rays_.begin();rit!=rays_.end();++rit) { /* this _should_ be <0.0, and it should @@ -276,14 +276,14 @@ namespace { //std::cerr << " " << hit_count << " / " << rays_.size() << std::endl; if(lit->type==3) { - entry_accum[tlist[lit->id+0]]+=geom::Vec4(ratio,ratio,ratio,1.0); - entry_accum[tlist[lit->id+1]]+=geom::Vec4(ratio,ratio,ratio,1.0); - entry_accum[tlist[lit->id+2]]+=geom::Vec4(ratio,ratio,ratio,1.0); + entry_accum[tlist[lit->id+0]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); + entry_accum[tlist[lit->id+1]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); + entry_accum[tlist[lit->id+2]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); } else if(lit->type==4) { - entry_accum[qlist[lit->id+0]]+=geom::Vec4(ratio,ratio,ratio,1.0); - entry_accum[qlist[lit->id+1]]+=geom::Vec4(ratio,ratio,ratio,1.0); - entry_accum[qlist[lit->id+2]]+=geom::Vec4(ratio,ratio,ratio,1.0); - entry_accum[qlist[lit->id+3]]+=geom::Vec4(ratio,ratio,ratio,1.0); + entry_accum[qlist[lit->id+0]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); + entry_accum[qlist[lit->id+1]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); + entry_accum[qlist[lit->id+2]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); + entry_accum[qlist[lit->id+3]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); } } }