3 #ifndef __u_abs_hod_hpp
4 #define __u_abs_hod_hpp
10 #include <u3d_point.hpp>
12 #include <mth/u3d_point.hpp>
18 typedef std::pair<int, int> FBDTraceKey;
54 static bool ofst_eq(
const UHodEl& h1,
const UHodEl& h2) {
return h1.
L == h2.
L; }
62 static bool ofst_asc(
const UHodEl& h1,
const UHodEl& h2) {
return h1.
L < h2.
L; }
64 static bool pts_rev_eq(
const UHodEl& h1,
const UHodEl& h2) {
return (h1.sp == h2.rp && h1.rp == h2.sp); }
67 typedef std::vector<UHodEl> UHod;
69 typedef std::map<FBDTraceKey, UHodEl> FBDHodMap;
86 UAbstractHod(UHod hod) : m_hod(hod) { m_st_defined =
false; }
93 size_t getNMGLs(std::vector<float> &nmgls);
96 size_t getNDPS(std::vector<int> &dps_id);
99 size_t getSPS(std::vector<int> &sps_id);
102 size_t getRPS(std::vector<int> &rps_id);
105 size_t getOffsets(std::vector<float> &offsets);
109 bool getHod(UHod &hod,
float id=-1)
const;
112 const UHod&
getHod()
const {
return m_hod; }
115 void getHod(FBDHodMap &hod_map)
const;
132 bool setHod(FBDHodMap hod_map);
136 bool checkId(
const UHodEl& h1,
float id)
const;
bool getSortType(SortType &sort_type) const
void resetSortType()
Definition: u_abs_hod.hpp:126
size_t getOffsets(std::vector< float > &offsets)
size_t getNMGLs(std::vector< float > &nmgls)
size_t getSPS(std::vector< int > &sps_id)
float TFB
Definition: u_abs_hod.hpp:40
const UHod & getHod() const
Definition: u_abs_hod.hpp:112
bool setSortType(SortType sort_type)
size_t getRPS(std::vector< int > &rps_id)
Definition: u3d_point.hpp:16
size_t NSP
Definition: u_abs_hod.hpp:37
float L
Definition: u_abs_hod.hpp:39
size_t getNDPS(std::vector< int > &dps_id)
Definition: u_abs_hod.hpp:72
Definition: u_abs_hod.hpp:22
size_t NRP
Definition: u_abs_hod.hpp:38
float weight
Definition: u_abs_hod.hpp:41
size_t NDP
Definition: u_abs_hod.hpp:36