VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtEntity3dFacade.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile:  $ $Revision:  $ $State:  $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvCore/vrvCore.h>
00015 #include <vrvCore/DtUniqueID.h>
00016 #include <vrvCore/DtGroundClampingUpdater.h>
00017 #include <string>
00018 
00019 class DtTaitBryan;
00020 class DtVector;
00021 
00022 namespace makVrv
00023 {
00024    class DtAgentManagerInterface;
00025    class DtArticulatedModelAgent;
00026    class DtDeadReckonGroundClampUpdaterAgent;
00027    class DtSceneObjectAgent;
00028 
00032    class DtEntity3dFacade
00033    {
00034    public:
00035 
00037       DtEntity3dFacade(DtAgentManagerInterface& sceneInterface, 
00038          DtElementID id, bool distribute = false);
00039 
00040 
00042       DtEntity3dFacade(DtAgentManagerInterface& sceneInterface, 
00043          DtElementID id, int modelset, bool distribute = false);
00044 
00046       virtual ~DtEntity3dFacade();
00047 
00051 
00052 
00054       virtual void setVisible(bool visible);
00055 
00057       virtual bool visible() const;
00058 
00060       virtual DtElementID elementId() const;
00061 
00063       virtual int modelSet() const;
00064 
00066       DtSceneObjectAgent& sceneObjectAgent();
00067 
00069 
00072 
00073 
00077       virtual void setPosition(const DtVector& position);
00078 
00084       virtual DtVector position() const;
00085 
00089       virtual void setVelocity(const DtVector& velocity);
00090 
00095       virtual DtVector velocity() const;
00096 
00098       virtual void setAcceleration(const DtVector& acceleration);
00099 
00104       virtual DtVector acceleration() const;
00105 
00107       virtual void setOrientation(const DtTaitBryan& orientation);
00108 
00110       virtual DtTaitBryan orientation() const;
00111 
00113       virtual void setAngularVelocity(const DtVector& angularVelocity);
00114 
00116       virtual DtVector angularVelocity() const;
00117 
00119 
00123 
00124 
00127       virtual void setDeadReckoningEnabled(bool position, bool velocity, 
00128          bool orientation);
00129 
00131       virtual void setSmoothingEnabled(bool enabled);
00132 
00134       virtual void setSmoothingPeriod(float period);
00135 
00138       virtual void setGroundClampingMode(
00139          DtGroundClampingUpdater::GroundClampingMode mode);
00140 
00142 
00146 
00147 
00149       virtual void setArticulatedModelDefinition(const std::string& modelName);
00150 
00152       virtual void setModelScalingEnabled(bool enabled);
00153 
00155       virtual void setPartOrientation(int partNumber,
00156          const DtTaitBryan& orientation,const DtVector& angularVelocity);
00157 
00159       virtual void setPartTranslation(int partNumber,
00160          const DtVector& translation,const DtVector& velocity);
00161 
00163       virtual void setPartVisibility(int partNumber, bool onOff);
00164 
00166 
00167    protected:
00168       DtElementID myElementId;
00169       int myModelSet;
00170       DtSceneObjectAgent* mySceneObjectAgent;
00171       DtArticulatedModelAgent* myModelAgent;      
00172       DtDeadReckonGroundClampUpdaterAgent* mySceneObjectUpdaterAgent;
00173    }; 
00174 
00175 }
00176 
00177 #define DtEntity3dFacade_INL_
00178 #include <vrvCore/DtEntity3dFacade.inl>
00179 #undef DtEntity3dFacade_INL_
00180 

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)