NL3D::CPSGravity Class Reference

a gravity class. Mass isn't taken in account (true with a uniform gravity model, near earth ) More...

#include <ps_force.h>

Inherits NL3D::CPSForceIntensityHelper.

List of all members.

Public Member Functions

virtual void computeForces (CPSLocated &target)
 Compute the force on the targets.
virtual void show ()
 Show the force (edition mode).
 CPSGravity (float g=9.8f)
virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialization
 NLMISC_DECLARE_CLASS (CPSGravity)
virtual bool isIntegrable (void) const
 check whether this force is integrable over time. The default is false
virtual void integrate (float date, CPSLocated *src, uint32 startIndex, uint32 numObjects, NLMISC::CVector *destPos=NULL, NLMISC::CVector *destSpeed=NULL, bool accumulate=false, uint posStride=sizeof(NLMISC::CVector), uint speedStride=sizeof(NLMISC::CVector)) const
 inherited from CPSForce
virtual void integrateSingle (float startDate, float deltaT, uint numStep, const CPSLocated *src, uint32 indexInLocated, NLMISC::CVector *destPos, bool accumulate=false, uint posStride=sizeof(NLMISC::CVector)) const
 Compute a trajectory on several steps for a single object, rather than a step for several object.

Protected Member Functions

virtual void setIntensity (float value)
 inherited from CPSForceIntensityHelper
virtual void setIntensityScheme (CPSAttribMaker< float > *scheme)
 inherited from CPSForceIntensityHelper

Detailed Description

a gravity class. Mass isn't taken in account (true with a uniform gravity model, near earth )

Definition at line 389 of file ps_force.h.


Constructor & Destructor Documentation

NL3D::CPSGravity::CPSGravity ( float  g = 9.8f  )  [inline]

Member Function Documentation

void NL3D::CPSGravity::computeForces ( CPSLocated target  )  [virtual]
void NL3D::CPSGravity::integrate ( float  date,
CPSLocated src,
uint32  startIndex,
uint32  numObjects,
NLMISC::CVector destPos = NULL,
NLMISC::CVector destSpeed = NULL,
bool  accumulate = false,
uint  posStride = sizeof(NLMISC::CVector),
uint  speedStride = sizeof(NLMISC::CVector) 
) const [virtual]
void NL3D::CPSGravity::integrateSingle ( float  startDate,
float  deltaT,
uint  numStep,
const CPSLocated src,
uint32  indexInLocated,
NLMISC::CVector destPos,
bool  accumulate = false,
uint  posStride = sizeof(NLMISC::CVector) 
) const [virtual]

Compute a trajectory on several steps for a single object, rather than a step for several object.

If the start date is lower than the creation date, the initial position is used NB : works only with integrable forces

Reimplemented from NL3D::CPSForce.

Definition at line 608 of file ps_force.cpp.

References NL3D::CPSForceIntensity::_K, NL3D::CPSLocated::_PInfo, NL3D::CPSLocated::CParametricInfo::Date, NL3D::FillBufUsingSubdiv(), NL3D::CPSLocated::isParametricMotionEnabled(), NL_PS_FUNC, nlassert, NL3D::CPSLocated::CParametricInfo::Pos, NL3D::ScaleFloatGE(), NL3D::CPSLocated::CParametricInfo::Speed, NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.

bool NL3D::CPSGravity::isIntegrable ( void   )  const [virtual]

check whether this force is integrable over time. The default is false

Reimplemented from NL3D::CPSForce.

Definition at line 502 of file ps_force.cpp.

References NL3D::CPSForceIntensity::_IntensityScheme, and NL_PS_FUNC.

NL3D::CPSGravity::NLMISC_DECLARE_CLASS ( CPSGravity   ) 
void NL3D::CPSGravity::serial ( NLMISC::IStream f  )  throw (NLMISC::EStream) [virtual]

serialization

Reimplemented from NL3D::CPSForceIntensityHelper.

Definition at line 494 of file ps_force.cpp.

References NL_PS_FUNC, and NL3D::CPSForceIntensityHelper::serial().

void NL3D::CPSGravity::setIntensity ( float  value  )  [protected, virtual]

inherited from CPSForceIntensityHelper

Reimplemented from NL3D::CPSForceIntensity.

Definition at line 672 of file ps_force.cpp.

References NL3D::CPSForceIntensity::_IntensityScheme, NL_PS_FUNC, and NL3D::CPSForce::renewIntegrable().

Referenced by CPSGravity().

void NL3D::CPSGravity::setIntensityScheme ( CPSAttribMaker< float > *  scheme  )  [protected, virtual]
void NL3D::CPSGravity::show (  )  [virtual]

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

Generated on Thu Jan 7 08:30:08 2010 for NeL by  doxygen 1.6.1