28
29
//----------------------------------------------------------------------------------------------------
29
30
/** Pipeline Properties Proxy class **/
30
class IPipelineProperties {
31
class EXTAPI IPipelineProperties {
32
virtual ~IPipelineProperties() {}
34
IPipelineProperties();
36
virtual ~IPipelineProperties();
38
//------------------------------------------------------------------------------------------------
35
42
virtual void Update() = 0;
37
44
/** Updates output information **/
38
45
virtual void UpdateInformation() = 0;
40
/** Sets camera custom orientation **/
41
virtual void SetCustomOrientation(GNC::GCS::Vector3D& camera_focal_point, GNC::GCS::Vector3D& camera_position, GNC::GCS::Vector3D& camera_view_up, double& rotation) = 0;
43
/* Gets direction cosines */
47
/** Gets original (3D Volume) direction cosines **/
44
48
virtual const GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4> GetDirection() = 0;
46
/** Gets the output origin **/
50
/** Gets the original (3D Volume) origin **/
51
virtual void GetOrigin(double origin[3]) = 0;
53
/** Gets the original (3D Volume) spacing **/
54
virtual void GetSpacing(double spacing[3]) = 0;
56
/** Gets the original (3D Volume) dimensions **/
57
virtual void GetDimensions(int dims[3]) = 0;
59
/* Gets the slice direction cosines */
60
virtual const GNC::GCS::Ptr<GNC::GCS::IGinkgoMatrix4x4> GetOutputDirection() = 0;
62
/** Gets the slice output origin **/
47
63
virtual void GetOutputOrigin(double origin[3]) = 0;
49
/** Gets the output spacing **/
65
/** Gets the slice output spacing **/
50
66
virtual void GetOutputSpacing(double spacing[3]) = 0;
52
/**Gets the output dimensions **/
53
virtual void GetOutputDimensions(int currentDimensions[3]) = 0;
68
/**Gets the slice output dimensions **/
69
virtual void GetOutputDimensions(int currentDimensions[3]) = 0;
74
//------------------------------------------------------------------------------------------------
77
/**Gets the original (3D Volume) dimensions as double floating point**/
78
void GetFPDimensions(double dims[3]);
80
/**Gets the slice output dimensions as double floating point**/
81
void GetFPOutputDimensions(double currentDimensions[3]);
85
//------------------------------------------------------------------------------------------------
88
/** Sets camera custom orientation **/
89
virtual void SetCustomOrientation(GNC::GCS::Vector3D& camera_focal_point, GNC::GCS::Vector3D& camera_position, GNC::GCS::Vector3D& camera_view_up, double& rotation);
55
91
/** Gets the output current slice number **/
56
virtual int GetCurrentSliceIndex() const = 0;
92
virtual int GetCurrentSliceIndex() const;