Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
common
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Alexander Lapshin
common
Commits
8ae807ab
Commit
8ae807ab
authored
Mar 29, 2021
by
Alexander Lapshin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rnb interpolation
parent
4904b2fb
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
0 deletions
+18
-0
orbBlocks.cpp
utils/orbBlocks.cpp
+14
-0
orbBlocks.h
utils/orbBlocks.h
+4
-0
No files found.
utils/orbBlocks.cpp
View file @
8ae807ab
...
@@ -275,6 +275,20 @@ Vect6 OrbBlocksStore::get_pos(const TimeJD& date, const bool tks) const
...
@@ -275,6 +275,20 @@ Vect6 OrbBlocksStore::get_pos(const TimeJD& date, const bool tks) const
throw
Exp
()
<<
"no orbit found"
;
throw
Exp
()
<<
"no orbit found"
;
}
}
std
::
pair
<
Vect6
,
Vect3
>
OrbBlocksStore
::
get_pos_rnb
(
const
TimeJD
&
date
,
const
bool
tks
)
const
{
for
(
const
auto
&
block
:
m_blocks
)
{
if
(
date
>=
block
.
get_beg
()
&&
date
<=
block
.
get_end
())
{
return
{
block
.
get_interpolator
()
->
get_pos
(
date
,
tks
),
block
.
get_interpolator
()
->
get_rnb
(
date
,
tks
)
};
}
}
throw
Exp
()
<<
"no orbit found"
;
}
const
SInitOrbit
&
OrbBlocksStore
::
get_orbit
(
const
TimeJD
&
date
)
const
const
SInitOrbit
&
OrbBlocksStore
::
get_orbit
(
const
TimeJD
&
date
)
const
{
{
for
(
const
auto
&
block
:
m_blocks
)
{
for
(
const
auto
&
block
:
m_blocks
)
{
...
...
utils/orbBlocks.h
View file @
8ae807ab
...
@@ -17,6 +17,7 @@ public:
...
@@ -17,6 +17,7 @@ public:
void
init
();
void
init
();
SInitOrbits
calc_orbits
(
std
::
vector
<
TimeJD
>
dates
,
bool
variates
)
const
;
SInitOrbits
calc_orbits
(
std
::
vector
<
TimeJD
>
dates
,
bool
variates
)
const
;
Vect6
get_pos
(
const
TimeJD
&
date
,
bool
tks
=
false
)
const
;
Vect6
get_pos
(
const
TimeJD
&
date
,
bool
tks
=
false
)
const
;
std
::
pair
<
Vect6
,
Vect3
>
get_pos_rnb
(
const
TimeJD
&
date
,
bool
tks
=
false
)
const
;
const
SInitOrbit
&
get_orbit
(
const
TimeJD
&
date
)
const
;
const
SInitOrbit
&
get_orbit
(
const
TimeJD
&
date
)
const
;
const
OrbBlocks
&
get_blocks
()
const
{
return
m_blocks
;
}
const
OrbBlocks
&
get_blocks
()
const
{
return
m_blocks
;
}
std
::
vector
<
orb_block_data
>
get_orb_data
()
const
;
std
::
vector
<
orb_block_data
>
get_orb_data
()
const
;
...
@@ -25,6 +26,8 @@ public:
...
@@ -25,6 +26,8 @@ public:
const
TimeJD
&
get_end_before_filter
()
const
{
return
m_end_before_filter
;
}
const
TimeJD
&
get_end_before_filter
()
const
{
return
m_end_before_filter
;
}
void
load
(
const
jsonval
&
parent
);
void
load
(
const
jsonval
&
parent
);
bool
is_initiated
()
const
{
return
m_initiated
;
}
bool
is_initiated
()
const
{
return
m_initiated
;
}
bool
has_rnb
()
const
{
return
m_has_rnb
;
}
void
set_rnb_flag
(
const
bool
flag
)
{
m_has_rnb
=
flag
;
}
private
:
private
:
void
init_min_dist
(
const
SInitOrbits
&
orbits
,
const
TimeJD
&
beg
,
const
TimeJD
&
end
,
bool
forced
);
void
init_min_dist
(
const
SInitOrbits
&
orbits
,
const
TimeJD
&
beg
,
const
TimeJD
&
end
,
bool
forced
);
void
calc_min_dist
(
const
SInitOrbit
&
orb1
,
const
SInitOrbit
&
orb2
,
const
TimeJD
&
beg
,
const
TimeJD
&
end
,
TimeJD
&
result_jd
,
double
&
result_dist
)
const
;
void
calc_min_dist
(
const
SInitOrbit
&
orb1
,
const
SInitOrbit
&
orb2
,
const
TimeJD
&
beg
,
const
TimeJD
&
end
,
TimeJD
&
result_jd
,
double
&
result_dist
)
const
;
...
@@ -33,4 +36,5 @@ private:
...
@@ -33,4 +36,5 @@ private:
TimeJD
m_beg_before_filter
;
TimeJD
m_beg_before_filter
;
TimeJD
m_end_before_filter
;
TimeJD
m_end_before_filter
;
bool
m_initiated
{
false
};
bool
m_initiated
{
false
};
bool
m_has_rnb
{
false
};
};
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment