Pioneer
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Frame Class Reference

#include <Frame.h>

Public Types

enum  { FLAG_DEFAULT = (0) , FLAG_ROTATING = (1 << 1) , FLAG_HAS_ROT = (1 << 2) }
 

Public Member Functions

 Frame ()=delete
 
 Frame (const Dummy &d, FrameId parent, const char *label, unsigned int flags=FLAG_DEFAULT, double radius=0.0)
 
 Frame (const Dummy &d, FrameId parent)
 
 Frame (const Frame &)=delete
 
 Frame (Frame &&) noexcept
 
Frameoperator= (Frame &&)
 
 ~Frame ()
 
FrameId GetId () const
 
const std::string & GetLabel () const
 
void SetLabel (const char *label)
 
void SetPosition (const vector3d &pos)
 
vector3d GetPosition () const
 
void SetInitialOrient (const matrix3x3d &m, double time)
 
void SetOrient (const matrix3x3d &m, double time)
 
const matrix3x3dGetOrient () const
 
const matrix3x3dGetInterpOrient () const
 
void SetVelocity (const vector3d &vel)
 
vector3d GetVelocity () const
 
void SetAngSpeed (const double angspeed)
 
double GetAngSpeed () const
 
void SetRadius (double radius)
 
double GetRadius () const
 
bool IsRotFrame () const
 
bool HasRotFrame () const
 
FrameId GetParent () const
 
FrameId GetNonRotFrame () const
 
FrameId GetRotFrame () const
 
void SetBodies (SystemBody *s, Body *b)
 
SystemBodyGetSystemBody () const
 
BodyGetBody () const
 
void AddChild (FrameId fId)
 
void RemoveChild (FrameId fId)
 
bool HasChildren () const
 
unsigned GetNumChildren () const
 
IterationProxy< std::vector< FrameId > > GetChildren ()
 
const IterationProxy< const std::vector< FrameId > > GetChildren () const
 
void AddGeom (Geom *)
 
void RemoveGeom (Geom *)
 
void AddStaticGeom (Geom *)
 
void RemoveStaticGeom (Geom *)
 
void SetPlanetGeom (double radius, Body *)
 
CollisionSpaceGetCollisionSpace () const
 
void UpdateInterpTransform (double alpha)
 
void ClearMovement ()
 
vector3d GetStasisVelocity (const vector3d &pos) const
 
vector3d GetPositionRelTo (FrameId relTo) const
 
vector3d GetVelocityRelTo (FrameId relTo) const
 
matrix3x3d GetOrientRelTo (FrameId relTo) const
 
matrix4x4d GetTransformRelTo (FrameId relTo) const
 
vector3d GetInterpPositionRelTo (FrameId relTo) const
 
matrix3x3d GetInterpOrientRelTo (FrameId relTo) const
 
matrix4x4d GetInterpTransformRelTo (FrameId relTo) const
 

Static Public Member Functions

static FrameId CreateFrame (FrameId parent, const char *label, unsigned int flags=FLAG_DEFAULT, double radius=0.0)
 
static FrameId FromJson (const Json &jsonObj, Space *space, FrameId parent, double at_time)
 
static FrameId CreateCameraFrame (FrameId parent)
 
static void DeleteCameraFrame (FrameId camera)
 
static void ToJson (Json &jsonObj, FrameId fId, Space *space)
 
static void PostUnserializeFixup (FrameId fId, Space *space)
 
static void DeleteFrames ()
 
static FrameGetFrame (FrameId FId)
 
static void UpdateOrbitRails (double time, double timestep)
 
static void CollideFrames (void(*callback)(CollisionContact *))
 
static void GetFrameTransform (FrameId fFrom, FrameId fTo, matrix4x4d &m)
 

Public Attributes

std::unique_ptr< SfxManagerm_sfx
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
FLAG_DEFAULT 
FLAG_ROTATING 
FLAG_HAS_ROT 

Constructor & Destructor Documentation

◆ Frame() [1/5]

Frame::Frame ( )
delete

◆ Frame() [2/5]

Frame::Frame ( const Dummy &  d,
FrameId  parent,
const char *  label,
unsigned int  flags = FLAG_DEFAULT,
double  radius = 0.0 
)
Here is the call graph for this function:

◆ Frame() [3/5]

Frame::Frame ( const Dummy &  d,
FrameId  parent 
)
Here is the call graph for this function:

◆ Frame() [4/5]

Frame::Frame ( const Frame )
delete

◆ Frame() [5/5]

Frame::Frame ( Frame &&  other)
noexcept

◆ ~Frame()

Frame::~Frame ( )
Here is the call graph for this function:

Member Function Documentation

◆ AddChild()

void Frame::AddChild ( FrameId  fId)
inline

◆ AddGeom()

void Frame::AddGeom ( Geom g)

◆ AddStaticGeom()

void Frame::AddStaticGeom ( Geom g)

◆ ClearMovement()

void Frame::ClearMovement ( )

◆ CollideFrames()

void Frame::CollideFrames ( void(*)(CollisionContact *)  callback)
static
Here is the call graph for this function:

◆ CreateCameraFrame()

FrameId Frame::CreateCameraFrame ( FrameId  parent)
static

◆ CreateFrame()

FrameId Frame::CreateFrame ( FrameId  parent,
const char *  label,
unsigned int  flags = FLAG_DEFAULT,
double  radius = 0.0 
)
static

◆ DeleteCameraFrame()

void Frame::DeleteCameraFrame ( FrameId  camera)
static
Here is the call graph for this function:

◆ DeleteFrames()

void Frame::DeleteFrames ( )
static

◆ FromJson()

FrameId Frame::FromJson ( const Json jsonObj,
Space space,
FrameId  parent,
double  at_time 
)
static
Here is the call graph for this function:

◆ GetAngSpeed()

double Frame::GetAngSpeed ( ) const
inline

◆ GetBody()

Body * Frame::GetBody ( ) const
inline

◆ GetChildren() [1/2]

IterationProxy< std::vector< FrameId > > Frame::GetChildren ( )
inline
Here is the call graph for this function:

◆ GetChildren() [2/2]

const IterationProxy< const std::vector< FrameId > > Frame::GetChildren ( ) const
inline
Here is the call graph for this function:

◆ GetCollisionSpace()

CollisionSpace * Frame::GetCollisionSpace ( ) const

◆ GetFrame()

Frame * Frame::GetFrame ( FrameId  FId)
static
Here is the call graph for this function:

◆ GetFrameTransform()

void Frame::GetFrameTransform ( FrameId  fFrom,
FrameId  fTo,
matrix4x4d m 
)
static
Here is the call graph for this function:

◆ GetId()

FrameId Frame::GetId ( ) const
inline

◆ GetInterpOrient()

const matrix3x3d & Frame::GetInterpOrient ( ) const
inline

◆ GetInterpOrientRelTo()

matrix3x3d Frame::GetInterpOrientRelTo ( FrameId  relTo) const
Here is the call graph for this function:

◆ GetInterpPositionRelTo()

vector3d Frame::GetInterpPositionRelTo ( FrameId  relTo) const
Here is the call graph for this function:

◆ GetInterpTransformRelTo()

matrix4x4d Frame::GetInterpTransformRelTo ( FrameId  relTo) const
Here is the call graph for this function:

◆ GetLabel()

const std::string & Frame::GetLabel ( ) const
inline

◆ GetNonRotFrame()

FrameId Frame::GetNonRotFrame ( ) const
inline
Here is the call graph for this function:

◆ GetNumChildren()

unsigned Frame::GetNumChildren ( ) const
inline

◆ GetOrient()

const matrix3x3d & Frame::GetOrient ( ) const
inline

◆ GetOrientRelTo()

matrix3x3d Frame::GetOrientRelTo ( FrameId  relTo) const
Here is the call graph for this function:

◆ GetParent()

FrameId Frame::GetParent ( ) const
inline

◆ GetPosition()

vector3d Frame::GetPosition ( ) const
inline

◆ GetPositionRelTo()

vector3d Frame::GetPositionRelTo ( FrameId  relTo) const
Here is the call graph for this function:

◆ GetRadius()

double Frame::GetRadius ( ) const
inline

◆ GetRotFrame()

FrameId Frame::GetRotFrame ( ) const
inline
Here is the call graph for this function:

◆ GetStasisVelocity()

vector3d Frame::GetStasisVelocity ( const vector3d pos) const
inline
Here is the call graph for this function:

◆ GetSystemBody()

SystemBody * Frame::GetSystemBody ( ) const
inline

◆ GetTransformRelTo()

matrix4x4d Frame::GetTransformRelTo ( FrameId  relTo) const
Here is the call graph for this function:

◆ GetVelocity()

vector3d Frame::GetVelocity ( ) const
inline

◆ GetVelocityRelTo()

vector3d Frame::GetVelocityRelTo ( FrameId  relTo) const
Here is the call graph for this function:

◆ HasChildren()

bool Frame::HasChildren ( ) const
inline

◆ HasRotFrame()

bool Frame::HasRotFrame ( ) const
inline

◆ IsRotFrame()

bool Frame::IsRotFrame ( ) const
inline

◆ operator=()

Frame & Frame::operator= ( Frame &&  other)

◆ PostUnserializeFixup()

void Frame::PostUnserializeFixup ( FrameId  fId,
Space space 
)
static
Here is the call graph for this function:

◆ RemoveChild()

void Frame::RemoveChild ( FrameId  fId)
Here is the call graph for this function:

◆ RemoveGeom()

void Frame::RemoveGeom ( Geom g)

◆ RemoveStaticGeom()

void Frame::RemoveStaticGeom ( Geom g)

◆ SetAngSpeed()

void Frame::SetAngSpeed ( const double  angspeed)
inline

◆ SetBodies()

void Frame::SetBodies ( SystemBody s,
Body b 
)
inline

◆ SetInitialOrient()

void Frame::SetInitialOrient ( const matrix3x3d m,
double  time 
)
Here is the call graph for this function:

◆ SetLabel()

void Frame::SetLabel ( const char *  label)
inline

◆ SetOrient()

void Frame::SetOrient ( const matrix3x3d m,
double  time 
)
Here is the call graph for this function:

◆ SetPlanetGeom()

void Frame::SetPlanetGeom ( double  radius,
Body obj 
)

◆ SetPosition()

void Frame::SetPosition ( const vector3d pos)
inline

◆ SetRadius()

void Frame::SetRadius ( double  radius)
inline

◆ SetVelocity()

void Frame::SetVelocity ( const vector3d vel)
inline

◆ ToJson()

void Frame::ToJson ( Json jsonObj,
FrameId  fId,
Space space 
)
static
Here is the call graph for this function:

◆ UpdateInterpTransform()

void Frame::UpdateInterpTransform ( double  alpha)
Here is the call graph for this function:

◆ UpdateOrbitRails()

void Frame::UpdateOrbitRails ( double  time,
double  timestep 
)
static
Here is the call graph for this function:

Member Data Documentation

◆ m_sfx

std::unique_ptr<SfxManager> Frame::m_sfx

The documentation for this class was generated from the following files: