Point Track::get_endpoint_position(unsigned epi) const
{
- const vector<Endpoint> &eps = type.get_endpoints();
+ const vector<TrackType::Endpoint> &eps = type.get_endpoints();
if(epi>=eps.size())
- throw InvalidParameterValue("Endpoint index out of range");
+ throw InvalidParameterValue("TrackType::Endpoint index out of range");
- const Endpoint &ep = eps[epi];
+ const TrackType::Endpoint &ep = eps[epi];
float c = cos(rot);
float s = sin(rot);
float Track::get_endpoint_direction(unsigned epi) const
{
- const vector<Endpoint> &eps = type.get_endpoints();
+ const vector<TrackType::Endpoint> &eps = type.get_endpoints();
if(epi>=eps.size())
- throw InvalidParameterValue("Endpoint index out of range");
+ throw InvalidParameterValue("TrackType::Endpoint index out of range");
- const Endpoint &ep = eps[epi];
+ const TrackType::Endpoint &ep = eps[epi];
return rot+ep.dir;
}
bool Track::snap_to(Track &other, bool link)
{
float limit = (link && !flex && !other.get_flex()) ? 1e-6 : 1e-4;
- const vector<Endpoint> &eps = type.get_endpoints();
- const vector<Endpoint> &other_eps = other.get_type().get_endpoints();
+ const vector<TrackType::Endpoint> &eps = type.get_endpoints();
+ const vector<TrackType::Endpoint> &other_eps = other.get_type().get_endpoints();
for(unsigned i=0; i<eps.size(); ++i)
{
bool Track::snap(Point &pt, float &d) const
{
- const vector<Endpoint> &eps = type.get_endpoints();
+ const vector<TrackType::Endpoint> &eps = type.get_endpoints();
for(unsigned i=0; i<eps.size(); ++i)
{