![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2000 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: extentTriInd.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef extentTriInd_H_ 00010 #define extentTriInd_H_ 00011 00012 #include "gdb/gdbDefines.h" 00013 #include "gdb/triInd.h" 00014 #include <vlutil/vlPrint.h> 00015 00016 00017 // forward declarations 00018 class DtSurfaceManager; 00019 class DtPolygonIndirect; 00020 00021 00022 // class DtExtentTriangleIndirect: 00023 // 00024 // DtTriangleIndirect allows for the specification of the 00025 // triangles that define the extent of an external DtFileNode. These 00026 // triangles are created for the sole purpose of distinguishing then 00027 // from real terrain polygons when calculating intersections using 00028 // OPCODE. When an intersection with a triangle of this kind occurs 00029 // it means that the intersection did not happen in a real polygon 00030 // of the terrain, instead, it happened inside the DtFileNode extents 00031 // and its underlying terrain database needs to be loaded for further 00032 // intersection tests. 00033 00034 class DT_DLL_gdb DtExtentTriangleIndirect : public DtTriangleIndirect 00035 { 00036 public: 00037 00038 // returns type of gdb node 00039 virtual DtGdbNode::DtGdbNodeType type() const; 00040 00041 virtual void setOwner(DtGdbNode* owner); 00042 00043 virtual DtGdbNode* owner() const; 00044 00045 protected: 00046 00047 DtGdbNode* myOwner; // pointer to the node's owner 00048 }; 00049 00050 00051 inline DtGdbNode::DtGdbNodeType DtExtentTriangleIndirect::type() const 00052 { 00053 return DtGdbNode::EXTENT_TRIANGLE_INDIRECT; 00054 } 00055 00056 #endif