Package io.goobi.viewer.model.job.mq
Class Center3DObjectHandler
java.lang.Object
io.goobi.viewer.model.job.mq.Center3DObjectHandler
- All Implemented Interfaces:
MessageHandler<MessageStatus>
Message handler that auto-generates a centered Voyager SVX scene file for a GLTF or GLB 3D object.
The bounding-box centre of the model is computed from the GLTF POSITION accessor min/max values
and stored as a node translation in the generated *.svx.json file. This ensures that the
Voyager viewer rotates around the object's actual centre rather than the coordinate-system origin.
If an svx.json file already exists for the model (e.g. from manual editing in
voyager-story) it is left untouched so that manual scene adjustments are preserved.
-
Constructor Summary
ConstructorsConstructorDescriptionProduction constructor – resolves dependencies fromDataManagerat call time. -
Method Summary
Modifier and TypeMethodDescriptioncall(ViewerMessage message, MessageQueueManager queueManager) Call this method to execute the ticket.static ViewerMessagecreateMessage(String pi, String filename) Creates aViewerMessagethat triggers centering for the given record's 3D model.static ViewerMessagecreateMessage(String pi, String filename, boolean force) Creates aViewerMessagethat triggers centering for the given record's 3D model.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.goobi.viewer.controller.mq.MessageHandler
call, onStartup
-
Constructor Details
-
Center3DObjectHandler
public Center3DObjectHandler()Production constructor – resolves dependencies fromDataManagerat call time.
-
-
Method Details
-
call
Description copied from interface:MessageHandlerCall this method to execute the ticket.- Specified by:
callin interfaceMessageHandler<MessageStatus>- Parameters:
message- The ticket to handlequeueManager- reference to to manage the queue- Returns:
- V
-
getMessageHandlerName
- Specified by:
getMessageHandlerNamein interfaceMessageHandler<MessageStatus>
-
createMessage
Creates aViewerMessagethat triggers centering for the given record's 3D model. Skips the task if an SVX file already exists (force=false).- Parameters:
pi- persistent identifier of the recordfilename- 3D model filename (.gltfor.glb)- Returns:
- ready-to-dispatch
ViewerMessage
-
createMessage
Creates aViewerMessagethat triggers centering for the given record's 3D model.- Parameters:
pi- persistent identifier of the recordfilename- 3D model filename (.gltfor.glb)force- iftrue, any existing SVX scene file will be overwritten- Returns:
- ready-to-dispatch
ViewerMessage
-