![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef SHAPEPOLYLINE_H 00007 #define SHAPEPOLYLINE_H 00008 00009 #include "shape/shapeDefines.h" 00010 #include <stdio.h> 00011 #include "shape/shapeElement.h" 00012 #include "gdb/specMgr.h" 00013 00014 class DtShapePoint; 00015 class DtShapeReader; 00016 class DtShapeVectorReader; 00017 class DtGroup; 00018 00019 // class DtShapePolyLine: 00020 // 00021 00022 class DT_DLL_shape DtShapePolyLine : public DtShapeElement 00023 { 00024 00025 public: 00026 00027 // default constructor. 00028 DtShapePolyLine(double elevationFactor, bool isPoly = false); 00029 00030 // destructor 00031 virtual ~DtShapePolyLine(); 00032 00033 virtual bool load(FILE* f, bool loadMeasures = false, const DtShapeProjection* projection = NULL); 00034 virtual DtShapePoint* point(int i); 00035 virtual DtInt32 numPoints(); 00036 virtual DtInt32 numPoints(int part); 00037 virtual DtInt32 numParts(); 00038 virtual DtInt32 initialVertex(int part); 00039 virtual void setElevation(double elev); 00040 virtual void calculateMaxMins(double& myMaxHigh, double& myMinHigh); 00041 00042 virtual DtGroup* import(DtShapeReader* reader); 00043 00044 virtual bool importAsFeature(DtShapeVectorReader* reader, 00045 DtSpecificationID specID, 00046 DtSpecification& specification); 00047 00048 protected: 00049 00050 virtual bool importPolygonAsFeature(DtShapeVectorReader* reader, 00051 DtSpecificationID specID, 00052 DtSpecification& s); 00053 00054 virtual bool importPolyLineAsFeature(DtShapeVectorReader* reader, 00055 DtSpecificationID specID, 00056 DtSpecification& s); 00057 00058 DtNetFloat64 myBoundingBox[4]; 00059 DtNetInt32 myNumParts; 00060 DtNetInt32 myNumPoints; 00061 DtNetInt32* myParts; 00062 DtShapePoint* myPoints; 00063 00064 bool myAmIPolygon; 00065 00066 }; 00067 00068 #endif