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.
Marcus D. Hanwell
SphereGeometry(const SphereGeometry &other)#
inline SphereGeometry &operator=(SphereGeometry)#
Update the VBOs, IBOs etc ready for rendering.
virtual void render(const Camera &camera) override#
Render the sphere geometry.
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.
rayOrigin – Origin of the ray.
rayEnd – End point of the ray.
rayDirection – Normalized direction of the ray.
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.
friend void swap(SphereGeometry &lhs, SphereGeometry &rhs)#