33 #ifndef CXSLICECOMPUTER_H_
34 #define CXSLICECOMPUTER_H_
36 #include "cxResourceExport.h"
80 void setOrientationType(ORIENTATION_TYPE val);
81 void setPlaneType(PLANE_TYPE val);
82 void setFixedCenter(
const Vector3D& center);
83 void setFollowType(FOLLOW_TYPE val);
84 void setGravity(
bool use,
const Vector3D& dir);
85 void setToolOffset(
double val);
86 void setToolViewOffset(
bool use,
double viewportHeight,
double viewOffset,
bool useConstrainedViewOffset =
false);
87 void setToolViewportHeight(
double viewportHeight);
88 void setClinicalApplication(CLINICAL_VIEW application);
91 void initializeFromPlane(PLANE_TYPE plane,
bool useGravity,
const Vector3D& gravityDir,
bool useViewOffset,
double viewportHeight,
double toolViewOffset, CLINICAL_VIEW application,
bool useConstrainedViewOffset =
false);
92 ORIENTATION_TYPE getOrientationType()
const;
93 PLANE_TYPE getPlaneType()
const;
97 std::pair<Vector3D,Vector3D> generateBasisVectors()
const;
101 double getViewOffsetAbsoluteFromCenter()
const;
103 std::pair<Vector3D,Vector3D> generateBasisVectorsNeurology()
const;
104 std::pair<Vector3D,Vector3D> generateBasisVectorsRadiology()
const;
107 CLINICAL_VIEW mClinicalApplication;
108 ORIENTATION_TYPE mOrientType;
109 PLANE_TYPE mPlaneType;
110 FOLLOW_TYPE mFollowType;
120 double mViewportHeight;
122 bool mUseConstrainedViewOffset;
Vector3D j
defines the second axis of the plane. unit vector
A 2D slice plane in 3D. i,j are perpendicular unit vectors.
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
bool similar(const DoubleBoundingBox3D &a, const DoubleBoundingBox3D &b, double tol)
Vector3D c
defines the center of the plane
std::ostream & operator<<(std::ostream &s, const IntBoundingBox3D &data)
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
Vector3D i
defines the first axis of the plane. unit vector
Calculates a slice plane given a definition.