Obi  6.4
Unified particle physics for Unity
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Obi.ObiActorBlueprint Class Referenceabstract
Inheritance diagram for Obi.ObiActorBlueprint:
Obi.IObiParticleCollection Obi.ObiBoneBlueprint Obi.ObiEmitterBlueprintBase Obi.ObiMeshBasedActorBlueprint Obi.ObiRopeBlueprintBase Obi.ObiFluidEmitterBlueprint Obi.ObiGranularEmitterBlueprint Obi.ObiClothBlueprintBase Obi.ObiSoftbodyBlueprintBase Obi.ObiRodBlueprint Obi.ObiRopeBlueprint Obi.ObiClothBlueprint Obi.ObiSoftbodySurfaceBlueprint Obi.ObiSkinnedClothBlueprint Obi.ObiTearableClothBlueprint

Public Member Functions

delegate void BlueprintCallback (ObiActorBlueprint blueprint)
 
bool IsParticleActive (int index)
 
bool ActivateParticle (int index)
 
bool DeactivateParticle (int index)
 
void RecalculateBounds ()
 
IEnumerable< IObiConstraintsGetConstraints ()
 
IObiConstraints GetConstraintsByType (Oni.ConstraintType type)
 
int GetParticleRuntimeIndex (int blueprintIndex)
 
Vector3 GetParticlePosition (int index)
 
Quaternion GetParticleOrientation (int index)
 
void GetParticleAnisotropy (int index, ref Vector4 b1, ref Vector4 b2, ref Vector4 b3)
 
float GetParticleMaxRadius (int index)
 
Color GetParticleColor (int index)
 
void GenerateImmediate ()
 
IEnumerator Generate ()
 
void Clear ()
 
ObiParticleGroup InsertNewParticleGroup (string name, int index, bool saveImmediately=true)
 
ObiParticleGroup AppendNewParticleGroup (string name, bool saveImmediately=true)
 
bool RemoveParticleGroupAt (int index, bool saveImmediately=true)
 
bool SetParticleGroupName (int index, string name, bool saveImmediately=true)
 
void ClearParticleGroups (bool saveImmediately=true)
 
void RemoveSelectedParticles (ref bool[] selected, bool optimize=true)
 
void RestoreRemovedParticles ()
 
virtual void GenerateTethers (bool[] selected)
 
virtual void ClearTethers ()
 

Public Attributes

Vector3[] positions = null
 
Vector4[] restPositions = null
 
Quaternion[] orientations = null
 
Quaternion[] restOrientations = null
 
Vector3[] velocities = null
 
Vector3[] angularVelocities = null
 
float[] invMasses = null
 
float[] invRotationalMasses = null
 
int[] filters = null
 
Vector3[] principalRadii = null
 
Color[] colors = null
 
int[] points = null
 
int[] edges = null
 
int[] triangles = null
 
ObiDistanceConstraintsData distanceConstraintsData = null
 
ObiBendConstraintsData bendConstraintsData = null
 
ObiSkinConstraintsData skinConstraintsData = null
 
ObiTetherConstraintsData tetherConstraintsData = null
 
ObiStretchShearConstraintsData stretchShearConstraintsData = null
 
ObiBendTwistConstraintsData bendTwistConstraintsData = null
 
ObiShapeMatchingConstraintsData shapeMatchingConstraintsData = null
 
ObiAerodynamicConstraintsData aerodynamicConstraintsData = null
 
ObiChainConstraintsData chainConstraintsData = null
 
ObiVolumeConstraintsData volumeConstraintsData = null
 
List< ObiParticleGroupgroups = new List<ObiParticleGroup>()
 

Protected Member Functions

virtual void SwapWithFirstInactiveParticle (int index)
 
abstract IEnumerator Initialize ()
 

Protected Attributes

bool m_Empty = true
 
int m_ActiveParticleCount = 0
 
int m_InitialActiveParticleCount = 0
 
Bounds _bounds = new Bounds()
 

Properties

int particleCount [get]
 
int activeParticleCount [get]
 
bool usesOrientedParticles [get]
 
virtual bool usesTethers [get]
 
bool empty [get]
 
Bounds bounds [get]
 
- Properties inherited from Obi.IObiParticleCollection
int particleCount [get]
 
int activeParticleCount [get]
 
bool usesOrientedParticles [get]
 

Events

BlueprintCallback OnBlueprintGenerate
 

Member Function Documentation

bool Obi.ObiActorBlueprint.ActivateParticle ( int  index)

Activates one particle. This operation preserves the relative order of all particles.

bool Obi.ObiActorBlueprint.DeactivateParticle ( int  index)

Deactivates one particle. This operation does not preserve the relative order of other particles, because the last active particle will swap positions with the particle being deactivated.

Member Data Documentation

Vector3 [] Obi.ObiActorBlueprint.angularVelocities = null

Particle angular velocities.

Color [] Obi.ObiActorBlueprint.colors = null

Particle colors (not used by all actors, can be null)

ObiDistanceConstraintsData Obi.ObiActorBlueprint.distanceConstraintsData = null

Constraint components. Each constraint type contains a list of constraint batches.

int [] Obi.ObiActorBlueprint.filters = null

Particle filters

List<ObiParticleGroup> Obi.ObiActorBlueprint.groups = new List<ObiParticleGroup>()

Particle groups.

float [] Obi.ObiActorBlueprint.invMasses = null

Particle inverse masses

Quaternion [] Obi.ObiActorBlueprint.orientations = null

Particle orientations.

int [] Obi.ObiActorBlueprint.points = null

Simplices

Vector3 [] Obi.ObiActorBlueprint.positions = null

Particle components Particle positions.

Vector3 [] Obi.ObiActorBlueprint.principalRadii = null

Particle ellipsoid principal radii. These are the ellipsoid radius in each axis.

Quaternion [] Obi.ObiActorBlueprint.restOrientations = null

Particle rest orientations.

Vector4 [] Obi.ObiActorBlueprint.restPositions = null

Particle rest positions, used to filter collisions.

Vector3 [] Obi.ObiActorBlueprint.velocities = null

Particle velocities.

Property Documentation

int Obi.ObiActorBlueprint.particleCount
get

Returns the amount of particles used by this blueprint.

bool Obi.ObiActorBlueprint.usesOrientedParticles
get

Returns whether this group uses oriented particles.


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