Earth Observation Mission CFI Software Visibility Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.27 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: VisibilityList.h,v 1.9 2014-02-20 20:02:37 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef VISIBILITYLIST_H 00010 #define VISIBILITYLIST_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <VisibilitySegment.h> 00014 #include <vector> 00015 00016 //--NAMESPACES-------------------------------------------------------- 00017 00018 namespace EECFI 00019 { 00023 typedef std::vector<VisibilitySegment> VisibilityListType; 00024 00025 class XV_DECL VisibilityList : public VisibilityListType, CfiClass 00026 { 00027 public: 00029 VisibilityList(); 00030 00032 ~VisibilityList() NOEXCEPT; 00033 00035 EECFI::VisibilityList computeNot(OrbitId& orbitId, 00036 long orderSwitch) const; 00037 00039 EECFI::VisibilityList computeOr(OrbitId& orbitId, 00040 long orderSwitch, 00041 const EECFI::VisibilityList& list2) const; 00043 EECFI::VisibilityList computeAnd(OrbitId& orbitId, 00044 long orderSwitch, 00045 const EECFI::VisibilityList& list2) const; 00047 void sort(OrbitId& orbitId); 00048 00050 void merge(OrbitId& orbitId, 00051 long orderSwitch); 00052 00054 void delta(OrbitId& orbitId, 00055 double entryOffset, 00056 double exitOffset); 00057 00058 protected: 00059 private: 00060 void segmentsFromC(const void* visList); 00061 void segmentsToC(void* visList) const; 00062 }; 00063 } // namespace EECFI 00064 00065 #endif