// ----------------------------------------------------------------------------
void manualViewContour::RefreshText() // virtual
{
-
if ((_textActor!=NULL) && ( _textActor->GetProperty()->GetOpacity()!=0 )){
int size = GetNumberOfPoints();
char text[50];
char resultText2[250];
strcpy(resultText2, "000");
double spcP[3];
- spcP[0]=1;
- spcP[1]=1;
- spcP[2]=1;
+ spcP[0] = 1;
+ spcP[1] = 1;
+ spcP[2] = 1;
//CMRU 19-08-09 ----------------------------------
- std::string label;
- label = _manContModel->GetLabel();
+ std::string label = _manContModel->GetLabel();
+ std::string label2 = " (" + _manContModel->GetLabel2() + "z) ";
// ------------------------------------
if (size==2)
gcvt ( this->_manContModel->GetPathSize( _spc ), 5, text );
strcat(resultText2,text);
strcat(resultText2,"u");
-
}
//CMRU 19-08-09 ----------------------------------
+ strcat(resultText,label2.c_str());
strcat(resultText,label.c_str());
//------------------------------------------------
}
_textActor->SetInput(resultText);
_textActor2->SetInput(resultText2);
- if (size>=1){
-
+ if (size>=1)
+ {
int i;
for (i=0; i<size; i++)
{
if (_lstViewPoints[i]->GetPosibleSelected()==true)
{
_id_viewPoint_for_text = i;
- }
- }
-
+ } // if
+ } // for
if (_id_viewPoint_for_text>=size)
{
- _id_viewPoint_for_text=0;
- }
-
+ _id_viewPoint_for_text = 0;
+ }// if
double px = _manContModel->GetManualPoint(_id_viewPoint_for_text)->GetX();
double py = _manContModel->GetManualPoint(_id_viewPoint_for_text)->GetY();
-
//EED 27 sep 2006
- px=px*_spc[0];
- py=py*_spc[1];
-
+ px = px*_spc[0];
+ py = py*_spc[1];
_textActor->SetPosition(px+GetRange()+1,py);
_textActor2->SetPosition(px+GetRange()+1,py+2);
- }
+ } // if size
}
}
{ // inside the boundaring box
if ( ShowLineVersion()==true )
{
- manualPoint *mpA = _manContModel->GetManualPoint(0);
- manualPoint *mpB = _manContModel->GetManualPoint(1);
_pts->GetPoint(0, ppA);
+ _pts->GetPoint(1, ppB);
double dirVec[3];
// direction of the segment
- dirVec[0] = mpB->GetX() - mpA->GetX();
- dirVec[1] = mpB->GetY() - mpA->GetY();
- dirVec[2] = mpB->GetZ() - mpA->GetZ();
+ dirVec[0] = ppB[0] - ppA[0];
+ dirVec[1] = ppB[1] - ppA[1];
+ dirVec[2] = ppB[2] - ppA[2];
// proj = mpA + k*dirVec
double num;
double den = 0.0 ;
- num = dirVec[0]*( xx-mpA->GetX() );
- num = num + dirVec[1]*( yy-mpA->GetY() );
- num = num + dirVec[2]*( zz-mpA->GetZ() );
+
+ num = dirVec[0]*( xx-ppA[0] );
+ num = num + dirVec[1]*( yy-ppA[1] );
+ num = num + dirVec[2]*( zz-ppA[2] );
+
den=dirVec[0]*dirVec[0] + dirVec[1]*dirVec[1] + dirVec[2]*dirVec[2];
double k;
if (den!=0)
k = 99999999;
}
// projection of th point xx,yy,zz in segment mpA,mpB
- double projX = mpA->GetX() + k*dirVec[0];
- double projY = mpA->GetY() + k*dirVec[1];
- double projZ = mpA->GetZ() + k*dirVec[2];
+ double projX = ppA[0] + k*dirVec[0];
+ double projY = ppA[1] + k*dirVec[1];
+ double projZ = ppA[2] + k*dirVec[2];
+
// distance [projX,projY,projZ] and (xx,yy,zz]
double d1= sqrt( (projX-xx)*(projX-xx) + (projY-yy)*(projY-yy) +(projZ-zz)*(projZ-zz) );