63 bool begin =
false, last =
false;
119 occluder_container::const_iterator oitend = ve1->
occluders_end();
121 for (; oit != oitend; ++oit) {
122 oOccluders.insert((*oit));
125 if (ve2 !=
nullptr) {
128 for (; oit != oitend; ++oit) {
129 oOccluders.insert((*oit));
165 if (AB.
norm() != 0) {
169 if (BC.
norm() != 0) {
201 if (AB.
norm() != 0) {
205 if (BC.
norm() != 0) {
224 while ((!tmp2.isEnd()) && (
count < 3)) {
248 Vec2r B(
v->getProjectedX(),
v->getProjectedY());
252 Vec2r N1(-AB[1], AB[0]);
253 if (N1.
norm() != 0) {
256 Vec2r N2(-BC[1], BC[0]);
257 if (N2.
norm() != 0) {
260 if ((N1.
norm() == 0) && (N2.
norm() == 0)) {
261 Exception::raiseException();
265 double cosin = N1 * N2;
281 if (fe2 !=
nullptr) {
293 Vec2f n1(e1[1], -e1[0]);
295 if (fe2 !=
nullptr) {
297 Vec2f n2(e2[1], -e2[0]);
309 if (fe1 ==
nullptr) {
320 return sshape->material();
336 unsigned int qi1, qi2;
338 if (ve2 !=
nullptr) {
342 cout <<
"QuantitativeInvisibilityF0D: ambiguous evaluation for point " << iter->
getId()
357 if (ve2 !=
nullptr) {
366 set<ViewShape *> occluders;
370 for (set<ViewShape *>::iterator it = occluders.begin(), itend = occluders.end(); it != itend;
Functions taking 0D input.
Classes to define a View Map (ViewVertex, ViewEdge, etc.)
ATTR_WARN_UNUSED_RESULT const BMVert * v
ViewEdge * viewedge() const
Vec3r orientation2d() const
real z_discontinuity() const
virtual bool isBegin() const
virtual real getProjectedX() const
virtual real getZ() const
virtual FEdge * getFEdge(Interface0D &)
virtual real getY() const
virtual real getX() const
virtual real getProjectedY() const
Vec< T, N > & normalize()
virtual Nature::EdgeNature getNature() const
occluder_container::const_iterator occluders_begin() const
occluder_container::const_iterator occluders_end() const
ViewShape * getShapeF0D(Interface0DIterator &it)
ViewShape * getOccludeeF0D(Interface0DIterator &it)
void getFEdges(Interface0DIterator &it, FEdge *&fe1, FEdge *&fe2)
FEdge * getFEdge(Interface0D &it1, Interface0D &it2)
void getOccludersF0D(Interface0DIterator &it, set< ViewShape * > &oOccluders)
void getViewEdges(Interface0DIterator &it, ViewEdge *&ve1, ViewEdge *&ve2)
VecMat::Vec2< float > Vec2f
VecMat::Vec3< real > Vec3r
unsigned short EdgeNature
INLINE Rall1d< T, V, S > acos(const Rall1d< T, V, S > &x)