ExternaDeformer is a TerrainToolInstance class that models deformer surfaces that are not attached to a shovel object.
More...
|
| ExternalDeformer (agx::RigidBody *parentBody) |
| Empty constructor, for creating a external deformer body to which can be added multiple deformers later.
|
|
| ExternalDeformer (agx::RigidBody *parentBody, const agx::Line &cuttingEdge, const agx::Line &topEdge, const agx::Vec3 &cuttingDirection) |
| Basic constructor.
|
|
void | addDeformer (const agx::Line &cuttingEdge, const agx::Line &topEdge, const agx::Vec3 &cuttingDirection) |
| Add new deformer.
|
|
bool | collisionGeometriesAreInsideTerrain (Terrain *terrain) const |
| Check if any of the collision geometries are inside terrain bounds.
|
|
Terrain * | getActiveTerrain () const |
|
DeformController * | getDeformController () const |
|
agx::RigidBody * | getRigidBody () const |
|
const agxCollide::GeometryRefVector & | getVoxelCollisionGeometries () const |
|
bool | isActive () const |
|
virtual bool | isValid () const override |
|
void | addEventListener (agxSDK::StepEventListener *listener) |
| Add a StepEventListener which follows the shovel - ie added and removed from a simulation at the same time as the shovel is added/removed from the simulation.
|
|
agxSDK::Simulation * | getSimulation () const |
|
virtual bool | isValid () const =0 |
|
bool | removeEventListener (agxSDK::StepEventListener *listener) |
| Remove an added StepEventListener from the shovel.
|
|
| 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 |
|
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.
|
|
|
typedef Event2< Component *, Object * > | ObjectEvent |
| Event when adding removing child objects.
|
|
typedef Callback1< Object * > | TraverseCallback |
|
typedef agx::observer_ptr< const Event > | EventConstObserver |
|
typedef agx::ref_ptr< const Event > | EventConstRef |
|
typedef agx::observer_ptr< Event > | EventObserver |
|
typedef agx::Vector< EventObserver > | EventObserverVector |
|
typedef agx::VectorPOD< Event * > | EventPtrVector |
|
typedef agx::ref_ptr< Event > | EventRef |
|
typedef agx::Vector< EventRef > | EventRefVector |
|
static Component * | _load (TiXmlElement *eComponent, Device *device) |
|
static agx::Model * | ClassModel () |
|
static Component * | load (const Path &path, const Name &implementation, Device *device, const Path &_namespace=Path()) |
|
static Component * | load (const String &path, const Path &_namespace=Path()) |
|
static Component * | load (const String &path, Device *device, const Path &_namespace=Path()) |
|
static Component * | load (TiXmlElement *eComponent, Device *device) |
|
static agx::Model * | ClassModel () |
|
static agx::String | generateName (const agx::String &bindPath) |
|
static const HashSet< Object * > & | getActiveObjects () |
|
static bool | getEnableRebind () |
| Should rebinding be allowed? Right now a global setting.
|
|
static Object * | load (const String &path, Device *device, const String &type, const String &attribute, const String &value) |
|
template<typename T > |
static T * | load (const String &path, Device *device, const String &type, const String &attribute, const String &value) |
|
static Object * | load (const String &path, Device *device, const String &type="", size_t instance=0) |
|
template<typename T > |
static T * | load (const String &path, Device *device, const String &type="", size_t instance=0) |
|
static void | load (const String &path, Device *device, ObjectPtrVector &loadedObjects) |
|
static Object * | load (TiXmlElement *eObject, Device *device) |
|
template<typename T > |
static T * | load (TiXmlElement *eObject, Device *device) |
|
static TiXmlDocument | openDocument (const String &path) |
|
static void | setEnableRebind (bool flag) |
| Sets if rebinding of objects should be allowed (Right now a global setting).
|
|
template<typename T > |
static bool | ValidateCast (const Referenced *object) |
|
static void | setEnableUuidGeneration (bool flag) |
| Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
|
|
ObjectEvent | addObjectEvent |
|
ObjectEvent | removeObjectEvent |
|
static DeleteHandler * | getDeleteHandler () |
|
static void | setDeleteHandler (DeleteHandler *handler) |
| Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
|
|
ExternaDeformer is a TerrainToolInstance class that models deformer surfaces that are not attached to a shovel object.
Deformers are used to have surfaces push and deform terrain (but not dig in the terrain).
A shovel object has three deformers on the bottom and two sides. However, the ExternalDeformer object can be attached to any surface that should be deforming the terrain when the surface is being pushed against the terrain. For example the sides of a track model that is turning, or any heavy objects that are being pushed in the soil.
Definition at line 56 of file ExternalDeformer.h.