|
| | SurfaceVelocityConveyorBelt (const agx::Vec3Vector &points) |
| | Constructor, based on list of points.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxModel::SurfaceVelocityConveyorBelt) |
| |
| virtual agx::Vec3f | calculateSurfaceVelocity (const agxCollide::LocalContactPoint &point, size_t index) const override |
| | Calculates the surface velocity based on the location of the contact point.
|
| |
| bool | disableDebugRendering () |
| | Disables the debug rendering.
|
| |
| bool | enableDebugRendering (agxSDK::Simulation *sim) |
| | Enables debug rendering of conveyor belt.
|
| |
| bool | getEnableDebugRendering () const |
| | Is debug rendering enabled?
|
| |
| const agx::Vec3Vector & | getPoints () const |
| | Returns the vector of points.
|
| |
| agx::Real | getSpeed () const |
| | Gets the speed of the conveyor belt. Negative speed is allowed and understood as the opposite direction.
|
| |
| const agx::Vec3Vector & | getUnitDirs () const |
| | Returns the vector of unit-length directions from point to point.
|
| |
| void | setSpeed (agx::Real speed) |
| | Sets the speed of the conveyor belt. Negative speed is allowed and understood as the opposite direction.
|
| |
| | Geometry (const agx::Name &name="") |
| | Constructor.
|
| |
| | Geometry (Shape *shape) |
| | Constructor.
|
| |
| | Geometry (Shape *shape, const agx::AffineMatrix4x4 &localShapeTransform) |
| | Constructor.
|
| |
| bool | add (Shape *shape, const agx::AffineMatrix4x4 &localTransform=agx::AffineMatrix4x4()) |
| | Add a shape to the geometry.
|
| |
| void | addGroup (agx::UInt32 id, bool forceContactUpdate=false) |
| | Add the specified id to a vector of group id, this will make a geometry part of the group id.
|
| |
| void | addGroup (const agx::Name &name, bool forceContactUpdate=false) |
| | Add the specified name to a vector of named group id, this will make a geometry part of the group name.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxCollide::Geometry) |
| |
| agx::Vec3 | calculateCenterOfMassOffset () const |
| |
| agx::SPDMatrix3x3 | calculateInertia (agx::Real mass) const |
| |
| agx::Real | calculateMass () const |
| |
| virtual agx::Vec3f | calculateSurfaceVelocity (const agxCollide::LocalContactPoint &point, size_t index) const |
| | Implement this method to get access to different surface velocities on the geometry:s surface.
|
| |
| agx::Real | calculateVolume () const |
| |
| bool | canCollide (const Geometry *otherGeometry) const |
| |
| Geometry * | clone (bool shallowCopyRenderData=false) const |
| | This method will make a deep copy of the geometry, excluding membership in any RigidBody.
|
| |
| void | cloneShapeRenderData (agxCollide::Shape *target, bool shallowCopy) const |
| | Clone the shape render data from the geometry shape onto target shape.
|
| |
| agxCollide::GroupIdCollection | findGroupIdCollection () const |
| |
| virtual const BoundingAABB * | getBoundingVolume () const |
| | The bounding volume for the geometry is made large enough to fit all shape bounds.
|
| |
| agx::Referenced * | getCustomData () |
| |
| const agx::Referenced * | getCustomData () const |
| |
| bool | getEnable () const |
| | Return whether the geometry should be used in intersection tests.
|
| |
| bool | getEnableCollisions () const |
| |
| bool | getEnableCollisions (const Geometry *otherGeometry) const |
| | This method is only based on what is set using setEnableCollisions().
|
| |
| bool | getEnableMassProperties () const |
| |
| agx::Physics::GeometryPtr | getEntity () const |
| |
| agx::Frame * | getFrame () |
| |
| const agx::Frame * | getFrame () const |
| |
| const GroupSet & | getGroupIDs () const |
| |
| const agx::Physics::CollisionGroupSetPtr & | getGroupSet () const |
| |
| agx::Int64 | getId () const |
| |
| agx::Vec3 | getLocalPosition () const |
| |
| agx::Quat | getLocalRotation () const |
| |
| const agx::AffineMatrix4x4 & | getLocalTransform () const |
| |
| agx::Material * | getMaterial () |
| |
| const agx::Material * | getMaterial () const |
| |
| const agx::Name & | getName () const |
| | Get the name.
|
| |
| agx::Frame * | getParentFrame () |
| |
| const agx::Frame * | getParentFrame () const |
| |
| agx::Vec3 | getPosition () const |
| |
| agx::PropertyContainer * | getPropertyContainer () |
| |
| const agx::PropertyContainer * | getPropertyContainer () const |
| |
| agx::RigidBody * | getRigidBody () |
| |
| const agx::RigidBody * | getRigidBody () const |
| |
| agx::Quat | getRotation () const |
| |
| const ShapeRefVector & | getShapes () const |
| |
| Space * | getSpace () |
| |
| const Space * | getSpace () const |
| |
| const agx::Vec3f & | getSurfaceVelocity () const |
| |
| agx::UInt32 | getSweepAndPruneIndex () const |
| |
| agx::AffineMatrix4x4 | getTransform () const |
| |
| bool | hasGroup (agx::UInt32 id) const |
| | This is performing a linear search among the collision group id for this Geometry.
|
| |
| bool | hasGroup (const agx::Name &name) const |
| | Searches for the named group name for this geometry and return true if it can be found.
|
| |
| bool | hasPropertyContainer () const |
| |
| bool | isEnabled () const |
| | Alias for getEnable Return whether the geometry should be used in intersection tests.
|
| |
| bool | isSensor () const |
| | Return true if geometry is a sensor.
|
| |
| bool | isSensorGeneratingContactData () const |
| |
| bool | remove (Shape *shape) |
| | Remove a shape from the geometry.
|
| |
| bool | remove (size_t index) |
| | Remove the i:th shape from the Geometry.
|
| |
| void | removeAllGroups (bool forceContactUpdate=false) |
| | Remove all collision group ids.
|
| |
| void | removeGroup (agx::UInt32 id, bool forceContactUpdate=false) |
| | Remove a collision group id from the vector of group ids.
|
| |
| void | removeGroup (const agx::Name &name, bool forceContactUpdate=false) |
| | Remove a named collision group from the vector of named group ids.
|
| |
| void | removeMaterial () |
| | Remove the material from the geometry.
|
| |
| bool | replace (Shape *oldShape, Shape *newShape, const agx::AffineMatrix4x4 &localTransform=agx::AffineMatrix4x4()) |
| |
| bool | replace (size_t shapeIndex, Shape *newShape, const agx::AffineMatrix4x4 &localTransform=agx::AffineMatrix4x4()) |
| | Replace a shape in the geometry.
|
| |
| bool | replaceShapeTransform (Shape *shape, const agx::AffineMatrix4x4 &newTransform) |
| | Replace the shape transform for the specified shape.
|
| |
| bool | replaceShapeTransform (size_t shapeIndex, const agx::AffineMatrix4x4 &newTransform) |
| | Replace the shape transform for the specified shapeIndex.
|
| |
| void | setCustomData (agx::Referenced *data) |
| | Store a ref_ptr to a user custom data class, which must be inherited from Referenced.
|
| |
| void | setEnable (bool flag) |
| | Enable/disable collision testing for geometry.
|
| |
| void | setEnableCollisions (bool collide) |
| | Should this geometry collide with any other geometries.
|
| |
| void | setEnableCollisions (const Geometry *otherGeometry, bool flag) |
| | Specify whether otherGeometry is allowed to collide with this geometry.
|
| |
| void | setEnableMassProperties (bool enableMassProperties) |
| | If set to true, this geometry will be included in mass property computation when part of a rigid body.
|
| |
| void | setGroupSet (agx::Physics::CollisionGroupSetPtr set) |
| | Set the collision group set of the geometry.
|
| |
| void | setLocalPosition (agx::Real x, agx::Real y, agx::Real z) |
| | Set the position of the geometry relative to its frame's parent frame.
|
| |
| void | setLocalPosition (const agx::Vec3 &p) |
| | Set the position of the geometry relative to its frame's parent frame.
|
| |
| void | setLocalRotation (const agx::EulerAngles &e) |
| | Set the rotation of the geometry relative to its frame's parent frame.
|
| |
| void | setLocalRotation (const agx::Quat &q) |
| | Set the rotation of the geometry relative to its frame's parent frame.
|
| |
| void | setLocalTransform (const agx::AffineMatrix4x4 &matrix) |
| | Assign the local transformation matrix for this geometry, ignoring any eventual parent transformation.
|
| |
| void | setMaterial (agx::Material *material) |
| | Set the material of the geometry.
|
| |
| void | setName (const agx::Name &name) |
| | Set the name of this Geometry.
|
| |
| bool | setParentFrame (agx::Frame *frame) |
| | Set the parent frame of this geometry's frame.
|
| |
| void | setPosition (agx::Real x, agx::Real y, agx::Real z) |
| | Set the position of the frame in world coordinates.
|
| |
| void | setPosition (const agx::Vec3 &p) |
| | Set the position of the frame in world coordinates.
|
| |
| void | setPropertyContainer (agx::PropertyContainer *container) |
| | Give this a new PropertyContainer.
|
| |
| void | setRotation (const agx::EulerAngles &e) |
| | Set the rotation of the geometry relative to world frame.
|
| |
| void | setRotation (const agx::OrthoMatrix3x3 &m) |
| | Set the rotation of the geometry relative to world frame.
|
| |
| void | setRotation (const agx::Quat &q) |
| | Set the rotation of the geometry relative to world frame.
|
| |
| void | setSensor (bool flag, bool generateContactData=true) |
| | Sets if the geometry should be a sensor.
|
| |
| void | setSurfaceVelocity (const agx::Vec3f &surfaceVelocity) |
| | Set the velocity of this geometry's surface in the geometry's local coordinate frame.
|
| |
| void | setTransform (const agx::AffineMatrix4x4 &matrix) |
| | Set the transform of the geometry.
|
| |
| virtual void | shapeUpdated () |
| |
| virtual void | updateBoundingVolume () |
| |
| | Referenced () |
| | Default constructor.
|
| |
| | Referenced (const Referenced &) |
| |
| template<typename T > |
| T * | as () |
| | Subclass casting.
|
| |
| template<typename T > |
| const T * | as () const |
| |
| template<typename T > |
| T * | asSafe () |
| | Safe subclass casting, return nullptr if template type does not match.
|
| |
| template<typename T > |
| const T * | asSafe () const |
| |
| int | getReferenceCount () const |
| |
| template<typename T > |
| bool | is () const |
| | Subclass test.
|
| |
| Referenced & | operator= (const Referenced &) |
| | Assignment operator. Will increment the number of references to the referenced object.
|
| |
| void | reference (void *ptr=nullptr) const |
| | Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
|
| |
| void | unreference (void *ptr=nullptr) const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| void | unreference_nodelete () const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| virtual | ~Serializable () |
| | Destructor for normal C++ use but hidden from SWIG bindings.
|
| |
| virtual const char * | getClassName () const |
| |
| bool | getEnableSerialization () const |
| |
| bool | getEnableUuidGeneration () |
| |
| agx::UInt32 | getIndex () const |
| | This index is given at creation of this object.
|
| |
| virtual StorageAgent * | getStorageAgent () const =0 |
| |
| agx::Uuid | getUuid () const |
| |
| bool | isFinished () const |
| |
| void | setEnableSerialization (bool flag) |
| | Set to false to disable serialization of this object.
|
| |
| void | setFinished () |
| | Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
|
| |
| void | setUuid (const agx::Uuid &uuid) |
| | Explicitly set a Uuid on a serializable object.
|
| |
This class models a conveyor belt using surface velocity.
Only the surface behavior of an ideal conveyor belt is modeled here, not inner elasticity, motor torque, ... agxCollide::Geometry's surface velocity has the limitation that it is only defined in one direction (relative to the geometry). SurfaceVelocityConveyorBelt extends this behavior by taking a vector of points which are supposed to represent connected line segments or a closed loop along the conveyor belt (e.g. the mid line). Surface velocity is adapted after each point, pointing to the next one. The last point does not automatically point to the first one - in order to get a closed loop, the first point has to be added at the end again explicitly.
SurfaceVelocityConveyorBelt inherits from agxCollide::Geometry and can be used instead of one.
Definition at line 58 of file SurfaceVelocityConveyorBelt.h.