Geom Software - C++ Programming and Geometry Libraries
Fade3D Documentation pages v0.99
/home/geom/repo/dev/geomDev/dt3/dt3Library/Edge3.h
1
// Copyright (C) Geom Software e.U, Bernhard Kornberger, Graz/Austria
2
//
3
// This file is part of the Fade3D library. The student license is free
4
// of charge and covers personal non-commercial research. Licensees
5
// holding a commercial license may use this file in accordance with
6
// the Commercial License Agreement.
7
//
8
// This software is provided AS IS with NO WARRANTY OF ANY KIND,
9
// INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS
10
// FOR A PARTICULAR PURPOSE.
11
//
12
// Please contact the author if any conditions of this licensing are
13
// not clear to you.
14
//
15
// Author: Bernhard Kornberger, bkorn (at) geom.at
16
// https://www.geom.at
17
18
19
20
#pragma once
21
#include <iostream>
22
#include "definitions.h"
23
24
namespace
FADE3D
{
25
26
class
Tet3;
27
class
Point3;
28
43
class
CLASS_DECLSPEC
Edge3
44
{
45
public
:
52
Edge3
(
Tet3
* pTet_ ,
const
int
opp3_,
const
int
opp2_);
55
Tet3
* getTet()
const
;
58
int
getOpp3Index()
const
;
61
int
getOpp2Index()
const
;
66
int
getSourceIndex ()
const
;
71
int
getTargetIndex()
const
;
74
Point3
* getSourceVtx()
const
;
77
Point3
* getTargetVtx()
const
;
84
bool
operator==(
const
Edge3
& rhs)
const
;
90
bool
operator!=(
const
Edge3
& rhs)
const
;
91
92
// Internal use, compares the pointers (used to sort lists of edges)
94
bool
operator<(
const
Edge3
& other)
const
;
95
friend
std::ostream &operator<<(std::ostream &stream,
Edge3
& e);
96
private
:
97
Tet3
* pTet;
98
int
opp3ICI;
99
int
opp2ICI;
100
Point3
*pOrderedVtx0,*pOrderedVtx1;
101
};
102
103
104
105
106
107
}
// NAMESPACE FADE3D
108
109
FADE3D
Definition:
Ball3.h:16
FADE3D::Point3
Vertex.
Definition:
Point3.h:32
FADE3D::Tet3
Tetrahedron.
Definition:
Tet3.h:46
FADE3D::Edge3
Edge of a tetrahedron.
Definition:
Edge3.h:43
Edge3.h