CuttingService
-
class
wvc.CuttingService() Service class for managing cutting plane operations in 3D models.
This service provides a high-level interface for creating, managing, and manipulating cutting planes and cutting sections. It acts as a bridge between the UI components and the underlying HOOPS Web Viewer cutting functionality.
Key features:
- Cutting section management (create, activate, deactivate, clear)
- Cutting plane operations (add, remove, update, visibility control)
- Visual property management (color, opacity, reference geometry)
- Capping geometry configuration
- Event dispatching for UI synchronization
- Face selection integration for plane creation
Index
Constructors
Properties
Accessors
Methods
addCuttingPlaneaddEventListenerclearCuttingSectiondispatchEventgetCappingFaceColorgetCappingGeometryVisibilitygetCappingLineColorgetCuttingPlanegetCuttingPlaneCountgetCuttingPlanesgetCuttingSectiongetCuttingSectionCountgetCuttingSectionsgetModelBoundinggetSelectedFaceremoveCuttingPlaneremoveEventListenerresetConfigurationsetCappingFaceColorsetCappingGeometryVisibilitysetCappingLineColorsetCuttingPlaneColorsetCuttingPlaneLineColorsetCuttingPlaneOpacitysetCuttingPlaneVisibilitysetCuttingSectionGeometryVisibilitysetCuttingSectionStatesetModelBoundingupdateCuttingPlane
Constructors
-
wvc.CuttingService.constructor() - CuttingService(cuttingManager: ICuttingManager):
CuttingServiceConstructs a new CuttingService instance.
Parameters
cuttingManager: ICuttingManager
Optional HOOPS Web Viewer cutting manager to use for operationsReturns:
CuttingService
Properties
-
wvc.CuttingService.DefaultConfig static readonly
DefaultConfig:CuttingServiceConfigurationDefault configuration values for the cutting service.
-
wvc.CuttingService.serviceName readonly
serviceName: “CuttingService”The service identifier for this cutting service.
Accessors
-
wvc.CuttingService.cuttingManager() - get cuttingManager(): (undefined | ICuttingManager)
Gets the current HOOPS Web Viewer cutting manager.
Returns: (undefined | ICuttingManager)
The cutting manager instance, or undefined if not setset cuttingManager(cuttingManager: (undefined | ICuttingManager)): voidSets the HOOPS Web Viewer cutting manager.
Unbinds from the previous cutting manager (if any) and binds to the new one. Dispatches a ‘hoops-cutting-service-reset’ event when the manager changes.
Parameters
cuttingManager: (undefined | ICuttingManager)
The new cutting manager instance, or undefined to clearReturns: void
Methods
-
wvc.CuttingService.addCuttingPlane() - addCuttingPlane(sectionIndex: number, cuttingPlane:
CuttingPlane): PromiseAdds a cutting plane to a cutting section.
Parameters
sectionIndex: number
The index of the cutting section to add the plane tocuttingPlane:
CuttingPlaneThe CuttingPlane object containing plane definition and visual propertiesReturns: Promise
-
wvc.CuttingService.addEventListener() inherited
addEventListener(type: string, callback: (None | EventListenerOrEventListenerObject), options: (boolean | AddEventListenerOptions)): voidAppends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options’s capture.
When set to true, options’s capture prevents callback from being invoked when the event’s eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event’s eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event’s eventPhase attribute value is AT_TARGET.
When set to true, options’s passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options’s once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options’s signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target’s event listener list and is not appended if it has the same type, callback, and capture.
Parameters
type: string
callback: (None | EventListenerOrEventListenerObject)
options: (boolean | AddEventListenerOptions)
Returns: void
-
wvc.CuttingService.clearCuttingSection() - clearCuttingSection(sectionIndex: number): Promise
Clears all cutting planes from the specified cutting section.
Parameters
sectionIndex: number
The index of the cutting section to clearReturns: Promise
-
wvc.CuttingService.dispatchEvent() inherited
dispatchEvent(event: Event): booleanDispatches a synthetic event event to target and returns true if either event’s cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
Parameters
event: EventReturns: boolean
-
wvc.CuttingService.getCappingFaceColor() - getCappingFaceColor(): (undefined | string)
Gets the current capping face color.
Returns: (undefined | string)
The capping face color as a hex string, or default value if no cutting manager is set
-
wvc.CuttingService.getCappingGeometryVisibility() - getCappingGeometryVisibility(): boolean
Gets the current capping geometry visibility state.
Returns: boolean
True if capping geometry is visible, false otherwise, or default value if no cutting manager is set
-
wvc.CuttingService.getCappingLineColor() - getCappingLineColor(): (undefined | string)
Gets the current capping line color.
Returns: (undefined | string)
The capping line color as a hex string, or default value if no cutting manager is set
-
wvc.CuttingService.getCuttingPlane() - getCuttingPlane(sectionIndex: number, planeIndex: number): (undefined |
CuttingPlane)Gets a specific cutting plane from a cutting section.
Parameters
sectionIndex: number
The index of the cutting sectionplaneIndex: number
The index of the cutting plane within the sectionReturns: (undefined |
CuttingPlane)The CuttingPlane object at the specified indices, or undefined if not found
-
wvc.CuttingService.getCuttingPlaneCount() - getCuttingPlaneCount(sectionIndex: number): number
Gets the number of cutting planes in a cutting section.
Parameters
sectionIndex: number
The index of the cutting sectionReturns: number
The number of cutting planes in the section, or 0 if section not found
-
wvc.CuttingService.getCuttingPlanes() - getCuttingPlanes(sectionIndex: number):
CuttingPlane[]Gets all cutting planes from a cutting section.
Parameters
sectionIndex: number
The index of the cutting sectionReturns:
CuttingPlane[]Array of CuttingPlane objects representing all planes in the section
-
wvc.CuttingService.getCuttingSection() - getCuttingSection(index: number): (undefined |
Section)Gets a cutting section by index.
Parameters
index: number
The index of the cutting section to retrieveReturns: (undefined |
Section)The Section object at the specified index, or undefined if not found
-
wvc.CuttingService.getCuttingSectionCount() - getCuttingSectionCount(): number
Gets the total number of cutting sections.
Returns: number
The number of cutting sections, or 0 if no cutting manager is set
-
wvc.CuttingService.getCuttingSections() - getCuttingSections():
Section[]Gets all cutting sections.
Returns:
Section[]Array of Section objects representing all cutting sections
-
wvc.CuttingService.getModelBounding() - getModelBounding(): Box
Gets the current model bounding box.
Returns: Box
The model’s bounding box, or an empty Box if not set
-
wvc.CuttingService.getSelectedFace() - getSelectedFace(): (undefined |
SelectedFace)Gets the currently selected face for creating cutting planes.
Returns: (undefined |
SelectedFace)The selected face data, or undefined if no face is selected
-
wvc.CuttingService.removeCuttingPlane() - removeCuttingPlane(sectionIndex: number, planeIndex: number): Promise
Removes a cutting plane from a cutting section.
Parameters
sectionIndex: number
The index of the cutting section containing the planeplaneIndex: number
The index of the cutting plane to removeReturns: Promise
-
wvc.CuttingService.removeEventListener() inherited
removeEventListener(type: string, callback: (None | EventListenerOrEventListenerObject), options: (boolean | EventListenerOptions)): voidRemoves the event listener in target’s event listener list with the same type, callback, and options.
Parameters
type: string
callback: (None | EventListenerOrEventListenerObject)
options: (boolean | EventListenerOptions)
Returns: void
-
wvc.CuttingService.resetConfiguration() - resetConfiguration(obj: object): Promise
Resets the cutting service configuration to default values or provided configuration.
Parameters
obj: object
Optional configuration object to apply, or undefined to use default configurationReturns: Promise
-
wvc.CuttingService.setCappingFaceColor() - setCappingFaceColor(color: string): Promise
Sets the capping face color.
Parameters
color: string
The color as a hex string (e.g., “#ff0000”), or undefined to use defaultReturns: Promise
-
wvc.CuttingService.setCappingGeometryVisibility() - setCappingGeometryVisibility(cappingGeometryVisibility: boolean): Promise
Sets the capping geometry visibility state.
Parameters
cappingGeometryVisibility: boolean
True to show capping geometry, false to hideReturns: Promise
-
wvc.CuttingService.setCappingLineColor() - setCappingLineColor(color: string): Promise
Sets the capping line color.
Parameters
color: string
The color as a hex string (e.g., “#000000”), or undefined to use defaultReturns: Promise
-
wvc.CuttingService.setCuttingPlaneColor() - setCuttingPlaneColor(sectionIndex: number, planeIndex: number, color: IColor): void
Sets the face color of a specific cutting plane.
Parameters
sectionIndex: number
The index of the cutting section containing the planeplaneIndex: number
The index of the cutting plane to modifycolor: IColor
The new face color (RGB values between 0 and 1)Returns: void
-
wvc.CuttingService.setCuttingPlaneLineColor() - setCuttingPlaneLineColor(sectionIndex: number, planeIndex: number, lineColor: IColor): void
Sets the line color of a specific cutting plane.
Parameters
sectionIndex: number
The index of the cutting section containing the planeplaneIndex: number
The index of the cutting plane to modifylineColor: IColor
The new line color (RGB values between 0 and 1)Returns: void
-
wvc.CuttingService.setCuttingPlaneOpacity() - setCuttingPlaneOpacity(sectionIndex: number, planeIndex: number, opacity: number): void
Sets the opacity of a specific cutting plane.
Parameters
sectionIndex: number
The index of the cutting section containing the planeplaneIndex: number
The index of the cutting plane to modifyopacity: number
The new opacity value (between 0.0 and 1.0)Returns: void
-
wvc.CuttingService.setCuttingPlaneVisibility() - setCuttingPlaneVisibility(sectionIndex: number, planeIndex: number, visible: boolean): Promise
Sets the visibility of reference geometry for a specific cutting plane.
Parameters
sectionIndex: number
The index of the cutting section containing the planeplaneIndex: number
The index of the cutting plane to modifyvisible: boolean
True to show reference geometry, false to hideReturns: Promise
-
wvc.CuttingService.setCuttingSectionGeometryVisibility() - setCuttingSectionGeometryVisibility(sectionIndex: number, hidden: boolean): Promise
Sets the reference geometry visibility for a cutting section.
Parameters
sectionIndex: number
The index of the cutting section to modifyhidden: boolean
True to hide reference geometry, false to showReturns: Promise
-
wvc.CuttingService.setCuttingSectionState() - setCuttingSectionState(sectionIndex: number, active: boolean): Promise
Sets the active state of a cutting section.
Parameters
sectionIndex: number
The index of the cutting section to modifyactive: boolean
True to activate the section, false to deactivateReturns: Promise
-
wvc.CuttingService.setModelBounding() - setModelBounding(modelBounding: Box): void
Sets the model bounding box.
Parameters
modelBounding: Box
The new model bounding boxReturns: void
-
wvc.CuttingService.updateCuttingPlane() - updateCuttingPlane(sectionIndex: number, planeIndex: number, cuttingPlane: Partial): Promise
Updates properties of an existing cutting plane.
This method allows partial updates to cutting plane properties including plane geometry, visual properties (color, opacity), and reference geometry. The plane normal is automatically normalized for proper reference geometry alignment.
Parameters
sectionIndex: number
The index of the cutting section containing the planeplaneIndex: number
The index of the cutting plane to updatecuttingPlane: Partial
Partial CuttingPlane object with properties to updateReturns: Promise