def orbit2sch(self): for port in self.inputPorts: port() self.dim1_orbitPosition = len(self.orbitPosition) self.dim2_orbitPosition = len(self.orbitPosition[0]) self.dim1_orbitVelocity = len(self.orbitVelocity) self.dim2_orbitVelocity = len(self.orbitVelocity[0]) self.dim1_position = self.dim1_orbitPosition self.dim2_position = self.dim2_orbitPosition self.dim1_velocity = self.dim1_orbitVelocity self.dim2_velocity = self.dim2_orbitVelocity self.dim1_acceleration = self.dim1_orbitPosition self.dim2_acceleration = self.dim2_orbitPosition self.allocateArrays() self.setState() orbit2sch.orbit2sch_Py() self.getState() self.deallocateArrays() self._orbit = Orbit(source='SCH') # self._orbit.setOrbitSource('Orbit2SCH') self._orbit.setReferenceFrame('SCH') # for i in range(len(self.position)): sv = StateVector() sv.setTime(self._time[i]) sv.setPosition(self.position[i]) sv.setVelocity(self.velocity[i]) self._orbit.addStateVector(sv) return
def sch2orbit(self): for port in self.inputPorts: port() lens = [len(self.orbitPosition), len(self.orbitVelocity)] if min(lens) != max(lens): raise Exception('Position and Velocity vector lengths dont match') self._numVectors = lens[0] self.allocateArrays() self.setState() sch2orbit.sch2orbit_Py() self.getState() self.deallocateArrays() self._orbit = Orbit(source='XYZ') self._orbit.setReferenceFrame('XYZ') # for i in range(len(self.position)): sv = StateVector() sv.setTime(self._time[i]) sv.setPosition(self.position[i]) sv.setVelocity(self.velocity[i]) self._orbit.addStateVector(sv) return