Quellcode durchsuchen

Merge pull request #9209 from Popov72/edgerenderer-accessors

Add some accessors to the edge renderer
David Catuhe vor 4 Jahren
Ursprung
Commit
c8adc0f67e
2 geänderte Dateien mit 19 neuen und 2 gelöschten Zeilen
  1. 3 1
      src/Meshes/abstractMesh.ts
  2. 16 1
      src/Rendering/edgesRenderer.ts

+ 3 - 1
src/Meshes/abstractMesh.ts

@@ -36,6 +36,7 @@ declare type Ray = import("../Culling/ray").Ray;
 declare type Collider = import("../Collisions/collider").Collider;
 declare type TrianglePickingPredicate = import("../Culling/ray").TrianglePickingPredicate;
 declare type RenderingGroup = import("../Rendering/renderingGroup").RenderingGroup;
+declare type IEdgesRendererOptions = import("../Rendering/edgesRenderer").IEdgesRendererOptions;
 
 /** @hidden */
 class _FacetDataStorage {
@@ -2227,10 +2228,11 @@ export class AbstractMesh extends TransformNode implements IDisposable, ICullabl
      * This mode makes the mesh edges visible
      * @param epsilon defines the maximal distance between two angles to detect a face
      * @param checkVerticesInsteadOfIndices indicates that we should check vertex list directly instead of faces
+     * @param options options to the edge renderer
      * @returns the currentAbstractMesh
      * @see https://www.babylonjs-playground.com/#19O9TU#0
      */
-    enableEdgesRendering(epsilon?: number, checkVerticesInsteadOfIndices?: boolean): AbstractMesh {
+    enableEdgesRendering(epsilon?: number, checkVerticesInsteadOfIndices?: boolean, options?: IEdgesRendererOptions): AbstractMesh {
         throw _DevTools.WarnImport("EdgesRenderer");
     }
 

+ 16 - 1
src/Rendering/edgesRenderer.ts

@@ -1,4 +1,4 @@
-import { Nullable } from "../types";
+import { Immutable, Nullable } from "../types";
 import { VertexBuffer } from "../Meshes/buffer";
 import { AbstractMesh } from "../Meshes/abstractMesh";
 import { Mesh } from "../Meshes/mesh";
@@ -206,6 +206,21 @@ export class EdgesRenderer implements IEdgesRenderer {
     /** Gets or sets a boolean indicating if the edgesRenderer is active */
     public isEnabled = true;
 
+    /** Gets the vertices generated by the edge renderer */
+    public get linesPositions(): Immutable<Array<number>> {
+        return this._linesPositions;
+    }
+
+    /** Gets the normals generated by the edge renderer */
+    public get linesNormals(): Immutable<Array<number>> {
+        return this._linesNormals;
+    }
+
+    /** Gets the indices generated by the edge renderer */
+    public get linesIndices(): Immutable<Array<number>> {
+        return this._linesIndices;
+    }
+
     /**
      * List of instances to render in case the source mesh has instances
      */