|
| | Convex (const agx::Vec3Vector *vertices, const agx::UInt32Vector *indices, const char *sourceName, uint32_t optionsMask=Trimesh::REMOVE_DUPLICATE_VERTICES) |
| | Constructs a new Convex object from a vector of vertices and indices each.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxCollide::Convex) |
| |
| virtual Shape * | clone () const override |
| | Create a clone.
|
| |
| Convex * | deepCopy () const |
| | Creates a new Convex which copies data from this one.
|
| |
| virtual agx::Vec3 | getSupportPoint (const agx::Vec3 &supportDirection) const override |
| |
| virtual bool | hasSupportFunction () const override |
| | Inherited from Shape.
|
| |
| Convex * | shallowCopy () const |
| | Creates a new Convex which shares data with this one.
|
| |
| | Trimesh (const agx::Vec3Vector *vertices, const agx::UInt32Vector *indices, const char *sourceName, uint32_t optionsMask=Trimesh::REMOVE_DUPLICATE_VERTICES, agx::Real bottomMargin=0) |
| | Constructs a new Trimesh object from a vector of vertices and indices each.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxCollide::Trimesh) |
| |
| virtual void | calculatePossibleTriangleOverlapsAlongLineSegment (const agx::Vec3 &segmentStartLocal, const agx::Vec3 &segmentEndLocal, agx::UInt32Vector &triangleIndices) const override |
| | Calculates an array of triangle indices of the triangles whose bounding volumes get intersected by a line segment.
|
| |
| virtual void | calculatePossibleTriangleOverlapsAlongLineSegment (const agx::Vec3 &segmentStartLocal, const agx::Vec3 &segmentEndLocal, agxData::LocalVector< agx::UInt32 > &triangleIndices) const override |
| | Calculates an array of triangle indices of the triangles whose bounding volumes get intersected by a line segment.
|
| |
| virtual Shape * | clone () const override |
| | Create a clone.
|
| |
| Trimesh * | deepCopy () const |
| | Creates a new Trimesh which copies data from this one.
|
| |
| uint32_t | getOptionsMask () const |
| | Gets option mask used when creating (can be interesting for debugging meshes).
|
| |
| const Trimesh * | getShallowCopySource () |
| |
| const agx::String & | getSourceName () const |
| | Gets source name used when creating (can be interesting for debugging meshes).
|
| |
| const agx::String & | getWarnings () const |
| | Gets warnings occurring when creating (can be interesting for debugging meshes).
|
| |
| bool | isShallowCopy () const |
| |
| Trimesh * | shallowCopy () const |
| | Creates a new Trimesh which shares data with this one.
|
| |
| void | updateMeshGeometry (bool showWarnings, bool recalculateMassProperties=true) |
| | Updates the mesh geometry data like normals or edge convexity.
|
| |
| virtual agx::SPDMatrix3x3 | calculateInertia (agx::Real mass) const override |
| | Returns the inertia of the shape, scaled with the mass. Inherited from class Shape.
|
| |
| virtual BoundingAABB | calculateLocalBound () const override |
| | Calculate the bounding volume in the local coordinate system.
|
| |
| virtual void | calculatePossibleTriangleOverlapsAlongLineSegment (const agx::Vec3 &segmentStartLocal, const agx::Vec3 &segmentEndLocal, agx::UInt32Vector &triangleIndices) const =0 |
| | Calculates an array of triangle indices of the triangles whose bounding volumes get intersected by a line segment.
|
| |
| virtual void | calculatePossibleTriangleOverlapsAlongLineSegment (const agx::Vec3 &segmentStartLocal, const agx::Vec3 &segmentEndLocal, agxData::LocalVector< agx::UInt32 > &triangleIndices) const =0 |
| | Calculates an array of triangle indices of the triangles whose bounding volumes get intersected by a line segment.
|
| |
| void | calculateTriangleOverlapsAlongLineSegment (const agx::Vec3 &segmentStartLocal, const agx::Vec3 &segmentEndLocal, TriangleLineSegmentResultVector &triangleResults) const |
| | Calculates all triangle overlaps of a line segment with the mesh.
|
| |
| void | calculateTrianglesInVolume (const BoundingAABB &volume, const agx::AffineMatrix4x4 &meshToWorld, const agx::AffineMatrix4x4 &volumeToWorld, agx::UInt32Vector &triangleIndices) const |
| | Calculates an array of triangle indices of the triangles that are within a bounding volume.
|
| |
| void | calculateTrianglesInVolume (const BoundingAABB &volume, const agx::AffineMatrix4x4 &meshToWorld, const agx::AffineMatrix4x4 &volumeToWorld, agxData::LocalVector< agx::UInt32 > &triangleIndices) const |
| |
| FaceEdgeCirculator | createFaceEdgeCirculator (size_t triangleIndex) const |
| | Creates an FaceEdgeCirculator pointing to this Triangle and a Voronoi region.
|
| |
| VertexEdgeCirculator | createVertexEdgeCirculator (size_t triangleIndex, uint_fast8_t localVertexIndex) const |
| | Creates an VertexEdgeCirculator pointing to this Triangle and a Voronoi region.
|
| |
| agx::Real | getBottomMargin () const |
| |
| const AabbTree * | getBvhTree () const |
| |
| virtual agx::Vec3 | getCenter () const override |
| |
| size_t | getGlobalVertexIndex (size_t triangleIndex, uint_fast8_t localVertexIndex) const |
| | Returns the global index of one of the three vertices in a triangle.
|
| |
| uint32_t | getHalfEdgePartnerEdge (size_t globalEdgeIndex) const |
| |
| const BoundingAABB & | getLocalBound () const |
| |
| const CollisionMeshData * | getMeshData () const |
| |
| size_t | getNumTriangles () const |
| |
| size_t | getNumVertices () const |
| |
| agx::Real | getTotalMaximumEdgeLength () const |
| |
| const Triangle | getTriangle (size_t triangleIndex) const |
| |
| agx::Real | getTriangleMaximumEdgeLength (size_t triangleIndex) const |
| |
| agx::Vec3 | getTriangleNormal (size_t triangleIndex) const |
| |
| agx::Vec3 | getTriangleVertex (size_t triangleIndex, uint_fast8_t localVertexIndex) const |
| | Returns one of the three vertices in a triangle.
|
| |
| agx::Vec3 | getVertex (size_t globalVertexIndex) const |
| |
| virtual agx::Real | getVolume () const override |
| |
| bool | hasHalfEdge () const |
| |
| bool | hasInternalCenterPoint () const |
| |
| bool | isConvexEdge (size_t globalEdgeIndex) const |
| | Is an edge convex? Returns always true if half edge information is missing on this edge/the whole mesh.
|
| |
| bool | isConvexVertex (size_t triangleIndex, size_t localVertexIndex) const |
| | Is an vertex convex? Returns always true if half edge information is missing on this vertex/the whole mesh.
|
| |
| bool | isTerrain () const |
| |
| bool | isValid () const |
| |
| bool | isValidAndClosed () const |
| |
| bool | isValidEdgeIndex (size_t globalEdgeIndex) const |
| |
| bool | isValidTriangleIndex (size_t globalTriangleIndex) const |
| |
| void | setBottomMargin (agx::Real newMargin) |
| | Sets a bottom safety margin that is added below the lowest point of the height field in local z direction, to prevent tunneling in this direction.
|
| |
| virtual const BoundingAABB & | updateBoundingVolume () override |
| | Calculate the bounding volume based on the current Shape parameters including transformation.
|
| |
| ShapeGroup * | asGroup () |
| | Auto-cast shape to group.
|
| |
| const ShapeGroup * | asGroup () const |
| | Auto-cast shape to group.
|
| |
| virtual agx::Real | calculateBoundingRadius (BoundingAABB &localAABB) const |
| | Calculate the bounding volume (AABB) into localAABB and calculate the bounding radius based on the new AABB size.
|
| |
| virtual agx::SPDMatrix3x3 | calculateInertia (agx::Real mass) const =0 |
| | Calculate the inertia for the shape given a mass.
|
| |
| virtual BoundingAABB | calculateLocalBound () const =0 |
| | Calculate the bounding volume in the local coordinate system.
|
| |
| virtual Shape * | clone () const |
| | Create a clone.
|
| |
| const BoundingAABB & | getBoundingVolume () const |
| |
| virtual agx::Vec3 | getCenter () const |
| |
| agx::Physics::Geometry::ShapePtr | getEntity () const |
| |
| Geometry * | getGeometry () |
| |
| const Geometry * | getGeometry () const |
| |
| agx::AffineMatrix4x4 | getLocalTransform () const |
| |
| agx::UInt32 | getModifiedCount () const |
| |
| agxCollide::RenderData * | getRenderData () |
| | If this is a ShapeGroup, then this method will return nullptr as the render data is stored in the actual children (Box, Mesh etc.
|
| |
| const agxCollide::RenderData * | getRenderData () const |
| | If this is a ShapeGroup, then this method will return nullptr as the render data is stored in the actual children (Box, Mesh etc.
|
| |
| virtual agx::Vec3 | getSupportPoint (const agx::Vec3 &supportDirection) const |
| | Returns the support point on face of the shape.
|
| |
| agx::AffineMatrix4x4 | getTransform () const |
| |
| agx::UInt8 | getType () const |
| |
| const char * | getTypeName () const |
| |
| virtual agx::Real | getVolume () const =0 |
| | Return the volume of the shape.
|
| |
| virtual bool | hasSupportFunction () const |
| |
| bool | isGroup () const |
| |
| virtual void | propagateTransform (const agx::AffineMatrix4x4 &transform) |
| |
| virtual void | setRenderData (agxCollide::RenderData *renderData) |
| | Store render data with the Shape.
|
| |
| virtual const BoundingAABB & | updateBoundingVolume ()=0 |
| | Calculate the bounding volume based on the current Shape parameters including transformation.
|
| |
| | 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.
|
| |
A convex class for geometric intersection tests.
More detailed ways of creating it can be found in agxUtil::ConvexReaderWriter.
Definition at line 35 of file Convex.h.