Engine
Class BeamEmitter

source: C:\XIII\Engine\Classes\BeamEmitter.uc
Core.Object
   |
   +--Engine.ParticleEmitter
      |
      +--Engine.BeamEmitter
Direct Known Subclasses:None

class BeamEmitter
extends Engine.ParticleEmitter

//============================================================================= // BeamEmitter: An Unreal Beam Particle Emitter. //=============================================================================
Variables
 range BeamDistanceRange
 array BeamEndPoints
 float BeamTextureUScale
 float BeamTextureVScale
 float BeamValueSum
 int BranchEmitter
 range BranchProbability
 range BranchSpawnAmountRange
 EBeamEndPointType DetermineEndPointBy
 array HFPoints
 array HFScaleFactors
 float HFScaleRepeats
 rangevector HighFrequencyNoiseRange
 int HighFrequencyPoints
 array HitActors
 int IndicesPerParticle
 array LFPoints
 array LFScaleFactors
 float LFScaleRepeats
 bool LinkupLifetime
 rangevector LowFrequencyNoiseRange
 int LowFrequencyPoints
 bool NoiseDeterminesEndPoint
 int PrimitivesPerParticle
 int RotatingSheets
 bool UseBranching
 bool UseHighFrequencyScale
 bool UseLowFrequencyScale
 int VerticesPerParticle


Source Code


00001	//=============================================================================
00002	// BeamEmitter: An Unreal Beam Particle Emitter.
00003	//=============================================================================
00004	class BeamEmitter extends ParticleEmitter
00005		native;
00006	
00007	
00008	enum EBeamEndPointType
00009	{
00010		PTEP_Velocity,
00011		PTEP_Distance,
00012		PTEP_Offset,
00013		PTEP_Actor,
00014		PTEP_TraceOffset
00015	};
00016	
00017	struct ParticleBeamData
00018	{
00019		var vector	Location;
00020		var float	t;
00021	};
00022	
00023	struct ParticleBeamEndPoint
00024	{
00025		var () name			ActorTag;
00026		var () rangevector	Offset;
00027		var () float		Weight;
00028	};
00029	
00030	struct ParticleBeamScale
00031	{
00032		var () vector		FrequencyScale;
00033		var () float		RelativeLength;
00034	};
00035	
00036	var (Beam)			range						BeamDistanceRange;	
00037	var (Beam)			array<ParticleBeamEndPoint>	BeamEndPoints;
00038	var (Beam)			EBeamEndPointType			DetermineEndPointBy;		
00039	var (Beam)			float						BeamTextureUScale;
00040	var (Beam)			float						BeamTextureVScale;
00041	var (Beam)			int							RotatingSheets;
00042	
00043	var (BeamNoise)		rangevector					LowFrequencyNoiseRange;
00044	var (BeamNoise)		int							LowFrequencyPoints;
00045	var (BeamNoise)		rangevector					HighFrequencyNoiseRange;
00046	var (BeamNoise)		int							HighFrequencyPoints;
00047	var (BeamNoise)		array<ParticleBeamScale>	LFScaleFactors;
00048	var (BeamNoise)		array<ParticleBeamScale>	HFScaleFactors;
00049	var (BeamNoise)		float						LFScaleRepeats;
00050	var (BeamNoise)		float						HFScaleRepeats;
00051	var (BeamNoise)		bool						UseHighFrequencyScale;
00052	var (BeamNoise)		bool						UseLowFrequencyScale;
00053	var (BeamNoise)		bool						NoiseDeterminesEndPoint;
00054	
00055	var (BeamBranching) bool						UseBranching;
00056	var (BeamBranching)	range						BranchProbability;
00057	var (BeamBranching)	int							BranchEmitter;
00058	var (BeamBranching) range						BranchSpawnAmountRange;
00059	var (BeamBranching) bool						LinkupLifetime;
00060	
00061	var	transient		int							SheetsUsed;
00062	var transient		int							VerticesPerParticle;
00063	var transient		int							IndicesPerParticle;
00064	var transient		int							PrimitivesPerParticle;
00065	var transient		float						BeamValueSum;
00066	var transient		array<ParticleBeamData>		HFPoints;
00067	var transient		array<vector>				LFPoints;
00068	var transient		array<actor>				HitActors;
00069	
00070	defaultproperties
00071	{
00072	     BeamTextureUScale=1.000000
00073	     BeamTextureVScale=1.000000
00074	     LowFrequencyPoints=3
00075	     HighFrequencyPoints=10
00076	     BranchEmitter=-1
00077	}

End Source Code