32 #ifndef CXCUSTOMMETRIC_H
33 #define CXCUSTOMMETRIC_H
35 #include "cxResourceExport.h"
68 virtual bool isValid()
const;
69 virtual QString getAsSingleLineString()
const;
70 virtual QIcon
getIcon() {
return QIcon(
":/icons/metric_custom.png");}
72 QString getDefineVectorUpMethod()
const;
73 void setDefineVectorUpMethod(QString defineVectorUpMethod);
74 void setModelUid(QString val);
75 QString getModelUid()
const;
78 void setScaleToP1(
bool val);
79 bool getScaleToP1()
const;
80 void setOffsetFromP0(
double val);
81 double getOffsetFromP0()
const;
82 void setOffsetFromP1(
double val);
83 double getOffsetFromP1()
const;
84 void setRepeatDistance(
double val);
85 double getRepeatDistance()
const;
86 void setTranslationOnly(
bool val);
87 bool getTranslationOnly()
const;
88 void setTextureFollowTool(
bool val);
89 bool getTextureFollowTool()
const;
92 virtual void addXml(QDomNode& dataNode);
93 virtual void parseXml(QDomNode& dataNode);
95 virtual Vector3D getRefCoord()
const;
102 return "CustomMetric";
108 std::vector<Vector3D> getPositions()
const;
113 struct cxResource_EXPORT DefineVectorUpMethods
115 DefineVectorUpMethods()
117 table =
"tableDefinesUp";
118 connectedFrameInP1 =
"connectedFrameDefinesUp";
119 tool =
"toolDefinesUp";
122 QString connectedFrameInP1;
124 QStringList getAvailableDefineVectorUpMethods()
const;
125 std::map<QString, QString> getAvailableDefineVectorUpMethodsDisplayNames()
const;
130 QString mDefineVectorUpMethod;
132 DefineVectorUpMethods mDefineVectorUpMethods;
134 double mOffsetFromP0;
135 double mOffsetFromP1;
136 double mRepeatDistance;
137 bool mShowDistanceMarkers;
138 double mDistanceMarkerVisibility;
139 bool mTranslationOnly;
140 bool mTextureFollowTool;
145 Transform3D calculateTransformTo2DImageCenter()
const;
146 void onPropertiesChanged();
147 bool needForToolListenerHasChanged()
const;
148 void createOrDestroyToolListener();
151 CustomMetric::DefineVectorUpMethods getDefineVectorUpMethods()
const;
152 std::vector<Transform3D> calculateOrientations()
const;
153 int getRepeatCount()
const;
154 std::vector<Vector3D> getPointCloud()
const;
155 bool modelIsImage()
const;
156 void setShowDistanceMarkers(
bool show);
157 bool getShowDistanceMarkers()
const;
159 void setDistanceMarkerVisibility(
double val);
160 double getDistanceMarkerVisibility()
const;
169 #endif // CXSHAPEDMETRIC_H
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
virtual bool showValueInGraphics() const
virtual QString getType() const
boost::shared_ptr< class Data > DataPtr
static QString getTypeName()
Data class that represents a custom.
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
boost::shared_ptr< class MetricReferenceArgumentList > MetricReferenceArgumentListPtr
Representation of a floating-point bounding box in 3D. The data are stored as {xmin,xmax,ymin,ymax,zmin,zmax}, in order to simplify communication with vtk.
cxLogicManager_EXPORT SpaceProviderPtr spaceProvider()
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
MetricReferenceArgumentListPtr getArguments()
virtual QString getValueAsString() const
boost::shared_ptr< class SpaceListener > SpaceListenerPtr
boost::shared_ptr< class Mesh > MeshPtr
Base class for all Data Metrics.
boost::shared_ptr< class CustomMetric > CustomMetricPtr