Avara3D 0.2.0
C++ API reference
a3d::CylinderPhysicsShape Class Reference

Cylinder collision shape centered at the local origin and aligned along Y. More...

#include <a3d/physics/shape/primitive/CylinderPhysicsShape.h>

Inheritance diagram for a3d::CylinderPhysicsShape:
[legend]

Public Member Functions

 CylinderPhysicsShape (float radius, float height)
 Creates a cylinder collision shape with the supplied radius and full height. More...
 
float radius () const
 Returns the configured cylinder radius. More...
 
float height () const
 Returns the configured full height along Y. More...
 
Type type () const override
 Returns PhysicsShape::Type::Primitive. More...
 
void type (Type type) override
 Rejects attempts to change the fixed primitive shape type. More...
 
- Public Member Functions inherited from a3d::PhysicsShape
 PhysicsShape (Type type, const std::shared_ptr< Mesh > &mesh)
 Creates a PhysicsShape of type derived from mesh. More...
 
 PhysicsShape (Type type, const std::shared_ptr< Node > &node)
 Creates a PhysicsShape of type from mesh geometry in the node hierarchy. More...
 
virtual Type type () const
 Returns the collision-geometry type. More...
 
virtual void type (Type type)
 Validates the requested collision-geometry type. More...
 
Source source () const
 Returns the weak Mesh or Node source, or std::monostate for a source-less primitive shape. More...
 

Additional Inherited Members

- Public Types inherited from a3d::PhysicsShape
enum class  Type : uint8_t { Primitive , BoundingBox , ConvexHull , ConcavePolyhedron }
 Collision-geometry representation requested for a PhysicsShape. More...
 
using Source = std::variant< std::monostate, std::weak_ptr< Mesh >, std::weak_ptr< Node > >
 Weak source object used to derive collision geometry, or no source for primitive shapes. More...
 
- Static Public Member Functions inherited from a3d::PhysicsShape
static std::shared_ptr< PhysicsShapeBoundingBoxShape (const std::shared_ptr< Mesh > &mesh)
 Creates a bounding-box collision shape derived from mesh. More...
 
static std::shared_ptr< PhysicsShapeBoundingBoxShape (const std::shared_ptr< Node > &node)
 Creates a bounding-box collision shape from mesh geometry in the node hierarchy. More...
 
static std::shared_ptr< PhysicsShapeConvexHullShape (const std::shared_ptr< Mesh > &mesh)
 Creates a convex-hull collision shape derived from mesh. More...
 
static std::shared_ptr< PhysicsShapeConvexHullShape (const std::shared_ptr< Node > &node)
 Creates a convex-hull collision shape from mesh geometry in the node hierarchy. More...
 
static std::shared_ptr< PhysicsShapeConcavePolyhedronShape (const std::shared_ptr< Mesh > &mesh)
 Creates a concave-polyhedron collision shape derived from mesh. More...
 
static std::shared_ptr< PhysicsShapeConcavePolyhedronShape (const std::shared_ptr< Node > &node)
 Creates a concave-polyhedron collision shape from mesh geometry in the node hierarchy. More...
 

Detailed Description

Cylinder collision shape centered at the local origin and aligned along Y.

Definition at line 17 of file CylinderPhysicsShape.h.

Constructor & Destructor Documentation

◆ CylinderPhysicsShape()

a3d::CylinderPhysicsShape::CylinderPhysicsShape ( float  radius,
float  height 
)

Creates a cylinder collision shape with the supplied radius and full height.

Member Function Documentation

◆ height()

float a3d::CylinderPhysicsShape::height ( ) const

Returns the configured full height along Y.

◆ radius()

float a3d::CylinderPhysicsShape::radius ( ) const

Returns the configured cylinder radius.

◆ type() [1/2]

Type a3d::CylinderPhysicsShape::type ( ) const
overridevirtual

Returns PhysicsShape::Type::Primitive.

Reimplemented from a3d::PhysicsShape.

◆ type() [2/2]

void a3d::CylinderPhysicsShape::type ( Type  type)
overridevirtual

Rejects attempts to change the fixed primitive shape type.

Exceptions
std::logic_erroralways; CylinderPhysicsShape has a fixed type.

Reimplemented from a3d::PhysicsShape.


The documentation for this class was generated from the following file: