예제 #1
0
instance_t
make(const description_t& description)
{
	BOOST_LOG_TRIVIAL(debug) << "Make camera";

	const instance_t instance
	{
		make_point(description.origin),
		make_direction(description.direction),
		make_direction(description.up),
		normalize(cross(description.direction, description.up))
	};
	return std::move(instance);
}
예제 #2
0
bool direction::create_direction(std::string name)
{
	if (m_data.find(name) != m_data.end())
	{
		return false;
	}
	m_data[name] = make_direction(name,ptr_dir(this, [](direction* p) {}));
	return true;
}
예제 #3
0
        void iterate()
        {
            make_direction();
            make_step_size();

            //current_solution += step_size * direction;
            ++current_step;

            iteration_over_function( current_residual, current_solution.data() );
        }