PolyLine

Home
Products
News
Contact Us

#include <stdio.h>

#include "math.h"

#include "..\..\nzrClient\nzrClient.h"

 

#define LINE_LENGTH  20000

 

int main(int argc, char* argv[])

{

  nzrClient   *myNZRClient;

  nzr_polyline  *pPolyLinePoint;

  nzr_camera  *pMyCamera;

  nzr_point   inputArray[LINE_LENGTH];

  nzr_point   *pArray;

 

  // NZR should already be running with SC window active

  // establish the connection with NZR

  myNZRClient = new nzrClient(0);

 

  // Clear out all objects in the NZR screen

  myNZRClient->clearAll();

 

  pPolyLinePoint = new nzr_polyline;

  myNZRClient->newObject(pPolyLinePoint);  // set default values

 

  // set data parameters for the object

  pPolyLinePoint->radius = 10;

  pPolyLinePoint->numberOfSides = 10;

  pPolyLinePoint->cmnd.display.posZ = -200;

  myNZRClient->createObject(pPolyLinePoint);  

  double alpha = 10.0;

  double beta = 0.02;

 

  pPolyLinePoint->sizeOfData=0;

  pArray = &inputArray[0];

  for( int t = 0; t < LINE_LENGTH; t++)

  {

    pArray = &inputArray[t];

    pArray->x = (float) 2.0*alpha*sin((double)t/100.0);

    pArray->y = (float) 2.0*alpha*cos((double)t/100.0);

    pArray->z = (float) beta*t;  // z value

    pArray->intensity = (float)1;

    pPolyLinePoint->sizeOfData++;

   }

   pArray = &inputArray[0]; // restore the pointer for use again

 

  myNZRClient->writeObject(pPolyLinePoint, (void *) pArray);

 

  pMyCamera = new nzr_camera;

  myNZRClient->newObject(pMyCamera);  // set default values

  pMyCamera->FocalPointX = 0;

  pMyCamera->FocalPointY = 0;

  pMyCamera->FocalPointZ = 0;

  pMyCamera->posX = 0;

  pMyCamera->posY = 0;

  pMyCamera->posZ = 282;

  pMyCamera->ClippingNear = 1;

  pMyCamera->ClippingFar = 786;

  myNZRClient->setCamera(pMyCamera); // set camera parameter

 

  // render the polyline data on NZR display

  myNZRClient->render();

 

  return 0;

}