2021-01-14 19:09:42 +01:00
|
|
|
from ctypes import Structure, c_uint32
|
|
|
|
from typing import Any, Optional, List
|
|
|
|
|
2021-02-17 14:12:42 +01:00
|
|
|
from . import Simulation, Orbit
|
|
|
|
from .types import HashType
|
2021-01-14 19:09:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
class Particle(Structure):
|
|
|
|
m: float
|
|
|
|
x: float
|
|
|
|
y: float
|
|
|
|
z: float
|
|
|
|
vx: float
|
|
|
|
vy: float
|
|
|
|
vz: float
|
|
|
|
ax: float
|
|
|
|
ay: float
|
|
|
|
az: float
|
|
|
|
r: float
|
|
|
|
lastcollision: float
|
|
|
|
c: Any # TODO: find out documentation
|
|
|
|
ap: Any # TODO: find out documentation
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
def __repr__(self) -> str: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
def __init__(self, simulation: Optional[Simulation] = ..., particle: Optional[Particle] = ...,
|
|
|
|
m: Optional[float] = ..., x: Optional[float] = ..., y: Optional[float] = ..., z: Optional[float] = ...,
|
|
|
|
vx: Optional[float] = ..., vy: Optional[float] = ..., vz: Optional[float] = ...,
|
|
|
|
primary: Optional[Particle] = ..., a: Optional[float] = ..., P: Optional[float] = ...,
|
|
|
|
e: Optional[float] = ..., inc: Optional[float] = ..., Omega: Optional[float] = ...,
|
|
|
|
omega: Optional[float] = ..., pomega: Optional[float] = ..., f: Optional[float] = ...,
|
|
|
|
M: Optional[float] = ..., l: Optional[float] = ..., theta: Optional[float] = ...,
|
|
|
|
T: Optional[float] = ..., r: Optional[float] = ..., date: Optional[str] = ...,
|
|
|
|
variation: Optional[str] = ..., variation2: Optional[str] = ..., h: Optional[HashType] = ...,
|
|
|
|
k: Optional[float] = ..., ix: Optional[float] = ..., iy: Optional[float] = ..., hash: HashType = ...,
|
|
|
|
jacobi_masses: bool = ...): ...
|
|
|
|
|
|
|
|
def copy(self) -> Particle: ...
|
|
|
|
|
2021-02-17 18:25:16 +01:00
|
|
|
def calculate_orbit(self, primary: Optional[Particle], G: Optional[float]) -> Orbit: ...
|
2021-01-14 19:09:42 +01:00
|
|
|
|
|
|
|
def sample_orbit(self, Npts: int, primary: Optional[Particle], trailing: bool,
|
|
|
|
timespan: Optional[float], useTrueAnomaly: Optional[bool],
|
2021-02-17 18:25:16 +01:00
|
|
|
duplicateEndpoint: Optional[bool]): ... #TODO: return value
|
2021-01-14 19:09:42 +01:00
|
|
|
|
|
|
|
def __pow__(self, other: Particle) -> Particle: ...
|
|
|
|
|
|
|
|
def __add__(self, other: Particle) -> Particle: ...
|
|
|
|
|
|
|
|
def __iadd__(self, other: Particle) -> Particle: ...
|
|
|
|
|
|
|
|
def __sub__(self, other: Particle) -> Particle: ...
|
|
|
|
|
|
|
|
def __isub__(self, other: Particle) -> Particle: ...
|
|
|
|
|
|
|
|
def __mul__(self, other: float) -> Particle: ...
|
|
|
|
|
|
|
|
def __imul__(self, other: float) -> Particle: ...
|
|
|
|
|
|
|
|
def __rmul__(self, other: float) -> Particle: ...
|
|
|
|
|
|
|
|
def __div__(self, other: float) -> Particle: ...
|
|
|
|
|
|
|
|
def __idiv__(self, other: float) -> Particle: ...
|
|
|
|
|
|
|
|
def __truediv__(self, other: float) -> Particle: ...
|
|
|
|
|
|
|
|
def __itruediv__(self, other: float) -> Particle: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def index(self) -> int: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def xyz(self) -> List[float]: ...
|
|
|
|
|
|
|
|
@xyz.setter
|
|
|
|
def xyz(self, value: List[float]) -> None: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def vxyz(self) -> List[float]: ...
|
|
|
|
|
|
|
|
@vxyz.setter
|
|
|
|
def vxyz(self, value: List[float]) -> None: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def d(self) -> float: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def v(self) -> float: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def h(self) -> float: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def P(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@P.setter
|
|
|
|
def P(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def n(self) -> float: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def a(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@a.setter
|
|
|
|
def a(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def rhill(self) -> float: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def e(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@e.setter
|
|
|
|
def e(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def inc(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@inc.setter
|
|
|
|
def inc(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def Omega(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@Omega.setter
|
|
|
|
def Omega(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def omega(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@omega.setter
|
|
|
|
def omega(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def pomega(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@pomega.setter
|
|
|
|
def pomega(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def f(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@f.setter
|
|
|
|
def f(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def M(self) -> float: ...
|
|
|
|
|
|
|
|
@property
|
|
|
|
def l(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@l.setter
|
|
|
|
def l(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def theta(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@theta.setter
|
|
|
|
def theta(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def T(self) -> float: ...
|
|
|
|
|
2021-02-17 14:32:42 +01:00
|
|
|
@T.setter
|
|
|
|
def T(self, value: float) -> None: ...
|
|
|
|
|
2021-01-14 19:09:42 +01:00
|
|
|
@property
|
|
|
|
def orbit(self) -> Orbit: ...
|
|
|
|
|
|
|
|
@property
|
2021-02-17 18:25:16 +01:00
|
|
|
def jacobi_com(self): ... #TODO: correct typing
|
2021-01-14 19:09:42 +01:00
|
|
|
|
|
|
|
@property
|
|
|
|
def hash(self) -> c_uint32: ...
|
|
|
|
|
|
|
|
@hash.setter
|
|
|
|
def hash(self, value: HashType) -> None: ...
|
2021-02-17 14:32:42 +01:00
|
|
|
|
|
|
|
def _cpcoords(self, p: Particle) -> None: ...
|