Avogadro::Rendering::SphereGeometry#
-
class SphereGeometry : public Drawable#
The SphereGeometry class contains one or more spheres.
This Drawable is capable of storing the geometry for one or more spheres. A sphere is defined by a center point, a radius and a color. If the spheres are not a densely packed one-to-one mapping with the objects indices they can also optionally use an identifier that will point to some numeric ID for the purposes of picking.
- Author
Marcus D. Hanwell
Public Functions
-
SphereGeometry()#
-
SphereGeometry(const SphereGeometry &other)#
-
~SphereGeometry() override#
-
inline SphereGeometry &operator=(SphereGeometry)#
-
void update()#
Update the VBOs, IBOs etc ready for rendering.
-
virtual void render(const Camera &camera) override#
Render the sphere geometry.
- Parameters:
camera – The current camera to be used for rendering.
-
virtual std::multimap<float, Identifier> hits(const Vector3f &rayOrigin, const Vector3f &rayEnd, const Vector3f &rayDirection) const override#
Return the primitives that are hit by the ray.
- Parameters:
rayOrigin – Origin of the ray.
rayEnd – End point of the ray.
rayDirection – Normalized direction of the ray.
- Returns:
Sorted collection of primitives that were hit.
-
virtual Core::Array<Identifier> areaHits(const Frustrum &f) const override#
Return the primitives within the supplied frustrum.
-
inline void setOpacity(float o)#
Set the opacity of the spheres in this group.
-
void addSphere(const Vector3f &position, const Vector3ub &color, float radius, size_t index = MaxIndex)#
Add a sphere to the geometry object.
-
virtual void clear() override#
Clear the contents of the node.
-
inline size_t size() const#
Get the number of spheres in the node object.
Friends
-
friend void swap(SphereGeometry &lhs, SphereGeometry &rhs)#