Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::Particle::CCylinder Class Reference

A zone that spawns particles within or on the surface of a cylinder. More...

#include <ParticleSystem/Particles/Zones/CCylinder.h>

Inheritance diagram for Skylicht::Particle::CCylinder:
Skylicht::Particle::CPositionZone Skylicht::Particle::CZone Skylicht::Particle::CParticleSerializable

Public Member Functions

 CCylinder (const core::vector3df &position, const core::vector3df &direction, float radius, float length)
virtual CObjectSerializablecreateSerializable ()
 Creates a serializable object for property editing or saving.
virtual void loadSerializable (CObjectSerializable *object)
 Loads properties from a serializable object.
void setDirection (const core::vector3df &direction)
 Sets central axis direction.
void setRadius (float r)
 Sets cylinder radius.
void setLength (float l)
 Sets cylinder length.
const core::vector3df & getDirection ()
 Gets axis direction.
float getRadius ()
 Gets radius.
float getLength ()
 Gets length.
virtual void generatePosition (CParticle &particle, bool full, CGroup *group)
 Implementation: spawns within volume or on surface.
virtual core::vector3df computeNormal (const core::vector3df &point, CGroup *group)
 Implementation: computes surface normal.
Public Member Functions inherited from Skylicht::Particle::CPositionZone
 CPositionZone (EZone type)
void setPosition (const core::vector3df &pos)
 Sets relative position.
const core::vector3df & getPosition ()
 Gets relative position.
Public Member Functions inherited from Skylicht::Particle::CZone
 CZone (EZone type)
const wchar_t * getName ()
 Gets display name.
EZone getType ()
 Gets zone type.
void normalizeOrRandomize (core::vector3df &v)
 Normalizes a vector or randomizes it if it is zero.

Protected Attributes

core::vector3df m_direction
 Central axis direction.
float m_radius
 Radius of the cylinder.
float m_length
 Length (height) along the axis.
Protected Attributes inherited from Skylicht::Particle::CPositionZone
core::vector3df m_position
 Relative position of the zone.
Protected Attributes inherited from Skylicht::Particle::CZone
EZone m_type
 Type of the zone.

Detailed Description

A zone that spawns particles within or on the surface of a cylinder.

Member Function Documentation

◆ computeNormal()

virtual core::vector3df Skylicht::Particle::CCylinder::computeNormal ( const core::vector3df & point,
CGroup * group )
virtual

Implementation: computes surface normal.

Implements Skylicht::Particle::CZone.

◆ createSerializable()

virtual CObjectSerializable * Skylicht::Particle::CCylinder::createSerializable ( )
virtual

Creates a serializable object for property editing or saving.

Returns
Pointer to a new CObjectSerializable instance.

Reimplemented from Skylicht::Particle::CZone.

◆ generatePosition()

virtual void Skylicht::Particle::CCylinder::generatePosition ( CParticle & particle,
bool full,
CGroup * group )
virtual

Implementation: spawns within volume or on surface.

Implements Skylicht::Particle::CZone.

◆ loadSerializable()

virtual void Skylicht::Particle::CCylinder::loadSerializable ( CObjectSerializable * object)
virtual

Loads properties from a serializable object.

Parameters
objectThe serializable data to load.

Reimplemented from Skylicht::Particle::CZone.


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