------------------------------------------------------------------------------
| 265 | |
| 266 | //------------------------------------------------------------------------------ |
| 267 | void vtkCamera::SetUserViewTransform(vtkHomogeneousTransform* transform) |
| 268 | { |
| 269 | if (transform == this->UserViewTransform) |
| 270 | { |
| 271 | return; |
| 272 | } |
| 273 | if (this->UserViewTransform) |
| 274 | { |
| 275 | this->UserViewTransform->RemoveObserver(this->UserViewTransformCallbackCommand); |
| 276 | this->UserViewTransform->Delete(); |
| 277 | this->UserViewTransform = nullptr; |
| 278 | } |
| 279 | if (transform) |
| 280 | { |
| 281 | this->UserViewTransform = transform; |
| 282 | this->UserViewTransform->Register(this); |
| 283 | if (!this->UserViewTransformCallbackCommand) |
| 284 | { |
| 285 | this->UserViewTransformCallbackCommand = vtkCameraCallbackCommand::New(); |
| 286 | this->UserViewTransformCallbackCommand->Self = this; |
| 287 | } |
| 288 | this->UserViewTransform->AddObserver( |
| 289 | vtkCommand::ModifiedEvent, this->UserViewTransformCallbackCommand); |
| 290 | } |
| 291 | this->Modified(); |
| 292 | this->ComputeViewTransform(); |
| 293 | this->ComputeDistance(); |
| 294 | this->ComputeCameraLightTransform(); |
| 295 | } |
| 296 | |
| 297 | //------------------------------------------------------------------------------ |
| 298 | void vtkCamera::SetFocalPoint(double x, double y, double z) |
no test coverage detected