Class: VolumeProjectedSurface
Defined in: surfaces/VolumeProjectedSurface.ts:43
Extends
Constructors
Constructor
new VolumeProjectedSurface(geometry, options): VolumeProjectedSurface;Defined in: surfaces/VolumeProjectedSurface.ts:54
Parameters
geometry
options
Returns
VolumeProjectedSurface
Overrides
Properties
geometry
geometry: SurfaceGeometry;Defined in: classes.ts:458
Inherited from
indices
indices: Uint32Array;Defined in: classes.ts:459
Inherited from
data
data: Float32Array;Defined in: classes.ts:460
Inherited from
vertexCurv
vertexCurv: Float32Array<ArrayBufferLike> | null;Defined in: classes.ts:461
Inherited from
mesh
mesh:
| Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
| Material<MaterialEventMap>
| Material<MaterialEventMap>[], Object3DEventMap>
| null;Defined in: classes.ts:462
Inherited from
threshold
threshold: [number, number];Defined in: classes.ts:463
Inherited from
irange
irange: [number, number];Defined in: classes.ts:464
Inherited from
hemisphere
hemisphere: string;Defined in: classes.ts:465
Inherited from
config
config: ResolvedSurfaceConfig;Defined in: classes.ts:466
Inherited from
viewer?
optional viewer?: any;Defined in: classes.ts:467
Inherited from
Methods
on()
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
Inherited from
once()
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
Inherited from
emit()
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
removeListener()
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
removeAllListeners()
removeAllListeners(event?): void;Defined in: EventEmitter.ts:75
Parameters
event?
keyof SurfaceEventMap
Returns
void
Inherited from
NeuroSurface.removeAllListeners
off()
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
update()
update(property, value): void;Defined in: classes.ts:517
Parameters
property
string
value
any
Returns
void
Inherited from
updateConfig()
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
// 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: classes.ts:647
Parameters
_vertexIndex
number
Returns
Record<string, unknown> | null
Inherited from
setVisible()
setVisible(visible): void;Defined in: classes.ts:654
Parameters
visible
boolean
Returns
void
Inherited from
setOpacity()
setOpacity(opacity): void;Defined in: classes.ts:662
Parameters
opacity
number
Returns
void
Inherited from
setSmoothShading()
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
// 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: 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
// 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: 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
A new smoothed surface geometry
Inherited from
NeuroSurface.createSmoothedCopy
updateMesh()
updateMesh(): Mesh;Defined in: classes.ts:793
Returns
Mesh
Inherited from
createMesh()
createMesh(): Mesh;Defined in: surfaces/VolumeProjectedSurface.ts:116
Returns
Mesh
Overrides
updateColors()
updateColors(): void;Defined in: surfaces/VolumeProjectedSurface.ts:132
Returns
void
Overrides
updateVolumeData()
updateVolumeData(data): void;Defined in: surfaces/VolumeProjectedSurface.ts:136
Parameters
data
Float32Array<ArrayBufferLike> | ArrayLike<number>
Returns
void
setIntensityRange()
setIntensityRange(min, max): void;Defined in: surfaces/VolumeProjectedSurface.ts:141
Parameters
min
number
max
number
Returns
void
setThreshold()
setThreshold(min, max): void;Defined in: surfaces/VolumeProjectedSurface.ts:148
Parameters
min
number
max
number
Returns
void
setOverlayOpacity()
setOverlayOpacity(opacity): void;Defined in: surfaces/VolumeProjectedSurface.ts:155
Parameters
opacity
number
Returns
void
setBaseColor()
setBaseColor(color): void;Defined in: surfaces/VolumeProjectedSurface.ts:161
Parameters
color
ColorRepresentation
Returns
void
setColormap()
setColormap(name): void;Defined in: surfaces/VolumeProjectedSurface.ts:167
Parameters
name
string
Returns
void
setWorldToIJK()
setWorldToIJK(matrix): void;Defined in: surfaces/VolumeProjectedSurface.ts:177
Parameters
matrix
ArrayLike<number> | Matrix4
Returns
void
setProjectionMode()
setProjectionMode(mode): void;Defined in: surfaces/VolumeProjectedSurface.ts:185
Parameters
mode
Returns
void
setRibbonSampling()
setRibbonSampling(samples, reducer?): void;Defined in: surfaces/VolumeProjectedSurface.ts:192
Parameters
samples
number
reducer?
RibbonReducer = ...
Returns
void
setRibbonSurfaces()
setRibbonSurfaces(pial, white): void;Defined in: surfaces/VolumeProjectedSurface.ts:204
Parameters
pial
Float32Array<ArrayBufferLike> | ArrayLike<number>
white
Float32Array<ArrayBufferLike> | ArrayLike<number>
Returns
void
isSupported()
static isSupported(renderer, options?): boolean;Defined in: surfaces/VolumeProjectedSurface.ts:219
Parameters
renderer
WebGLRenderer
options?
requireLinearFiltering?
boolean
useHalfFloat?
boolean
Returns
boolean
dispose()
dispose(): void;Defined in: surfaces/VolumeProjectedSurface.ts:226
Returns
void