VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
terrainProcessPolygonsBox.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
8 #include "geometry/surface.h"
9 #include "geometry/point.h"
10 #include "matrix/coordTransform.h"
11 #include <deque>
12 
14 {
18 };
19 
21 {
22  DtPoint points[3];
24  int shapeId;
25 };
26 
28 {
29 public:
31  DtTerrainProcessPolygonsBox(const DtPoint& nw, const DtPoint& ne, const DtPoint& sw, const DtPoint& se);
34  virtual ~DtTerrainProcessPolygonsBox();
35 
36  virtual double minX(bool inLocal = true) const;
37  virtual double maxX(bool inLocal = true) const;
38  virtual double minY(bool inLocal = true) const;
39  virtual double maxY(bool inLocal = true) const;
40  virtual double minZ(bool inLocal = true) const;
41  virtual double maxZ(bool inLocal = true) const;
42  virtual DtPoint northeast(bool inLocal = true) const;
43  virtual DtPoint northwest(bool inLocal = true) const;
44  virtual DtPoint southeast(bool inLocal = true) const;
45  virtual DtPoint southwest(bool inLocal = true) const;
46  virtual void setNewNW(const DtPoint& nw);
47  virtual void setNewNE(const DtPoint& ne);
48  virtual void setNewSW(const DtPoint& sw);
49  virtual void setNewSE(const DtPoint& se);
50  virtual bool isPointWithinAxisAlignedBoundingBox(const DtPoint& point) const;
51  virtual bool isTriangleWithinBox(const DtTerrainTriangleStruct& polygon) const;
52  virtual bool isPointInsideBoundingBox(const DtPoint &point) const;
53  virtual bool isUseAllTerrain() const;
54  virtual void setIsUseAllTerrain(bool useAllTerrain);
55  virtual bool useZ() const;
56  virtual void setUseZ(bool useZ);
57  virtual DtPoint centerOfBox() const;
58  virtual void setIsGeocentric(bool isGeo);
59  virtual bool isGeocentric() const;
60  virtual bool isTriangleAABBWithinAABB(const DtTerrainTriangleStruct& triangle) const;
61  virtual bool doesTriangleIntersect(const DtTerrainTriangleStruct& triangle) const;
62  virtual bool isBoxInsideTriangle(const DtTerrainTriangleStruct& triangle) const;
63 
64 protected:
65  virtual double determineSideOfLine(double x1, double x2, double y1, double y2, double xp, double yp ) const;
66  virtual DtCoordTransform transform() const;
68  virtual double maxMin(const std::deque<DtPoint>& points, DtPointAxis axis, bool mode) const;
69 
75  bool myUseZ;
77  DtCoordTransform myTransform;
78 };
79 
80 typedef void (*DtTriangleCallbackFinalizeFcn)(int status, void* usr);
81 typedef void (*DtTriangleCallbackFcn)(DtTerrainTriangleStruct& triangle, void* usr);

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)