Description | Hierarchy | Fields | Methods | Properties |
type TPolyhedron = class(TObject)
![]() |
FF: integer; |
![]() |
FV: integer; |
![]() |
FVertices: array of TPointd; |
![]() |
FFaces: array of TPointi; |
![]() |
FBox: array of TPointdArray; |
![]() |
FOctTree: TRbwOctTree; |
![]() |
bmin: TPointd; |
![]() |
bmax: TPointd; |
![]() |
radius: extended; |
![]() |
StorageIndex: integer; |
![]() |
function GetF: integer; |
![]() |
function GetV: integer; |
![]() |
function Inbox(q: TPointd): boolean; |
![]() |
procedure RandomRay(var ray: TPointd); |
![]() |
function BoxTest(n: integer; a, b: TPointd): TBoxTestResult; |
![]() |
procedure AddVec(q: TPointd; var ray: TPointd); |
![]() |
procedure NormalVec(a, b, c: TPointd; var n: TPointd); |
![]() |
function Dot(a: TPointd; b: TPointd): extended; |
![]() |
function PlaneCoeff(T: TPointi; var n: TPointd; var D: extended): integer; |
![]() |
procedure SubVec(a, b: TPointd; var c: TPointd); |
![]() |
function SegPlaneInt(T: TPointi; q, r: TPointd; var p: TPointd; var m: integer): TSegPlaneIntersectResult; |
![]() |
function AreaSign(a, b, c: TPointd): integer; |
![]() |
function InTri2D(Tp: array of TPointd; pp: TPointd): TInTriangleResult; |
![]() |
function InTri3D(T: TPointi; m: integer; p: TPointd): TInTriangleResult; |
![]() |
function InPlane(T: TPointi; m: integer; q, r: TPointd; p: TPointd) : TSegTriangleIntersectionResult; |
![]() |
function VolumeSign(a, b, c, D: TPointd): integer; |
![]() |
function SegTriCross(T: TPointi; q, r: TPointd) : TSegTriangleIntersectionResult; |
![]() |
function SegTriInt(T: TPointi; q, r: TPointd; var p: TPointd) : TSegTriangleIntersectionResult; |
![]() |
function FacesSame(FaceIndex1, FaceIndex2: integer): boolean; |
![]() |
Function GetVertex(const VIndex: integer): TPointd; |
![]() |
Function GetFace(const FIndex: integer): TPointi; |
![]() |
Function GetBox(const BIndex: integer): TPointdArray; |
![]() |
procedure SetVertexValue(const VIndex, DimIndex: integer; const Value: extended); |
![]() |
procedure SetVertex(const VIndex: integer; const Value: TPointd); |
![]() |
procedure SetFace(const FIndex: integer; const Value: TPointi); |
![]() |
procedure SetFaceValue(const FIndex, DimIndex: integer; const Value: integer); |
![]() |
procedure SetBox(const BIndex: integer; const Value: TPointdArray); |
![]() |
procedure SetBoxPointd(const BIndex, CornerIndex: integer; const Value: TPointd); |
![]() |
procedure SetBoxValue(const BIndex, CornerIndex, DimIndex: integer; const Value: extended); |
![]() |
constructor Create(VertexCount, FaceCount: integer); |
![]() |
destructor Destroy; override; |
![]() |
function InPolyHedron(q: TPointd): TInPolyhedronResult; |
![]() |
procedure ComputePolyhedronBox; |
![]() |
function ComputeBox: extended; |
![]() |
function SegmentIntersection(Const ASegment: TSegmentObject): TSegmentList; |
![]() |
Procedure GetProps(Var Vol, Area: extended); |
![]() |
function PolygonIntersect(APolygon: TXYZPlane): TXYZPlaneList; |
![]() |
function VertexIndex(Avertex: TPointd; const LastVertex: integer; EpsilonX: double = 1E-6; EpsilonY: double = 1E-6; EpsilonZ: double = 1E-6) : integer; overload; |
![]() |
function VertexIndex(Avertex: TPointd): integer; overload; |
![]() |
Procedure EliminateInternalFaces(LastFace, LastVertex: integer); |
![]() |
procedure FreeArrays; |
![]() |
procedure SetArrayLengths(LastFace, LastVertex: integer); |
![]() |
property F: integer read GetF write FF; |
![]() |
property V: integer read GetV write FV; |
![]() |
property OctTree: TRbwOctTree read FOctTree; |
![]() |
property Vertices[constVIndex:integer]: TPointd read GetVertex
write SetVertex; |
![]() |
property VertexValue[constVIndex,DimIndex:integer]: extended
write SetVertexValue; |
![]() |
property Faces[constFIndex:integer]: TPointi read GetFace write SetFace; |
![]() |
property FaceValue[constFIndex,DimIndex:integer]: integer
write SetFaceValue; |
![]() |
property Box[constBIndex:integer]: TPointdArray read GetBox write SetBox; |
![]() |
property BoxPointd[constBIndex,CornerIndex:integer]: TPointd
write SetBoxPointd; |
![]() |
property BoxValue[constBIndex,CornerIndex,DimIndex:integer]: extended
write SetBoxValue; |
![]() |
property FaceCount: integer read GetF; |
![]() |
property VertexCount: integer read GetV; |
![]() |
FF: integer; |
number of faces |
![]() |
FV: integer; |
number of vertices. |
![]() |
FVertices: array of TPointd; |
adapted from "Computational Geometry in C" |
![]() |
FFaces: array of TPointi; |
adapted from "Computational Geometry in C" |
![]() |
FBox: array of TPointdArray; |
adapted from "Computational Geometry in C" |
![]() |
FOctTree: TRbwOctTree; |
![]() |
bmin: TPointd; |
![]() |
bmax: TPointd; |
![]() |
radius: extended; |
![]() |
StorageIndex: integer; |
![]() |
function GetF: integer; |
![]() |
function GetV: integer; |
![]() |
function Inbox(q: TPointd): boolean; |
adapted from "Computational Geometry in C" |
![]() |
procedure RandomRay(var ray: TPointd); |
adapted from "Computational Geometry in C" |
![]() |
function BoxTest(n: integer; a, b: TPointd): TBoxTestResult; |
adapted from "Computational Geometry in C" |
![]() |
procedure AddVec(q: TPointd; var ray: TPointd); |
adapted from "Computational Geometry in C" |
![]() |
procedure NormalVec(a, b, c: TPointd; var n: TPointd); |
adapted from "Computational Geometry in C" |
![]() |
function Dot(a: TPointd; b: TPointd): extended; |
adapted from "Computational Geometry in C" |
![]() |
function PlaneCoeff(T: TPointi; var n: TPointd; var D: extended): integer; |
adapted from "Computational Geometry in C" |
![]() |
procedure SubVec(a, b: TPointd; var c: TPointd); |
adapted from "Computational Geometry in C" |
![]() |
function SegPlaneInt(T: TPointi; q, r: TPointd; var p: TPointd; var m: integer): TSegPlaneIntersectResult; |
adapted from "Computational Geometry in C" |
![]() |
function AreaSign(a, b, c: TPointd): integer; |
adapted from "Computational Geometry in C" |
![]() |
function InTri2D(Tp: array of TPointd; pp: TPointd): TInTriangleResult; |
adapted from "Computational Geometry in C" |
![]() |
function InTri3D(T: TPointi; m: integer; p: TPointd): TInTriangleResult; |
adapted from "Computational Geometry in C" |
![]() |
function InPlane(T: TPointi; m: integer; q, r: TPointd; p: TPointd) : TSegTriangleIntersectionResult; |
adapted from "Computational Geometry in C" |
![]() |
function VolumeSign(a, b, c, D: TPointd): integer; |
adapted from "Computational Geometry in C" |
![]() |
function SegTriCross(T: TPointi; q, r: TPointd) : TSegTriangleIntersectionResult; |
adapted from "Computational Geometry in C" |
![]() |
function SegTriInt(T: TPointi; q, r: TPointd; var p: TPointd) : TSegTriangleIntersectionResult; |
adapted from "Computational Geometry in C" |
![]() |
function FacesSame(FaceIndex1, FaceIndex2: integer): boolean; |
![]() |
Function GetVertex(const VIndex: integer): TPointd; |
![]() |
Function GetFace(const FIndex: integer): TPointi; |
![]() |
Function GetBox(const BIndex: integer): TPointdArray; |
![]() |
procedure SetVertexValue(const VIndex, DimIndex: integer; const Value: extended); |
![]() |
procedure SetVertex(const VIndex: integer; const Value: TPointd); |
![]() |
procedure SetFace(const FIndex: integer; const Value: TPointi); |
![]() |
procedure SetFaceValue(const FIndex, DimIndex: integer; const Value: integer); |
![]() |
procedure SetBox(const BIndex: integer; const Value: TPointdArray); |
![]() |
procedure SetBoxPointd(const BIndex, CornerIndex: integer; const Value: TPointd); |
![]() |
procedure SetBoxValue(const BIndex, CornerIndex, DimIndex: integer; const Value: extended); |
![]() |
constructor Create(VertexCount, FaceCount: integer); |
adapted from "Computational Geometry in C" |
![]() |
destructor Destroy; override; |
![]() |
function InPolyHedron(q: TPointd): TInPolyhedronResult; |
![]() |
procedure ComputePolyhedronBox; |
adapted from "Computational Geometry in C" |
![]() |
function ComputeBox: extended; |
![]() |
function SegmentIntersection(Const ASegment: TSegmentObject): TSegmentList; |
adapted from "Computational Geometry in C" |
![]() |
Procedure GetProps(Var Vol, Area: extended); |
![]() |
function PolygonIntersect(APolygon: TXYZPlane): TXYZPlaneList; |
![]() |
function VertexIndex(Avertex: TPointd; const LastVertex: integer; EpsilonX: double = 1E-6; EpsilonY: double = 1E-6; EpsilonZ: double = 1E-6) : integer; overload; |
![]() |
function VertexIndex(Avertex: TPointd): integer; overload; |
![]() |
Procedure EliminateInternalFaces(LastFace, LastVertex: integer); |
![]() |
procedure FreeArrays; |
![]() |
procedure SetArrayLengths(LastFace, LastVertex: integer); |
![]() |
property F: integer read GetF write FF; |
![]() |
property V: integer read GetV write FV; |
![]() |
property OctTree: TRbwOctTree read FOctTree; |
![]() |
property Vertices[constVIndex:integer]: TPointd read GetVertex
write SetVertex; |
![]() |
property VertexValue[constVIndex,DimIndex:integer]: extended
write SetVertexValue; |
![]() |
property Faces[constFIndex:integer]: TPointi read GetFace write SetFace; |
adapted from "Computational Geometry in C" |
![]() |
property FaceValue[constFIndex,DimIndex:integer]: integer
write SetFaceValue; |
![]() |
property Box[constBIndex:integer]: TPointdArray read GetBox write SetBox; |
adapted from "Computational Geometry in C" |
![]() |
property BoxPointd[constBIndex,CornerIndex:integer]: TPointd
write SetBoxPointd; |
![]() |
property BoxValue[constBIndex,CornerIndex,DimIndex:integer]: extended
write SetBoxValue; |
![]() |
property FaceCount: integer read GetF; |
![]() |
property VertexCount: integer read GetV; |