VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/groundInter.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: groundInter.h,v $ $Revision: 1.16 $ $State: Exp $
00007 *******************************************************************************/
00008 #ifndef groundInter_H_
00009 #define groundInter_H_
00010 
00014 
00017 
00018 
00019 #include <matrix/LibMatrix.h>
00020 #include "geometry/surface.h"
00021 
00022 class DtAttachedTerrain;
00023 class DtChordIntersectionRecord;
00024 class DtSimManager;
00025 
00026 
00031 #include "vrfobjcore/vrfobjcoreDefines.h"
00032 class DT_DLL_vrfobjcore DtGroundInteractionPt
00033 {
00034 public:
00035    DtGroundInteractionPt();
00036 
00037    DtGroundInteractionPt(const DtVector& localPosition, DtAttachedTerrain& refFrame);
00038 
00039    virtual ~DtGroundInteractionPt();
00040 
00042    DtGroundInteractionPt(const DtGroundInteractionPt& original);
00043 
00045    DtGroundInteractionPt& operator=(const DtGroundInteractionPt& original);
00046 
00048    DtGroundInteractionPt& operator=(const DtChordIntersectionRecord& intersectionRecord);
00049   
00051    void init(const DtVector& localPosition, DtAttachedTerrain& terrainAttachedTo);
00052 
00054    virtual bool isOnGround();
00055 
00059    virtual DtFloat64 calculatePosition();
00060 
00062    virtual void calculatePositionWithoutGround();
00063    
00064    virtual const DtVector& localPosition() const;
00065    virtual void setLocalPosition(const DtVector& position);
00066 
00067    virtual DtAttachedTerrain* terrainAttachedTo();
00068    virtual const DtAttachedTerrain* terrainAttachedTo() const;
00069    virtual void setTerrainAttachedTo(DtAttachedTerrain* newTerrainAttachedTo);
00070 
00071    virtual void setPosition(const DtVector& position);
00072 
00081    virtual DtVector calculateOnGroundPlanePosition() const;
00082 
00086    virtual const DtVector& position() const;
00087 
00088    virtual DtFloat64 altitude() const;
00089    virtual void setAltitude(DtFloat64 alt);
00090 
00091    virtual const DtVector& groundPosition() const;
00092    virtual void setGroundPosition(const DtVector& pos);
00093 
00094    virtual DtRoughnessSoilType soilType() const;
00095    virtual void setSoilType(DtRoughnessSoilType type);
00096 
00097    virtual const DtSurface& surface() const;
00098    virtual void setSurface(const DtSurface& surface);
00099 
00100    virtual void setParentPosition(const DtVector& pos);
00101    virtual void setParentOrientation(const DtDcm& orient);
00102    
00103 protected:
00104 
00105    bool testInvariant() const;
00106 
00107 
00108 protected:
00109 
00110    DtVector            myParentPosition;
00111    DtDcm               myParentOrientation;
00112    DtVector            myLocalPosition;
00113    DtVector            myPosition;
00114    DtVector            myGroundPosition;
00115    DtFloat64           myAltitude;
00116    DtRoughnessSoilType mySoilType;
00117    DtSurface           mySurface;
00118    DtAttachedTerrain*   myTerrainAttachedTo;
00119 };
00120 
00121 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)