# valuenode_bline.cpp File Reference

Implementation of the "BLine" valuenode conversion. More...

`#include "valuenode_bline.h"`
`#include "valuenode_const.h"`
`#include "valuenode_composite.h"`
`#include "general.h"`
`#include "exception.h"`
`#include "blinepoint.h"`
`#include <vector>`
`#include <list>`
`#include <algorithm>`
`#include <ETL/hermite>`
`#include <ETL/calculus>`
`#include "segment.h"`
`#include "curve_helper.h"`

## Defines

#define | EPSILON 0.0000001f
#define | PREV_POINT prev->get_value().get(BLinePoint())
#define | FIRST_POINT first->get_value().get(BLinePoint())
#define | CURR_POINT curr->get_value().get(BLinePoint())
#define | COORD_SYS_RADIAL_TAN_INTERP 1
#define | INTERP_FUNCTION radial_interpolation

## Functions

float | linear_interpolation (const float &a, const float &b, float c)
Vector | linear_interpolation (const Vector &a, const Vector &b, float c)
Vector | radial_interpolation (const Vector &a, const Vector &b, float c)
void | transform_coords (Vector in, Vector &out, const Point &coord_origin, const Point *coord_sys)
void | untransform_coords (const Vector &in, Vector &out, const Point &coord_origin, const Point *coord_sys)
ValueBase | synfig::convert_bline_to_segment_list (const ValueBase &bline)
| Converts a list of bline points into a list of segments.
ValueBase | synfig::convert_bline_to_width_list (const ValueBase &bline)
| Converts a list of bline points into a list of widths.
Real | synfig::find_closest_point (const ValueBase &bline, const Point &pos, Real &radius, bool loop, Point *out_point=0)
| Finds the closest point to pos in bline.

## Variables

static int | instance_count

## Detailed Description

Implementation of the "BLine" valuenode conversion.

$Id$

## Define Documentation

#define EPSILON 0.0000001f

#define PREV_POINT prev->get_value().get(BLinePoint())

Referenced by synfig::ValueNode_BLine::create().

#define FIRST_POINT first->get_value().get(BLinePoint())

Referenced by synfig::ValueNode_BLine::create().

#define CURR_POINT curr->get_value().get(BLinePoint())

Referenced by synfig::ValueNode_BLine::create().

#define COORD_SYS_RADIAL_TAN_INTERP 1

#define INTERP_FUNCTION radial_interpolation

Referenced by synfig::ValueNode_BLine::operator()().

## Function Documentation

float linear_interpolation | ( | const float & | a,
|  | const float & | b,
|  | float | c |
| ) |  |  | `[inline]`

Referenced by synfig::ValueNode_BLine::operator()(), and radial_interpolation().

Vector linear_interpolation | ( | const Vector & | a,
|  | const Vector & | b,
|  | float | c |
| ) |  |  | `[inline]`

Vector radial_interpolation | ( | const Vector & | a,
|  | const Vector & | b,
|  | float | c |
| ) |  |  | `[inline]`

References synfig::Vector::is_equal_to(), linear_interpolation(), synfig::Vector::mag(), and zero().

Referenced by synfig::ValueNode_BLine::operator()().

void transform_coords | ( | Vector | in,
|  | Vector & | out,
|  | const Point & | coord_origin,
|  | const Point * | coord_sys |
| ) |  |  | `[inline]`

Referenced by synfig::ValueNode_BLine::operator()().

void untransform_coords | ( | const Vector & | in,
|  | Vector & | out,
|  | const Point & | coord_origin,
|  | const Point * | coord_sys |
| ) |  |  | `[inline]`

Referenced by synfig::ValueNode_BLine::operator()().

## Variable Documentation

int instance_count `[static]`