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);
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);
92 ORIENTATION_TYPE getOrientationType()
const;
93 PLANE_TYPE getPlaneType()
const;
94 FOLLOW_TYPE getFollowType()
const;
98 std::pair<Vector3D,Vector3D> generateBasisVectors()
const;
101 SlicePlane orientToGravityAroundToolZAxisAndAlongTheOperatingTable(
const SlicePlane& base)
const;
103 double getViewOffsetAbsoluteFromCenter()
const;
105 std::pair<Vector3D,Vector3D> generateBasisVectorsNeurology()
const;
106 std::pair<Vector3D,Vector3D> generateBasisVectorsRadiology()
const;
109 CLINICAL_VIEW mClinicalApplication;
110 ORIENTATION_TYPE mOrientType;
111 PLANE_TYPE mPlaneType;
112 FOLLOW_TYPE mFollowType;
122 double mViewportHeight;
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.
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.
bool similar(const CameraInfo &lhs, const CameraInfo &rhs, double tol)
Namespace for all CustusX production code.