#pragma warning disable 0672 protected override void OnPopulateMesh(Mesh m) { m.Clear(); if (mAxis == null || mParent == null) { return; } WorldSpaceChartMesh mesh = new WorldSpaceChartMesh(true); mesh.Orientation = mOrientation; if (mIsSubDivisions) { mAxis.AddMainDivisionToChartMesh(mScrollOffset, mParent, transform, mesh, mOrientation); } else { mAxis.AddSubdivisionToChartMesh(mScrollOffset, mParent, transform, mesh, mOrientation); } mesh.ApplyToMesh(m); }
/// <summary> /// sets the axis settings. Calling this method will cause the axisgenerator to create the axis mesh /// </summary> /// <param name="parent"></param> /// <param name="axis"></param> /// <param name="axisOrientation"></param> /// <param name="isSubDivisions"></param> public void SetAxis(double scrollOffset, AnyChart parent, AxisBase axis, ChartOrientation axisOrientation, bool isSubDivisions) { mScroll = scrollOffset; mParent = parent; mAxis = axis; mOrientation = axisOrientation; mIsSubDivision = isSubDivisions; if (mMesh == null) { mMesh = new WorldSpaceChartMesh(2); mMesh.RecycleText = true; } mMesh.Clear(); mMesh.Orientation = axisOrientation; mAxis = axis; if (isSubDivisions) { axis.AddSubdivisionToChartMesh(scrollOffset, parent, transform, mMesh, axisOrientation); } else { axis.AddMainDivisionToChartMesh(scrollOffset, parent, transform, mMesh, axisOrientation); } if (mMesh.TextObjects != null) { foreach (BillboardText text in mMesh.TextObjects) { ((IInternalUse)parent).InternalTextController.AddText(text); } } mTexts = mMesh.CurrentTextObjects; Mesh newMesh = mMesh.Generate(mCreated); mCreated = newMesh; newMesh.hideFlags = HideFlags.DontSave; if (mFilter == null) { mFilter = GetComponent <MeshFilter>(); } mFilter.sharedMesh = newMesh; MeshCollider collider = GetComponent <MeshCollider>(); if (collider != null) { collider.sharedMesh = newMesh; } ChartCommon.CleanMesh(newMesh, ref mCleanMesh); MeshRenderer renderer = GetComponent <MeshRenderer>(); if (renderer != null) { Material m = mAxis.MainDivisions.Material; float tiling = GetTiling(parent, axisOrientation, mAxis.MainDivisions); if (isSubDivisions) { m = mAxis.SubDivisions.Material; tiling = GetTiling(parent, axisOrientation, mAxis.SubDivisions); } mMaterial = m; if (m != null) { ChartCommon.SafeDestroy(mDispose); mDispose = new Material(m); mDispose.hideFlags = HideFlags.DontSave; renderer.sharedMaterial = mDispose; mTiling = tiling; if (mDispose.HasProperty("_ChartTiling")) { mDispose.SetFloat("_ChartTiling", mTiling); } } } mMesh.DestoryRecycled(); }