
|
PolyLine |
|
#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; } |