AvogadroLibs 1.98.1
|
The base class for all drawable geometry and types. More...
#include <avogadro/rendering/drawable.h>
Public Member Functions | |
Drawable (const Drawable &other) | |
Drawable & | operator= (Drawable) |
virtual void | accept (Visitor &) |
const GeometryNode * | parent () const |
Get a pointer to the drawable object's parent. | |
GeometryNode * | parent () |
void | setVisible (bool visibility) |
Set the visibility of the drawable object. | |
bool | isVisible () const |
Get the current visibility of the drawable. | |
virtual void | render (const Camera &camera) |
Render the contents of the drawable. | |
Identifier & | identifier () |
const Identifier & | identifier () const |
virtual std::multimap< float, Identifier > | hits (const Vector3f &rayOrigin, const Vector3f &rayEnd, const Vector3f &rayDirection) const |
virtual Core::Array< Identifier > | areaHits (const Frustrum &f) const |
virtual void | clear () |
void | setRenderPass (RenderPass pass) |
RenderPass | renderPass () const |
Protected Member Functions | |
void | setParent (GeometryNode *parent) |
Set the parent node for the node. | |
Protected Attributes | |
GeometryNode * | m_parent |
bool | m_visible |
RenderPass | m_renderPass |
Identifier | m_identifier |
This class provides the common API for drawable objects on the scene. It is not a Node object, and can only be attached to GeometryNode objects in the Scene.
|
virtual |
Accept a visit from our friendly visitor.
Reimplemented in AmbientOcclusionSphereGeometry, ArrowGeometry, CylinderGeometry, DashedLineGeometry, LineStripGeometry, MeshGeometry, SphereGeometry, TextLabel2D, TextLabel3D, and CurveGeometry.
const GeometryNode * parent | ( | ) | const |
void setVisible | ( | bool | visibility | ) |
visibility | True if the drawable is visible, false if invisible. |
bool isVisible | ( | ) | const |
void setRenderPass | ( | RenderPass | pass | ) |
The render pass in which this drawable should be rendered.
RenderPass renderPass | ( | ) | const |
The render pass in which this drawable should be rendered.
|
virtual |
camera | The current Camera. |
Reimplemented in AmbientOcclusionSphereGeometry, ArrowGeometry, CurveGeometry, CylinderGeometry, DashedLineGeometry, LineStripGeometry, MeshGeometry, SphereGeometry, and TextLabelBase.
Identifier & identifier | ( | ) |
Get the identifier for the object, this stores the parent Molecule and the type represented by the geometry.
|
virtual |
Return the primitives that are hit by the ray.
rayOrigin | Origin of the ray. |
rayEnd | End point of the ray. |
rayDirection | Normalized direction of the ray. |
Reimplemented in AmbientOcclusionSphereGeometry, CylinderGeometry, and SphereGeometry.
|
virtual |
Return the primitives within the supplied area.
f | The frustrum defining the area highlighted. |
Reimplemented in CurveGeometry, and SphereGeometry.
|
virtual |
Clear the contents of the node.
Reimplemented in AmbientOcclusionSphereGeometry, ArrowGeometry, CylinderGeometry, DashedLineGeometry, LineStripGeometry, MeshGeometry, and SphereGeometry.
|
protected |
parent | The parent, a value of nullptr denotes no parent node. |