Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 #include "DicomROIContour.hh" 27 28 //....oooOO0OOooo........oooOO0OOooo........oo 29 DicomROIContour::DicomROIContour() {} 30 31 //....oooOO0OOooo........oooOO0OOooo........oo 32 void DicomROIContour::SetData(std::vector<G4Th 33 { 34 thePoints = data; 35 if (theGeomType == "CLOSED_PLANAR") { 36 // add a last point to close the circle 37 thePoints.push_back(thePoints[0]); 38 for (size_t ii = 1; ii < thePoints.size(); 39 theDirections.push_back(thePoints[ii] - 40 } 41 theDirections.push_back(thePoints[0] - the 42 } 43 } 44 45 //....oooOO0OOooo........oooOO0OOooo........oo 46 G4double DicomROIContour::GetZ() 47 { 48 if (thePoints.size() == 0) { 49 G4Exception("DicomROIContour::GetZ", "DRC0 50 Print(G4cout); 51 return DBL_MAX; 52 } 53 return thePoints[0].z(); 54 } 55 56 //....oooOO0OOooo........oooOO0OOooo........oo 57 void DicomROIContour::AddPoints(std::vector<G4 58 { 59 points.push_back(points[0]); 60 size_t npold = thePoints.size(); 61 for (size_t ii = 0; ii < points.size(); ii++ 62 thePoints.push_back(points[ii]); 63 } 64 65 for (size_t ii = npold + 1; ii < thePoints.s 66 theDirections.push_back(thePoints[ii] - th 67 } 68 theDirections.push_back(thePoints[npold] - t 69 } 70 71 //....oooOO0OOooo........oooOO0OOooo........oo 72 void DicomROIContour::Print(std::ostream& out) 73 { 74 out << this << "@@@ NUMBER OF ContourImageSe 75 for (size_t ii = 0; ii < theImageIUIDs.size( 76 out << "ContourImageSequence I= " << theIm 77 } 78 out << "@@@ GeomType " << theGeomType << " N 79 for (size_t ii = 0; ii < thePoints.size(); i 80 out << "(" << thePoints[ii].x() << "," << 81 << G4endl; 82 } 83 } 84