spaceteams.SC_Compute_Server

Space Teams PRO Python API

Used to write code that either interacts with running simulations, edits config files and runs sims, or just uses utility functions like our math library.

class Notation(pybind11_builtins.pybind11_object):

Members:

Default : The value is represented with many meaningful digits as needed up to the given precision. Switches to scientific notation if the decimal place is not within the meaningful digits. Corresponds with std::defaultfloat https://cplusplus.com/reference/ios/defaultfloat/.

DigitsAfterDecimal : The value is represented with exactly as many digits in the decimal part as the given precision specifies. Corresponds with std::fixed https://cplusplus.com/reference/ios/fixed/.

Scientific : The value is represented with one digit before the decimal point, followed by the decimal point and as many decimal digits as the given precision. Corresponds with std::scientific https://cplusplus.com/reference/ios/scientific/.

Notation()

__init__(self: spaceteams.SC_Compute_Server.Notation, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

Default = <Notation.Default: 0>
DigitsAfterDecimal = <Notation.DigitsAfterDecimal: 1>
Scientific = <Notation.Scientific: 2>
class VarType(pybind11_builtins.pybind11_object):

Members:

Uninitialized

Unrecognized

bytes

bitset64

bool

uint8

uint16

uint32

uint64

int8

int16

int32

int64

duration

timestamp

uuid

entityID

entityRef

entityRefUnresolved

float : NOTE: python "float" is actually VarType double

double : python type is "float"

char

doubleV2 : python type is numpy array

doubleV3 : python type is numpy array

doubleV4 : python type is numpy array

doubleM2x2 : python type is numpy matrix

doubleM3x3 : python type is numpy matrix

doubleM4x4 : python type is numpy matrix

doubleM5x5 : python type is numpy matrix

doubleM6x6 : python type is numpy matrix

string

paramArray : python type is a list of the member type

paramMap

VarType()

__init__(self: spaceteams.SC_Compute_Server.VarType, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

Uninitialized = <VarType.Uninitialized: 0>
Unrecognized = <VarType.Unrecognized: 1>
bytes = <VarType.bytes: 2>
bitset64 = <VarType.bitset64: 3>
bool = <VarType.bool: 4>
uint8 = <VarType.uint8: 5>
uint16 = <VarType.uint16: 6>
uint32 = <VarType.uint32: 7>
uint64 = <VarType.uint64: 8>
int8 = <VarType.int8: 9>
int16 = <VarType.int16: 10>
int32 = <VarType.int32: 11>
int64 = <VarType.int64: 12>
duration = <VarType.duration: 13>
timestamp = <VarType.timestamp: 14>
uuid = <VarType.uuid: 15>
entityID = <VarType.entityID: 16>
entityRef = <VarType.entityRef: 17>
entityRefUnresolved = <VarType.entityRefUnresolved: 18>
float = <VarType.float: 19>
double = <VarType.double: 20>
char = <VarType.char: 21>
doubleV2 = <VarType.doubleV2: 22>
doubleV3 = <VarType.doubleV3: 23>
doubleV4 = <VarType.doubleV4: 24>
doubleM2x2 = <VarType.doubleM2x2: 25>
doubleM3x3 = <VarType.doubleM3x3: 26>
doubleM4x4 = <VarType.doubleM4x4: 27>
doubleM5x5 = <VarType.doubleM5x5: 28>
doubleM6x6 = <VarType.doubleM6x6: 29>
string = <VarType.string: 30>
paramArray = <VarType.paramArray: 31>
paramMap = <VarType.paramMap: 32>
class PropagationType(pybind11_builtins.pybind11_object):

Members:

NoPropagation

ComputePosition

ComputeVelocity

ComputeAcceleration

ComputeJerk

Clientside_FreeBody

Clientside_PawnControl

PhysXInteractible

CoordinateFrame_Static

PropagationType()

__init__(self: spaceteams.SC_Compute_Server.PropagationType, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

NoPropagation = <PropagationType.NoPropagation: 0>
ComputePosition = <PropagationType.ComputePosition: 1>
ComputeVelocity = <PropagationType.ComputeVelocity: 2>
ComputeAcceleration = <PropagationType.ComputeAcceleration: 3>
ComputeJerk = <PropagationType.ComputeJerk: 4>
Clientside_FreeBody = <PropagationType.Clientside_FreeBody: 5>
Clientside_PawnControl = <PropagationType.Clientside_PawnControl: 6>
PhysXInteractible = <PropagationType.PhysXInteractible: 7>
CoordinateFrame_Static = <PropagationType.CoordinateFrame_Static: 8>
class PropagatorChoice(pybind11_builtins.pybind11_object):

Members:

No_Body

ST_Rigid_Body

SPICE

Unreal_Chaos

Unreal_Pawn

Custom

Static

PropagatorChoice()

__init__(self: spaceteams.SC_Compute_Server.PropagatorChoice, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

No_Body = <PropagatorChoice.No_Body: 0>
ST_Rigid_Body = <PropagatorChoice.ST_Rigid_Body: 1>
SPICE = <PropagatorChoice.SPICE: 2>
Unreal_Chaos = <PropagatorChoice.Unreal_Chaos: 3>
Unreal_Pawn = <PropagatorChoice.Unreal_Pawn: 4>
Custom = <PropagatorChoice.Custom: 5>
Static = <PropagatorChoice.Static: 6>
class SystemType(pybind11_builtins.pybind11_object):

Members:

Normal : Typical C++ System that inits and updates on its own.

Taskflow : Taskflow which contains a set of TaskflowTask Systems.

TaskflowTask : Systems that are initted and updated by a Taskflow.

Internal : System with extra capabilities, reserved for internal use.

Python : System that represents a Python program that joins the sim.

SystemType()

__init__(self: spaceteams.SC_Compute_Server.SystemType, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

Normal = <SystemType.Normal: 0>
Taskflow = <SystemType.Taskflow: 1>
TaskflowTask = <SystemType.TaskflowTask: 2>
Internal = <SystemType.Internal: 3>
Python = <SystemType.Python: 4>
class TaskflowType(pybind11_builtins.pybind11_object):

Members:

DependencyGraph

TaskflowType()

__init__(self: spaceteams.SC_Compute_Server.TaskflowType, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

DependencyGraph = <TaskflowType.DependencyGraph: 0>
class UpdateTimeDomain(pybind11_builtins.pybind11_object):

Members:

Sim

IRL

NoSleep

UpdateTimeDomain()

__init__(self: spaceteams.SC_Compute_Server.UpdateTimeDomain, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

NoSleep = <UpdateTimeDomain.NoSleep: 2>
class FieldEffectType(pybind11_builtins.pybind11_object):

Members:

Scalar : FieldEffect returns Scalar 64-bit float value.

Vector : FieldEffect returns 3D vector 64-bit float value.

Ephemeris : FieldEffect representing an Ephemeris System, which handles NAIF SPICE ephemeris queries.

FieldEffectType()

__init__(self: spaceteams.SC_Compute_Server.FieldEffectType, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

Scalar = <FieldEffectType.Scalar: 0>
Vector = <FieldEffectType.Vector: 1>
Ephemeris = <FieldEffectType.Ephemeris: 3>
class UUID(pybind11_builtins.pybind11_object):
UUID(*args, **kwargs)
def FromString(unknown):

FromString(uuid_str: str, use_hyphens: bool = True) -> spaceteams.SC_Compute_Server.UUID

Parse UUID string. Currently assuming all hex alpha chars are lowercase.

def IsValid(unknown):

IsValid(uuid: spaceteams.SC_Compute_Server.UUID) -> bool

Validate UUID bytes (true if valid UUID).

def IsValidStr(unknown):

IsValidStr(uuid_str: str) -> bool

Validate UUID string (true if valid UUID). This does not check proper version or anything other than proper formatting.

def Generate(unknown):

Generate() -> spaceteams.SC_Compute_Server.UUID

Randomly generate a version 4, variant 1 UUID.

class EntityRef_Unresolved(pybind11_builtins.pybind11_object):
EntityRef_Unresolved()

__init__(self: spaceteams.SC_Compute_Server.EntityRef_Unresolved, entity_name: str) -> None

class timestamp(pybind11_builtins.pybind11_object):
timestamp()
def as_datetime(unknown):

as_datetime(self: spaceteams.SC_Compute_Server.timestamp) -> object

Gets the timestamp as a Python datetime. This converts the time from the TAI clock to UTC.

Raises ValueError if the UTC instant falls during a leap second, because Python datetime cannot represent 23:59:60.

def from_datetime(unknown):

from_datetime(date_time: object) -> spaceteams.SC_Compute_Server.timestamp

Construct a timestamp object from a Python datetime. This interprets the input as UTC (converting from any timezone if needed) and then converts that UTC time to the simulation's TAI clock.

def as_tai_string(unknown):

as_tai_string(self: spaceteams.SC_Compute_Server.timestamp) -> str

Return a string of the timestamp, keeping it as TAI clock. See this for more clock choice details: https://stackoverflow.com/a/64084510/11502722

def as_utc_string(unknown):

as_utc_string(self: spaceteams.SC_Compute_Server.timestamp) -> str

Return a string of the timestamp after converting it to UTC. See this for more clock choice details: https://stackoverflow.com/a/64084510/11502722

class AssetType(pybind11_builtins.pybind11_object):

Members:

UNDEFINED :

Generic :

ParamMap :

SimConfig :

EntityConfig :

SystemSource :

PlanetData :

AssetType()

__init__(self: spaceteams.SC_Compute_Server.AssetType, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

UNDEFINED = <AssetType.UNDEFINED: 255>
Generic = <AssetType.Generic: 0>
ParamMap = <AssetType.ParamMap: 1>
SimConfig = <AssetType.SimConfig: 2>
EntityConfig = <AssetType.EntityConfig: 3>
SystemSource = <AssetType.SystemSource: 4>
PlanetData = <AssetType.PlanetData: 5>
class AssetFileCategory(pybind11_builtins.pybind11_object):

Members:

UNDEFINED :

Local :

Core :

AssetFileCategory()

__init__(self: spaceteams.SC_Compute_Server.AssetFileCategory, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

UNDEFINED = <AssetFileCategory.UNDEFINED: 0>
class PhysEffectType(pybind11_builtins.pybind11_object):

Members:

UNDEFINED :

Force :

Torque :

Impulse :

AngImpulse :

Acceleration :

AngAcceleration :

DeltaLocation :

DeltaVelocity :

DeltaRotation :

DeltaAngVelocity :

LocationOverride :

VelocityOverride :

AccelerationOverride :

RotationOverride :

AngVelocityOverride :

AngAccelerationOverride :

PhysEffectType()

__init__(self: spaceteams.SC_Compute_Server.PhysEffectType, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

UNDEFINED = <PhysEffectType.UNDEFINED: 0>
Force = <PhysEffectType.Force: 1>
Torque = <PhysEffectType.Torque: 2>
Impulse = <PhysEffectType.Impulse: 3>
AngImpulse = <PhysEffectType.AngImpulse: 4>
Acceleration = <PhysEffectType.Acceleration: 5>
AngAcceleration = <PhysEffectType.AngAcceleration: 6>
DeltaLocation = <PhysEffectType.DeltaLocation: 7>
DeltaVelocity = <PhysEffectType.DeltaVelocity: 8>
DeltaRotation = <PhysEffectType.DeltaRotation: 9>
DeltaAngVelocity = <PhysEffectType.DeltaAngVelocity: 10>
LocationOverride = <PhysEffectType.LocationOverride: 11>
VelocityOverride = <PhysEffectType.VelocityOverride: 12>
AccelerationOverride = <PhysEffectType.AccelerationOverride: 13>
RotationOverride = <PhysEffectType.RotationOverride: 14>
AngVelocityOverride = <PhysEffectType.AngVelocityOverride: 15>
AngAccelerationOverride = <PhysEffectType.AngAccelerationOverride: 16>
class PhysEffect(pybind11_builtins.pybind11_object):

Physical Effect that can be applied to an Entity.

PhysEffect()

__init__(*args, **kwargs) Overloaded function.

  1. __init__(self: spaceteams.SC_Compute_Server.PhysEffect) -> None

Prefer using the other constructor.

  1. __init__(self: spaceteams.SC_Compute_Server.PhysEffect, effectType: spaceteams.SC_Compute_Server.PhysEffectType, frame: spaceteams.SC_Compute_Server.frames.Frame) -> None

Standard constructor that produces a valid minimal PhysEffect.

frame

(self: spaceteams.SC_Compute_Server.PhysEffect) -> spaceteams.SC_Compute_Server.frames.Frame

direction

(self: spaceteams.SC_Compute_Server.PhysEffect) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 1]"]

magnitude
applicationLoc

(self: spaceteams.SC_Compute_Server.PhysEffect) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 1]"]

useStartTime
useEndTime
def setVector(unknown):

setVector(self: spaceteams.SC_Compute_Server.PhysEffect, vector: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[3, 1]"]) -> None

Set magnitude and direction at the same time.

def setQuaternion(unknown):

setQuaternion(self: spaceteams.SC_Compute_Server.PhysEffect, quat: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[4, 1]"]) -> None

Set quaternion, for Rotation, in xyzw order

def setStartTime(unknown):

setStartTime(self: spaceteams.SC_Compute_Server.PhysEffect, startTime: spaceteams.SC_Compute_Server.timestamp) -> None

Enable and set start time.

def setEndTime(unknown):

setEndTime(self: spaceteams.SC_Compute_Server.PhysEffect, endTime: spaceteams.SC_Compute_Server.timestamp) -> None

Enable and set end time.

class ParamMap(pybind11_builtins.pybind11_object):
ParamMap()

__init__(self: spaceteams.SC_Compute_Server.ParamMap) -> None

def unique_id(unknown):

unique_id(self: spaceteams.SC_Compute_Server.ParamMap) -> int

def HasParam(unknown):

HasParam(*args, **kwargs) Overloaded function.

  1. HasParam(self: spaceteams.SC_Compute_Server.ParamMap, key: str) -> bool

Checks if this Entity_Base has a parameter at the given key.

  1. HasParam(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> bool

Checks if this Entity_Base has a parameter at the given key.

  1. HasParam(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object) -> bool

Checks if this Entity_Base has a parameter at the given key with the given type.

def ToString(unknown):

ToString(self: spaceteams.SC_Compute_Server.ParamMap, notation: spaceteams.SC_Compute_Server.Notation = st.Notation.Default, precision: typing.SupportsInt = 17) -> str

Returns a string of the keys/values of this ParamMap, with a certain notation and precision. Avoids newline characters.

  • notation: Select decimal notation
  • precision: Number of significant digits printed
def ToStringMultiline(unknown):

ToStringMultiline(self: spaceteams.SC_Compute_Server.ParamMap, notation: spaceteams.SC_Compute_Server.Notation = st.Notation.Default, precision: typing.SupportsInt = 17) -> str

Returns a string of the keys/values of this ParamMap, with a certain notation and precision. Avoids newline characters.

  • notation: Select decimal notation
  • precision: Number of significant digits printed
def HasParamArray(unknown):

HasParamArray(*args, **kwargs) Overloaded function.

  1. HasParamArray(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> bool

Checks if this Entity_Base has a param array at the given key with any member type.

  1. HasParamArray(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object) -> bool

Checks if this Entity_Base has a param array at the given key with the given member type.

def HasParamWithValue(unknown):

HasParamWithValue(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object, value: object) -> bool

Checks if this ParamMap has a parameter at the given key with the given type and if the value of that parameter matches the given value.

def GetParamType(unknown):

GetParamType(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> spaceteams.SC_Compute_Server.VarType

Returns the VarType of the parameter at the given key.

def GetParamArrayType(unknown):

GetParamArrayType(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> spaceteams.SC_Compute_Server.VarType

Returns the VarType of the parameter array at the given key.

def GetParamTime(unknown):

GetParamTime(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> spaceteams.SC_Compute_Server.timestamp

Returns the timestamp of the edited-time of the parameter at the given key.

def GetParamMap(unknown):

GetParamMap(self: spaceteams.SC_Compute_Server.ParamMap, keys: object) -> spaceteams.SC_Compute_Server.ParamMap

Get pointer to the GenParamMap at this key. Duplicate of GetMap.

def GetMap(unknown):

GetMap(self: spaceteams.SC_Compute_Server.ParamMap, keys: object) -> spaceteams.SC_Compute_Server.ParamMap

Get pointer to the GenParamMap at this key.

def HasMap(unknown):

HasMap(self: spaceteams.SC_Compute_Server.ParamMap, keys: object) -> bool

def GetParam(unknown):

GetParam(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object) -> object

Get a copy of the value of the Parameter at the given key on this ParamMap. Usage: value = TheParamMap.GetParam(st.VarType.VarTypeOfParameter, "KeyOfParameter") value = TheParamMap.GetParam(st.VarType.VarTypeOfParameter, ["TopMapKey", "MiddleMapKey", "KeyOfParameter"]) Example: messageOnThisEntity = en1.GetParam(st.VarType.string, "Message") There is a runtime check for if this parameter is actually the type you specified it to be.

def IfHas_GetParam(unknown):

IfHas_GetParam(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object) -> tuple

If a parameter with this type exists at the key, return [true, value]. Otherwise, return [false, None].

def IfHas_GetParamArray(unknown):

IfHas_GetParamArray(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object) -> tuple

If a parameter array with this member type exists at the key, return [true, array value]. Otherwise, return [false, None].

def IfHas_GetParamWithTime(unknown):

IfHas_GetParamWithTime(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object) -> tuple

If a parameter with this type exists at the key, return [true, value, timestamp]. Otherwise, return [false, None, None].

def SetParam(unknown):

SetParam(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object, value: object) -> None

Set the value of the parameter at the given key on this GenParamMap with the given value. There is a runtime check for if this parameter is actually the type you specified to it be.

def AddParam(unknown):

AddParam(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object, value: object) -> None

adds a new parameter at the given key on this entity. The input is in the form of std::vector. There is a static check for if this parameter is actually of a support type.

def SetParamArray(unknown):

SetParamArray(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object, value: list) -> None

Set the value of the parameter at the given key on this GenParamMap with the given value. The input is in the form of std::vector. There is a runtime check for if this parameter is actually the type you specified to it be. The array will resized itself as needed

def AddParamArray(unknown):

AddParamArray(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object, value: list) -> None

def GetParamArray(unknown):

GetParamArray(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object) -> object

Get a copy of the values from the Parameter Array at the given key on this GenParamMap. This copy is in the form of a std::vector.

def GetParamArraySize(unknown):

GetParamArraySize(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> int

Get the number of elements in the Parameter Array at the given key on this GenParamMap. This has the advantage of not copying the array, and is faster than len(GetParamArray(...)). There is a runtime check for if this parameter is actually an array.

def AddOrSetParam(unknown):

AddOrSetParam(self: spaceteams.SC_Compute_Server.ParamMap, type: spaceteams.SC_Compute_Server.VarType, key: object, value: object) -> bool

Returns whether the parameter previously existed

def AddCopiesOfAllParamsFrom(unknown):

AddCopiesOfAllParamsFrom(self: spaceteams.SC_Compute_Server.ParamMap, other: spaceteams.SC_Compute_Server.ParamMap) -> None

Adds a DeepCopy of all the params on another GenParamMap to this one NOTE: If there are name collisions, this will perform a Set on same- type colliding params, or throw for differing type.

def ForEachParam(unknown):

ForEachParam(self: spaceteams.SC_Compute_Server.ParamMap, operations: collections.abc.Callable[[str, spaceteams.SC_Compute_Server.VarType], None]) -> None

For each of the parameters in this ParamMap, supply the key and type and do "operations". Doesn’t allow access to pointer because it's non-const. The operations passed in here are a std::function, which is usually made as a lambda function.

def ForEachParamMap(unknown):

ForEachParamMap(self: spaceteams.SC_Compute_Server.ParamMap, operations: collections.abc.Callable[[str, spaceteams.SC_Compute_Server.ParamMap], None]) -> None

For each of the parameters in this ParamMap, supply the key, ParamMap pointer, and type and do "operations". The operations passed in here are a std::function, which is usually made as a lambda function.

def DeleteParam(unknown):

DeleteParam(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> None

Remove from map and free memory for a param

def GetParamAsString(unknown):

GetParamAsString(self: spaceteams.SC_Compute_Server.ParamMap, key: object) -> str

Get what this parameter value's ToString() function would output, without needing to specify the type of parameter value to get.

def ClearParams(unknown):

ClearParams(self: spaceteams.SC_Compute_Server.ParamMap) -> None

Remove from map and free memory for a param

class Entity(ParamMap):

Entity class representing an entity in a running simulation.

Entity(*args, **kwargs)
def getName(unknown):

getName(self: spaceteams.SC_Compute_Server.Entity) -> str

Returns the name of the Entity_Base

def getId(unknown):

getId(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.UUID

Returns the id of the Entity_Base

def getId_str(unknown):

getId_str(self: spaceteams.SC_Compute_Server.Entity) -> str

Returns the id of the Entity_Base as string type

def getType(unknown):

getType(self: spaceteams.SC_Compute_Server.Entity) -> str

Get Entity Type of this Entity.

def getLocation(unknown):

getLocation(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedLoc

Get time-extrapolated location of this entity (meters, right handed coordinates)

def getRotation(unknown):

getRotation(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedRot

Get the orientation of this entity's body frame (right handed coordinates).

def getLocVel(unknown):

getLocVel(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedLocVel

Get time-extrapolated location and velocity of this entity (meters, meters/second, right handed coordinates).

def getLocVelAcc(unknown):

getLocVelAcc(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedLocVelAcc

Get time-extrapolated location, velocity, and acceleration of this entity (meters, meters/second, meters/second^2, right handed coordinates).

def getVelocity(unknown):

getVelocity(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedLocVel

Get time-extrapolated velocity of this entity (meters/second, right handed coordinates).

def getAcceleration(unknown):

getAcceleration(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedLocVelAcc

Get time-extrapolated acceleration of this entity (meters/sec ^ 2, right handed coordinates)

def getAngAcceleration(unknown):

getAngAcceleration(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedAngAcc

Get time-extrapolated angular acceleration of this entity (rad/sec^2, right handed coordinates)

def getAngVelocity(unknown):

getAngVelocity(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.FramedAngVel

Get time-extrapolated angular velocity of this entity (rad/sec, right handed coordinates) The vector direction is the axis of rotation, and the magnitude of the vector is the speed of the right-handed rotation around that axis

def getMass(unknown):

getMass(self: spaceteams.SC_Compute_Server.Entity) -> float

Get the mass of this entity (kilograms)

def getInertia(unknown):

getInertia(self: spaceteams.SC_Compute_Server.Entity, inFrame: spaceteams.SC_Compute_Server.frames.Frame) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 3]"]

Get Entity Inertia Tensor (kilograms * meters^2, 3x3 symmetric matrix, right handed coordinates). Deprecated mismatching name from C++ API.

def getInertiaTensor(unknown):

getInertiaTensor(self: spaceteams.SC_Compute_Server.Entity, inFrame: spaceteams.SC_Compute_Server.frames.Frame) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 3]"]

Get Entity Inertia Tensor (kilograms * meters^2, 3x3 symmetric matrix, right handed coordinates).

def setLocation(unknown):

setLocation(self: spaceteams.SC_Compute_Server.Entity, loc: spaceteams.SC_Compute_Server.frames.FramedLoc) -> None

Set entity location (meters, right handed coordinates)

def setLocation_ZeroVel(unknown):

setLocation_ZeroVel(self: spaceteams.SC_Compute_Server.Entity, loc: spaceteams.SC_Compute_Server.frames.FramedLoc) -> None

Set Entity Location (meters, right handed coordinates). Also sets velocity and acceleration to zero.

def setLocationD(unknown):

setLocationD(self: spaceteams.SC_Compute_Server.Entity, loc: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[3, 1]"], fromFrame: spaceteams.SC_Compute_Server.frames.Frame) -> None

(Deprecated) Set entity location (meters, right handed coordinates)

def setLocVelAcc(unknown):

setLocVelAcc(self: spaceteams.SC_Compute_Server.Entity, LocVelAcc: spaceteams.SC_Compute_Server.frames.FramedLocVelAcc) -> None

Set Entity Location, Velocity, and Acceleration (meters, meters/second, meters/second^2, right handed coordinates).

def setRotation(unknown):

setRotation(self: spaceteams.SC_Compute_Server.Entity, rot: spaceteams.SC_Compute_Server.frames.FramedRot) -> None

Set Entity Rotation.

def setRotation_Quat(unknown):

setRotation_Quat(*args, **kwargs) Overloaded function.

  1. setRotation_Quat(self: spaceteams.SC_Compute_Server.Entity, rot_quat_xyzw: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[4, 1]"], fromFrame: spaceteams.SC_Compute_Server.frames.Frame) -> None

(Deprecated) Set entity rotation (passive quaternion, right hand coordinate). Takes numpy array of (x,y,z,w).

  1. setRotation_Quat(self: spaceteams.SC_Compute_Server.Entity, rot_quat_xyzw: tuple, fromFrame: spaceteams.SC_Compute_Server.frames.Frame) -> None

(Deprecated) Set entity rotation (passive quaternion, right hand coordinate). Takes list of floats (x,y,z,w).

def setRotation_DCM(unknown):

setRotation_DCM(self: spaceteams.SC_Compute_Server.Entity, rot: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[3, 3]"], fromFrame: spaceteams.SC_Compute_Server.frames.Frame) -> None

(Deprecated) Set entity rotation (passive DCM, right hand coordinate)

def setRotation_ZeroVel(unknown):

setRotation_ZeroVel(self: spaceteams.SC_Compute_Server.Entity, rot: spaceteams.SC_Compute_Server.frames.FramedRot) -> None

Set Entity Rotation. Also sets AngVelocity and AngAcceleration to zero.

def setAngVelocity(unknown):

setAngVelocity(self: spaceteams.SC_Compute_Server.Entity, angvel: spaceteams.SC_Compute_Server.frames.FramedAngVel) -> None

Set Entity Angular Velocity.

def setAngVelocityD(unknown):

setAngVelocityD(self: spaceteams.SC_Compute_Server.Entity, angvel: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[3, 1]"], fromFrame: spaceteams.SC_Compute_Server.frames.Frame) -> None

(Deprecated) Set time-extrapolated angular velocity of this entity (rad/sec, right handed coordinates) The vector direction is the axis of rotation, and the magnitude of the vector is the speed of the right-handed rotation around that axis

def setAngAcceleration(unknown):

setAngAcceleration(self: spaceteams.SC_Compute_Server.Entity, angacc: spaceteams.SC_Compute_Server.frames.FramedAngAcc) -> None

Set Entity Angular Acceleration.

def setInertiaTensor(unknown):

setInertiaTensor(self: spaceteams.SC_Compute_Server.Entity, I_fromframe: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[3, 3]"], fromFrame: spaceteams.SC_Compute_Server.frames.Frame) -> None

Set Entity Inertia Tensor (kilograms * meters^2, 3x3 symmetric matrix, right handed coordinates).

def getParentFrame(unknown):

getParentFrame(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.Frame

Get the frame in which this entity’s state parameter are defined (new name for ResidentFrame)

def getResidentFrame(unknown):

getResidentFrame(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.Frame

Get the frame in which this entity’s state parameter are defined.

def GetBodyFixedFrame(unknown):

GetBodyFixedFrame(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.Frame

Get the body-fixed frame of this entity.

def GetBodyCenteredFrame(unknown):

GetBodyCenteredFrame(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.frames.Frame

Get the frame centered on this entity, with axes aligned to the resident (parent) frame of the entity.

def getResidentFrameBody(unknown):

getResidentFrameBody(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.Entity

Get the entity whose body-fixed frame is used as the frame in which this Entity_Base's state parameters are defined.

def setResidentFrame(unknown):

setResidentFrame(self: spaceteams.SC_Compute_Server.Entity, frame: spaceteams.SC_Compute_Server.frames.Frame) -> None

Set the frame in which this Entity_Base's state parameters are defined, and transform state parameters to line up with the existing state.

def setResidentFrame_ZeroState(unknown):

setResidentFrame_ZeroState(self: spaceteams.SC_Compute_Server.Entity, frame: spaceteams.SC_Compute_Server.frames.Frame) -> None

Set the frame in which this Entity's state parameters are defined, and set all state parameters (position and rotation) to zero in the new frame.

def AddStaticStateParamsIfMissing(unknown):

AddStaticStateParamsIfMissing(self: spaceteams.SC_Compute_Server.Entity) -> None

Adds the Location and Rotation params to this Entity if they don't exist.

def AddStateParamsIfMissing(unknown):

AddStateParamsIfMissing(self: spaceteams.SC_Compute_Server.Entity) -> None

Adds the Location, Velocity, Rotation, AngVelocity, etc params to this Entity_Base if they don't exist.

def AddDynamicsParamsIfMissing(unknown):

AddDynamicsParamsIfMissing(self: spaceteams.SC_Compute_Server.Entity) -> None

Adds the remainder of the dynamics params to this Entity_Base if they don't exist.

def GetPropagator(unknown):

GetPropagator(self: spaceteams.SC_Compute_Server.Entity) -> spaceteams.SC_Compute_Server.PropagatorChoice

Get the Propagator choice for this entity.

def SetPropagator(unknown):

SetPropagator(self: spaceteams.SC_Compute_Server.Entity, propagator: spaceteams.SC_Compute_Server.PropagatorChoice, transmit: bool = True) -> None

Set the choice of Propagator for this entity. This can be changed mid-sim.

def getPhysEffects(unknown):

getPhysEffects(self: spaceteams.SC_Compute_Server.Entity) -> dict[str, spaceteams.SC_Compute_Server.PhysEffect]

Get copy of the list of all physical effects on this entity.

def setPhysEffect(unknown):

setPhysEffect(self: spaceteams.SC_Compute_Server.Entity, key: str, effect: spaceteams.SC_Compute_Server.PhysEffect) -> None

Create or revise a physical effect on this entity.

def removePhysEffect(unknown):

removePhysEffect(self: spaceteams.SC_Compute_Server.Entity, key: str) -> None

Removes a physical effect associated with the specified key.

class EntityConfig(ParamMap):
EntityConfig()
system_nametags
def getName(unknown):

getName(self: spaceteams.SC_Compute_Server.EntityConfig) -> str

Get the name of this EntityConfig

class SystemConfig(ParamMap):
SystemConfig()
singleton
frequency
class FieldEffectConfig(ParamMap):
FieldEffectConfig()
class TaskflowConfig(pybind11_builtins.pybind11_object):
TaskflowConfig()
frequency
systems
class SimConfig(pybind11_builtins.pybind11_object):
SimConfig()
def AddEntity(unknown):

AddEntity(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.EntityConfig) -> None

Adds a (assumed-properly-initialized) EntityConfig to the sim config

def RemoveEntity(unknown):

RemoveEntity(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.EntityConfig) -> None

Removes this referenced Entity_Base from the sim config

def GetSimEntity(unknown):

GetSimEntity(self: spaceteams.SC_Compute_Server.SimConfig) -> spaceteams.SC_Compute_Server.EntityConfig

Get the EntityConfig for the (singleton) SimEntity.

def SetSimEntity(unknown):

SetSimEntity(self: spaceteams.SC_Compute_Server.SimConfig, new_sim_entity: spaceteams.SC_Compute_Server.EntityConfig) -> None

Set the EntityConfig for the (singleton) SimEntity.

def GetEntities(unknown):

GetEntities(self: spaceteams.SC_Compute_Server.SimConfig) -> list[spaceteams.SC_Compute_Server.EntityConfig]

Get the EntityConfigs for all entities on this sim config, besides the SimEntity

def AddSystem(unknown):

AddSystem(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.SystemConfig) -> None

Adds a (assumed-properly-initialized) SystemConfig to the sim config

def RemoveSystem(unknown):

RemoveSystem(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.SystemConfig) -> None

Removes this referenced SystemConfig from the sim config

def AddFieldEffect(unknown):

AddFieldEffect(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.FieldEffectConfig) -> None

Adds a (assumed-properly-initialized) FieldEffectConfig to the sim config

def RemoveFieldEffect(unknown):

RemoveFieldEffect(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.FieldEffectConfig) -> None

Removes this referenced FieldEffectConfig from the sim config

def AddTaskflow(unknown):

AddTaskflow(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.TaskflowConfig) -> None

Adds a (assumed-properly-initialized) TaskflowConfig to the sim config.

def RemoveTaskflow(unknown):

RemoveTaskflow(self: spaceteams.SC_Compute_Server.SimConfig, config: spaceteams.SC_Compute_Server.TaskflowConfig) -> None

Removes this referenced Taskflow instance from the sim config.

def GetSystems(unknown):

GetSystems(self: spaceteams.SC_Compute_Server.SimConfig) -> list[spaceteams.SC_Compute_Server.SystemConfig]

Get the SystemConfigs for all systems on this sim config

def GetTaskflows(unknown):

GetTaskflows(self: spaceteams.SC_Compute_Server.SimConfig) -> list[spaceteams.SC_Compute_Server.TaskflowConfig]

Get the TaskflowConfigs for all taskflows on this sim config

def GetFieldEffects(unknown):

GetFieldEffects(self: spaceteams.SC_Compute_Server.SimConfig) -> list[spaceteams.SC_Compute_Server.FieldEffectConfig]

Get the FieldEffectConfigs for all FieldEffects on this sim config

def UsesCurrentTime(unknown):

UsesCurrentTime(self: spaceteams.SC_Compute_Server.SimConfig) -> bool

True if the sim sets the time to real-world time when starting the sim.

def GetSimStartTime(unknown):

GetSimStartTime(self: spaceteams.SC_Compute_Server.SimConfig) -> spaceteams.SC_Compute_Server.timestamp

Get the time of the sim clock will read at the beginning of the sim. This value will not be applicable if UsCurrentTime = true

def SetSimStartTime(unknown):

SetSimStartTime(self: spaceteams.SC_Compute_Server.SimConfig, start_simtime: spaceteams.SC_Compute_Server.timestamp) -> None

Set the time the sim clock will read when beginning the sim. This value is not applicable if UseCurrentTime = True.

def HasSimEndTime(unknown):

HasSimEndTime(self: spaceteams.SC_Compute_Server.SimConfig) -> bool

True if the sim has an end time (EndDateTAI)

def GetSimEndTime(unknown):

GetSimEndTime(self: spaceteams.SC_Compute_Server.SimConfig) -> spaceteams.SC_Compute_Server.timestamp

Get the time the sim will automatically end.

def SetSimEndTime(unknown):

SetSimEndTime(self: spaceteams.SC_Compute_Server.SimConfig, end_simtime: spaceteams.SC_Compute_Server.timestamp) -> None

Set the time the sim will automatically end.

def RemoveSimEndTime(unknown):

RemoveSimEndTime(self: spaceteams.SC_Compute_Server.SimConfig) -> None

Removes the timestamped-based sim end condition

class Severity(pybind11_builtins.pybind11_object):

Members:

Info

Warning

Error

Fatal

Chat

Severity()

__init__(self: spaceteams.SC_Compute_Server.Severity, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

Info = <Severity.Info: 0>
Warning = <Severity.Warning: 1>
Error = <Severity.Error: 2>
Fatal = <Severity.Fatal: 3>
Chat = <Severity.Chat: 4>
class SimState(pybind11_builtins.pybind11_object):

Members:

Loading : Load the sim config as a starting point, independent of any other clients.

Lobby : Wait for other clients to finish connecting/loading, hang out (if applicable).

Sync : With a final client list known, enter a process where we ensure all clients are joined and warmed up before Init/Running Simstate is made available. Additionally, if a certain option is chosen, stay in SimState::Sync to enable a Sim Editing mode that hasn't run system init or update functions.

Init : In this state and future, operations that would result in a SaveSim having many differences are accepted. Without impinging on timing of updates as the Runtime state is hit, we do a final step where everything runs their init() functions, optionally with order dependencies where applicable, and we wait for ALL inits on ALL programs to finish. (TBD) For sims that are resuming from a snapshot, this MIGHT be skipped/modified?

Runtime : Timed updates begin. Physics starts moving.

Paused : (UNUSED, MAY CHANGE) In this state, we stop all network nodes if possible so something big like a host migration can happen.

Playback : (UNUSED, MAY CHANGE) In this state, the state of the Platform is being driven by recorded transactional state changes that are being streamed as PlatformOrders by one (?) of the network nodes.

Stopping : In this state, the platform is treated as undefined because network nodes are expected to disconnect at any moment. Any time a network node is in this state, the network node should work to and/close the local representation of the simulation

SimState()

__init__(self: spaceteams.SC_Compute_Server.SimState, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

Loading = <SimState.Loading: 0>
Lobby = <SimState.Lobby: 1>
Sync = <SimState.Sync: 2>
Init = <SimState.Init: 3>
Runtime = <SimState.Runtime: 6>
Paused = <SimState.Runtime: 6>
Playback = <SimState.Runtime: 6>
Stopping = <SimState.Stopping: 7>
def OnScreenLogMessage(unknown):

OnScreenLogMessage(message: str, category: str, severity: spaceteams.SC_Compute_Server.Severity, transmit: bool = True) -> None

Send message that is shown on all app screens, and stays in a log. If transmit is false, the message is only shown inside this app.

def OnScreenAlert(unknown):

OnScreenAlert(message: str, topic: str, severity: spaceteams.SC_Compute_Server.Severity, transmit: bool = True) -> None

Send alert that is shown on all app screens, is deduplicated by topic name, and is erased after a few seconds. If transmit is false, the alert is only shown inside this app.

class SubscriptionHandle(pybind11_builtins.pybind11_object):
SubscriptionHandle(*args, **kwargs)
independentThread
class ResponderHandle(pybind11_builtins.pybind11_object):
ResponderHandle(*args, **kwargs)
independentThread
class EphemerisResult(pybind11_builtins.pybind11_object):

State vector of a body with respect to an observer. Note that we typically do not return a valid acceleration or angular acceleration. See:

EphemerisResult(*args, **kwargs)
loc

(self: spaceteams.SC_Compute_Server.EphemerisResult) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 1]"]

vel

(self: spaceteams.SC_Compute_Server.EphemerisResult) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 1]"]

acc

(self: spaceteams.SC_Compute_Server.EphemerisResult) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 1]"]

rot

(self: spaceteams.SC_Compute_Server.EphemerisResult) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 3]"]

angvel

(self: spaceteams.SC_Compute_Server.EphemerisResult) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 1]"]

angacc

(self: spaceteams.SC_Compute_Server.EphemerisResult) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[3, 1]"]

light_time_s
class OutputMode(pybind11_builtins.pybind11_object):

"Camera output modes, which affect the content and pixel format of a capture's pixels, but not its geometry."

Members:

Default : What people "expect" from a typical image.

RGB_LDR_sRGB : Red-Green-Blue channels in sRGB color space, 8 bits each.

RGB_LDR : Red-Green-Blue channels in linear color space, 8 bits each.

RGB_HDR : (UNIMPLEMENTED) Red-Green-Blue channels in linear color space, 16-bit float each.

Depth_cm : Single channel, 32-bit float, linear depth in cm.

OutputMode()

__init__(self: spaceteams.SC_Compute_Server.OutputMode, value: typing.SupportsInt) -> None

name

name(self: object, /) -> str

Default = <OutputMode.Default: 0>
RGB_LDR_sRGB = <OutputMode.Default: 0>
RGB_LDR = <OutputMode.RGB_LDR: 1>
RGB_HDR = <OutputMode.RGB_HDR: 2>
Depth_cm = <OutputMode.Depth_cm: 3>
class PhysicalCameraProperties(pybind11_builtins.pybind11_object):

"Physical properties of the camera that affect the image"

PhysicalCameraProperties()
chrom_abbr_intensity
focus_distance_m
class ArtCameraProperties(pybind11_builtins.pybind11_object):

"Non-physical changes to apply to the image"

ArtCameraProperties()
chrom_abbr_offset
class CaptureImageProperties(pybind11_builtins.pybind11_object):

"All properties of an image to capture besides the choice of camera entity."

CaptureImageProperties()
uses_custom_projection
ProjectionMatrix

(self: spaceteams.SC_Compute_Server.CaptureImageProperties) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], "[4, 4]"]

def standalone_sim(unknown):

standalone_sim(path: os.PathLike | str | bytes) -> None

Run a simulation that is self-contained within this Python process. path - Filepath of sim config.

def connect_to_sim(unknown):

connect_to_sim(sys_argv: collections.abc.Sequence[str]) -> None

Connect to a running simulation as a ServerAsLocalClient. sys_argv - insert python sys.argv here.

def BeforeInit(unknown):

BeforeInit(delegateFn: collections.abc.Callable[[], None]) -> None

Set a function to be called before the simulation is allowed to continue to Init state.

def BeforeRuntime(unknown):

BeforeRuntime(delegateFn: collections.abc.Callable[[], None]) -> None

Set a function to be called before the simulation is allowed to continue to Runtime state.

def leave_sim(unknown):

leave_sim() -> None

Leave the sim without ending it for other users/programs.

def stop_sim(unknown):

stop_sim() -> None

Stop the sim, which ends it for all users/programs.

def get_entities(unknown):

get_entities() -> list[spaceteams.SC_Compute_Server.Entity]

def GetThisSystem(unknown):
def get_nametag(unknown):

get_nametag() -> str

def logger_info(unknown):

logger_info(msg: str) -> None

Output logger information

def logger_warn(unknown):

logger_warn(msg: str) -> None

Output logger warnings

def logger_error(unknown):

logger_error(msg: str) -> None

Output logger error

def logger_fatal(unknown):

logger_fatal(msg: str) -> None

Output logger fatal error