Oolite 1.91.0.7677-250528-09ed63a
All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Modules Pages
OOBigFragmentBurstEntity Class Reference

#include <OOParticleSystem.h>

Inheritance diagram for OOBigFragmentBurstEntity:
Collaboration diagram for OOBigFragmentBurstEntity:

Instance Methods

(unsigned) - count [implementation]
(GLfloat) - baseColor [implementation]
(size *) - if [implementation]
(return) - self [implementation]
(void) - update: [implementation]
Instance Methods inherited from OOParticleSystem
(id) - initWithPosition:velocity:count:minSpeed:maxSpeed:duration:baseColor:
(OOTexture *) - texture
(id) - init [implementation]
(NSString *) - descriptionComponents [implementation]
(BOOL) - canCollide [implementation]
(BOOL) - checkCloseCollisionWith: [implementation]
(void) - drawImmediate:translucent: [implementation]
(BOOL) - isEffect [implementation]
(NSSet *) - allTextures [implementation]
Instance Methods inherited from Entity
(NSUInteger) - sessionID
(BOOL) - isShip
(BOOL) - isDock
(BOOL) - isStation
(BOOL) - isSubEntity
(BOOL) - isPlayer
(BOOL) - isPlanet
(BOOL) - isSun
(BOOL) - isSunlit
(BOOL) - isStellarObject
(BOOL) - isSky
(BOOL) - isWormhole
(BOOL) - isVisualEffect
(BOOL) - isWaypoint
(BOOL) - validForAddToUniverse
(void) - addToLinkedLists
(void) - removeFromLinkedLists
(void) - updateLinkedLists
(void) - wasAddedToUniverse
(void) - wasRemovedFromUniverse
(void) - warnAboutHostiles
(CollisionRegion *) - collisionRegion
(void) - setCollisionRegion:
(void) - setUniversalID:
(OOUniversalID- universalID
(BOOL) - throwingSparks
(void) - setThrowSparks:
(void) - throwSparks
(void) - setOwner:
(id) - owner
(ShipEntity *) - parentEntity
(ShipEntity *) - rootShipEntity
(void) - setPosition:
(void) - setPositionX:y:z:
(HPVector) - position
(Vector) - cameraRelativePosition
(GLfloat) - cameraRangeFront
(GLfloat) - cameraRangeBack
(void) - updateCameraRelativePosition
(Vector) - vectorTo:
(HPVector) - absolutePositionForSubentity
(HPVector) - absolutePositionForSubentityOffset:
(double) - zeroDistance
(double) - camZeroDistance
(NSComparisonResult) - compareZeroDistance:
(BoundingBox) - boundingBox
(GLfloat) - mass
(Quaternion) - orientation
(void) - setOrientation:
(Quaternion) - normalOrientation
(void) - setNormalOrientation:
(void) - orientationChanged
(void) - setVelocity:
(Vector) - velocity
(double) - speed
(GLfloat) - distanceTravelled
(void) - setDistanceTravelled:
(void) - setStatus:
(OOEntityStatus- status
(void) - setScanClass:
(OOScanClass- scanClass
(void) - setEnergy:
(GLfloat) - energy
(void) - setMaxEnergy:
(GLfloat) - maxEnergy
(void) - applyRoll:andClimb:
(void) - applyRoll:climb:andYaw:
(void) - moveForward:
(OOMatrix) - rotationMatrix
(OOMatrix) - drawRotationMatrix
(OOMatrix) - transformationMatrix
(OOMatrix) - drawTransformationMatrix
(GLfloat) - collisionRadius
(GLfloat) - frustumRadius
(void) - setCollisionRadius:
(NSMutableArray *) - collisionArray
(void) - applyVelocity:
(void) - takeEnergyDamage:from:becauseOf:weaponIdentifier:
(void) - dumpState
(void) - dumpSelfState
(double) - findCollisionRadius
(BOOL) - isVisible
(BOOL) - isInSpace
(BOOL) - isImmuneToBreakPatternHide
(GLfloat) - universalTime
(GLfloat) - spawnTime
(GLfloat) - timeElapsedSinceSpawn
(void) - setAtmosphereFogging:
(OOColor *) - fogUniform
(NSString *) - descriptionForObjDumpBasic
(NSString *) - descriptionForObjDump
(void) - dealloc [implementation]
(BOOL) - checkLinkedLists [implementation]
(id< OOWeakReferenceSupport >) - superShaderBindingTarget [implementation]
(Vector) - relativePosition [implementation]
(void) - subEntityReallyDied: [implementation]
(BOOL) - isBreakPattern
(void) - inspect [implementation]
(BOOL) - isECMBlast
(NSArray *) - debugInspectorModules [implementation]
(NSString *) - inspScanClassLine
(NSString *) - inspStatusLine
(NSString *) - inspRetainCountLine
(NSString *) - inspPositionLine
(NSString *) - inspVelocityLine
(NSString *) - inspOrientationLine
(NSString *) - inspEnergyLine
(NSString *) - inspOwnerLine
(NSString *) - inspTargetLine
(NSString *) - inspDescription [implementation]
(NSString *) - inspBasicIdentityLine [implementation]
(BOOL) - isExhaust
(BOOL) - isFlasher
(BOOL) - isVisibleToScripts
(NSString *) - oo_jsClassName
(void) - getJSClass:andPrototype:
(void) - deleteJSSelf
(jsval) - oo_jsValueInContext: [implementation]
(BOOL) - isCascadeWeapon
(BOOL) - isPlayerLikeShip
(GLfloat) - clock [implementation]
(unsigned) - pseudoFixedD100 [implementation]
(unsigned) - pseudoFixedD256 [implementation]
(unsigned) - systemGovernment [implementation]
(unsigned) - systemEconomy [implementation]
(unsigned) - systemTechLevel [implementation]
(unsigned) - systemPopulation [implementation]
(unsigned) - systemProductivity [implementation]
(BOOL) - isShipWithSubEntityShip:
(void) - drawSubEntityImmediate:translucent: [implementation]
Instance Methods inherited from OOWeakRefObject
(id) - weakSelf
(id) - weakRetain [implementation]
(void) - weakRefDied: [implementation]
Instance Methods inherited from <OOWeakReferenceSupport>
(id) - OO_RETURNS_RETAINED

Class Methods

(id) + fragmentBurstFromEntity:

Private Attributes

GLfloat _baseSize

Additional Inherited Members

Public Attributes inherited from Entity
OOUniversalID universalID
unsigned isShip: 1
unsigned isStation: 1
unsigned isPlayer: 1
unsigned isWormhole: 1
unsigned isSubEntity: 1
unsigned hasMoved: 1
unsigned hasRotated: 1
unsigned hasCollided: 1
unsigned isSunlit: 1
unsigned collisionTestFilter: 2
unsigned throw_sparks: 1
unsigned isImmuneToBreakPatternHide: 1
unsigned isExplicitlyNotMainStation: 1
unsigned isVisualEffect: 1
OOScanClass scanClass
GLfloat zero_distance
GLfloat cam_zero_distance
GLfloat no_draw_distance
GLfloat collision_radius
HPVector position
Vector cameraRelativePosition
Quaternion orientation
OOColoratmosphereFogging
int zero_index
Entityx_previous
Entityx_next
Entityy_previous
Entityy_next
Entityz_previous
Entityz_next
Entitycollision_chain
OOUniversalID shadingEntityID
Entitycollider
CollisionRegioncollisionRegion
Protected Attributes inherited from OOParticleSystem
Vector _particlePosition [kFragmentBurstMaxParticles]
Vector _particleVelocity [kFragmentBurstMaxParticles]
GLfloat _particleColor [kFragmentBurstMaxParticles][4]
GLfloat _particleSize [kFragmentBurstMaxParticles]
unsigned _count
unsigned _particleType
OOTimeDelta _timePassed
OOTimeDelta _duration
double _maxSpeed
Protected Attributes inherited from Entity
HPVector lastPosition
Quaternion lastOrientation
GLfloat distanceTravelled
OOMatrix rotMatrix
Vector velocity
GLfloat energy
GLfloat maxEnergy
BoundingBox boundingBox
GLfloat mass
NSMutableArray * collidingEntities
OOTimeAbsolute spawnTime
struct JSObject * _jsSelf
Protected Attributes inherited from OOWeakRefObject
OOWeakReferenceweakSelf

Detailed Description

Definition at line 79 of file OOParticleSystem.h.

Method Documentation

◆ baseColor

- (GLfloat) baseColor
implementation

Definition at line 330 of file OOParticleSystem.m.

330{ 1.0f, 1.0f, 0.5f, 1.0f };

References baseColor.

Referenced by baseColor, and if.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ count

- (unsigned) count
implementation

Definition at line 327 of file OOParticleSystem.m.

References count, and kBigFragmentBurstMaxParticles.

Referenced by count, if, and update:.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fragmentBurstFromEntity:

+ (id) fragmentBurstFromEntity: (Entity *) entity

Definition at line 347 of file OOParticleSystem.m.

347 :(Entity *)entity
348{
349 return [[[self alloc] initFragmentBurstFrom:[entity position] velocity:vector_multiply_scalar([entity velocity], 0.85) size:[entity collisionRadius]] autorelease];
350}
GLfloat collisionRadius()
Definition Entity.m:905
HPVector position
Definition Entity.m:612
Vector velocity
Definition Entity.m:763

References Entity::collisionRadius, Entity::position, and Entity::velocity.

Referenced by ShipEntity::becomeExplosion, and ShipEntity::becomeLargeExplosion:.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ if

- (size *) if ((self=[super initWithPosition:fragPosition velocity:fragVelocity count:count minSpeed:minSpeed maxSpeed:maxSpeed duration:1.0 baseColor:baseColor]))
implementation

Definition at line 333 of file OOParticleSystem.m.

333 :fragPosition velocity:fragVelocity count:count minSpeed:minSpeed maxSpeed:maxSpeed duration:1.0 baseColor:baseColor]))
334 {
335 _baseSize = size;
336
337 for (unsigned i = 0; i < count; i++)
338 {
339 _particleSize[i] = size;
340 }
341 }
float maxSpeed
GLfloat _particleSize[kFragmentBurstMaxParticles]
voidpf void uLong size
Definition ioapi.h:134

References _baseSize, OOParticleSystem::_particleSize, baseColor, count, maxSpeed, and Entity::velocity.

Here is the call graph for this function:

◆ self

- (return) self
implementation

Definition at line 343 of file OOParticleSystem.m.

◆ update:

- (void) update: (double) delta_t
implementation

Reimplemented from OOParticleSystem.

Definition at line 353 of file OOParticleSystem.m.

353 :(double)delta_t
354{
355#if FREEZE_PARTICLES
356 if (_timePassed + delta_t > 0.5) delta_t = 0.5 - _timePassed;
357#endif
358
359 [super update:delta_t];
360
361 unsigned i, count = _count;
362 GLfloat (*particleColor)[4] = _particleColor;
363 GLfloat *particleSize = _particleSize;
364 GLfloat timePassed = _timePassed;
365 GLfloat duration = _duration;
366
367 GLfloat size = (1.0f + timePassed) * _baseSize;
368 GLfloat di = 1.0f / (count - 1);
369
370 for (i = 0; i < count; i++)
371 {
372 GLfloat du = duration * (0.5f + di * i);
373 particleColor[i][3] = OOClamp_0_1_f(1.0f - timePassed / du);
374
375 particleSize[i] = size;
376 }
377}
OOTimeDelta _timePassed
GLfloat _particleColor[kFragmentBurstMaxParticles][4]
OOTimeDelta _duration

References _baseSize, OOParticleSystem::_count, OOParticleSystem::_duration, OOParticleSystem::_particleColor, OOParticleSystem::_particleSize, OOParticleSystem::_timePassed, count, and OOParticleSystem::update:.

Here is the call graph for this function:

Member Data Documentation

◆ _baseSize

- (GLfloat) _baseSize
private

Definition at line 82 of file OOParticleSystem.h.

Referenced by if, and update:.


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