Abstract Class: NeuroSurface
Defined in: src/classes.ts:210
Extends
Extended by
ColorMappedNeuroSurfaceVertexColoredNeuroSurfaceMultiLayerNeuroSurfaceLabeledNeuroSurfaceVolumeProjectedSurface
Constructors
Constructor
new NeuroSurface(
geometry,
indices,
data,
config?): NeuroSurface;Defined in: src/classes.ts:274
Parameters
geometry
indices
Uint32Array<ArrayBufferLike> | number[] | null
data
Float32Array<ArrayBufferLike> | number[]
config?
SurfaceConfig = {}
Returns
NeuroSurface
Overrides
Properties
geometry
geometry: SurfaceGeometry;Defined in: src/classes.ts:263
indices
indices: Uint32Array;Defined in: src/classes.ts:264
data
data: Float32Array;Defined in: src/classes.ts:265
vertexCurv
vertexCurv: Float32Array<ArrayBufferLike> | null;Defined in: src/classes.ts:266
mesh
mesh:
| Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material | Material[], Object3DEventMap>
| null;Defined in: src/classes.ts:267
threshold
threshold: [number, number];Defined in: src/classes.ts:268
irange
irange: [number, number];Defined in: src/classes.ts:269
hemisphere
hemisphere: string;Defined in: src/classes.ts:270
config
config: Required<SurfaceConfig>;Defined in: src/classes.ts:271
viewer?
optional viewer?: any;Defined in: src/classes.ts:272
Methods
on()
on(event, listener): UnsubscribeFn;Defined in: src/EventEmitter.ts:12
Parameters
event
string
listener
Returns
Inherited from
once()
once(event, listener): UnsubscribeFn;Defined in: src/EventEmitter.ts:23
Parameters
event
string
listener
Returns
Inherited from
emit()
emit(event, ...args): void;Defined in: src/EventEmitter.ts:34
Parameters
event
string
args
...any[]
Returns
void
Inherited from
removeListener()
removeListener(event, listenerToRemove): void;Defined in: src/EventEmitter.ts:41
Parameters
event
string
listenerToRemove
Returns
void
Inherited from
removeAllListeners()
removeAllListeners(event?): void;Defined in: src/EventEmitter.ts:52
Parameters
event?
string
Returns
void
Inherited from
EventEmitter.removeAllListeners
off()
off(event, listener): void;Defined in: src/EventEmitter.ts:61
Parameters
event
string
listener
Returns
void
Inherited from
update()
update(property, value): void;Defined in: src/classes.ts:317
Parameters
property
string
value
any
Returns
void
updateConfig()
updateConfig(newConfig): void;Defined in: src/classes.ts:342
Update surface material properties dynamically
Parameters
newConfig
Partial<SurfaceConfig>
Partial configuration object with properties to update
Returns
void
Example
// 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()
getPickMetadata(_vertexIndex): Record<string, unknown> | null;Defined in: src/classes.ts:438
Parameters
_vertexIndex
number
Returns
Record<string, unknown> | null
createMesh()
abstract createMesh(): Mesh;Defined in: src/classes.ts:442
Returns
Mesh
updateColors()
abstract updateColors(): void;Defined in: src/classes.ts:443
Returns
void
setVisible()
setVisible(visible): void;Defined in: src/classes.ts:445
Parameters
visible
boolean
Returns
void
setOpacity()
setOpacity(opacity): void;Defined in: src/classes.ts:453
Parameters
opacity
number
Returns
void
setSmoothShading()
setSmoothShading(smooth, smoothingAngle?): void;Defined in: src/classes.ts:473
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
// 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()
applyLaplacianSmoothing(
iterations?,
lambda?,
method?,
preserveBoundaries?): void;Defined in: src/classes.ts:509
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
// 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()
createSmoothedCopy(
iterations?,
lambda?,
method?): SurfaceGeometry;Defined in: src/classes.ts:559
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
A new smoothed surface geometry
updateMesh()
updateMesh(): Mesh;Defined in: src/classes.ts:584
Returns
Mesh
dispose()
dispose(): void;Defined in: src/classes.ts:605
Returns
void