Transform matrix of vtkboxwidget2 is different calculated

Hello,

I amb trying to understand the transformation matrix of the vtkboxwidget2. I want to have a bounding box widget with only translations. In some transformations the matrix gives the initial position and updates it from it. So what I do is to get the position and the previous to obtain the difference to get the translation that it is what I want to track.

But in some cases I do not get the position if not an offset. Why this changes?.Only the translation is allowed and they are formed in the same way.

For example 114 is the heigh:

vtkMatrix4x4 (0000029850AD9AD0)
Debug: Off
Modified Time: 1098166
Reference Count: 1
Registered Events: (none)
Elements:
1 0 0 -41.4137
0 1 0 0
0 0 1 114.535
0 0 0 1

But some others 114 becomes offsets as for example

vtkMatrix4x4 (000001A1E6C378A0)
Debug: Off
Modified Time: 4576873
Reference Count: 1
Registered Events: (none)
Elements:
1 0 0 -0.364876
0 1 0 -0.940811
0 0 1 -2.26909
0 0 0 1

so in this case I cannot get the translation as I did before. Any idea?. Thanks !!. The code is as follows

	vtkNew<vtkBoxWidget2> widget;
	vtkSmartPointer<RigidBoxRepresentation> 
            rigidBody_rep = 
               vtkSmartPointer
             <RigidBoxRepresentation>::New();
	auto interactor = view_mgr_.lock()->
            get_volume_render_window()
            ->GetInteractor();
	widget->SetInteractor(interactor);
	rigidBody_rep->SetPlaceFactor(1);
	   
            rigidBody_rep->
          PlaceWidget
          (actor_->GetBounds());
	widget->ScalingEnabledOff();
	widget->RotationEnabledOff();
	widget->MoveFacesEnabledOff();
	widget->SetRepresentation(rigidBody_rep);
	widget->Modified();
	
	cout << "New bounding box \n";
	vtkNew<vtkBoxCallback> callback;
	callback->set_actor(actor_);


	widget->
           AddObserver(vtkCommand::InteractionEvent, 
          callback);
	widget->AddObserver
                (vtkCommand::EndInteractionEvent,
           callback);
	widget->On();