8 #include "IMovableItemCallback.h"
9 #include "ISimGUICallback.h"
13 #include "IPhysicsMovableItem.h"
14 #include "IPhysicsBody.h"
16 #include "MovableItem.h"
105 Std_IsAboveMin((
int) 10, iVal,
true,
"Ellipsoid.LatSegments",
true);
131 Std_IsAboveMin((
int) 10, iVal,
true,
"Ellipsoid.LongSegments",
true);
147 bool Ellipsoid::SetData(
const std::string &strDataType,
const std::string &strValue,
bool bThrowError)
151 if(RigidBody::SetData(strType, strValue,
false))
154 if(strType ==
"MAJORRADIUS")
160 if(strType ==
"MINORRADIUS")
166 if(strType ==
"LATITUDESEGMENTS")
172 if(strType ==
"LONGTITUDESEGMENTS")
180 THROW_PARAM_ERROR(Al_Err_lInvalidDataType, Al_Err_strInvalidDataType,
"Data Type", strDataType);
185 void Ellipsoid::QueryProperties(CStdPtrArray<TypeProperty> &aryProperties)
187 RigidBody::QueryProperties(aryProperties);
189 aryProperties.Add(
new TypeProperty(
"MajorRadius", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
190 aryProperties.Add(
new TypeProperty(
"MinorRadius", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
191 aryProperties.Add(
new TypeProperty(
"LatitudeSegments", AnimatPropertyType::Integer, AnimatPropertyDirection::Set));
192 aryProperties.Add(
new TypeProperty(
"LongtitudeSegments", AnimatPropertyType::Integer, AnimatPropertyDirection::Set));
195 void Ellipsoid::Load(
CStdXml &oXml)
197 RigidBody::Load(oXml);
Base class file for all Animat simulation objects.
Declares the simulation recorder class.
Root namespace for the base simulation library for AnimatLab.
Declares the body part class.
Simulator * m_lpSim
The pointer to a Simulation.
virtual float MinorRadius()
Gets the minor axis radius.
virtual bool IntoElem()
Goes into the next element where the cursor is located.
virtual int LatSegments()
Gets the number of segments used to draw the ellipsoid in the latitude direction. ...
virtual float MajorRadius()
Gets the major axis radius.
float m_fltMinorRadius
The radius of the minor axis of the ellipsoid.
Class that stores information about types for QueryProperty information.
float m_fltMajorRadius
The radius of the major axis of the ellipsoid.
Declares the key frame class.
Declares the organism class.
virtual int GetChildInt(std::string strElementName)
Gets an integer value from the element with the specified name.
bool Std_IsAboveMin(int iMinVal, int iVal, bool bThrowError, std::string strParamName, bool bInclusiveLimit)
Tests if a number is above a minimum value.
virtual ~Ellipsoid()
Destructor.
virtual void Resize()
Called when this object has been resized.
Declares the activated item class.
Declares a light manager object.
Declares the bounding box class.
int m_iLatSegments
The number of segments used to draw in the latitude direction.
A standard xml manipulation class.
virtual int LongSegments()
Gets the number of segments used to draw the ellipsoid in the longtitude direction.
virtual bool OutOfElem()
Goes out of the element where the cursor is located.
Declares the data chart manager class.
Declares the rigid body class.
std::string Std_CheckString(std::string strVal)
Converts a string to upper case and trims it.
Declares the structure class.
Declares the odor type class.
Ellipsoid()
Default constructor.
Declares the ellipsoid class.
virtual float InverseDistanceUnits()
Gets the inverse distance units.
Declares the simulator class.
Declares the activated item manager class.
Declares the external stimuli manager class.
Declares the receptive field class.
virtual float GetChildFloat(std::string strElementName)
Gets a float value from the element with the specified name.
int m_iLongSegments
The number of segments used to draw in the longtitude direction.