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

A zone that spawns particles within or on the surface of an Axis-Aligned Bounding Box. More...

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

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

Public Member Functions

 CAABox (const core::vector3df &position, const core::vector3df &dimension)
virtual CObjectSerializablecreateSerializable ()
 Creates a serializable object for property editing or saving.
virtual void loadSerializable (CObjectSerializable *object)
 Loads properties from a serializable object.
void setDimension (const core::vector3df &dimension)
 Sets box dimensions.
const core::vector3df & getDimension ()
 Gets box dimensions.
virtual void generatePosition (CParticle &particle, bool full, CGroup *group)
 Implementation: spawns within volume (full=true) or on surface (full=false).
virtual core::vector3df computeNormal (const core::vector3df &point, CGroup *group)
 Implementation: computes normal from center to point.
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_dimension
 Dimensions (width, height, depth) of the box.
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 an Axis-Aligned Bounding Box.

Member Function Documentation

◆ computeNormal()

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

Implementation: computes normal from center to point.

Implements Skylicht::Particle::CZone.

◆ createSerializable()

virtual CObjectSerializable * Skylicht::Particle::CAABox::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::CAABox::generatePosition ( CParticle & particle,
bool full,
CGroup * group )
virtual

Implementation: spawns within volume (full=true) or on surface (full=false).

Implements Skylicht::Particle::CZone.

◆ loadSerializable()

virtual void Skylicht::Particle::CAABox::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: