public GpuProgramParameters( GpuProgramParameters other ) : base() { // let compiler perform shallow copies of structures // AutoConstantEntry, RealConstantEntry, IntConstantEntry this.floatConstants = new FloatConstantList( other.floatConstants ); // vector<float> in ogre => shallow copy this.intConstants = new IntConstantList( other.intConstants ); // vector<int> in ogre => shallow copy this.autoConstants = new AutoConstantsList(); // vector<AutoConstantEntry> in ogre => deep copy foreach ( var ac in other.autoConstants ) { this.autoConstants.Add( ac.Clone() ); } // copy value members this.floatLogicalToPhysical = other.floatLogicalToPhysical; // pointer in ogre => no Clone this.intLogicalToPhysical = other.intLogicalToPhysical; // pointer in ogre => no Clone this._namedConstants = other._namedConstants; // pointer in ogre => no Clone CopySharedParamSetUsage( other._sharedParamSets ); this._combinedVariability = other._combinedVariability; TransposeMatrices = other.TransposeMatrices; this.ignoreMissingParameters = other.ignoreMissingParameters; this.activePassIterationIndex = other.activePassIterationIndex; }
public AutoConstantsList(AutoConstantsList other) { AddRange(other.GetRange(0, other.Count)); }