66 const std::string &
GetLabel()
const {
return m_label; }
67 void SetLabel(
const char *label) { m_label = label; }
77 void SetAngSpeed(
const double angspeed) { m_angSpeed = angspeed; }
79 void SetRadius(
double radius) { m_radius = radius; }
99 unsigned GetNumChildren()
const {
return static_cast<Uint32
>(m_children.size()); }
138 void UpdateRootRelativeVars();
141 std::vector<FrameId> m_children;
154 double m_oldAngDisplacement;
158 int m_collisionSpace;
166 int m_astroBodyIndex;
168 static std::vector<Frame> s_frames;
169 static std::vector<CollisionSpace> s_collisionSpaces;
174 madeWithFactory(false)
176 bool madeWithFactory;
IterationProxy< Container > MakeIterationProxy(Container &container)
Definition IterationProxy.h:51
nlohmann::json Json
Definition Json.h:8
Definition CollisionSpace.h:27
void SetPosition(const vector3d &pos)
Definition Frame.h:69
static FrameId FromJson(const Json &jsonObj, Space *space, FrameId parent, double at_time)
Definition Frame.cpp:177
void UpdateInterpTransform(double alpha)
Definition Frame.cpp:434
void AddStaticGeom(Geom *)
Definition Frame.cpp:321
static void CollideFrames(void(*callback)(CollisionContact *))
Definition Frame.cpp:299
void SetBodies(SystemBody *s, Body *b)
Definition Frame.h:88
FrameId GetParent() const
Definition Frame.h:84
vector3d GetPositionRelTo(FrameId relTo) const
Definition Frame.cpp:349
const IterationProxy< const std::vector< FrameId > > GetChildren() const
Definition Frame.h:101
static Frame * GetFrame(FrameId FId)
Definition Frame.cpp:247
double GetAngSpeed() const
Definition Frame.h:78
CollisionSpace * GetCollisionSpace() const
Definition Frame.cpp:328
const std::string & GetLabel() const
Definition Frame.h:66
vector3d GetVelocityRelTo(FrameId relTo) const
Definition Frame.cpp:337
vector3d GetPosition() const
Definition Frame.h:70
vector3d GetInterpPositionRelTo(FrameId relTo) const
Definition Frame.cpp:378
void SetRadius(double radius)
Definition Frame.h:79
vector3d GetStasisVelocity(const vector3d &pos) const
Definition Frame.h:118
matrix3x3d GetOrientRelTo(FrameId relTo) const
Definition Frame.cpp:405
void RemoveChild(FrameId fId)
Definition Frame.cpp:308
void SetPlanetGeom(double radius, Body *)
Definition Frame.cpp:323
Body * GetBody() const
Definition Frame.h:94
matrix4x4d GetTransformRelTo(FrameId relTo) const
Definition Frame.cpp:424
static void GetFrameTransform(FrameId fFrom, FrameId fTo, matrix4x4d &m)
Definition Frame.cpp:460
std::unique_ptr< SfxManager > m_sfx
Definition Frame.h:133
void SetVelocity(const vector3d &vel)
Definition Frame.h:75
bool HasChildren() const
Definition Frame.h:98
FrameId GetNonRotFrame() const
Definition Frame.h:85
void ClearMovement()
Definition Frame.cpp:468
void RemoveStaticGeom(Geom *)
Definition Frame.cpp:322
bool HasRotFrame() const
Definition Frame.h:82
Frame(const Frame &)=delete
double GetRadius() const
Definition Frame.h:80
@ FLAG_DEFAULT
Definition Frame.h:46
@ FLAG_ROTATING
Definition Frame.h:47
@ FLAG_HAS_ROT
Definition Frame.h:48
void RemoveGeom(Geom *)
Definition Frame.cpp:320
unsigned GetNumChildren() const
Definition Frame.h:99
const matrix3x3d & GetOrient() const
Definition Frame.h:73
static void DeleteCameraFrame(FrameId camera)
Definition Frame.cpp:266
vector3d GetVelocity() const
Definition Frame.h:76
static void PostUnserializeFixup(FrameId fId, Space *space)
Definition Frame.cpp:288
static FrameId CreateCameraFrame(FrameId parent)
Definition Frame.cpp:257
void AddChild(FrameId fId)
Definition Frame.h:96
matrix3x3d GetInterpOrientRelTo(FrameId relTo) const
Definition Frame.cpp:411
void SetAngSpeed(const double angspeed)
Definition Frame.h:77
FrameId GetRotFrame() const
Definition Frame.h:86
void SetLabel(const char *label)
Definition Frame.h:67
static void DeleteFrames()
Definition Frame.cpp:234
void SetOrient(const matrix3x3d &m, double time)
Definition Frame.cpp:523
void AddGeom(Geom *)
Definition Frame.cpp:319
static FrameId CreateFrame(FrameId parent, const char *label, unsigned int flags=FLAG_DEFAULT, double radius=0.0)
Definition Frame.cpp:168
IterationProxy< std::vector< FrameId > > GetChildren()
Definition Frame.h:100
matrix4x4d GetInterpTransformRelTo(FrameId relTo) const
Definition Frame.cpp:429
FrameId GetId() const
Definition Frame.h:64
void SetInitialOrient(const matrix3x3d &m, double time)
Definition Frame.cpp:511
SystemBody * GetSystemBody() const
Definition Frame.h:93
bool IsRotFrame() const
Definition Frame.h:81
static void ToJson(Json &jsonObj, FrameId fId, Space *space)
Definition Frame.cpp:132
static void UpdateOrbitRails(double time, double timestep)
Definition Frame.cpp:478
const matrix3x3d & GetInterpOrient() const
Definition Frame.h:74
Definition IterationProxy.h:13
Definition SystemBody.h:19
vector3 Cross(const vector3 &b) const
Definition vector3.h:117
vector3< double > vector3d
Definition vector3.h:290