MCPcopy Create free account
hub / github.com/CloudCompare/CloudCompare / getVector

Method getVector

plugins/core/IO/qCoreIO/src/PDMS/PdmsTools.cpp:330–382  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

328}
329
330bool Coordinates::getVector(CCVector3 &u) const
331{
332 bool ok[3] = { false, false, false };
333 u = CCVector3(0, 0, 0);
334
335 int nb = getNbComponents();
336 for (int i = 0; i < nb; i++)
337 {
338 if (!coords[i].isValid())
339 return false;
340 if (ok[i])
341 return false;
342 switch (coords[i].command)
343 {
344 case PDMS_X:
345 case PDMS_EST:
346 u[0] = coords[i].getValueInWorkingUnit();
347 ok[0] = true;
348 break;
349
350 case PDMS_WEST:
351 u[0] = -coords[i].getValueInWorkingUnit();
352 ok[0] = true;
353 break;
354
355 case PDMS_Y:
356 case PDMS_NORTH:
357 u[1] = coords[i].getValueInWorkingUnit();
358 ok[1] = true;
359 break;
360
361 case PDMS_SOUTH:
362 u[1] = -coords[i].getValueInWorkingUnit();
363 ok[1] = true;
364 break;
365
366 case PDMS_Z:
367 case PDMS_UP:
368 u[2] = coords[i].getValueInWorkingUnit();
369 ok[2] = true;
370 break;
371
372 case PDMS_DOWN:
373 u[2] = -coords[i].getValueInWorkingUnit();
374 ok[2] = true;
375 break;
376
377 default:
378 return false;
379 }
380 }
381 return true;
382}
383
384int Coordinates::getNbComponents(bool onlyset) const
385{

Callers 2

executeMethod · 0.80
axisFromCoordsMethod · 0.80

Calls 2

getValueInWorkingUnitMethod · 0.80
isValidMethod · 0.45

Tested by

no test coverage detected