Ejemplo n.º 1
0
 public void DrawMeshInstance()
 {
     for (int i = 0; i <= matrix_index; i++)
     {
         MatrixInstance mi = matrixes[i];
         Graphics.DrawMeshInstanced(mesh, 0, material, mi.data, mi.use_count);
     }
 }
Ejemplo n.º 2
0
 private static void Massdeport(MatrixInstance myArr)
 {
     using (System.IO.StreamWriter file = new System.IO.StreamWriter("Output.txt"))
     {
         for (int y = 0; y < 3; y++)
         {
             string line = myArr.MatrixArr[y, 0] + " " + myArr.MatrixArr[y, 1] + " " + myArr.MatrixArr[y, 2];
             file.WriteLine(line);
         }
     }
 }
Ejemplo n.º 3
0
        public IMatrixElement GetElementBelow(IMatrixLine line, IMatrixElement element)
        {
            if (!HasLineBelow(MatrixInstance.IndexOf(line)))
            {
                return(GetEmptyElement());
            }

            int         indexOfElement = line.Line.IndexOf(element);
            IMatrixLine lineBelow      = MatrixInstance[MatrixInstance.IndexOf(line) + 1];

            return(lineBelow.GetElementAtIndex(indexOfElement));
        }
Ejemplo n.º 4
0
        public IMatrixElement GetElementAbove(IMatrixLine line, IMatrixElement element)
        {
            if (!HasLineAbove(MatrixInstance.IndexOf(line)))
            {
                return(GetEmptyElement());
            }

            int         indexOfElement = line.Line.IndexOf(element);
            IMatrixLine lineAbove      = MatrixInstance[MatrixInstance.IndexOf(line) - 1];

            return(lineAbove.GetElementAtIndex(indexOfElement));
        }
Ejemplo n.º 5
0
            public void Execute()
            {
                SetupData();
                int vertIndex = 0;

                for (int i = 0; i <= InstanceList.Length - 1; i++)
                {
                    MatrixInstance matrixInstance = InstanceList[i];

                    Vector3    scale    = ExtractScaleFromMatrix(matrixInstance.Matrix) / 2f;
                    Vector3    position = ExtractTranslationFromMatrix(matrixInstance.Matrix) + new Vector3(0, BoundsYExtent * scale.y * 2, 0);
                    Quaternion rotation = ExtractRotationFromMatrix(matrixInstance.Matrix);

                    VerticeList.Add(position);
                    VerticeList.Add(position);
                    VerticeList.Add(position);
                    VerticeList.Add(position);

                    NormalList.Add(_srcVert0);
                    NormalList.Add(_srcVert1);
                    NormalList.Add(_srcVert2);
                    NormalList.Add(_srcVert3);

                    UvList.Add(_srcUVs0);
                    UvList.Add(_srcUVs1);
                    UvList.Add(_srcUVs2);
                    UvList.Add(_srcUVs3);

                    var rotationVector = new Vector2((360f - rotation.eulerAngles.y) / 360f, 1f);
                    Uv2List.Add(rotationVector);
                    Uv2List.Add(rotationVector);
                    Uv2List.Add(rotationVector);
                    Uv2List.Add(rotationVector);

                    Vector2 scaleAndVFix;

                    scaleAndVFix.x = VegetationItemSize * scale.x * 2f;
                    scaleAndVFix.y = -(BoundsYExtent * scale.y * 2);

                    Uv3List.Add(scaleAndVFix);
                    Uv3List.Add(scaleAndVFix);
                    Uv3List.Add(scaleAndVFix);
                    Uv3List.Add(scaleAndVFix);

                    IndexList.Add(_srcIndex0 + vertIndex);
                    IndexList.Add(_srcIndex1 + vertIndex);
                    IndexList.Add(_srcIndex2 + vertIndex);
                    IndexList.Add(_srcIndex3 + vertIndex);
                    IndexList.Add(_srcIndex4 + vertIndex);
                    IndexList.Add(_srcIndex5 + vertIndex);
                    vertIndex += 4;
                }
            }
Ejemplo n.º 6
0
        private static void Massread(MatrixInstance myArr, StreamReader dat)
        {
            Char delimiter = ' ';

            for (int j = 0; j < 3; j++)
            {
                string[] Mass = dat.ReadLine().Split(delimiter);
                for (int i = 0; i < 3; i++)
                {
                    myArr.NewMethod(j, i, Mass[i]);
                }
            }
        }
Ejemplo n.º 7
0
 public ReportSize this[int index]
 {
     get
     {
         if (index < 0 || index >= Count)
         {
             throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, Count);
         }
         ReportSize reportSize = null;
         if (m_reportSizeCollection != null && m_reportSizeCollection[index] != null)
         {
             reportSize = m_reportSizeCollection[index];
         }
         if (reportSize == null)
         {
             Microsoft.ReportingServices.ReportProcessing.Matrix matrix = (Microsoft.ReportingServices.ReportProcessing.Matrix)m_owner.ReportItemDef;
             MatrixInstance       matrixInstance       = (MatrixInstance)m_owner.ReportItemInstance;
             ReportSizeCollection reportSizeCollection = null;
             reportSizeCollection = ((!m_widthsCollection) ? matrix.CellHeightsForRendering : matrix.CellWidthsForRendering);
             Global.Tracer.Assert(reportSizeCollection != null);
             if (m_owner.NoRows || matrixInstance == null || matrixInstance.Cells.Count == 0)
             {
                 reportSize = reportSizeCollection[index];
             }
             else if ((m_widthsCollection && matrix.StaticColumns == null) || (!m_widthsCollection && matrix.StaticRows == null))
             {
                 reportSize = reportSizeCollection[0];
             }
             else
             {
                 bool cacheState = m_owner.RenderingContext.CacheState;
                 m_owner.RenderingContext.CacheState = true;
                 MatrixCellCollection cellCollection = m_owner.CellCollection;
                 MatrixCell           matrixCell     = null;
                 matrixCell = ((!m_widthsCollection) ? cellCollection[index, 0] : cellCollection[0, index]);
                 reportSize = reportSizeCollection[matrixCell.ColumnIndex];
                 m_owner.RenderingContext.CacheState = cacheState;
             }
             if (m_owner.RenderingContext.CacheState)
             {
                 if (m_reportSizeCollection == null)
                 {
                     m_reportSizeCollection = new ReportSizeCollection(Count);
                 }
                 m_reportSizeCollection[index] = reportSize;
             }
         }
         return(reportSize);
     }
 }
Ejemplo n.º 8
0
        public void Execute()
        {
            for (int i = MatrixInstanceList.Length - 1; i >= 0; i--)
            {
                MatrixInstance matrixInstance = MatrixInstanceList[i];

                ItemSelectorInstanceInfo itemSelectorInstanceInfo = new ItemSelectorInstanceInfo
                {
                    VegetationCellIndex     = VegetationCellIndex,
                    VegetationCellItemIndex = i,
                    Position    = ExtractTranslationFromMatrix(matrixInstance.Matrix),
                    Scale       = ExtractScaleFromMatrix(matrixInstance.Matrix),
                    Rotation    = ExtractRotationFromMatrix(matrixInstance.Matrix),
                    LastVisible = -1,
                    Visible     = -1
                };

                InstanceList.Add(itemSelectorInstanceInfo);
            }
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            MatrixInstance myArr = new MatrixInstance();
            MatrixInstance myArk = new MatrixInstance();

            using (FileStream f1 = new FileStream("Input.txt", FileMode.Open))
            {
                using (StreamReader dat = new StreamReader(f1))
                {
                    Massread(myArr, dat); /* метод, разработанный своими руками
                                           * для чего он нужен никто не знает*/
                    dat.ReadLine();
                    Massread(myArk, dat);
                }
            }
            // здесь должно быть алгоритм вычисления
            MatrixInstance newArr = myArr.Peremnogenie(myArk);

            Massdeport(newArr);
        }
Ejemplo n.º 10
0
        private void AddToMatrixList(Matrix4x4[] matrix)
        {
            MatrixInstance ml = matrixes[matrix_index];

            if (ml.use_count + matrix.Length < Max_Inst_Count)
            {
                for (int i = 0; i < matrix.Length; i++)
                {
                    ml.data[ml.use_count] = matrix[i];
                    ml.use_count++;
                    inst_count++;
                }
            }
            else
            {
                matrix_index++;
                if (matrixes.Count == matrix_index)
                {
                    ml = new MatrixInstance(Max_Inst_Count);
                    matrixes.Add(ml);
                }
                AddToMatrixList(matrix);
            }
        }
Ejemplo n.º 11
0
        private static DeclarationList CreateCurrentDeclarations()
        {
            DeclarationList declarationList = new DeclarationList();
            int             num             = 1;

            declarationList[num++] = IDOwner.GetDeclaration();
            declarationList[num++] = ReportItem.GetDeclaration();
            num++;
            declarationList[num++] = Report.GetDeclaration();
            declarationList[num++] = PageSection.GetDeclaration();
            declarationList[num++] = Line.GetDeclaration();
            declarationList[num++] = Rectangle.GetDeclaration();
            declarationList[num++] = Image.GetDeclaration();
            num++;
            declarationList[num++] = CheckBox.GetDeclaration();
            declarationList[num++] = TextBox.GetDeclaration();
            declarationList[num++] = SubReport.GetDeclaration();
            declarationList[num++] = ActiveXControl.GetDeclaration();
            declarationList[num++] = DataRegion.GetDeclaration();
            num++;
            declarationList[num++] = ReportHierarchyNode.GetDeclaration();
            declarationList[num++] = Grouping.GetDeclaration();
            declarationList[num++] = Sorting.GetDeclaration();
            declarationList[num++] = List.GetDeclaration();
            declarationList[num++] = Pivot.GetDeclaration();
            declarationList[num++] = Matrix.GetDeclaration();
            declarationList[num++] = PivotHeading.GetDeclaration();
            declarationList[num++] = MatrixHeading.GetDeclaration();
            declarationList[num++] = MatrixColumn.GetDeclaration();
            num++;
            declarationList[num++] = MatrixRow.GetDeclaration();
            num++;
            declarationList[num++] = Subtotal.GetDeclaration();
            declarationList[num++] = Table.GetDeclaration();
            declarationList[num++] = TableColumn.GetDeclaration();
            num++;
            declarationList[num++] = TableGroup.GetDeclaration();
            declarationList[num++] = TableRow.GetDeclaration();
            num++;
            declarationList[num++] = OWCChart.GetDeclaration();
            declarationList[num++] = ChartColumn.GetDeclaration();
            num++;
            declarationList[num++] = ReportItemCollection.GetDeclaration();
            declarationList[num++] = ReportItemIndexer.GetDeclaration();
            num++;
            declarationList[num++] = Style.GetDeclaration();
            num++;
            declarationList[num++] = AttributeInfo.GetDeclaration();
            declarationList[num++] = Visibility.GetDeclaration();
            declarationList[num++] = ExpressionInfo.GetDeclaration();
            num++;
            declarationList[num++] = DataAggregateInfo.GetDeclaration();
            num++;
            declarationList[num++] = RunningValueInfo.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = Filter.GetDeclaration();
            num++;
            declarationList[num++] = DataSource.GetDeclaration();
            num++;
            declarationList[num++] = DataSet.GetDeclaration();
            num++;
            declarationList[num++] = ReportQuery.GetDeclaration();
            declarationList[num++] = Field.GetDeclaration();
            num++;
            declarationList[num++] = ParameterValue.GetDeclaration();
            num++;
            num++;
            num++;
            num++;
            declarationList[num++] = ReportSnapshot.GetDeclaration();
            declarationList[num++] = SenderInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = ReceiverInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = DocumentMapNode.GetDeclaration();
            declarationList[num++] = InfoBase.GetDeclaration();
            declarationList[num++] = OffsetInfo.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = ReportItemInstanceInfo.GetDeclaration();
            declarationList[num++] = ReportInstanceInfo.GetDeclaration();
            declarationList[num++] = ReportItemColInstanceInfo.GetDeclaration();
            declarationList[num++] = LineInstanceInfo.GetDeclaration();
            declarationList[num++] = TextBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = RectangleInstanceInfo.GetDeclaration();
            declarationList[num++] = CheckBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = ImageInstanceInfo.GetDeclaration();
            declarationList[num++] = SubReportInstanceInfo.GetDeclaration();
            declarationList[num++] = ActiveXControlInstanceInfo.GetDeclaration();
            declarationList[num++] = ListInstanceInfo.GetDeclaration();
            declarationList[num++] = ListContentInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixHeadingInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixCellInstanceInfo.GetDeclaration();
            declarationList[num++] = TableInstanceInfo.GetDeclaration();
            declarationList[num++] = TableGroupInstanceInfo.GetDeclaration();
            declarationList[num++] = TableRowInstanceInfo.GetDeclaration();
            declarationList[num++] = OWCChartInstanceInfo.GetDeclaration();
            declarationList[num++] = ChartInstanceInfo.GetDeclaration();
            declarationList[num++] = NonComputedUniqueNames.GetDeclaration();
            declarationList[num++] = InstanceInfoOwner.GetDeclaration();
            declarationList[num++] = ReportItemInstance.GetDeclaration();
            num++;
            declarationList[num++] = ReportInstance.GetDeclaration();
            declarationList[num++] = ReportItemColInstance.GetDeclaration();
            declarationList[num++] = LineInstance.GetDeclaration();
            declarationList[num++] = TextBoxInstance.GetDeclaration();
            declarationList[num++] = RectangleInstance.GetDeclaration();
            declarationList[num++] = CheckBoxInstance.GetDeclaration();
            declarationList[num++] = ImageInstance.GetDeclaration();
            declarationList[num++] = SubReportInstance.GetDeclaration();
            declarationList[num++] = ActiveXControlInstance.GetDeclaration();
            declarationList[num++] = ListInstance.GetDeclaration();
            declarationList[num++] = ListContentInstance.GetDeclaration();
            num++;
            declarationList[num++] = MatrixInstance.GetDeclaration();
            declarationList[num++] = MatrixHeadingInstance.GetDeclaration();
            num++;
            declarationList[num++] = MatrixCellInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = TableInstance.GetDeclaration();
            declarationList[num++] = TableRowInstance.GetDeclaration();
            declarationList[num++] = TableColumnInstance.GetDeclaration();
            declarationList[num++] = TableGroupInstance.GetDeclaration();
            num++;
            declarationList[num++] = OWCChartInstance.GetDeclaration();
            declarationList[num++] = ParameterInfo.GetDeclaration();
            num++;
            num++;
            num++;
            declarationList[num++] = InstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = RecordSetInfo.GetDeclaration();
            declarationList[num++] = RecordRow.GetDeclaration();
            declarationList[num++] = RecordField.GetDeclaration();
            declarationList[num++] = ValidValue.GetDeclaration();
            num++;
            declarationList[num++] = ParameterDataSource.GetDeclaration();
            declarationList[num++] = ParameterDef.GetDeclaration();
            num++;
            declarationList[num++] = ParameterBase.GetDeclaration();
            num++;
            declarationList[num++] = ProcessingMessage.GetDeclaration();
            declarationList[num++] = MatrixSubtotalHeadingInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixSubtotalCellInstance.GetDeclaration();
            declarationList[num++] = CodeClass.GetDeclaration();
            num++;
            declarationList[num++] = TableDetail.GetDeclaration();
            declarationList[num++] = TableDetailInstance.GetDeclaration();
            num++;
            declarationList[num++] = TableDetailInstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = Action.GetDeclaration();
            declarationList[num++] = ActionInstance.GetDeclaration();
            declarationList[num++] = Chart.GetDeclaration();
            declarationList[num++] = ChartHeading.GetDeclaration();
            declarationList[num++] = ChartDataPoint.GetDeclaration();
            num++;
            declarationList[num++] = MultiChart.GetDeclaration();
            declarationList[num++] = MultiChartInstance.GetDeclaration();
            num++;
            declarationList[num++] = Axis.GetDeclaration();
            declarationList[num++] = AxisInstance.GetDeclaration();
            declarationList[num++] = ChartTitle.GetDeclaration();
            declarationList[num++] = ChartTitleInstance.GetDeclaration();
            declarationList[num++] = ThreeDProperties.GetDeclaration();
            declarationList[num++] = PlotArea.GetDeclaration();
            declarationList[num++] = Legend.GetDeclaration();
            declarationList[num++] = GridLines.GetDeclaration();
            declarationList[num++] = ChartDataLabel.GetDeclaration();
            declarationList[num++] = ChartInstance.GetDeclaration();
            declarationList[num++] = ChartHeadingInstance.GetDeclaration();
            declarationList[num++] = ChartHeadingInstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = ChartDataPointInstance.GetDeclaration();
            declarationList[num++] = ChartDataPointInstanceInfo.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = RenderingPagesRanges.GetDeclaration();
            num++;
            declarationList[num++] = IntermediateFormatVersion.GetDeclaration();
            declarationList[num++] = ImageInfo.GetDeclaration();
            declarationList[num++] = ActionItem.GetDeclaration();
            declarationList[num++] = ActionItemInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = DataValue.GetDeclaration();
            declarationList[num++] = DataValueInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = Tablix.GetDeclaration();
            declarationList[num++] = TablixHeading.GetDeclaration();
            declarationList[num++] = CustomReportItem.GetDeclaration();
            declarationList[num++] = CustomReportItemInstance.GetDeclaration();
            declarationList[num++] = CustomReportItemHeading.GetDeclaration();
            declarationList[num++] = CustomReportItemHeadingInstance.GetDeclaration();
            num++;
            num++;
            num++;
            num++;
            declarationList[num++] = CustomReportItemCellInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = DataValueCRIList.GetDeclaration();
            declarationList[num++] = BookmarkInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = DrillthroughInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = CustomReportItemInstanceInfo.GetDeclaration();
            declarationList[num++] = ImageMapAreaInstanceList.GetDeclaration();
            declarationList[num++] = ImageMapAreaInstance.GetDeclaration();
            num++;
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = SortFilterEventInfo.GetDeclaration();
            declarationList[num++] = EndUserSort.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = RecordSetPropertyNames.GetDeclaration();
            num++;
            num++;
            num++;
            declarationList[num++] = PageSectionInstance.GetDeclaration();
            num++;
            declarationList[num++] = PageSectionInstanceInfo.GetDeclaration();
            declarationList[num++] = SimpleTextBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = ScopeLookupTable.GetDeclaration();
            num++;
            declarationList[num++] = ReportDrillthroughInfo.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            Global.Tracer.Assert(declarationList.Count == num, "(current.Count == index)");
            return(declarationList);
        }
Ejemplo n.º 12
0
        public static ReportItem CreateItem(string uniqueName, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext, NonComputedUniqueNames nonComputedUniqueNames)
        {
            if (reportItemDef == null)
            {
                return(null);
            }
            Global.Tracer.Assert(null != renderingContext);
            ReportItem reportItem    = null;
            int        intUniqueName = 0;

            NonComputedUniqueNames[] childrenNonComputedUniqueNames = null;
            if (reportItemInstance != null)
            {
                intUniqueName = reportItemInstance.UniqueName;
            }
            else if (nonComputedUniqueNames != null)
            {
                intUniqueName = nonComputedUniqueNames.UniqueName;
                childrenNonComputedUniqueNames = nonComputedUniqueNames.ChildrenUniqueNames;
            }
            if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Line)
            {
                AspNetCore.ReportingServices.ReportProcessing.Line reportItemDef2 = (AspNetCore.ReportingServices.ReportProcessing.Line)reportItemDef;
                LineInstance reportItemInstance2 = (LineInstance)reportItemInstance;
                reportItem = new Line(uniqueName, intUniqueName, reportItemDef2, reportItemInstance2, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.CheckBox)
            {
                AspNetCore.ReportingServices.ReportProcessing.CheckBox reportItemDef3 = (AspNetCore.ReportingServices.ReportProcessing.CheckBox)reportItemDef;
                CheckBoxInstance reportItemInstance3 = (CheckBoxInstance)reportItemInstance;
                reportItem = new CheckBox(uniqueName, intUniqueName, reportItemDef3, reportItemInstance3, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Image)
            {
                AspNetCore.ReportingServices.ReportProcessing.Image reportItemDef4 = (AspNetCore.ReportingServices.ReportProcessing.Image)reportItemDef;
                ImageInstance reportItemInstance4 = (ImageInstance)reportItemInstance;
                reportItem = new Image(uniqueName, intUniqueName, reportItemDef4, reportItemInstance4, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.TextBox)
            {
                AspNetCore.ReportingServices.ReportProcessing.TextBox reportItemDef5 = (AspNetCore.ReportingServices.ReportProcessing.TextBox)reportItemDef;
                TextBoxInstance reportItemInstance5 = (TextBoxInstance)reportItemInstance;
                reportItem = new TextBox(uniqueName, intUniqueName, reportItemDef5, reportItemInstance5, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Rectangle)
            {
                AspNetCore.ReportingServices.ReportProcessing.Rectangle reportItemDef6 = (AspNetCore.ReportingServices.ReportProcessing.Rectangle)reportItemDef;
                RectangleInstance reportItemInstance6 = (RectangleInstance)reportItemInstance;
                reportItem = new Rectangle(uniqueName, intUniqueName, reportItemDef6, reportItemInstance6, renderingContext, childrenNonComputedUniqueNames);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.ActiveXControl)
            {
                AspNetCore.ReportingServices.ReportProcessing.ActiveXControl reportItemDef7 = (AspNetCore.ReportingServices.ReportProcessing.ActiveXControl)reportItemDef;
                ActiveXControlInstance reportItemInstance7 = (ActiveXControlInstance)reportItemInstance;
                reportItem = new ActiveXControl(uniqueName, intUniqueName, reportItemDef7, reportItemInstance7, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.SubReport)
            {
                AspNetCore.ReportingServices.ReportProcessing.SubReport subReport = (AspNetCore.ReportingServices.ReportProcessing.SubReport)reportItemDef;
                SubReportInstance subReportInstance = (SubReportInstance)reportItemInstance;
                bool   processedWithError           = false;
                Report innerReport;
                if (AspNetCore.ReportingServices.ReportProcessing.SubReport.Status.Retrieved != subReport.RetrievalStatus)
                {
                    innerReport        = null;
                    processedWithError = true;
                }
                else
                {
                    if (subReport.ReportContext == null && renderingContext.CurrentReportContext != null)
                    {
                        subReport.ReportContext = renderingContext.CurrentReportContext.GetSubreportContext(subReport.ReportPath);
                    }
                    ICatalogItemContext reportContext     = subReport.ReportContext;
                    RenderingContext    renderingContext2 = new RenderingContext(renderingContext, subReport.Uri, subReport.Report.EmbeddedImages, subReport.Report.ImageStreamNames, reportContext);
                    if (subReportInstance == null)
                    {
                        innerReport = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                    else if (subReportInstance.ReportInstance == null)
                    {
                        processedWithError = true;
                        innerReport        = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                    else
                    {
                        innerReport = new Report(subReport.Report, subReportInstance.ReportInstance, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                }
                reportItem = new SubReport(intUniqueName, subReport, subReportInstance, renderingContext, innerReport, processedWithError);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.List)
            {
                AspNetCore.ReportingServices.ReportProcessing.List reportItemDef8 = (AspNetCore.ReportingServices.ReportProcessing.List)reportItemDef;
                ListInstance reportItemInstance8 = (ListInstance)reportItemInstance;
                reportItem = new List(intUniqueName, reportItemDef8, reportItemInstance8, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Matrix)
            {
                AspNetCore.ReportingServices.ReportProcessing.Matrix reportItemDef9 = (AspNetCore.ReportingServices.ReportProcessing.Matrix)reportItemDef;
                MatrixInstance reportItemInstance9 = (MatrixInstance)reportItemInstance;
                reportItem = new Matrix(intUniqueName, reportItemDef9, reportItemInstance9, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Table)
            {
                AspNetCore.ReportingServices.ReportProcessing.Table reportItemDef10 = (AspNetCore.ReportingServices.ReportProcessing.Table)reportItemDef;
                TableInstance reportItemInstance10 = (TableInstance)reportItemInstance;
                reportItem = new Table(intUniqueName, reportItemDef10, reportItemInstance10, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.OWCChart)
            {
                AspNetCore.ReportingServices.ReportProcessing.OWCChart reportItemDef11 = (AspNetCore.ReportingServices.ReportProcessing.OWCChart)reportItemDef;
                OWCChartInstance reportItemInstance11 = (OWCChartInstance)reportItemInstance;
                reportItem = new OWCChart(intUniqueName, reportItemDef11, reportItemInstance11, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Chart)
            {
                AspNetCore.ReportingServices.ReportProcessing.Chart reportItemDef12 = (AspNetCore.ReportingServices.ReportProcessing.Chart)reportItemDef;
                ChartInstance reportItemInstance12 = (ChartInstance)reportItemInstance;
                reportItem = new Chart(intUniqueName, reportItemDef12, reportItemInstance12, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.CustomReportItem)
            {
                AspNetCore.ReportingServices.ReportProcessing.CustomReportItem reportItemDef13 = (AspNetCore.ReportingServices.ReportProcessing.CustomReportItem)reportItemDef;
                CustomReportItemInstance reportItemInstance13 = (CustomReportItemInstance)reportItemInstance;
                reportItem = new CustomReportItem(uniqueName, intUniqueName, reportItemDef13, reportItemInstance13, renderingContext, childrenNonComputedUniqueNames);
                if (!renderingContext.NativeAllCRITypes && (renderingContext.NativeCRITypes == null || !renderingContext.NativeCRITypes.ContainsKey(((CustomReportItem)reportItem).Type)))
                {
                    reportItem = ((CustomReportItem)reportItem).AltReportItem;
                }
            }
            return(reportItem);
        }
Ejemplo n.º 13
0
        public ReportSize this[int index]
        {
            get
            {
                ReportSize           reportSize;
                ReportSizeCollection reportSizeCollection;
                if (index >= 0 && index < this.Count)
                {
                    reportSize = null;
                    if (this.m_reportSizeCollection != null && this.m_reportSizeCollection[index] != null)
                    {
                        reportSize = this.m_reportSizeCollection[index];
                    }
                    if (reportSize == null)
                    {
                        AspNetCore.ReportingServices.ReportProcessing.Matrix matrix = (AspNetCore.ReportingServices.ReportProcessing.Matrix) this.m_owner.ReportItemDef;
                        MatrixInstance matrixInstance = (MatrixInstance)this.m_owner.ReportItemInstance;
                        reportSizeCollection = null;
                        reportSizeCollection = ((!this.m_widthsCollection) ? matrix.CellHeightsForRendering : matrix.CellWidthsForRendering);
                        Global.Tracer.Assert(null != reportSizeCollection);
                        if (this.m_owner.NoRows || matrixInstance == null || matrixInstance.Cells.Count == 0)
                        {
                            reportSize = reportSizeCollection[index];
                        }
                        else
                        {
                            if (this.m_widthsCollection && matrix.StaticColumns == null)
                            {
                                goto IL_0107;
                            }
                            if (!this.m_widthsCollection && matrix.StaticRows == null)
                            {
                                goto IL_0107;
                            }
                            bool cacheState = this.m_owner.RenderingContext.CacheState;
                            this.m_owner.RenderingContext.CacheState = true;
                            MatrixCellCollection cellCollection = this.m_owner.CellCollection;
                            MatrixCell           matrixCell     = null;
                            matrixCell = ((!this.m_widthsCollection) ? cellCollection[index, 0] : cellCollection[0, index]);
                            reportSize = reportSizeCollection[matrixCell.ColumnIndex];
                            this.m_owner.RenderingContext.CacheState = cacheState;
                        }
                        goto IL_0184;
                    }
                    goto IL_01bc;
                }
                throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, this.Count);
IL_01bc:
                return(reportSize);

IL_0107:
                reportSize = reportSizeCollection[0];
                goto IL_0184;
IL_0184:
                if (this.m_owner.RenderingContext.CacheState)
                {
                    if (this.m_reportSizeCollection == null)
                    {
                        this.m_reportSizeCollection = new ReportSizeCollection(this.Count);
                    }
                    this.m_reportSizeCollection[index] = reportSize;
                }
                goto IL_01bc;
            }
        }
Ejemplo n.º 14
0
 public Matrix(int intUniqueName, AspNetCore.ReportingServices.ReportProcessing.Matrix reportItemDef, MatrixInstance reportItemInstance, RenderingContext renderingContext)
     : base(intUniqueName, reportItemDef, reportItemInstance, renderingContext)
 {
     if (reportItemInstance != null && reportItemInstance.Cells.Count != 0 && reportItemInstance.Cells[0].Count != 0)
     {
         this.m_rowMemberMapping = Matrix.CalculateMapping(reportItemDef.Rows, reportItemInstance.RowInstances, false);
         this.m_colMemberMapping = Matrix.CalculateMapping(reportItemDef.Columns, reportItemInstance.ColumnInstances, false);
         this.m_noRows           = (this.m_rowMemberMapping.Count == 0 || 0 == this.m_colMemberMapping.Count);
     }
     else
     {
         this.m_noRows = true;
     }
 }
Ejemplo n.º 15
0
        public void Execute()
        {
            for (int i = VegetationItemMatrixList.Length - 1; i >= 0; i--)
            {
                MatrixInstance vegetationItemMatrixInstance = VegetationItemMatrixList[i];
                vegetationItemMatrixInstance.Matrix = TranslateMatrix(vegetationItemMatrixInstance.Matrix, FloatingOriginOffset);

                float distanceFactor   = vegetationItemMatrixInstance.DistanceFalloff;
                float itemCullDistance = CullDistance * distanceFactor;
                float lod1Distance     = math.clamp(LOD1Distance * LODFactor * LODBias, 0, itemCullDistance);
                float lod2Distance     = math.clamp(LOD2Distance * LODFactor * LODBias, 0, itemCullDistance);
                float lod3Distance     = math.clamp(LOD3Distance * LODFactor * LODBias, 0, itemCullDistance);

                switch (LODCount)
                {
                case 1:
                    lod1Distance = math.max(lod1Distance, itemCullDistance);
                    break;

                case 2:
                    lod2Distance = math.max(lod2Distance, itemCullDistance);
                    break;

                case 3:
                    lod3Distance = math.max(lod3Distance, itemCullDistance);
                    break;
                }

                bool useLODFade = LODFadePercentage || LODFadeCrossfade;

                float3 position = ExtractTranslationFromMatrix(vegetationItemMatrixInstance.Matrix);
                float  distance = math.distance(CameraPosition, position);

                if (distance > itemCullDistance)
                {
                    continue;
                }

                if (NoFrustumCulling)
                {
                    if (distance <= lod1Distance || LODCount == 1)
                    {
                        VegetationItemLOD0MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, lod1Distance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD0FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                    else if (distance <= lod2Distance || LODCount == 2)
                    {
                        VegetationItemLOD1MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, lod2Distance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD1FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                    else if (distance <= lod3Distance || LODCount == 3)
                    {
                        VegetationItemLOD2MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, lod3Distance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD2FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                    else
                    {
                        VegetationItemLOD3MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, itemCullDistance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD3FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                    continue;
                }

                BoundingSphere boundingSphere = new BoundingSphere(position, BoundingSphereRadius);

                if (SphereInFrustum(boundingSphere) == -1)
                {
                    if (VegetationItemDistanceBand == 0 || !ShadowCulling)
                    {
                        continue;
                    }

                    //TODO add LODFade for shadows
                    Bounds vegetationItemBounds = new Bounds(position, BoundsSize);
                    if (IsShadowVisible(vegetationItemBounds, LightDirection, PlaneOrigin, FrustumPlanes))
                    {
                        if (distance <= lod1Distance || LODCount == 1)
                        {
                            VegetationItemLOD0ShadowMatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        }
                        else if (distance <= lod2Distance || LODCount == 2)
                        {
                            VegetationItemLOD1ShadowMatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        }
                        else if (distance <= lod3Distance || LODCount == 3)
                        {
                            VegetationItemLOD2ShadowMatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        }
                        else
                        {
                            VegetationItemLOD3ShadowMatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        }
                    }
                }
                else
                {
                    if (distance <= lod1Distance || LODCount == 1)
                    {
                        VegetationItemLOD0MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, lod1Distance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD0FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                    else if (distance <= lod2Distance || LODCount == 2)
                    {
                        VegetationItemLOD1MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, lod2Distance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD1FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                    else if (distance <= lod3Distance || LODCount == 3)
                    {
                        VegetationItemLOD2MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, lod3Distance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD2FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                    else
                    {
                        VegetationItemLOD3MatrixList.Add(vegetationItemMatrixInstance.Matrix);
                        if (useLODFade)
                        {
                            float lodFade           = CalculateLODFade(distance, itemCullDistance);
                            float lodFadeQuantified = 1 - Mathf.Clamp(Mathf.RoundToInt(lodFade * 16) / 16f, 0.0625f, 1f);
                            LOD3FadeList.Add(new Vector4(lodFade, lodFadeQuantified, 0, 0));
                        }
                    }
                }
            }
        }
Ejemplo n.º 16
0
 internal Matrix(int intUniqueName, Microsoft.ReportingServices.ReportProcessing.Matrix reportItemDef, MatrixInstance reportItemInstance, RenderingContext renderingContext)
     : base(intUniqueName, reportItemDef, reportItemInstance, renderingContext)
 {
     if (reportItemInstance != null && reportItemInstance.Cells.Count != 0 && reportItemInstance.Cells[0].Count != 0)
     {
         m_rowMemberMapping = CalculateMapping(reportItemDef.Rows, reportItemInstance.RowInstances, inParentSubtotal: false);
         m_colMemberMapping = CalculateMapping(reportItemDef.Columns, reportItemInstance.ColumnInstances, inParentSubtotal: false);
         m_noRows           = (m_rowMemberMapping.Count == 0 || m_colMemberMapping.Count == 0);
     }
     else
     {
         m_noRows = true;
     }
 }