Skip to content

Abstract Class: NeuroSurface ​

Defined in: classes.ts:409

Extends ​

Extended by ​

Constructors ​

Constructor ​

ts
new NeuroSurface(
   geometry, 
   indices, 
   data, 
   config?
): NeuroSurface;

Defined in: classes.ts:469

Parameters ​

geometry ​

SurfaceGeometry

indices ​

number[] | Uint32Array<ArrayBufferLike> | null

data ​

Float32Array<ArrayBufferLike> | number[]

config? ​

SurfaceConfig = {}

Returns ​

NeuroSurface

Overrides ​

EventEmitter.constructor

Properties ​

geometry ​

ts
geometry: SurfaceGeometry;

Defined in: classes.ts:458


indices ​

ts
indices: Uint32Array;

Defined in: classes.ts:459


data ​

ts
data: Float32Array;

Defined in: classes.ts:460


vertexCurv ​

ts
vertexCurv: Float32Array<ArrayBufferLike> | null;

Defined in: classes.ts:461


mesh ​

ts
mesh: 
  | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, 
  | Material<MaterialEventMap>
  | Material<MaterialEventMap>[], Object3DEventMap>
  | null;

Defined in: classes.ts:462


threshold ​

ts
threshold: [number, number];

Defined in: classes.ts:463


irange ​

ts
irange: [number, number];

Defined in: classes.ts:464


hemisphere ​

ts
hemisphere: string;

Defined in: classes.ts:465


config ​

ts
config: ResolvedSurfaceConfig;

Defined in: classes.ts:466


viewer? ​

ts
optional viewer?: any;

Defined in: classes.ts:467

Methods ​

on() ​

ts
on<K>(event, listener): UnsubscribeFn;

Defined in: EventEmitter.ts:18

Type Parameters ​

K ​

K extends keyof SurfaceEventMap

Parameters ​

event ​

K

listener ​

TypedEventListener<SurfaceEventMap[K]>

Returns ​

UnsubscribeFn

Inherited from ​

EventEmitter.on


once() ​

ts
once<K>(event, listener): UnsubscribeFn;

Defined in: EventEmitter.ts:30

Type Parameters ​

K ​

K extends keyof SurfaceEventMap

Parameters ​

event ​

K

listener ​

TypedEventListener<SurfaceEventMap[K]>

Returns ​

UnsubscribeFn

Inherited from ​

EventEmitter.once


emit() ​

ts
emit<K>(event, ...args): void;

Defined in: EventEmitter.ts:41

Type Parameters ​

K ​

K extends keyof SurfaceEventMap

Parameters ​

event ​

K

args ​

...EventPayloadArgs<SurfaceEventMap[K]>

Returns ​

void

Inherited from ​

EventEmitter.emit


removeListener() ​

ts
removeListener<K>(event, listenerToRemove): void;

Defined in: EventEmitter.ts:60

Type Parameters ​

K ​

K extends keyof SurfaceEventMap

Parameters ​

event ​

K

listenerToRemove ​

TypedEventListener<SurfaceEventMap[K]>

Returns ​

void

Inherited from ​

EventEmitter.removeListener


removeAllListeners() ​

ts
removeAllListeners(event?): void;

Defined in: EventEmitter.ts:75

Parameters ​

event? ​

keyof SurfaceEventMap

Returns ​

void

Inherited from ​

EventEmitter.removeAllListeners


off() ​

ts
off<K>(event, listener): void;

Defined in: EventEmitter.ts:84

Type Parameters ​

K ​

K extends keyof SurfaceEventMap

Parameters ​

event ​

K

listener ​

TypedEventListener<SurfaceEventMap[K]>

Returns ​

void

Inherited from ​

EventEmitter.off


update() ​

ts
update(property, value): void;

Defined in: classes.ts:517

Parameters ​

property ​

string

value ​

any

Returns ​

void


updateConfig() ​

ts
updateConfig(newConfig): void;

Defined in: classes.ts:542

Update surface material properties dynamically

Parameters ​

newConfig ​

Partial<SurfaceConfig>

Partial configuration object with properties to update

Returns ​

void

Example ​

javascript
// Make surface shiny and semi-transparent
surface.updateConfig({
  shininess: 150,
  specularColor: 0xffffff,
  alpha: 0.7
});

// Switch to flat shading for faceted look
surface.updateConfig({ flatShading: true });

getPickMetadata() ​

ts
getPickMetadata(_vertexIndex): Record<string, unknown> | null;

Defined in: classes.ts:647

Parameters ​

_vertexIndex ​

number

Returns ​

Record<string, unknown> | null


createMesh() ​

ts
abstract createMesh(): Mesh;

Defined in: classes.ts:651

Returns ​

Mesh


updateColors() ​

ts
abstract updateColors(): void;

Defined in: classes.ts:652

Returns ​

void


setVisible() ​

ts
setVisible(visible): void;

Defined in: classes.ts:654

Parameters ​

visible ​

boolean

Returns ​

void


setOpacity() ​

ts
setOpacity(opacity): void;

Defined in: classes.ts:662

Parameters ​

opacity ​

number

Returns ​

void


setSmoothShading() ​

ts
setSmoothShading(smooth, smoothingAngle?): void;

Defined in: classes.ts:682

Control surface shading style (visual only, doesn't modify geometry)

Parameters ​

smooth ​

boolean

If true, uses smooth shading (interpolated normals). If false, uses flat shading (face normals)

smoothingAngle? ​

number

Optional angle threshold in degrees (0-180). Edges above this angle remain sharp

Returns ​

void

Example ​

javascript
// Enable smooth shading for organic surfaces
surface.setSmoothShading(true);

// Smooth shading with 30° threshold (sharp edges preserved)
surface.setSmoothShading(true, 30);

// Flat shading for faceted/crystalline look
surface.setSmoothShading(false);

applyLaplacianSmoothing() ​

ts
applyLaplacianSmoothing(
   iterations?, 
   lambda?, 
   method?, 
   preserveBoundaries?
): void;

Defined in: classes.ts:718

Apply Laplacian smoothing to the surface vertices (modifies geometry)

Parameters ​

iterations? ​

number = 1

Number of smoothing iterations (1-10). More iterations = smoother surface

lambda? ​

number = 0.5

Smoothing strength (0-1). 0 = no effect, 1 = maximum smoothing per iteration

method? ​

"laplacian" | "taubin"

Smoothing algorithm:

  • 'laplacian': Standard smoothing, may shrink surface
  • 'taubin': Alternates shrink/expand to preserve volume
preserveBoundaries? ​

boolean = true

If true, boundary edges remain fixed

Returns ​

void

Example ​

javascript
// Gentle smoothing to reduce noise
surface.applyLaplacianSmoothing(2, 0.3, 'laplacian', true);

// Aggressive smoothing while preserving volume
surface.applyLaplacianSmoothing(5, 0.5, 'taubin', true);

// Smooth including boundaries (may distort edges)
surface.applyLaplacianSmoothing(3, 0.4, 'laplacian', false);

createSmoothedCopy() ​

ts
createSmoothedCopy(
   iterations?, 
   lambda?, 
   method?
): SurfaceGeometry;

Defined in: classes.ts:768

Create a smoothed copy of this surface

Parameters ​

iterations? ​

number = 1

Number of smoothing iterations

lambda? ​

number = 0.5

Smoothing factor 0-1

method? ​

"laplacian" | "taubin"

'laplacian' or 'taubin'

Returns ​

SurfaceGeometry

A new smoothed surface geometry


updateMesh() ​

ts
updateMesh(): Mesh;

Defined in: classes.ts:793

Returns ​

Mesh


dispose() ​

ts
dispose(): void;

Defined in: classes.ts:814

Returns ​

void

Released under the MIT License.