void Ellipsoid_rasterizer::check_node( const GsTLGridNode& loc ) { // check if loc belongs to the grid if ( !cursor_.check_triplet( loc[0], loc[1], loc[2] ) ) return; int id = cursor_.node_id( loc[0], loc[1], loc[2] ); appli_assert( id >= 0 && id < int(already_visited_.size()) ); if ( already_visited_[id] ) return; EuclideanVector vec = loc - center_; if( norm_( vec ) <= max_radius_ ) { // loc is inside the ellipsoid ellipsoid_nodes_.push_back( vec ); s_.push( id ); already_visited_[id] = true; } }
double Distribution::sample() const { return norm_(__rand); }