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); } }
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); } } }
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)); }
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)); }
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; } }
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]); } } }
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); } }
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); } }
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); }
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); } }
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); }
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); }
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; } }
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; } }
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)); } } } } }
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; } }