12#ifndef GEOMETRY_H_6014714286
13#define GEOMETRY_H_6014714286
15#include <Carna/Carna.h>
63 const std::unique_ptr< Details > pimpl;
80 explicit Geometry(
unsigned int geometryType,
const std::string& tag =
"" );
Defines Carna::base::Spatial.
Represents an association.
Represents a Geometry minimal boundary volume of simple geometric shape. The volume is centered withi...
Represents "components" that are aggregated by Geometry objects. Closer description is given here.
Defines scene graph leafs. Instances of this class represent visible geometry that can be rendered....
Geometry(unsigned int geometryType, const std::string &tag="")
Instantiates.
void removeFeature(unsigned int role)
Removes the geometry feature from this node that is associated with role in .
std::size_t featuresCount() const
Tells number of geometry features attached.
const unsigned int geometryType
Holds the geometry type of this geometry node.
bool hasFeature(const GeometryFeature &feature) const
Tells whether feature is attached to this node in .
void putFeature(unsigned int role, GeometryFeature &feature)
Adds the feature to this geometry node using role in . The concept of geometry features and roles is ...
virtual ~Geometry()
Deletes.
const BoundingVolume & boundingVolume() const
void setBoundingVolume(BoundingVolume *boundingVolume)
Sets boundingVolume as the minimum boundary volume of this node. Supply nullptr for boundingVolume to...
void removeFeature(GeometryFeature &feature)
Removes feature from this geometry node in . The concept of geometry features and roles is explained ...
BoundingVolume & boundingVolume()
References the previously set minimum boundary volume.
bool hasBoundingVolume() const
Tells whether a minimum boundary volume is set on this node.
void clearFeatures()
Removes all geometry feature from this node.
void visitFeatures(const std::function< void(GeometryFeature &gf, unsigned int role) > &visit) const
Invokes visit once on each attached geometry feature.
bool hasFeature(unsigned int role) const
Tells whether this node has a feature with role attached in .
GeometryFeature & feature(unsigned int role) const
References the feature with role attached to this node in .
Represents a spatial scene element. It's location is determined relatively to another spatial that is...