Spark.Emit.HLSL.EmitContextHLSL.GetElemImpl C# (CSharp) Method

GetElemImpl() public method

public GetElemImpl ( TupleValHLSL obj, EmitValHLSL idx ) : EmitValHLSL
obj TupleValHLSL
idx EmitValHLSL
return EmitValHLSL
        public EmitValHLSL GetElemImpl(
            TupleValHLSL obj,
            EmitValHLSL idx)
        {
            int fieldCount = obj.GetFieldCount();
            EmitValHLSL[] fieldVals = new EmitValHLSL[fieldCount];
            TupleTypeHLSL resultType = new TupleTypeHLSL("temp");
            for (int ff = 0; ff < fieldCount; ++ff)
            {
                fieldVals[ff] = GetElem(
                    obj.GetFieldVal(ff),
                    idx);
                resultType.AddField(
                    obj.AggType.GetFieldName(ff),
                    fieldVals[ff].Type);
            }
            return new TupleValHLSL(
                resultType,
                fieldVals);
        }

Same methods

EmitContextHLSL::GetElemImpl ( PseudoArrayValHLSL obj, EmitValHLSL idx ) : EmitValHLSL
EmitContextHLSL::GetElemImpl ( SimpleValHLSL obj, EmitValHLSL idx ) : EmitValHLSL