opendrive_param_poly3.h 1.08 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef _OPENDRIVE_PARAMPOLY3_H
#define _OPENDRIVE_PARAMPOLY3_H

#include "opendrive_geometry.h"

typedef struct
{
  double a;
  double b;
  double c;
  double d;
}TOpendrivePoly3Params;

class COpendriveParamPoly3 : public COpendriveGeometry
{
16
  friend class COpendriveRoadNode;
17
  friend class COpendriveRoadSegment;
18
19
20
21
22
  private:
    TOpendrivePoly3Params u;
    TOpendrivePoly3Params v;
    bool normalized;
  protected:
23
24
    COpendriveParamPoly3();
    COpendriveParamPoly3(const COpendriveParamPoly3 &object);
25
    virtual bool transform_local_pose(const TOpendriveTrackPose &track,TOpendriveLocalPose &local) const;
26
27
    virtual void print(std::ostream &out);
    virtual void load_params(const planView::geometry_type &geometry_info);
28
    virtual std::string get_name(void);
29
30
  public:
    virtual COpendriveGeometry *clone(void);
31
    virtual void get_curvature(double &start,double &end);
32
33
34
35
36
37
38
39
    TOpendrivePoly3Params get_u_params(void);
    TOpendrivePoly3Params get_v_params(void);
    bool is_normalized(void);
    void operator=(const COpendriveParamPoly3 &object);
    ~COpendriveParamPoly3();
};

#endif