about LineWidget?

You’re absolutely right!
I checked that the value of widget. getWidgetState(). getHandle1(). getOrigin() is null.
Because I haven’t set any values related to the handle.

I don’t want to trouble you to read too much of my code, which would waste your time, but I’m afraid I won’t be able to explain it clearly. Please allow me to demonstrate to you in order to further address the issue.

The first step is to assign the camera attribute from the original rendered image renderer to the camera of the newly created renderer. The code is as follows:

const updateCamera = ()=>{
   const baseCamera = this.renderer.getActiveCamera();
   const paintCamera = this.paintRenderer.getActiveCamera();

   paintCamera.set({
       viewUp: baseCamera.getViewUp(),
       position: baseCamera.getPosition(),
       viewAngle: baseCamera.getViewAngle(),
       focalPoint: baseCamera.getFocalPoint(),
       windowCenter: baseCamera.getWindowCenter(),
       parallelScale: baseCamera.getParallelScale(),
       parallelProjection: baseCamera.getParallelProjection()
   });

   paintCamera.setPhysicalScale(baseCamera.getPhysicalScale());
   paintCamera.setClippingRange(...baseCamera.getClippingRange());
   paintCamera.setFreezeFocalPoint(baseCamera.getFreezeFocalPoint());    
paintCamera.setPhysicalTranslation(baseCamera.getPhysicalTranslation());
}
this.renderWindow.getInteractor().onAnimation(updateCameras);
updateCameras()

The second step is to assign two camera attributes from the original rendered image renderer to the manipulator. The code is as follows:

const camera = this.renderer.getActiveCamera();
const focalPoint = camera.getFocalPoint();
const direction = camera.getDirectionOfProjection();
Object.keys(this.widgets).forEach((key, index) => {
     this.widgets[key].getManipulator().setUserNormal(...direction);
     this.widgets[key].getManipulator().setUserOrigin(...focalPoint);
});

So, I am setting up
When widget. getWidgetState(). getHandle1(). setOrigin (o1 [0] - cd [0], o1 [1] - cd [1], o1 [2] - cd [2]),
What can be obtained is the value of direction, which is the getDirectionOfProjection value in the camera.
But if the value of o1 is null, the values of o1 [0], o1 [1], and o1 [0] cannot be calculated. How should I handle it?

look forward to your reply!!!!