ObjectTransformer Class Reference

#include <ObjectTransformer.hpp>

List of all members.

Public Member Functions

ReferenceCounting< Objectoperator() (const Object &objectToCopy) const
 ObjectTransformer (const Shape::TransformationsList &t)
 ~ObjectTransformer ()

Private Member Functions

 ObjectTransformer (const ObjectTransformer &s)

Private Attributes

Shape::TransformationsList __addedTransformations


Detailed Description

Definition at line 40 of file ObjectTransformer.hpp.


Constructor & Destructor Documentation

ObjectTransformer::ObjectTransformer ( const ObjectTransformer s  )  [private]

ObjectTransformer::ObjectTransformer ( const Shape::TransformationsList t  )  [inline]

Definition at line 50 of file ObjectTransformer.hpp.

00051     : __addedTransformations(t)
00052   {
00053     ;
00054   }

ObjectTransformer::~ObjectTransformer (  )  [inline]

Definition at line 56 of file ObjectTransformer.hpp.

00057   {
00058     ;
00059   }


Member Function Documentation

ReferenceCounting< Object > ObjectTransformer::operator() ( const Object objectToCopy  )  const

Definition at line 39 of file ObjectTransformer.cpp.

References __addedTransformations, ASSERT, Object::hasReference(), Object::reference(), Object::setReference(), Object::shape(), and Shape::transformationsList().

00040 {
00041   const Shape& s = *o.shape();
00042   ReferenceCounting<Shape> newShape = o.shape()->getCopy();
00043 
00044   Shape::TransformationsList transformations(__addedTransformations.size()
00045                                              + s.transformationsList().size());
00046 
00047   for (size_t i=0; i<s.transformationsList().size(); ++i) {
00048     transformations[i+__addedTransformations.size()]
00049       = s.transformationsList()[i];
00050   }
00051   for (size_t i=0; i<__addedTransformations.size(); ++i) {
00052     transformations[i] = __addedTransformations[i];
00053   }
00054   ASSERT(newShape != 0);
00055 
00056   newShape->setTransformationsList(transformations);
00057   Object* newObject = new Object(newShape);
00058 
00059   // Copies references if needed
00060   if (o.hasReference()) {
00061     newObject->setReference(o.reference());
00062   }
00063 
00064   return newObject;
00065 }

Here is the call graph for this function:


Member Data Documentation

Definition at line 43 of file ObjectTransformer.hpp.

Referenced by operator()().


The documentation for this class was generated from the following files:

Generated on Wed Nov 19 00:10:41 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6