AnimatLab
2
Test
|
Classes | |
class | ControlPointTransformFunctor |
Public Types | |
typedef std::vector< osg::ref_ptr< ControlPoint > > | PointListType |
Public Member Functions | |
OsgLinearPath () | |
~OsgLinearPath () | |
bool | AddControlPoint (const osg::Vec3d point, const double time) |
bool | AddControlPoint (ControlPoint *p) |
virtual bool | AddItem (const std::string &strItemType, const std::string &strXml, bool bThrowError=true, bool bDoNotInit=false) |
Adds a new object to this parent. More... | |
virtual bool | AfterPathTime (double dblTime) |
virtual bool | BeforePathTime (double dblTime) |
void | ClearAllControlPoints () |
virtual osg::Node * | CreateTestGeom (const bool showControlPoints=false, const unsigned int numSamples=3, ControlPointTransformFunctor *xform=NULL) |
create and return a scene graph making up the curve More... | |
virtual double | EndTime () |
virtual void | EndTime (double dblTime, bool bSortPaths=true) |
ControlPoint * | GetControlPoint (const unsigned int i) |
osg::Vec3d & | GetInterpPosition () |
unsigned int | GetNumberOfControlPoints () |
osg::Vec3d | GetPositionAtTime (const double t) |
virtual void | Initialize () |
Initializes this object. More... | |
virtual bool | Interpolate (const double t) |
Interpolate spline at time t. More... | |
virtual CStdColor * | LineColor () |
Gets the LineColor color value. More... | |
virtual void | LineColor (CStdColor &aryColor) |
Sets the LineColor color. More... | |
virtual void | LineColor (float *aryColor) |
Sets the LineColor color. More... | |
virtual void | LineColor (std::string strXml) |
Loads the LineColor color from an XML data packet. More... | |
virtual void | Load (StdUtils::CStdXml &oXml) |
Loads the item using an XML data packet. More... | |
virtual VsScriptedSimulationWindow * | ParentWindow () |
virtual void | ParentWindow (VsScriptedSimulationWindow *lpWnd) |
virtual std::string | PartID () |
Gets the GUID ID of the part this camera will track while on this path. More... | |
virtual void | PartID (std::string strID) |
Sets the GUID ID of the part this camera will track while on this path. More... | |
virtual void | QueryProperties (CStdPtrArray< TypeProperty > &aryProperties) |
virtual void | RedrawCurve () |
virtual bool | RemoveItem (const std::string &strItemType, const std::string &strID, bool bThrowError=true) |
Removes a child item from this parent. More... | |
virtual void | ResetSimulation () |
Resets the simulation back to time 0. More... | |
virtual bool | SetData (const std::string &strDataType, const std::string &strValue, bool bThrowError=true) |
Set a variable based on a string data type name. More... | |
virtual bool | ShowWaypoints () |
virtual void | ShowWaypoints (bool bVal) |
virtual void | SimStarting () |
Called just before the simulation starts. More... | |
virtual double | StartTime () |
virtual void | StartTime (double dblTime, bool bSortPaths=true) |
virtual BodyPart * | TrackBody () |
virtual bool | Visible () |
virtual void | Visible (bool bVal) |
virtual bool | VisibleInSim () |
virtual void | VisibleInSim (bool bVal) |
virtual bool | WithinPathTime (double dblTime) |
Public Member Functions inherited from AnimatSim::AnimatBase | |
AnimatBase () | |
Constructs an AnimatBase object. More... | |
virtual | ~AnimatBase () |
Destroys the AnimatBase object.. More... | |
virtual void | AfterResetSimulation () |
Called after a simulation reset for some objects. More... | |
virtual long | CalculateSnapshotByteSize () |
Calculates the snapshot byte size. More... | |
virtual void | Copy (CStdSerialize *lpSource) |
virtual void | Enabled (bool bVal) |
Tells whether this item is enabled or not. This is not actually used for all objects, only specific ones. I am putting it in the base class though to prevent numerous duplications. More... | |
virtual bool | Enabled () |
Tells whether this item is enabled or not. This is not actually used for all objects, only specific ones. I am putting it in the base class though to prevent numerous duplications. More... | |
virtual float * | GetDataPointer (const std::string &strDataType) |
Returns a float pointer to a data item of interest in this object. More... | |
virtual NeuralModule * | GetNeuralModule () |
Gets the neural module. More... | |
virtual Node * | GetNode () |
Gets the node. More... | |
virtual Simulator * | GetSimulator () |
Gets the simulator pointer. More... | |
virtual Structure * | GetStructure () |
Gets the structure for this node. More... | |
virtual bool | HasProperty (const std::string &strName) |
Queries this object if it has a property with the given name. More... | |
virtual std::string | ID () |
Gets the unique GUID ID of this object. More... | |
virtual void | ID (std::string strValue) |
Sets the unique GUID ID of the object. More... | |
virtual void | Kill (bool bState=true) |
Kills. More... | |
virtual void | LoadKeyFrameSnapshot (byte *aryBytes, long &lIndex) |
Loads a key frame snapshot. More... | |
virtual std::string | Name () |
Gets the name of this object. More... | |
virtual void | Name (std::string strValue) |
Sets the name of the object. Blank is acceptable. More... | |
virtual AnimatPropertyType | PropertyType (const std::string &strName) |
virtual void | QueryProperties (CStdPtrArray< TypeProperty > &aryProperties) |
Queries this object for a list of properties that can be changed using SetData. More... | |
virtual void | ReInitialize () |
Re-initialize this object. More... | |
virtual void | Reset () |
Resets this object. More... | |
virtual void | RigidBodyAdded (std::string strID) |
virtual void | RigidBodyRemoved (std::string strID) |
virtual void | SaveKeyFrameSnapshot (byte *aryBytes, long &lIndex) |
Saves a key frame snapshot. More... | |
virtual bool | Selected () |
Tells if this items is selected or not. More... | |
virtual void | Selected (bool bValue, bool bSelectMultiple) |
Selects this object. More... | |
virtual bool | SetData (const std::string &strDataType, const float fltValue, bool bThrowError=true) |
Set a variable based on a string data type name. More... | |
virtual bool | SetData (const std::string &strDataType, const long lValue, bool bThrowError=true) |
Set a variable based on a string data type name. More... | |
virtual void | SetSystemPointers (Simulator *lpSim, Structure *lpStructure, NeuralModule *lpModule, Node *lpNode, bool bVerify) |
Sets the system pointers. More... | |
virtual void | SimPausing () |
Called just before the simulation pauses. More... | |
virtual void | SimStopping () |
Called just before the simulation stops. More... | |
virtual void | StepSimulation () |
Step the simulation for this object. More... | |
virtual void | TimeStepModified () |
Notification method that the time step modified has been modified. Objects should recalculate any slice times as needed. More... | |
virtual std::string | Type () |
returns the string type name of this object. More... | |
virtual void | Type (std::string strValue) |
Sets the class type for this object. More... | |
virtual void | VerifySystemPointers () |
Verify that system pointers have been set correctly. More... | |
virtual void | VisualSelectionModeChanged (int iNewMode) |
Visual selection mode changed. More... | |
Protected Member Functions | |
virtual void | AddWaypoint (std::string strXml) |
Creates and adds a waypoint. More... | |
bool | BuildCurve () |
void | FindCurrentWaypoint (const double t) |
virtual int | FindWaypointPos (std::string strID, bool bThrowError=true) |
Finds the array index for the waypoint with the specified ID. More... | |
void | InvalidateCurve () |
mark curve as invalid (needs to be regenerated) More... | |
osg::ref_ptr< ControlPoint > | LoadWaypoint (CStdXml &oXml) |
Loads a camera path waypoint. More... | |
virtual void | MakeVisible (bool bVal) |
void | RemoveCurve () |
virtual void | RemoveWaypoint (std::string strID, bool bThrowError=true) |
Removes the waypoint with the specified ID. More... | |
Protected Attributes | |
bool | m_bShowWaypoints |
bool | m_bVisible |
bool | m_bVisibleInSim |
PointListType | m_ControlPoints |
bool | m_CurveIsValid |
double | m_dblEndTime |
double | m_dblStartTime |
int | m_iCurrentWaypointIdx |
osg::Vec3d | m_Interpolated |
ControlPoint * | m_lpCurrentWaypoint |
VsScriptedSimulationWindow * | m_lpParentWindow |
BodyPart * | m_lpTrackBody |
osg::ref_ptr< osg::Node > | m_osgSpline |
std::string | m_strPartID |
CStdColor | m_vLineColor |
Protected Attributes inherited from AnimatSim::AnimatBase | |
bool | m_bEnabled |
Tells if this item is enabled or not. If it is not enabled then it is not run. | |
bool | m_bSelected |
Tells whether the object is selected or not. | |
AnimatSim::Behavior::NeuralModule * | m_lpModule |
The pointer to this items parentNeuralModule. If this is not relevant for this object then this is NULL. | |
Node * | m_lpNode |
The pointer to this items parent Node. If this is not relevant for this object then this is NULL. | |
Simulator * | m_lpSim |
The pointer to a Simulation. | |
AnimatSim::Environment::Structure * | m_lpStructure |
The pointer to this items parent Structure. If this is not relevant for this object then this is NULL. | |
std::string | m_strID |
The unique Id for this object. | |
std::string | m_strName |
The name for this object. | |
std::string | m_strType |
The type for this object. Examples are Box, Plane, Neuron, etc.. | |
Definition at line 87 of file VortexAnimatSim/OsgLinearPath.h.
VortexAnimatSim::Visualization::OsgLinearPath::OsgLinearPath | ( | ) |
description: constructor
Definition at line 33 of file VortexAnimatSim/OsgLinearPath.cpp.
VortexAnimatSim::Visualization::OsgLinearPath::~OsgLinearPath | ( | ) |
description: destructor
Definition at line 56 of file VortexAnimatSim/OsgLinearPath.cpp.
bool VortexAnimatSim::Visualization::OsgLinearPath::AddControlPoint | ( | const osg::Vec3d | point, |
const double | time | ||
) |
OsgLinearPath::AddControlPoint
description: add a control point
param: point - new control point to add to the list
param: time - time of arrivate at control point
return: true if successfully added control point, else false
Definition at line 74 of file VortexAnimatSim/OsgLinearPath.cpp.
Referenced by LoadWaypoint().
bool VortexAnimatSim::Visualization::OsgLinearPath::AddControlPoint | ( | ControlPoint * | p | ) |
OsgLinearPath::AddControlPoint
description: add a control point
param: p - control point to add
return: true if successfully added control point, else false
Definition at line 96 of file VortexAnimatSim/OsgLinearPath.cpp.
References InvalidateCurve().
|
virtual |
Adds a new object to this parent.
Generic method to add a new child item to this parent by specifying a string item type descriptor and an xml packet that can be used to load in the new object. The GUI uses this method to create new items that were added with the user interface. The item type lets the method determine what type of item is being created, like synapse, neuron, body part, etc.. It then gets the modulename, classname, and type from the xml and calls CreateObject to create the appropriate type of object. Then it passes in the xml packet to the new objects load method and does any needed initialization and adds it to the parent.
strItemType | String descriptor of the type of item that is being created. |
strXml | XML packet that is used to create and load the new item. |
bThrowError | If true then throw an error if there is a problem, otherwise return false. |
Reimplemented from AnimatSim::AnimatBase.
Definition at line 785 of file VortexAnimatSim/OsgLinearPath.cpp.
References AddWaypoint(), and StdUtils::Std_CheckString().
|
protectedvirtual |
Creates and adds a waypoint.
strXml | The xml data packet for loading the waypoint. |
Definition at line 727 of file VortexAnimatSim/OsgLinearPath.cpp.
References LoadWaypoint().
Referenced by AddItem().
|
protected |
figure the curve's coefficients at the control points so that Evaluation can be accomplished.
description: Calculate unit-vectors and velocities between points.
Definition at line 170 of file VortexAnimatSim/OsgLinearPath.cpp.
Referenced by CreateTestGeom(), and Interpolate().
void VortexAnimatSim::Visualization::OsgLinearPath::ClearAllControlPoints | ( | ) |
OsgLinearPath::ClearAllControlPoints
description: clear all control points
Definition at line 145 of file VortexAnimatSim/OsgLinearPath.cpp.
References InvalidateCurve().
|
virtual |
create and return a scene graph making up the curve
description: create and return a scene graph making up the curve
param: showControlPoints - true if scene graph includes control points
param: numSamples - number of points between each control point
param: xform - position transformation functor
return: scene graph root node
Definition at line 288 of file VortexAnimatSim/OsgLinearPath.cpp.
References BuildCurve(), and Interpolate().
|
protectedvirtual |
Finds the array index for the waypoint with the specified ID.
strID | ID of waypoint to find |
bThrowError | If true and ID is not found then it will throw an error, else return NULL |
If | bThrowError is true and ID is not found. |
Definition at line 770 of file VortexAnimatSim/OsgLinearPath.cpp.
References AnimatSim::AnimatBase::ID(), StdUtils::Std_ToUpper(), and StdUtils::Std_Trim().
Referenced by RemoveWaypoint().
|
virtual |
Initializes this object.
After an object is loaded in it must be initialized before it can be used. This allows the object to retrieve any pointers or setup memory that it will need during execution. Each object is responsible for initializing any of its child objects, so you simply need to call this method on the containing class to init all child objects. It also calls VerifySystemPointers to make sure that the system pointers have been setup correctly.
Reimplemented from AnimatSim::AnimatBase.
Definition at line 819 of file VortexAnimatSim/OsgLinearPath.cpp.
References AnimatSim::Simulator::FindByID(), AnimatSim::AnimatBase::m_lpSim, and StdUtils::Std_IsBlank().
Referenced by VortexAnimatSim::Visualization::VsScriptedSimulationWindow::AddCameraPath(), and SetData().
|
virtual |
Interpolate spline at time t.
description: Interpolate spline at time t
param: t - interpolation time in seconds
return: true if successfully interpolated the spline, else false
Definition at line 252 of file VortexAnimatSim/OsgLinearPath.cpp.
References BuildCurve().
Referenced by CreateTestGeom(), and VortexAnimatSim::Visualization::VsScriptedSimulationWindow::TrackCamera().
|
protected |
mark curve as invalid (needs to be regenerated)
OsgLinearPath::InvalidateCurve
description: mark curve as invalid (needs to be regenerated)
Definition at line 159 of file VortexAnimatSim/OsgLinearPath.cpp.
Referenced by AddControlPoint(), and ClearAllControlPoints().
|
virtual |
Gets the LineColor color value.
Definition at line 421 of file VortexAnimatSim/OsgLinearPath.cpp.
Referenced by LineColor(), and SetData().
|
virtual |
Sets the LineColor color.
[in,out] | aryColor | The color data. |
Definition at line 431 of file VortexAnimatSim/OsgLinearPath.cpp.
|
virtual |
Sets the LineColor color.
[in,out] | aryColor | The color data. |
Definition at line 445 of file VortexAnimatSim/OsgLinearPath.cpp.
References LineColor().
|
virtual |
Loads the LineColor color from an XML data packet.
strXml | The color data in an xml data packet |
Definition at line 460 of file VortexAnimatSim/OsgLinearPath.cpp.
References LineColor().
|
virtual |
Loads the item using an XML data packet.
This method is responsible for loading the structure from a XMl configuration file. You should call this method even in your overriden function becuase it loads all of the base properties for this object like ID and Name. It also includes this object in the simulators AddToObjectList so that the simulator knows about this object when you do a FindObject call. If you do not call this base method then it is up to you to add your item to the simulators list of objects.
[in,out] | oXml | The CStdXml xml data packet to load. |
Reimplemented from AnimatSim::AnimatBase.
Referenced by VortexAnimatSim::Visualization::VsScriptedSimulationWindow::LoadCameraPath().
|
protected |
Loads a camera path waypoint.
[in,out] | oXml | The xml data packet to load. |
Definition at line 873 of file VortexAnimatSim/OsgLinearPath.cpp.
References AddControlPoint(), and AnimatSim::AnimatBase::m_lpSim.
Referenced by AddWaypoint().
|
virtual |
Gets the GUID ID of the part this camera will track while on this path.
Definition at line 475 of file VortexAnimatSim/OsgLinearPath.cpp.
Referenced by SetData().
|
virtual |
Sets the GUID ID of the part this camera will track while on this path.
strID | GUID ID for the part. |
Definition at line 485 of file VortexAnimatSim/OsgLinearPath.cpp.
|
virtual |
Removes a child item from this parent.
This is a generic method that is used to delete a child object from this parent. The GUI uses this method to remove objects from the simulation that have been deleted in the UI. The item type lets the method determine what type of item is being deleted, like synapse, neuron, body part, etc.. The ID is then used to delete that specific item.
strItemType | String descriptor of the type of item that is being created. |
strID | Unique ID of the item that will be removed. |
bThrowError | If true then throw an error if there is a problem, otherwise return false. |
Reimplemented from AnimatSim::AnimatBase.
Definition at line 802 of file VortexAnimatSim/OsgLinearPath.cpp.
References RemoveWaypoint(), and StdUtils::Std_CheckString().
|
protectedvirtual |
Removes the waypoint with the specified ID.
strID | ID of the waypoint to remove |
bThrowError | If true and ID is not found then it will throw an error. |
If | bThrowError is true and ID is not found. |
Definition at line 750 of file VortexAnimatSim/OsgLinearPath.cpp.
References FindWaypointPos().
Referenced by RemoveItem().
|
virtual |
Resets the simulation back to time 0.
This method calls the ResetSimulation method on all subitems in order to reset the simulation back to the beginning.
Reimplemented from AnimatSim::AnimatBase.
Definition at line 608 of file VortexAnimatSim/OsgLinearPath.cpp.
|
virtual |
Set a variable based on a string data type name.
This is a generic method that can be used to set any variable in an AnimatBase object by specifying the name of the variable and a string representation of that data. The GUI uses this method to set data into variables in the simulation when the user changes them in the UI. The value string can be as simple as a float or int, or as complex as an xml packet. It is the developers responsibilty to know what type of data is needed and to process it accordingly.
strDataType | string name of the data type to set. |
strValue | The string value of the data. It is up to the developer to determine what this should be. For example, in most cases it is simply a float and you just have to convert it to a float and make the appropriate mutator method call. However, it can be any type of string, including an entire xml packet. It is the developers responsibility to know how to set and process the data as required. |
bThrowError | true to throw error if there is a problem. If false then it will not return an error, just return false. |
Reimplemented from AnimatSim::AnimatBase.
Definition at line 618 of file VortexAnimatSim/OsgLinearPath.cpp.
References Initialize(), LineColor(), PartID(), StdUtils::Std_CheckString(), and StdUtils::Std_ToBool().
|
virtual |
Called just before the simulation starts.
This method is called on each AnimatBase object when the simulation starts. It allows it to perform any intialization prior to the beginning of the simulation that is needed.
Reimplemented from AnimatSim::AnimatBase.
Definition at line 603 of file VortexAnimatSim/OsgLinearPath.cpp.