Class: VolumeProjectedSurface
Defined in: src/surfaces/VolumeProjectedSurface.ts:36
Extends
Constructors
Constructor
new VolumeProjectedSurface(geometry, options): VolumeProjectedSurface;Defined in: src/surfaces/VolumeProjectedSurface.ts:42
Parameters
geometry
options
VolumeProjectedSurfaceOptions
Returns
VolumeProjectedSurface
Overrides
Properties
geometry
geometry: SurfaceGeometry;Defined in: src/classes.ts:263
Inherited from
indices
indices: Uint32Array;Defined in: src/classes.ts:264
Inherited from
data
data: Float32Array;Defined in: src/classes.ts:265
Inherited from
vertexCurv
vertexCurv: Float32Array<ArrayBufferLike> | null;Defined in: src/classes.ts:266
Inherited from
mesh
mesh:
| Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material | Material[], Object3DEventMap>
| null;Defined in: src/classes.ts:267
Inherited from
threshold
threshold: [number, number];Defined in: src/classes.ts:268
Inherited from
irange
irange: [number, number];Defined in: src/classes.ts:269
Inherited from
hemisphere
hemisphere: string;Defined in: src/classes.ts:270
Inherited from
config
config: Required<SurfaceConfig>;Defined in: src/classes.ts:271
Inherited from
viewer?
optional viewer?: any;Defined in: src/classes.ts:272
Inherited from
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
NeuroSurface.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
Inherited from
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 });Inherited from
getPickMetadata()
getPickMetadata(_vertexIndex): Record<string, unknown> | null;Defined in: src/classes.ts:438
Parameters
_vertexIndex
number
Returns
Record<string, unknown> | null
Inherited from
setVisible()
setVisible(visible): void;Defined in: src/classes.ts:445
Parameters
visible
boolean
Returns
void
Inherited from
setOpacity()
setOpacity(opacity): void;Defined in: src/classes.ts:453
Parameters
opacity
number
Returns
void
Inherited from
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);Inherited from
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);Inherited from
NeuroSurface.applyLaplacianSmoothing
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
Inherited from
NeuroSurface.createSmoothedCopy
updateMesh()
updateMesh(): Mesh;Defined in: src/classes.ts:584
Returns
Mesh
Inherited from
createMesh()
createMesh(): Mesh;Defined in: src/surfaces/VolumeProjectedSurface.ts:84
Returns
Mesh
Overrides
updateColors()
updateColors(): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:98
Returns
void
Overrides
updateVolumeData()
updateVolumeData(data): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:102
Parameters
data
Float32Array<ArrayBufferLike> | ArrayLike<number>
Returns
void
setIntensityRange()
setIntensityRange(min, max): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:107
Parameters
min
number
max
number
Returns
void
setThreshold()
setThreshold(min, max): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:113
Parameters
min
number
max
number
Returns
void
setOverlayOpacity()
setOverlayOpacity(opacity): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:119
Parameters
opacity
number
Returns
void
setBaseColor()
setBaseColor(color): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:125
Parameters
color
ColorRepresentation
Returns
void
setColormap()
setColormap(name): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:131
Parameters
name
string
Returns
void
setWorldToIJK()
setWorldToIJK(matrix): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:141
Parameters
matrix
ArrayLike<number> | Matrix4
Returns
void
isSupported()
static isSupported(renderer, options?): boolean;Defined in: src/surfaces/VolumeProjectedSurface.ts:150
Parameters
renderer
WebGLRenderer
options?
requireLinearFiltering?
boolean
useHalfFloat?
boolean
Returns
boolean
dispose()
dispose(): void;Defined in: src/surfaces/VolumeProjectedSurface.ts:157
Returns
void