float SenLogic::IntersectionAngle(const Vector4& v1, const Vector4& v2) { if (CompareDirection(v1, v2, 0)) return 0; double AB = DotProduct(v1, v2); double AA = DotProduct(v1); double BB = DotProduct(v2); double cosValue = AB * 1.0 / sqrt(AA) / sqrt(BB); return acos(cosValue) * 180 / PI; }
void Visit(const Waypoint &waypoint) { if (CompareType(waypoint, type_index) && (filter_data.distance_index == 0 || CompareName(waypoint, name)) && CompareDirection(waypoint, direction_index, location, heading)) waypoint_list.push_back(WaypointListItem(waypoint)); }