Class function_item_evaluator

Class Documentation

class function_item_evaluator

utility class to evaluate function_item objects.

Public Functions

function_item_evaluator(const ifcopenshell::geom::settings &settings, taxonomy::function_item::const_ptr fn, ifcopenshell::logger &logger = ifcopenshell::logger::root())
function_item_evaluator(const function_item_evaluator &other)
~function_item_evaluator()
std::vector<double> evaluation_points() const

returns a vector of “distance along” points where the evaluate function computes loop points

std::vector<double> evaluation_points(double ustart, double uend, unsigned nsteps) const

returns a vector of “distance along” points between ustart and uend

Parameters:
  • ustart – starting location

  • uend – ending location

  • nsteps – number of steps to evaluate

taxonomy::item::ptr evaluate() const

evaluates the function between start and end evaluation point step size is taken from the settings object

taxonomy::item::ptr evaluate(double ustart, double uend, unsigned nsteps) const

evaluates the function between ustart and uend if ustart and uend are out of range, the range of values evaluated are constrained to start_ and start_+length_

Parameters:
  • ustart – starting location

  • uend – ending location

  • nsteps – number of steps to evaluate

Returns:

taxonomy::loop::ptr

Eigen::Matrix4d evaluate(double u) const

evaluates the function at u

Parameters:

u – u is constrained to be between start_ and start_+length

Returns:

4x4 placement matrix. Curvature values for horizontal, vertical, and vertical + cant are stored in the last row.