MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
BufferStreamElemRaw Class Reference

#include <bufferstream_out_elem.h>

Inheritance diagram for BufferStreamElemRaw:
Collaboration diagram for BufferStreamElemRaw:

Public Member Functions

 BufferStreamElemRaw (unsigned int uL, unsigned int oe, StreamContent *pSC, StreamOutEcho *pSOE, bool bOwnsMemory)
 
virtual ~BufferStreamElemRaw (void)
 
bool bOwnsMemory (void) const
 
virtual void SetBufRaw (integer n, const doublereal *p)
 
virtual const doublerealGetBufRaw (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
- Public Member Functions inherited from BufferStreamElem_base
 BufferStreamElem_base (unsigned int uL, unsigned int oe, StreamContent *pSC, StreamOutEcho *pSOE)
 
virtual ~BufferStreamElem_base (void)
 
const integer GetBufSize (void) const
 
virtual void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
- Public Member Functions inherited from StreamOutElem
 StreamOutElem (unsigned int uL, const std::string &name, unsigned int oe)
 
virtual ~StreamOutElem (void)
 
virtual Elem::Type GetElemType (void) const
 
virtual void WorkSpaceDim (integer *piRows, integer *piCols) const
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &X, const VectorHandler &XP)
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &X, const VectorHandler &XP)
 
- Public Member Functions inherited from Elem
 Elem (unsigned int uL, flag fOut)
 
virtual ~Elem (void)
 
virtual unsigned int iGetNumDof (void) const
 
virtual std::ostream & DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual std::ostream & DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual DofOrder::Order GetDofType (unsigned int) const
 
virtual void AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual bool bInverseDynamics (void) const
 
void SetInverseDynamicsFlags (unsigned uIDF)
 
unsigned GetInverseDynamicsFlags (void) const
 
bool bIsErgonomy (void) const
 
bool bIsRightHandSide (void) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
 
virtual int GetNumConnectedNodes (void) const
 
virtual void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
- Public Member Functions inherited from WithLabel
 WithLabel (unsigned int uL=0, const std::string &sN="")
 
virtual ~WithLabel (void)
 
void PutLabel (unsigned int uL)
 
void PutName (const std::string &sN)
 
unsigned int GetLabel (void) const
 
const std::string & GetName (void) const
 
- Public Member Functions inherited from SimulationEntity
 SimulationEntity (void)
 
virtual ~SimulationEntity (void)
 
virtual bool bIsValidIndex (unsigned int i) const
 
virtual DofOrder::Order GetEqType (unsigned int i) const
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 
- Public Member Functions inherited from ToBeOutput
 ToBeOutput (flag fOut=fDefaultOut)
 
virtual ~ToBeOutput (void)
 
virtual void OutputPrepare (OutputHandler &OH)
 
virtual void Output (OutputHandler &OH) const
 
virtual void Output (OutputHandler &OH, const VectorHandler &X, const VectorHandler &XP) const
 
virtual flag fToBeOutput (void) const
 
virtual bool bToBeOutput (void) const
 
virtual void SetOutputFlag (flag f=flag(1))
 

Protected Attributes

bool m_bOwnsMemory
 
const doublerealm_pBuffer
 
- Protected Attributes inherited from BufferStreamElem_base
StreamContentpSC
 
StreamOutEchopSOE
 
- Protected Attributes inherited from StreamOutElem
std::string name
 
unsigned int OutputEvery
 
unsigned int OutputCounter
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 

Additional Inherited Members

- Public Types inherited from StreamOutElem
enum  Type { UNDEFINED = -1, RTAI, SOCKETSTREAM, BUFFERSTREAM }
 
- Public Types inherited from Elem
enum  Type {
  UNKNOWN = -1, AIRPROPERTIES = 0, INDUCEDVELOCITY, AUTOMATICSTRUCTURAL,
  GRAVITY, BODY, JOINT, JOINT_REGULARIZATION,
  BEAM, PLATE, FORCE, INERTIA,
  ELECTRICBULK, ELECTRIC, THERMAL, HYDRAULIC,
  BULK, LOADABLE, DRIVEN, EXTERNAL,
  AEROMODAL, AERODYNAMIC, GENEL, SOCKETSTREAM_OUTPUT,
  RTAI_OUTPUT = SOCKETSTREAM_OUTPUT, LASTELEMTYPE
}
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Public Types inherited from ToBeOutput
enum  { OUTPUT = 0x1U, OUTPUT_MASK = 0xFU, OUTPUT_PRIVATE = 0x10U, OUTPUT_PRIVATE_MASK = ~OUTPUT_MASK }
 

Detailed Description

Definition at line 92 of file bufferstream_out_elem.h.

Constructor & Destructor Documentation

BufferStreamElemRaw::BufferStreamElemRaw ( unsigned int  uL,
unsigned int  oe,
StreamContent pSC,
StreamOutEcho pSOE,
bool  bOwnsMemory 
)

Definition at line 164 of file bufferstream_out_elem.cc.

References StreamContent::GetNumChannels(), m_bOwnsMemory, and m_pBuffer.

168 : Elem(uL, flag(0)),
169 BufferStreamElem_base(uL, oe, pSC, pSOE),
171 m_pBuffer(0)
172 {
173  if (m_bOwnsMemory) {
174  m_pBuffer = new doublereal[pSC->GetNumChannels()];
175  }
176 }
long int flag
Definition: mbdyn.h:43
virtual unsigned GetNumChannels(void) const =0
bool bOwnsMemory(void) const
BufferStreamElem_base(unsigned int uL, unsigned int oe, StreamContent *pSC, StreamOutEcho *pSOE)
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
double doublereal
Definition: colamd.c:52
const doublereal * m_pBuffer

Here is the call graph for this function:

BufferStreamElemRaw::~BufferStreamElemRaw ( void  )
virtual

Definition at line 178 of file bufferstream_out_elem.cc.

References m_bOwnsMemory, and m_pBuffer.

179 {
180  if (m_bOwnsMemory) {
181  delete[] m_pBuffer;
182  }
183 }
const doublereal * m_pBuffer

Member Function Documentation

bool BufferStreamElemRaw::bOwnsMemory ( void  ) const

Definition at line 186 of file bufferstream_out_elem.cc.

References m_bOwnsMemory.

Referenced by DataManager::SetBufOutRaw().

187 {
188  return m_bOwnsMemory;
189 }
const doublereal * BufferStreamElemRaw::GetBufRaw ( void  ) const
virtual

Implements BufferStreamElem_base.

Definition at line 215 of file bufferstream_out_elem.cc.

References m_pBuffer.

216 {
217  return m_pBuffer;
218 }
const doublereal * m_pBuffer
std::ostream & BufferStreamElemRaw::Restart ( std::ostream &  out) const
virtual

Implements Elem.

Definition at line 221 of file bufferstream_out_elem.cc.

References WithLabel::GetLabel().

222 {
223  return out << "# BufferStreamElem(" << GetLabel() << "): "
224  "not implemented yet" << std::endl;
225 }
unsigned int GetLabel(void) const
Definition: withlab.cc:62

Here is the call graph for this function:

void BufferStreamElemRaw::SetBufRaw ( integer  n,
const doublereal p 
)
virtual

Definition at line 192 of file bufferstream_out_elem.cc.

References StreamContent::GetNumChannels(), m_bOwnsMemory, m_pBuffer, MBDYN_EXCEPT_ARGS, and BufferStreamElem_base::pSC.

Referenced by DataManager::SetBufOutRaw().

193 {
194  if (n != integer(pSC->GetNumChannels())) {
195  // error
196  std::ostringstream os;
197  os << "setting buffer pointer in BufferStreamElemRaw of wrong size (original=" << pSC->GetNumChannels() << ", new=" << n << ")";
198  throw ErrGeneric(MBDYN_EXCEPT_ARGS, os.str());
199  }
200 
201  if (m_bOwnsMemory) {
202  // error
203  throw ErrGeneric(MBDYN_EXCEPT_ARGS, "setting buffer pointer in BufferStreamElemRaw that owns its memory");
204  }
205 
206  if (m_pBuffer != 0) {
207  // error; maybe we could simply replace it, couldn't we?
208  throw ErrGeneric(MBDYN_EXCEPT_ARGS, "setting buffer pointer in BufferStreamElemRaw that has already been set");
209  }
210 
211  m_pBuffer = p;
212 }
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
virtual unsigned GetNumChannels(void) const =0
const doublereal * m_pBuffer
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

Member Data Documentation

bool BufferStreamElemRaw::m_bOwnsMemory
protected
const doublereal* BufferStreamElemRaw::m_pBuffer
protected

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