0025545: TopLoc_Location::Transformation() provokes data races
[occt.git] / src / TopLoc / TopLoc_ItemLocation.cxx
index 05488e5..8a9ca70 100644 (file)
 
 TopLoc_ItemLocation::TopLoc_ItemLocation 
   (const Handle(TopLoc_Datum3D)& D, 
 
 TopLoc_ItemLocation::TopLoc_ItemLocation 
   (const Handle(TopLoc_Datum3D)& D, 
-   const Standard_Integer P,
-//   const Standard_Boolean fromtrsf) :
-   const Standard_Boolean ) :
+   const Standard_Integer P) :
   myDatum(D),
   myPower(P),
   myDatum(D),
   myPower(P),
-  myTrsf(NULL)
+  myTrsf (D->Transformation().Powered (P))
 {
 }
 {
 }
-
-
-TopLoc_ItemLocation::TopLoc_ItemLocation(const TopLoc_ItemLocation& anOther): myTrsf(NULL)
-{
-  if (anOther.myTrsf != NULL) {
-    myTrsf = new gp_Trsf;  
-    *myTrsf = *(anOther.myTrsf);
-  }
-  myDatum = anOther.myDatum;
-  myPower = anOther.myPower;
-}
-
-TopLoc_ItemLocation& TopLoc_ItemLocation::Assign(const TopLoc_ItemLocation& anOther)
-{
-  if (anOther.myTrsf == NULL) {
-    if (myTrsf != NULL) delete myTrsf;
-    myTrsf = NULL;
-  }
-  else if (myTrsf != anOther.myTrsf) {
-    if (myTrsf == NULL) myTrsf = new gp_Trsf;  
-    *myTrsf = *(anOther.myTrsf);
-  }
-  myDatum = anOther.myDatum;
-  myPower = anOther.myPower;
-
-  return *this;
-}
-
-void TopLoc_ItemLocation::Destroy()
-{
-  if (myTrsf != NULL) delete myTrsf;
-  myTrsf = NULL;
-}
-