/usr/include/BALL/STRUCTURE/SASEdge.h is in libball1.4-dev 1.4.1+20111206-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_STRUCTURE_SASEDGE_H
#define BALL_STRUCTURE_SASEDGE_H
#ifndef BALL_STRUCTURE_GRAPHEDGE_H
# include <BALL/STRUCTURE/graphEdge.h>
#endif
#ifndef BALL_MATHS_ANGLE_H
# include <BALL/MATHS/angle.h>
#endif
#ifndef BALL_MATHS_CIRCLE3_H
# include <BALL/MATHS/circle3.h>
#endif
namespace BALL
{
class SolventAccessibleSurface;
class SASFace;
class SASVertex;
class RSEdge;
class TriangulatedSAS;
class SASTriangulator;
/** Generic SASEdge Class.
\ingroup Surface
*/
class BALL_EXPORT SASEdge : public GraphEdge< SASVertex,SASEdge,SASFace >
{
public:
/** @name Class friends
- class SASFace
- class SASVertex
- class SolventAccessibleSurface
- class TriangulatedSAS
- class SASTriangulator
*/
friend class SASVertex;
friend class SASFace;
friend class SolventAccessibleSurface;
friend class TriangulatedSAS;
friend class SASTriangulator;
BALL_CREATE(SASEdge)
/** @name Constructors and Destructors
*/
//@{
/** Default constructor.
This method creates a new SASEdge object.
*/
SASEdge()
;
/** Copy constructor.
Create a new SASEdge object from another.
@param sasedge the SASEdge object to be copied
@param deep if deep = false, all pointers are set to NULL
(default). Otherwise the new SASEdge object is linked
to the neighbours of the old SASEdge object.
*/
SASEdge(const SASEdge& sasedge, bool deep = false)
;
/** Detailled constructor.
Create a new SASEdge object from some nice objects.
@param vertex0 assigned to the first vertex
@param vertex1 assigned to the second vertex
@param face0 assigned to the first face
@param face1 assigned to the second face
@param circle assigned to the circle
@param angle assigned to the angle
@param index assigned to the index
*/
SASEdge(SASVertex* vertex0,
SASVertex* vertex1,
SASFace* face0,
SASFace* face1,
const TCircle3<double>& circle,
const TAngle<double>& angle,
Index index)
;
/** Destructor.
Destructs the SASEdge object.
*/
virtual ~SASEdge()
;
//@}
/** @name Assignment
*/
//@{
/** Assign from another SASEdge object.
@param sasedge the SASEdge object to assign from
@param deep if deep = false, all pointers are set to NULL
(default). Otherwise the SASEdge object is linked to
the neighbours of the SASEdge object to assign from.
*/
void set(const SASEdge& sasedge, bool deep = false)
;
/** Assign from another SASEdge object.
The SASEdge object is linked to the neighbours of the SASEdge object
to assign from.
@param sasedge the SASEdge object to assign from
*/
SASEdge& operator = (const SASEdge& sasedge)
;
/** Assign from some nice objects.
@param vertex0 assigned to the first vertex
@param vertex1 assigned to the second vertex
@param face0 assigned to the first face
@param face1 assigned to the second face
@param circle assigned to the circle
@param angle assigned to the angle
@param index assigned to the index
*/
void set(SASVertex* vertex0,
SASVertex* vertex1,
SASFace* face0,
SASFace* face1,
const TCircle3<double>& circle,
const TAngle<double>& angle,
Index index)
;
//@}
/** @name Accessors
*/
//@{
/** Set the circle on which the SASEdge lies.
@param center the new circle
*/
void setCircle(const TCircle3<double>& center)
;
/** Return the circle on which the SASEdge lies.
@return TCircle3<double> the circle of the SASEdge
*/
TCircle3<double> getCircle() const
;
/** Set the angle of the SASEdge.
@param angle the new angle
*/
void setAngle(const TAngle<double>& angle)
;
/** Return the angle of the SASEdge.
@return TAngle<double> the angle of the SASEdge
*/
TAngle<double> getAngle() const
;
//@}
/** @name Predicates
*/
//@{
/** Equality operator.
@return bool <b>true</b>
*/
virtual bool operator == (const SASEdge&) const
;
/** Inequality operator.
@return bool <b>false</b>
*/
virtual bool operator != (const SASEdge&) const
;
/** Similarity operator.
@return bool <b>true</b>
*/
virtual bool operator *= (const SASEdge&) const
;
/** isFree.
@return bool <b>true</b> if the RSEdge of the SASEdge is free,
<b>false</b> otherwise
*/
bool isFree() const
;
//@}
protected:
/*_ @name Attributes
*/
//@{
/*_ The circle on which the SASEdge lies.
*/
TCircle3<double> circle_;
/*_ The angle of the SASEdge.
*/
TAngle<double> angle_;
//@}
};
/** @name Storers
*/
//@{
/** Output- Operator
*/
BALL_EXPORT std::ostream& operator << (std::ostream& s, const SASEdge& sasedge);
//@}
} // namespace BALL
#endif // BALL_STRUCTURE_SASEDGE_H
|