#include "ZGo.h"



//---- ZGoDistort3D ----------------------------------------------------------//

//---- ZGoDistort3D

ZGoDistort3D::ZGoDistort3D(ZGo *zgo, ZGoPARAMS *input, ZGoPARAMS *output)
{
  this->zgo = zgo;
  this->input = input->setInput(this);
  this->output = output->setOutput(this);

  this->fnType = new ZGoNAME(zgo, "ZGoDistort3D");

  //  Parameters

  obj = (ZGo3DOBJECT *)input->get("object");
  dist = (ZGoCAMERA *)input->get("distortion");
  result = (ZGo3DOBJECT *)output->get("result");
}



//---- process

void ZGoDistort3D::process()
{
  obj->process();
  dist->process();

  //- Distort each point to result

  result->points = obj->points;

  for(i=0; i<points; i++)
  {
    //  TODO:  Perform transformation on each point

    dist->distort(obj->point[i], result->point[i]);
  }

  //- Move faces across

  result->faces = obj->faces;
  result->face = obj->face;

}



//---- end of file -----------------------------------------------------------//
