15 #ifndef __vtkMRMLCameraNode_h 16 #define __vtkMRMLCameraNode_h 34 void PrintSelf(ostream& os, vtkIndent indent)
override;
48 void WriteXML(ostream& of,
int indent)
override;
67 const char* GetActiveTag();
68 virtual void SetActiveTag(
const char *);
78 void SetLayoutName(
const char* layoutName);
79 char* GetLayoutName();
83 vtkGetObjectMacro(Camera, vtkCamera);
87 void SetParallelProjection(
int parallelProjection);
91 int GetParallelProjection();
95 void SetParallelScale(
double scale);
99 double GetParallelScale();
105 void SetViewAngle(
double viewAngle);
111 double GetViewAngle();
118 void SetPosition(
double position[3]);
119 inline void SetPosition(
double x,
double y,
double z);
124 double *GetPosition();
125 void GetPosition(
double position[3]);
131 void SetFocalPoint(
double focalPoint[3]);
132 inline void SetFocalPoint(
double x,
double y,
double z);
137 double *GetFocalPoint();
138 void GetFocalPoint(
double focalPoint[3]);
143 void SetViewUp(
double viewUp[3]);
144 inline void SetViewUp(
double vx,
double vy,
double vz);
150 void GetViewUp(
double viewUp[3]);
162 vtkGetObjectMacro(AppliedTransform, vtkMatrix4x4);
163 virtual void SetAppliedTransform(vtkMatrix4x4* appliedTransform);
169 LayoutNameModifiedEvent = 30000,
170 ActiveTagModifiedEvent = LayoutNameModifiedEvent,
171 CameraInteractionEvent = 31000,
172 ResetCameraClippingEvent = 32000,
176 void ResetClippingRange();
201 void RotateTo(Direction position);
205 void RotateAround(RASAxis axis,
bool clockWise);
208 void RotateAround(RASAxis axis,
double angle = 15.);
212 void TranslateAlong(ScreenAxis axis,
bool positive);
221 void Reset(
bool resetRotation,
222 bool resetTranslation =
true,
223 bool resetDistance =
true,
224 vtkRenderer* renderer =
nullptr);
231 void SetInteracting(
int);
232 vtkGetMacro(Interacting,
int);
233 vtkBooleanMacro(Interacting,
int);
255 void SetInteractionFlags(
unsigned int);
256 vtkGetMacro(InteractionFlags,
unsigned int);
265 void SetCamera(vtkCamera* camera);
266 void SetAndObserveCamera(vtkCamera* camera);
267 vtkCamera* Camera{
nullptr};
280 double pos[3] = {x, y, z};
287 double pos[3] = {x, y, z};
294 double viewUp[3] = {vx, vy, vz};
std::string InternalActiveTag
unsigned int InteractionFlags
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
virtual void Reset(vtkMRMLNode *defaultNode)
Reset node attributes to the initial state as defined in the constructor or the passed default node...
vtkMatrix4x4 * AppliedTransform
void SetFocalPoint(double focalPoint[3])
virtual void Copy(vtkMRMLNode *node)
Copy node contents from another node of the same type. Does not copy node ID and Scene. Performs deep copy - an independent copy is created from all data, including bulk data.
MRML node to represent camera node.
vtkMRMLCopyContentMacro(vtkMRMLStorableNode)
void SetPosition(double position[3])
void SetViewUp(double viewUp[3])
Abstract Superclass for all specific types of MRML nodes.