WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
Body.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX, INC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX, INC.
15******************************************************************************/
16/*
17Body header file
18
19Author: Alex Reynolds
20*/
21#ifndef FRAMES_BODY_H
22#define FRAMES_BODY_H
23
24#include "Node.h"
25
26namespace warptwin {
27
44 class Body : public Frame {
45 public:
49 Body(const std::string &name, Frame* par=nullptr);
50
55 clockwerk::Matrix<3, 3>({{1.0,0.0,0.0},{0.0,1.0,0.0},{0.0,0.0,1.0}}));
62 clockwerk::Matrix<3, 3>({{1.0,0.0,0.0},{0.0,1.0,0.0},{0.0,0.0,1.0}}));
63
64 /* Nice handle to the body itself for mapping*/
66
73
81
87
93
95 void dump();
96 protected:
99
102
106
110 };
111
112}
113
114#endif
Standard vector class derived from Matrix.
Definition CartesianVector.hpp:39
Class for inter-object communication.
Definition DataIO.hpp:60
const char * name() const
Getter and setter for object name.
Definition GraphTreeObject.h:135
Matrix math implementation.
Definition Matrix.hpp:55
clockwerk::DataIO< floating_point > composite_mass
Signal/parameter for the body's composite mass.
Definition Body.h:58
clockwerk::CartesianVector< 3 > passthroughForce()
Definition Body.h:91
void _calcCompositeMassInertiaCM()
Function to recurse through children and calculate body composite inertia.
Definition Body.cpp:115
clockwerk::DataIO< clockwerk::Matrix< 3, 3 > > composite_inertia
Signal/parameter for the body's composite inertia.
Definition Body.h:61
clockwerk::CartesianVector< 3 > passthroughMoment()
Definition Body.h:92
clockwerk::CartesianVector< 3 > _passthrough_force__b
Passthrough force on the body – force not applied here but passed on to parent body.
Definition Body.h:108
clockwerk::DataIO< Body * > self_id
Definition Body.h:65
clockwerk::CartesianVector< 3 > _passthrough_moment__b
Definition Body.h:109
clockwerk::DataIO< floating_point > mass
Signal/parameter for the body's mass.
Definition Body.h:52
void _calcAppliedForceMoment(const clockwerk::CartesianVector< 3 > &force, const clockwerk::CartesianVector< 3 > &moment)
Function to resolve forces and moments to body frame as applied and passed through.
Definition Body.cpp:121
void dump()
Dump all information associated with the frame.
Definition Body.cpp:140
void getFMPairAtParentOrigin(clockwerk::CartesianVector< 3 > &force_parentcg__p, clockwerk::CartesianVector< 3 > &moment_parentcg__p)
Function to resolve passthrough forces/moments into a force/moment pair in parent body frame origin.
Definition Body.cpp:130
clockwerk::CartesianVector< 3 > externalForce()
Getters for force and moment stuff.
Definition Body.h:89
clockwerk::CartesianVector< 3 > externalMoment()
Definition Body.h:90
Body(const std::string &name, Frame *par=nullptr)
Parent constructor for the body object.
Definition Body.cpp:24
clockwerk::CartesianVector< 3 > _ext_moment__b
Definition Body.h:105
clockwerk::CartesianVector< 3 > _ext_force__b
Applied external force and moment on the body.
Definition Body.h:104
int calcFrameTreeExtForcesMoments()
Function to recurse through the body and its children to apply external forces and moments to the "co...
Definition Body.cpp:31
clockwerk::DataIO< clockwerk::Matrix< 3, 3 > > inertia
Signal/parameter for the body's inertia.
Definition Body.h:54
int calcFrameTreeExtAcceleration()
Function to recurse through the body and its children to resolve applied external forces and moments ...
Definition Body.cpp:95
Frame(const std::string &name, Frame *par=nullptr, bool free=false)
Constructor for the frame object.
Definition Frame.cpp:23
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22