|
| | GranularBodySystem (Device *device=CpuDevice::instance()) |
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agx::Physics::GranularBodySystem) |
| |
| agx::Real | calculateTotalKineticEnergy () const |
| | calculate total kinetic energy of the granular body system
|
| |
| Physics::GranularBodyPtr | createParticle () |
| | Create a new particle in the particle system.
|
| |
| GranularBodyPtrVector | filterBodiesInGeometry (const agxCollide::Geometry *geometry, const GranularBodyPtrVector &granularBodies, bool onlyCheckForMidPoint) const |
| | Return a subset of specified granular bodies that intersect with a specified geometry.
|
| |
| GranularBodyPtrVector | getGranularBodiesInsideGeometry (const agxCollide::Geometry *geometry, bool onlyCheckForMidPoint) const |
| | Return all granular bodies that intersect with a specified geometry.
|
| |
| agx::Physics::GranularBodyPtrVector | getGranularBodyPtrVector () |
| |
| agx::Physics::GranularBodyPtrVector | getGranularBodyPtrVector () const |
| |
| MotionControl | getMotionControl (agx::Physics::GranularBodyPtr gptr) const |
| | Get the motion control of a granular body.
|
| |
| agx::Physics::GranularBodyPtrArray | getParticles () |
| |
| const agx::Physics::GranularBodyPtrArray | getParticles () const |
| |
| agx::Vec3 | getSingleParticleAngularVelocity (agx::Index particleId) |
| | Get angular velocity for a single particle.
|
| |
| void | preAllocateParticleGeometryContactStorage (size_t numElements) |
| | Pre-allocate memory for elements via the reserve function in the storages related to particle-geometry contact and constraint data with specified number of elements.
|
| |
| void | preAllocateParticlePairContactStorage (size_t numElements) |
| | Pre-allocate memory for elements via the reserve function in the storages related to particle-particle contact and constraint data with specified number of elements.
|
| |
| void | preAllocateParticleStorage (size_t numElements) |
| | Pre-allocate memory for elements via the reserve function in the particle data storage with specified number of elements.
|
| |
| void | setContactMode (agx::UInt contactMode) |
| | Set the contact mode of the GranularBodySystem.
|
| |
| void | setMotionControl (agx::Physics::GranularBodyPtr gptr, MotionControl motionControl) |
| | Set motion control of the granular body.
|
| |
| virtual void | setParticleMass (Real mass, bool updateExistingParticles=false) override |
| | Set granular body mass and inertia.
|
| |
| void | setSingleParticleAngularVelocity (agx::Index particleId, const agx::Vec3 &angularVelocity) |
| | Set angular velocity for a single particle.
|
| |
| virtual void | setSingleParticleRadius (agx::Index particleId, agx::Real radius) override |
| | Set single particle radius given a specified id.
|
| |
| virtual bool | setUpdateTask (Task *updateTask) override |
| | Set the task that will be executed whenever it is time to step the simulation.
|
| |
Public Member Functions inherited from agx::ParticleSystem |
| void | _setGravityTask (Task *task) |
| |
| void | addCollisionGroup (agx::UInt32 id, bool updateExistingParticles=true) |
| | Add the specified id to a vector of group id, this will make a all newly created particles part of the group id.
|
| |
| void | addCollisionGroup (const agx::Name &id, bool updateExistingParticles=true) |
| |
| void | addCollisionGroupParticle (agx::UInt32 id, agx::Physics::ParticlePtr ptr) |
| | Add the specified id to a vector of group id, this make the specific particle part of the group id.
|
| |
| void | addCollisionGroupParticle (const agx::Name &id, agx::Physics::ParticlePtr ptr) |
| |
| void | addCustomBufferInt (const agx::String &buffername) |
| | Adds a custom attribute Int buffer for the particle system.
|
| |
| void | addCustomBufferReal (const agx::String &buffername) |
| | Adds a custom attribute Real buffer for the particle system.
|
| |
| void | addCustomBufferReal32 (const agx::String &buffername) |
| | Adds a custom attribute Real32 buffer for the particle system.
|
| |
| void | addCustomBufferVec3 (const agx::String &buffername) |
| | Adds a custom attribute Vec3 buffer for the particle system.
|
| |
| virtual void | addNotification (agxSDK::Simulation *simulation) |
| | Triggers when particlesystem is added to the simulation.
|
| |
| void | applyAirForceDragSimple (agx::Real cd, agx::Real cr) |
| | Apply air drag to the particles according to formula: cd * velocity^2 + cr * velocity.
|
| |
| void | attach () |
| | Binds relevant buffer pointers to objects after inserting the particle system into the simulation.
|
| |
| agx::Real | calculateMeanRadius () const |
| | Returns the calculated mean radius of all the particles. Will return 0 if the system contains no particles.
|
| |
| agx::Real | calculateTotalParticleMass () const |
| | Calculates the total particle mass in the particle system.
|
| |
| agx::Real | calculateTotalParticleVolume () const |
| |
| void | clearAllParticles () |
| | Utility method for clearing all particles in the particle system.
|
| |
| void | clearContactData () |
| |
| void | colorParticlesWithLevelsInBound (const agx::Bound3 &bound, const agx::Vec4fVector &colors) |
| | Colors particles with different levels in the vertical z-direction inside a specified bound.
|
| |
| void | commitAllBuffers () |
| | Executes the "commit" command all buffers in the particle system.
|
| |
| void | commitColorBuffer () |
| | Executes the "commit" command on the buffer so that particle rendering can be updated properly.
|
| |
| Physics::ParticlePtr | createParticle () |
| | Create a new particle in the particle system.
|
| |
| agx::Physics::ParticleGeometryContactPtr | createParticleGeometryContact (agx::Physics::ParticlePtr particle, agx::Physics::GeometryPtr geometry) |
| |
| agx::Physics::ParticlePairContactPtr | createParticlePairContact (agx::Physics::ParticlePtr p1, agx::Physics::ParticlePtr p2) |
| |
| agxData::EntityRange | createParticles (size_t numParticles) |
| | Create a set of particles in the particle system.
|
| |
| void | destroyParticle (Physics::ParticlePtr particle) |
| | Destroy a particle.
|
| |
| void | destroyParticles (agxData::EntityRange particles) |
| | Destroy a range of particles.
|
| |
| void | destroyParticles (const agxData::EntityPtrVector &particles) |
| |
| void | destroyParticles (const Physics::ParticlePtrVector &particles) |
| | Destroy a list of particles.
|
| |
| virtual void | destroySingleParticle (agx::Index particleId) |
| | Destroy particle with specified id.
|
| |
| void | detach () |
| | Unbinds relevant buffer pointers from objects after removing the particle system into the simulation.
|
| |
| void | evaluateParticleDefaultMass () |
| | This should be called if the density of the bulk material is changed, so the particle default mass is updated accordingly.
|
| |
| agx::Physics::CollisionGroupSetPtr | getCollisionGroupSet () const |
| |
| agx::Int | getCustomBufferValueInt (agx::Index id, const agx::String &buffername) |
| | Returns a custom Int buffer value from a particle.
|
| |
| agx::Real | getCustomBufferValueReal (agx::Index id, const agx::String &buffername) |
| | Returns a custom Real buffer value from a particle.
|
| |
| agx::Real32 | getCustomBufferValueReal32 (agx::Index id, const agx::String &buffername) |
| | Returns a custom Real32 buffer value from a particle.
|
| |
| agx::Vec3 | getCustomBufferValueVec3 (agx::Index id, const agx::String &buffername) |
| | Returns a custom Vec3 buffer value from a particle.
|
| |
| const agxCollide::GeometryHashVector & | getDisabledCollisions () const |
| |
| bool | getEnableCollisions (const agxCollide::Geometry *geometry) const |
| |
| agxData::EntityStorage * | getGeometryParticleContactListStorage () |
| |
| Material * | getMaterial () |
| |
| const Material * | getMaterial () const |
| |
| size_t | getNumActiveParticleGeometryContacts () |
| | Returns the number of ACTIVE particle-geometry contacts, after the last conducted contact filtering.
|
| |
| size_t | getNumActiveParticleParticleContacts () |
| | Returns the number of ACTIVE particle-particle contacts, after the last conducted contact filtering.
|
| |
| size_t | getNumParticleGeometryContacts () |
| | Returns the number of particle-geometry contacts.
|
| |
| size_t | getNumParticleParticleContacts () |
| | Returns the number of particle-particle contacts.
|
| |
| size_t | getNumParticles () const |
| |
| Physics::ParticlePtr | getParticle (agx::Index particleId) |
| | Returns a particle from the particle system given a particle id.
|
| |
| const agx::Bound3 & | getParticleBound () |
| |
| agx::Vector< agx::Physics::ParticleGeometryContactPtr > | getParticleGeometryContacts () |
| | Returns the current ParticleGeometryContacts in the simulation.
|
| |
| agxData::EntityStorage * | getParticleGeometryContactStorage () |
| |
| agx::Index | getParticleIdFromIndex (agx::Index index) const |
| | Return the particle id for the specified particle entity array index.
|
| |
| Real | getParticleMass () const |
| |
| agxData::EntityStorage * | getParticlePairContactStorage () |
| |
| agx::Vector< agx::Physics::ParticlePairContactPtr > | getParticleParticleContacts () |
| | Returns the current ParticleParticle contacts in the simulation.
|
| |
| Real | getParticleRadius () const |
| |
| agx::Physics::ParticlePtrArray | getParticles () |
| |
| const agx::Physics::ParticlePtrArray | getParticles () const |
| |
| agxData::EntityStorage * | getParticleStorage () |
| |
| const agxData::EntityStorage * | getParticleStorage () const |
| |
| virtual agx::Vec4f | getSingleParticleColor (agx::Index particleId) |
| | Get particle color with specified id.
|
| |
| virtual agx::Vec3 | getSingleParticleForce (agx::Index particleId) |
| | Get particle velocity with specified id.
|
| |
| virtual agx::Real | getSingleParticleMass (agx::Index particleId) |
| | Get particle radius with specified id.
|
| |
| virtual agx::Vec3 | getSingleParticlePosition (agx::Index particleId) |
| | Get particle position with specified id.
|
| |
| virtual agx::Real | getSingleParticleRadius (agx::Index particleId) |
| | Get particle radius with specified id.
|
| |
| virtual agx::Vec3 | getSingleParticleVelocity (agx::Index particleId) |
| | Get particle velocity with specified id.
|
| |
| agx::Real | getTotalParticleGeometryContactForces () |
| |
| agx::Real | getTotalParticleParticleContactForces () |
| |
| Task * | getUpdateTask () |
| |
| bool | hasCollisionGroup (agx::UInt32 id) const |
| | This is performing a linear search among the group id for this particle.
|
| |
| bool | hasCollisionGroup (const agx::Name &id) const |
| |
| bool | hasCollisionGroupParticle (agx::UInt32 id, agx::Physics::ParticlePtr ptr) const |
| | This is performing a linear search among the group id for this particle.
|
| |
| bool | hasCollisionGroupParticle (const agx::Name &id, agx::Physics::ParticlePtr ptr) const |
| |
| bool | hasCustomBuffer (const agx::String &buffername, const agx::String &formatName) |
| | Returns true if the particle system has a buffer with the specified name and format.
|
| |
| bool | isParticleGeometryContactValid (Physics::ParticleGeometryContactPtr contact) |
| |
| bool | isParticlePairContactValid (Physics::ParticlePairContactPtr contact) |
| |
| bool | isValid (Physics::ParticlePtr particle) const |
| |
| bool | particleExistsWithId (agx::Index id) |
| | Check if there is a particle with a specified id.
|
| |
| void | removeCollisionGroup (agx::UInt32 id, bool updateExistingParticles=true) |
| | Remove a group id from the vector of group ids.
|
| |
| void | removeCollisionGroup (const agx::Name &id, bool updateExistingParticles=true) |
| |
| void | removeCollisionGroupParticle (agx::UInt32 id, agx::Physics::ParticlePtr ptr) |
| | Remove a group id from the vector of group ids.
|
| |
| void | removeCollisionGroupParticle (const agx::Name &id, agx::Physics::ParticlePtr ptr) |
| |
| bool | removeParticle (Physics::ParticlePtr particle) |
| | Tag a particle for removal at the end of the time step.
|
| |
| agx::Physics::ParticlePtrVector | removeParticlesOutsideBound (const agx::Bound3 &bound) |
| | Removes and returns particles in the specified particle system outside the given 3D bound.
|
| |
| void | setCustomBufferValueInt (agx::Index id, const agx::String &buffername, agx::Int val) |
| | Sets a custom Int buffer value to a particle.
|
| |
| void | setCustomBufferValueReal (agx::Index id, const agx::String &buffername, agx::Real val) |
| | Sets a custom Real buffer value to a particle.
|
| |
| void | setCustomBufferValueReal32 (agx::Index id, const agx::String &buffername, agx::Real32 val) |
| | Sets a custom Real32 buffer value to a particle.
|
| |
| void | setCustomBufferValueVec3 (agx::Index id, const agx::String &buffername, agx::Vec3 val) |
| | Sets a custom Vec3 buffer value to a particle.
|
| |
| void | setEnableCollisions (const agxCollide::Geometry *geometry, bool flag) |
| | Specify whether otherGeometry is allowed to collide with this geometry.
|
| |
| void | setMaterial (Material *material, bool updateExistingParticles=false) |
| | Set the default particle material.
|
| |
| virtual void | setParticleMass (Real mass, bool updateExistingParticles=false) |
| | Set particle mass.
|
| |
| void | setParticleRadius (Real radius, bool updateExistingParticles=false) |
| | Set the default particle radius of created particles, with option of updating existing particles.
|
| |
| virtual void | setSingleParticleColor (agx::Index particleId, const agx::Vec4f &color) |
| | Set particle color with specified id.
|
| |
| virtual void | setSingleParticleForce (agx::Index particleId, const agx::Vec3 &force) |
| | Set particle force with specified id.
|
| |
| virtual void | setSingleParticleMass (agx::Index particleId, agx::Real mass) |
| | Set particle radius with specified id.
|
| |
| virtual void | setSingleParticleRadius (agx::Index particleId, agx::Real radius) |
| | Set particle radius with specified id.
|
| |
| virtual void | setSingleParticleVelocity (agx::Index particleId, const agx::Vec3 &velocity) |
| | Set particle velocity with specified id.
|
| |
| void | setSpace (agxCollide::Space *space) |
| |
| virtual bool | setUpdateTask (Task *updateTask) |
| | Set the task that will be executed whenever it is time to step the simulation.
|
| |
| agxData::EntityRange | spawnParticles (const agx::Vec3Vector &positions) |
| | Spawn particles with defined positions.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInBound (const agx::Bound3 &bound, agx::Emitter::DistributionTable *sourceTable, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles In a specified bound from a distribution table.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInBound (const agx::Bound3 &bound, Real radius, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles in a specified bound.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInBoundHCP (const agx::Bound3 &bound, agx::Emitter::DistributionTable *sourceTable, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles in a specified bound from a distribution table using a Hexagonal-Close-Packing (HCP) lattice.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInBoundHCP (const agx::Bound3 &bound, Real radius, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles In a specified bound using a Hexagonal-Close-Packing (HCP) lattice.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInGeometry (agxCollide::Geometry *geometry, agx::Emitter::DistributionTable *sourceTable, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles In a specified geometry from a distribution table.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInGeometry (agxCollide::Geometry *geometry, Real radius, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles In a specified geometry.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInGeometryHCP (agxCollide::Geometry *geometry, agx::Emitter::DistributionTable *sourceTable, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles In a specified geometry from a distribution table using a Hexagonal-Close-Packing (HCP) lattice.
|
| |
| agx::Physics::ParticlePtrVector | spawnParticlesInGeometryHCP (agxCollide::Geometry *geometry, Real radius, const agx::Vec3 &spacing, agx::Real jitterFactor=agx::Real(0)) |
| | Spawns particles In a specified geometry using a Hexagonal-Close-Packing (HCP) lattice.
|
| |
| Vec3 | sumForceMagnitudes (RigidBody *body) |
| | Sums force magnitudes from particle system onto rigid body.
|
| |
| void | updateShouldRender () |
| | Update the shouldRender variable in particles given renders states such as clipping and filtering.
|
| |
| | Component (const agx::Name &name=agx::Name(), agx::Model *model=agx::Component::ClassModel(), agx::Device *device=nullptr) |
| |
| virtual void | addObject (agx::Object *object, bool assignContext=true) |
| | Add an object to the component.
|
| |
| virtual String | autoComplete (const String &partialName, StringVector &matchingNames) const |
| |
| virtual void | buildNavigationTree (agxJson::Value &eNode) const override |
| |
| void | configure (Model *model) |
| |
| virtual void | configure (TiXmlElement *eComponent) override |
| |
| agx::Device * | getDevice () |
| |
| template<typename T > |
| T * | getDevice () |
| |
| const agx::Device * | getDevice () const |
| |
| template<typename T > |
| const T * | getDevice () const |
| |
| size_t | getNumObjects (const agx::Name &name) const |
| |
| agx::Object * | getObject (const agx::Name &name, agx::Model *model, size_t index=0) |
| |
| const agx::Object * | getObject (const agx::Name &name, agx::Model *model, size_t index=0) const |
| |
| agx::Object * | getObject (const agx::Name &name, size_t index=0) |
| |
| template<typename T > |
| T * | getObject (const agx::Name &name, size_t index=0) |
| |
| const agx::Object * | getObject (const agx::Name &name, size_t index=0) const |
| |
| template<typename T > |
| const T * | getObject (const agx::Name &name, size_t index=0) const |
| |
| const agx::ObjectRefVector & | getObjects () const |
| |
| template<typename T > |
| void | getObjects (agx::ObjectPtrVector &result, bool recursive=false) const |
| | Returns All child objects of a specified type in the result container.
|
| |
| void | getObjects (agx::ObjectPtrVector &result, const agx::Model *model, bool recursive=false) const |
| |
| virtual Object * | getResourceImpl (const Path &path, agx::Model *model) override |
| |
| virtual void | printSubtree () const override |
| |
| void | printSubtree (std::ostream &stream, int depth=0) const |
| |
| virtual void | rebind () override |
| |
| void | removeAllObjects () |
| | Remove all components.
|
| |
| virtual void | removeObject (agx::Object *object) |
| | Remove an object from the component.
|
| |
| void | removeObject (const agx::Name &name, size_t index=0) |
| | Remove an object with a specified name (and optional index) from the component.
|
| |
| virtual void | snapshot (TiXmlNode *eParent, const String &directory) const override |
| |
| void | traverse (ComponentVisitor *) |
| |
| void | traverse (const TraverseCallback &callback) |
| |
| | Object (const Name &name=Name(), Model *model=Object::ClassModel()) |
| |
| void | addListener (EventListener *listener) |
| |
| virtual void | buildNavigationTree (agxJson::Value &eNode) const |
| |
| virtual void | configure (TiXmlElement *) |
| |
| agx::String | fullName () const |
| |
| agx::String | fullPath () const |
| |
| agx::String | fullPath (const agx::Object *root) const |
| |
| template<typename T > |
| T * | getAutoScopedResource (const agx::Path &path) |
| |
| template<typename T > |
| const T * | getAutoScopedResource (const agx::Path &path) const |
| |
| agx::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) |
| |
| const agx::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const |
| |
| agx::Object * | getContext () |
| |
| template<typename T > |
| T * | getContext () |
| |
| const agx::Object * | getContext () const |
| |
| template<typename T > |
| const T * | getContext () const |
| |
| agx::UInt32 | getId () const |
| |
| const agx::Name & | getImplementationName () const |
| |
| agx::Model * | getModel () |
| |
| const agx::Model * | getModel () const |
| |
| const agx::Name & | getName () const |
| |
| agx::Object * | getNextSibling () |
| |
| const agx::Object * | getNextSibling () const |
| |
| agx::Path | getPath () const |
| |
| agx::Path | getPath (const agx::Object *root) const |
| |
| template<typename T > |
| T * | getResource (const agx::Path &path) |
| |
| template<typename T > |
| const T * | getResource (const agx::Path &path) const |
| |
| agx::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) |
| |
| const agx::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) const |
| |
| virtual agx::Object * | getResourceImpl (const agx::Path &path, agx::Model *model) |
| |
| agx::Object * | getRootContext () |
| |
| const agx::Object * | getRootContext () const |
| |
| bool | hasListener (EventListener *listener) |
| |
| bool | hasParent (const agx::Object *node) const |
| |
| bool | isUnique () const |
| |
| virtual void | printSubtree () const |
| |
| virtual void | rebind () |
| |
| void | removeListener (EventListener *listener) |
| |
| virtual void | save (TiXmlElement *) const |
| |
| virtual void | setContext (agx::Object *context) |
| |
| void | setId (UInt32 id) |
| |
| void | setModel (agx::Model *model) |
| | Set the object model (handled automatically).
|
| |
| void | setName (const agx::Name &name) |
| | Set the name of the object.
|
| |
| virtual void | snapshot (TiXmlNode *, const String &) const |
| |
| | 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.
|
| |