Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFC_Pane_overlay Class Reference

#include <RFC_Window_overlay.h>

Inheritance diagram for RFC_Pane_overlay:
Collaboration diagram for RFC_Pane_overlay:

Public Types

typedef RFC_Pane_overlay Self
 
typedef RFC_Pane_base Base
 
typedef Vertex_overlay Vertex
 
typedef Halfedge_overlay Halfedge
 
typedef Facet_overlay Facet
 
typedef HDS_overlay HDS
 
typedef
CGAL::Halfedge_data_structure_decorator
< HDS
HDS_decorator
 
typedef
CGAL::Polyhedron_incremental_builder_3
< HDS
HDS_builder
 
- Public Types inherited from RFC_Pane_base
typedef RFC_Pane_base Self
 
typedef COM::Pane Base
 
typedef COM::Attribute Attribute
 
typedef Base::Size Size
 
typedef RFC::Real Real
 
typedef std::pair< int, int > V2b
 Pane id and local boundary id. More...
 
typedef std::map< int, V2bV2b_table
 From node id to its corresponding map. More...
 
typedef std::vector< int > B2v
 From local boundary ids to node ids. More...
 
typedef std::map< int, B2vB2v_table
 From pane id to its corresponding mapping. More...
 

Public Member Functions

 RFC_Pane_overlay (COM::Pane *b, int color)
 
virtual ~RFC_Pane_overlay ()
 
RFC_Window_overlaywindow ()
 
const RFC_Window_overlaywindow () const
 
HDShds ()
 
const HDShds () const
 
int get_index (const Vertex *v) const
 
int get_index (const Halfedge *h) const
 
int get_index (const Facet *f) const
 
int get_lid (const Vertex *v) const
 
int get_lid (const Facet *f) const
 
Vertexget_vertex_from_id (int i)
 
const Vertexget_vertex_from_id (int i) const
 
bool is_primary (const Vertex *v) const
 
const Vertexget_primary (const Vertex *v) const
 
Vertexget_primary (Vertex *v)
 
const Point_3get_point (int id) const
 
const Point_3get_point (const Vertex *v) const
 
const Halfedgeget_counterpart (const Halfedge *h) const
 
Halfedgeget_counterpart (Halfedge *h)
 
bool is_physical_border (const Halfedge *h) const
 Determine whether an edge is on the physical boundary of the window. More...
 
Vector_3get_normal (int v)
 
const Vector_3get_normal (int v) const
 
void set_normal (int v, const Vector_3 &vec)
 
Vector_3get_normal (Halfedge *h, Vertex *v)
 
Vector_3get_normal (Halfedge *h, int i)
 
Vector_3get_tangent (Halfedge *h, Vertex *v)
 
const Vector_3get_normal (const Halfedge *h, const Vertex *v) const
 
const Vector_3get_normal (const Halfedge *h, int i) const
 
const Vector_3get_tangent (const Halfedge *h, const Vertex *v) const
 
void add_tangent (Halfedge *h, const Vector_3 &v)
 
INodeget_inode (const Vertex *v) const
 
void set_inode (Vertex *v, INode *i)
 
INode_listget_inode_list (Halfedge *h)
 
const INode_listget_inode_list (const Halfedge *h) const
 
INodeget_buffered_inode (Halfedge *h, int tag) const
 
void set_buffered_inode (Halfedge *h, int tag, INode *inode)
 
void mark (Halfedge *h)
 
void unmark (Halfedge *h)
 
bool marked (const Halfedge *h) const
 
bool is_on_feature (const Vertex *v) const
 
bool is_feature_0 (const Vertex *v) const
 
bool is_feature_1 (const Halfedge *h) const
 
const int & size_of_subfaces () const
 
int & size_of_subfaces ()
 
void allocate_subnodes (int num_sn)
 Allocate memory space for the arrays for storing the subdivision. More...
 
void allocate_subfaces (const std::vector< int > &cnts)
 Allocate memory space for the arrays for storing the subdivision. More...
 
void insert_subface (int idx, int plid, const int *lids, const Edge_ID *eids, const Point_2 *nc, int rp_id, int cnt, const int *rids)
 Insert all the infomation related to a subface into the database. More...
 
- Public Member Functions inherited from RFC_Pane_base
 RFC_Pane_base (Base *b, int color)
 A constructor. More...
 
void init ()
 
virtual ~RFC_Pane_base ()
 The default destructor. More...
 
Basebase ()
 The id of its base COM::Pane object. More...
 
const Basebase () const
 
int id () const
 
bool is_master () const
 Is this pane a master copy? More...
 
bool is_replicate () const
 Is this pane not a master copy? More...
 
bool is_quadratic () const
 Does this pane contain quadratic elements? More...
 
bool is_border_node (int i) const
 Is a give node on the boundary of the pane? More...
 
bool is_isolated_node (int i) const
 Is a give node an isolated node not belong to any element? More...
 
bool coincident (int i, int j) const
 Report whether the two given nodes are coincident. More...
 
int size_of_nodes () const
 The total number of nodes in the pane. More...
 
int size_of_faces () const
 The total number of faces in the pane. More...
 
int size_of_isolated_nodes () const
 
int size_of_border_nodes () const
 
Edge_ID get_edge_id (const int face_lid, const int vertex_lid) const
 Get the edge id within a given face. More...
 
int size_of_subnodes () const
 The total number of nodes in the subdivision of the pane. More...
 
int size_of_subfaces () const
 The total number of faces in the subdivision of the pane. More...
 
Realpointer (int i)
 Get the address of a given attribute with id i. More...
 
const Realpointer (int i) const
 
bool is_primary_node (const int vid) const
 Is the node with given local id a primary one? More...
 
int size_of_primary_nodes () const
 Get total number of primary nodes contained in the pane. More...
 
const Point_3get_point (int id) const
 Get the physical coordinates of the node with given local id. More...
 
const Point_3get_point (int id, int) const
 
const Realcoordinates () const
 
Point_3 get_point_of_subnode (int id) const
 
Bbox_3 get_bounding_box () const
 Get the bounding box of the pane. More...
 
int color () const
 The color of the parent window (BLUE or GREEN). More...
 
int parent_type_of_subnode (int) const
 Determine the parent type of a subnode of given tyep. More...
 
int get_parent_node (int) const
 Get the local parent node id of a given subnode. More...
 
int get_parent_face (int id) const
 Get the local parent face id of a given subface. More...
 
template<class Point >
void normalize_nat_coor (int idx, int e, Point &nc) const
 
void get_host_element_of_subnode (int i, Element_node_enumerator &ene, Point_2 &nc) const
 
void get_host_element_of_subface (int i, Element_node_enumerator &ene) const
 
void get_nat_coor_in_element (const int eid, const int lid, Point_2 &nc) const
 Take a subface id and a local subnode id, return the natual coordinates of the subnode within the parent element. More...
 
void get_nat_coor_in_element (const int sn_id, Element_node_enumerator &ene, Point_2 &nc) const
 Take a subnode id and an element, return the natrual coordinates within the element. More...
 
std::pair< const
COM::Connectivity *, int > 
get_element (int face_id) const
 Get the connectivity object and the id within the connectivity object for a given element. More...
 
const Node_IDget_subnode_counterpart (int i) const
 
const Face_IDget_subface_counterpart (int i) const
 
int get_lvid (const Element_node_enumerator &ene, const int v) const
 

Protected Member Functions

void build_hds ()
 
void evaluate_normals ()
 
void determine_counterparts ()
 
void unmark_alledges ()
 
void mark_ridge (Halfedge *h)
 
const float & get_cos_face_angle (const Halfedge *h) const
 
float & get_cos_face_angle (Halfedge *h)
 
void init_face_angle ()
 
const float & get_angle_defect (const Vertex *v) const
 
float & get_angle_defect (Vertex *v)
 
void init_angle_defect ()
 
const float & get_cos_edge_angle (const Vertex *v) const
 
float & get_cos_edge_angle (Vertex *v)
 
void reset_cos_edge_angle (Vertex *v)
 
void init_edge_angle ()
 
void set_strong_edge (Halfedge *h)
 
void unset_strong_edge (Halfedge *h)
 
void set_feature_0 (Vertex *v)
 
void unset_feature_0 (Vertex *v)
 
void set_on_feature (Vertex *v)
 
void unset_on_feature (Vertex *v)
 
void create_overlay_data ()
 
void delete_overlay_data ()
 
void construct_bvpair2edge ()
 
int get_border_index (const Halfedge *h) const
 
- Protected Member Functions inherited from RFC_Pane_base
void comp_nat_coors ()
 Compute the natural coordinates. More...
 
void build_v2b_from_b2v (const RFC_Window_base *w)
 Build pane connectivity. More...
 
void write_tec_ij (std::ostream &, const COM::Attribute *a=0) const
 
void write_tec_tri (std::ostream &, const COM::Connectivity &, const COM::Attribute *a=0) const
 
void write_tec_mixed (std::ostream &, const std::vector< const COM::Connectivity * > &, const COM::Attribute *a=0) const
 
void write_tec_sub (std::ostream &) const
 
void write_tec_ascii (std::ostream &os, const COM::Attribute *attr=0) const
 
void write_binary (std::ostream &os) const
 
void read_binary (std::istream &is, std::vector< int > *b2v_all=NULL, COM::Pane *p=NULL)
 
void register_sdv_attributes (const std::string &wname) const
 
void read_rocin (const std::string &sdv_wname, const std::string &parent_wname="", COM::Pane *p=NULL)
 Read in using Rocin. More...
 

Protected Attributes

HDS _hds
 
RFC_Window_overlay_window
 
std::map< std::pair< int, int >
, Halfedge * > 
_bv2edges
 
std::vector< Halfedge * > _cntrs
 
std::vector< Vertex * > _primaries
 
std::vector< Vector_3_nrmls
 
std::vector< Vector_3_f_nrmls
 
std::vector< int > _f_n_index
 
std::vector< Vector_3_f_tngts
 
std::vector< int > _f_t_index
 
std::vector< float > _ad_0
 
std::vector< float > _ea_0
 
std::vector< float > _fd_1
 
std::vector< bool > _is_f_0
 
std::vector< bool > _is_on_f
 
std::vector< bool > _is_f_1
 
std::vector< INode * > _v_nodes
 
std::vector< INode * > _e_node_buf
 
std::vector< INode_list_e_node_list
 
std::vector< int > _e_marks
 
int _size_of_subfaces
 
std::vector< const INode * > _subnodes
 
- Protected Attributes inherited from RFC_Pane_base
Base_base
 Reference to its base object. More...
 
bool _is_master
 Is the pane a master copy? More...
 
bool _quadratic
 Does it contain quadratic elements? More...
 
std::vector< bool > _is_border
 Is a node on border? More...
 
std::vector< bool > _is_isolated
 Is a node isolated? More...
 
int _n_border
 
int _n_isolated
 
V2b_table _v2b_table
 
B2v_table _b2v_table
 
std::vector< Edge_ID_subnode_parents
 Edge ids of parents. More...
 
std::vector< Point_2S_subnode_nat_coors
 Natual coordinates in the parent face. More...
 
std::vector< Point_2S_subnode_normalized_nc
 Natual coordinates in the parent face. More...
 
std::vector< int > _subnode_subID
 Sub-node ID of nodes in the pane. More...
 
std::vector< Node_ID_subnode_counterparts
 Ids of counterparts of subnodes. More...
 
std::vector< Three_tuple< int > > _subfaces
 
std::vector< int > _subface_parents
 Face ids of the parents of the subfaces. More...
 
std::vector< int > _subface_offsets
 Offsets of first subfaces contained in a face. More...
 
std::vector< Face_ID_subface_counterparts
 Ids of counterparts of faces. More...
 
std::vector< Three_tuple
< Point_2S > > 
_subface_nat_coors
 Element connectivity of the subfaces. More...
 

Static Protected Attributes

static HDS_accessor< Tag_trueacc
 

Friends

class RFC_Window_overlay
 

Detailed Description

Definition at line 58 of file RFC_Window_overlay.h.

Member Typedef Documentation

Definition at line 61 of file RFC_Window_overlay.h.

Definition at line 64 of file RFC_Window_overlay.h.

Definition at line 63 of file RFC_Window_overlay.h.

typedef HDS_overlay HDS

Definition at line 65 of file RFC_Window_overlay.h.

typedef CGAL::Polyhedron_incremental_builder_3<HDS> HDS_builder

Definition at line 67 of file RFC_Window_overlay.h.

typedef CGAL::Halfedge_data_structure_decorator< HDS> HDS_decorator

Definition at line 66 of file RFC_Window_overlay.h.

Definition at line 60 of file RFC_Window_overlay.h.

Definition at line 62 of file RFC_Window_overlay.h.

Constructor & Destructor Documentation

RFC_Pane_overlay ( COM::Pane *  b,
int  color 
)

Definition at line 64 of file RFC_Window_overlay.C.

65  : Base(b, color), _hds( this) {}
RFC_Pane_base Base
int color() const
The color of the parent window (BLUE or GREEN).
virtual ~RFC_Pane_overlay ( )
inlinevirtual

Definition at line 72 of file RFC_Window_overlay.h.

72 {}

Member Function Documentation

void add_tangent ( Halfedge h,
const Vector_3 v 
)
inline

Definition at line 159 of file RFC_Window_overlay.h.

References _f_t_index, _f_tngts, get_index(), and v.

Referenced by RFC_Window_overlay::evaluate_normals().

159  {
160  int &ind = _f_t_index[ get_index(h)];
161  if ( ind < 0) { ind = _f_tngts.size(); _f_tngts.push_back( v); }
162  else _f_tngts[ind] += v;
163  }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::vector< int > _f_t_index
int get_index(const Vertex *v) const
std::vector< Vector_3 > _f_tngts

Here is the call graph for this function:

Here is the caller graph for this function:

void allocate_subfaces ( const std::vector< int > &  cnts)
inline

Allocate memory space for the arrays for storing the subdivision.

Definition at line 206 of file RFC_Window_overlay.h.

References RFC_Pane_base::_subface_counterparts, RFC_Pane_base::_subface_offsets, RFC_Pane_base::_subface_parents, RFC_Pane_base::_subfaces, i, RFC_assertion, and RFC_Pane_base::size_of_faces().

Referenced by Overlay::number_subfaces().

206  {
207  int nf = size_of_faces(); RFC_assertion( nf == int(cnts.size()));
208  _subface_offsets.resize( nf+1);
209  _subface_offsets[0] = 0;
210  for ( int i=1; i<=nf; ++i) {
211  _subface_offsets[i] = _subface_offsets[i-1]+cnts[i-1];
212  }
213 
214  int nsf=_subface_offsets[nf];
215  _subfaces.resize( nsf);
216  _subface_parents.resize( nsf);
217  _subface_counterparts.resize( nsf);
218  }
int size_of_faces() const
The total number of faces in the pane.
std::vector< Three_tuple< int > > _subfaces
blockLoc i
Definition: read.cpp:79
std::vector< int > _subface_parents
Face ids of the parents of the subfaces.
std::vector< int > _subface_offsets
Offsets of first subfaces contained in a face.
#define RFC_assertion
Definition: rfc_basic.h:65
std::vector< Face_ID > _subface_counterparts
Ids of counterparts of faces.

Here is the call graph for this function:

Here is the caller graph for this function:

void allocate_subnodes ( int  num_sn)
inline

Allocate memory space for the arrays for storing the subdivision.

Definition at line 199 of file RFC_Window_overlay.h.

References RFC_Pane_base::_subnode_counterparts, RFC_Pane_base::_subnode_nat_coors, and RFC_Pane_base::_subnode_parents.

199  {
200  _subnode_parents.resize( num_sn);
201  _subnode_nat_coors.resize( num_sn);
202  _subnode_counterparts.resize( num_sn);
203  }
std::vector< Edge_ID > _subnode_parents
Edge ids of parents.
std::vector< Node_ID > _subnode_counterparts
Ids of counterparts of subnodes.
std::vector< Point_2S > _subnode_nat_coors
Natual coordinates in the parent face.
void build_hds ( )
protected

Definition at line 130 of file RFC_Window_overlay.C.

References RFC_Pane_base::_base, _hds, RFC_Pane_base::_quadratic, get_vertex_from_id(), Facet_overlay::halfedge(), i, k, Halfedge_overlay::next(), HDS_overlay::normalize_border_vertices(), RFC_assertion, Vertex_overlay::set_halfedge(), RFC_Pane_base::size_of_nodes(), and v.

130  {
132  if ( _base->size_of_nodes() == 0) return;
133 
134  HDS_builder B(_hds,true);
135 
136  B.begin_surface( _base->size_of_nodes(), _base->size_of_elements());
137  // insert the vertices
138  for (Size i=0; i<_base->size_of_nodes(); ++i)
139  { B.add_vertex( Vertex::Point()); }
140 
141  Element_node_enumerator ene( _base, 1);
142 
143  for (int i=_base->size_of_elements(); i>0; --i, ene.next()) {
144  B.begin_facet();
145  for ( int k=0, ne=ene.size_of_edges(); k<ne; ++k) {
146  B.add_vertex_to_facet( ene[k]-1);
147  }
148  B.end_facet();
149  }
150 
151  B.end_surface();
152 
153  // Normalize border vertices such that every border vertex point to its
154  // incident border halfedge.
156 
157  // Insert the vertices in edge/face centers for quadratic elements
158  if ( _quadratic) {
159  Facet *fs = &*_hds.facets_begin();
160 
161  Element_node_enumerator ene( _base, 1);
162  for (int i=_base->size_of_elements(); i>0; --i, ene.next(), ++fs) {
163  int nn = ene.size_of_nodes();
164  int ne = ene.size_of_edges();
165 
166  Halfedge *h = fs->halfedge();
167  for ( int k=ne; k<ne+ne; ++k) {
168  Vertex *v = get_vertex_from_id( ene[k]);
169  v->set_halfedge( h);
170  h = h->next();
171  }
172  if ( nn == 9) {
173  Vertex *v = get_vertex_from_id( ene[8]);
174  v->set_halfedge( fs->halfedge());
175  }
176  }
177  }
178 }
CGAL::Polyhedron_incremental_builder_3< HDS > HDS_builder
Vertex_overlay Vertex
j indices k indices k
Definition: Indexing.h:6
Facet_overlay Facet
Base * _base
Reference to its base object.
bool _quadratic
Does it contain quadratic elements?
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int size_of_nodes() const
The total number of nodes in the pane.
blockLoc i
Definition: read.cpp:79
void normalize_border_vertices()
Base::Size Size
Point_3 Point
Definition: HDS_overlay.h:58
Halfedge_overlay Halfedge
Vertex * get_vertex_from_id(int i)
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

void construct_bvpair2edge ( )
protected

Definition at line 470 of file RFC_Window_overlay.C.

References _bv2edges, get_lid(), hds(), and RFC_assertion.

470  {
471  HDS_overlay::Halfedge_iterator hit = hds().border_halfedges_begin();
472  HDS_overlay::Halfedge_iterator hend = hds().halfedges_end();
473  for ( ; hit != hend; ++ ++hit) {
474  RFC_assertion( !hit->is_border());
475  _bv2edges[ make_pair( get_lid( hit->origin()),
476  get_lid( hit->destination()))] = &*hit;
477  }
478 }
int get_lid(const Vertex *v) const
std::map< std::pair< int, int >, Halfedge * > _bv2edges
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

void create_overlay_data ( )
protected

Definition at line 507 of file RFC_Window_overlay.C.

References _e_marks, _e_node_buf, _e_node_list, _hds, _v_nodes, and RFC_Pane_base::color().

Referenced by RFC_Window_overlay::create_overlay_data().

507  {
508  _v_nodes.resize(0);
509  _e_node_list.resize(0);
510  _e_node_buf.resize(0);
511  _e_marks.resize(0);
512 
513  _v_nodes.resize( _hds.size_of_vertices(),0);
514  _e_node_list.resize( _hds.size_of_halfedges(), INode_list( color()));
515  _e_node_buf.resize( _hds.size_of_halfedges(), 0);
516  _e_marks.resize( _hds.size_of_halfedges(), 0);
517 }
std::vector< INode * > _v_nodes
std::vector< INode_list > _e_node_list
std::vector< INode * > _e_node_buf
std::vector< int > _e_marks
int color() const
The color of the parent window (BLUE or GREEN).
In_place_list_n< INode, false > INode_list

Here is the call graph for this function:

Here is the caller graph for this function:

void delete_overlay_data ( )
protected

Definition at line 520 of file RFC_Window_overlay.C.

References _ad_0, _cntrs, _e_marks, _e_node_buf, _e_node_list, _ea_0, _f_n_index, _f_nrmls, _f_t_index, _f_tngts, _fd_1, _primaries, _v_nodes, and free_vector().

Referenced by RFC_Window_overlay::delete_overlay_data().

520  {
525 
530 }
std::vector< INode * > _v_nodes
void free_vector(std::vector< _TT > &v)
Definition: rfc_basic.h:54
std::vector< INode_list > _e_node_list
std::vector< INode * > _e_node_buf
std::vector< Vector_3 > _f_nrmls
std::vector< int > _e_marks
std::vector< Vertex * > _primaries
std::vector< Halfedge * > _cntrs
std::vector< int > _f_t_index
std::vector< float > _fd_1
std::vector< int > _f_n_index
std::vector< Vector_3 > _f_tngts
std::vector< float > _ad_0
std::vector< float > _ea_0

Here is the call graph for this function:

Here is the caller graph for this function:

void determine_counterparts ( )
protected

Definition at line 370 of file RFC_Window_overlay.C.

References RFC_Pane_base::_b2v_table, _bv2edges, _cntrs, _primaries, _window, get_border_index(), get_lid(), RFC_Window_derived< _Pane >::get_primary(), hds(), i, RFC_Pane_base::id(), iend, RFC_Window_base::name(), RFC_Window_derived< _Pane >::pane(), RFC_assertion, swap(), and v.

370  {
371  typedef set< pair<int,int> > V2h;
372  typedef map<int, V2h> V2h_table;
373  V2h_table _v2h_table;
374 
375  //`Loop through the B2v_table
376  for ( B2v_table::iterator
377  it=_b2v_table.begin(), iend=_b2v_table.end(); it != iend; ++it) {
378  for ( int i=0, size=it->second.size(); i<size; ++i) {
379  pair<int,int> p(it->first, i);
380  if ( it->first==id()) {
381  if ( i&1) --p.second; else ++p.second;
382  }
383  _v2h_table[it->second[i]].insert( p);
384  }
385  }
386 
387  _cntrs.resize( hds().size_of_border_edges(), NULL);
388  // Loop through all border edges.
389  HDS_overlay::Halfedge_iterator hit = hds().border_halfedges_begin();
390  HDS_overlay::Halfedge_iterator hend = hds().halfedges_end();
391  for ( ; hit != hend; ++hit) {
392  ++hit; RFC_assertion( hit->is_border());
393  Vertex *v = hit->vertex();
394  V2h_table::iterator it = _v2h_table.find( get_lid(v));
395  if ( it == _v2h_table.end()) continue;
396 
397  V2h_table::iterator i0=_v2h_table.find(get_lid( hit->origin()));
398 
399  // If the origin not incident with any, there is no counterpart.
400  if ( i0==_v2h_table.end()) continue;
401 
402  // check whether the two vertices are overlapping.
403  V2h::iterator j0=i0->second.begin(), j1=it->second.begin();
404 
405  while ( j0 != i0->second.end() && j1 != it->second.end()) {
406  if ( j0->first == j1->first) {
407  bool found=false;
408  V2h::iterator k0, k1;
409  for ( k0=j0; k0!=i0->second.end()&&k0->first==j0->first; ++k0) {
410  if (found) continue;
411  for ( k1=j1; k1!=it->second.end()&&k1->first==j1->first; ++k1) {
412  if (found) continue;
413  // Check whether it is an edge in that pane
414  const RFC_Pane_overlay &p = _window->pane(k0->first);
415  const B2v &b2v = p._b2v_table.find(id())->second;
416  pair<int,int> e( b2v[k0->second], b2v[k1->second]);
417  RFC_assertion( e.first>0 && e.second>0);
418 
419  map< pair<int,int>, Halfedge*>::const_iterator
420  b2e_it = p._bv2edges.find( e);
421 
422  if ( b2e_it != p._bv2edges.end()) {
423  _cntrs[get_border_index(&*hit)] = b2e_it->second;
424  found=true;
425  }
426  else if ( k0->first != id()) {
427  swap( e.first, e.second);
428  if (p._bv2edges.find( e) != p._bv2edges.end()) {
429  std::cerr << "ERROR: Inconsistency in window \""
430  << _window->name() << "\"!!!! \n\tPanes " << id()
431  << " and " << j0->first
432  << " have opposite orientation!" << std::endl
433  << "\tComputation can not continue. Aborting..."
434  << std::endl;
435  RFC_assertion( p._bv2edges.find( e) == p._bv2edges.end());
436  abort();
437  }
438  }
439  }
440  }
441  if ( found) { j0 = k0; j1 = k1; }
442  else { ++j0; ++j1; }
443  }
444  else
445  if ( j0->first < j1->first) ++j0; else ++j1;
446  }
447  }
448 
449  // Fix physical border ones to have them point to themselves
450  hit = hds().border_halfedges_begin();
451  for ( vector<Halfedge*>::iterator it=_cntrs.begin(), iend=_cntrs.end();
452  it!=iend; ++it, ++hit) {
453  ++hit; RFC_assertion( hit->is_border());
454  if ( *it == NULL) *it = &*hit;
455  }
456 
457  // Determine the primaries of the border vertices
458  _primaries.resize( hds().size_of_border_edges(), NULL);
459  hit = hds().border_halfedges_begin();
460  for ( vector<Vertex*>::iterator it=_primaries.begin();
461  it != _primaries.end(); ++it, ++hit) {
462  ++hit; RFC_assertion( hit->is_border());
463  pair<Self*,int>
464  t=_window->get_primary( this, get_lid( hit->destination()));
465  *it = t.first->get_vertex_from_id( t.second);
466  }
467 }
std::string name() const
The name of the window.
void swap(int &a, int &b)
Definition: buildface.cpp:88
const Pane & pane(const int pid) const
Get a reference to the pane with give id pid.
Vertex_overlay Vertex
std::vector< Vertex * > _primaries
std::vector< Halfedge * > _cntrs
int get_lid(const Vertex *v) const
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::map< std::pair< int, int >, Halfedge * > _bv2edges
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
blockLoc i
Definition: read.cpp:79
B2v_table _b2v_table
std::pair< Pane *, int > get_primary(Pane *p, int vid)
Get a handle to the primary copy of a node contained in the pane p with local id vid.
Halfedge_overlay Halfedge
int id() const
std::vector< int > B2v
From local boundary ids to node ids.
RFC_Window_overlay * _window
#define RFC_assertion
Definition: rfc_basic.h:65
int get_border_index(const Halfedge *h) const

Here is the call graph for this function:

void evaluate_normals ( )
protected

Definition at line 183 of file RFC_Window_overlay.C.

References _hds, _nrmls, d, Halfedge_overlay::destination(), Overlay_primitives::get_face_normal(), Vertex_overlay::halfedge(), i, iend, RFC_assertion, scheme, set_normal(), and v.

183  {
184  _nrmls.resize( _hds.size_of_vertices(), Vector_3(0.,0.,0.));
185 
186  int vid=1;
187  for ( HDS::Vertex_iterator it=_hds.vertices_begin(),
188  iend=_hds.vertices_end(); it != iend; ++it, ++vid) {
189  Vertex *v = &*it;
190  Vector_3 d(0.,0.,0.);
191 
192  Halfedge *h = v->halfedge(), *i = h;
193  if (!h || h->destination() != v) continue;
194 
195  do {
196  RFC_assertion( i->destination() == v);
197  if ( !i->is_border()) {
199  }
200  } while ( ( i = i->next()->opposite()) != h);
201  // Note that the normal vector is not normalized.
202  set_normal( vid, d);
203  }
204 }
Vertex_overlay Vertex
const NT & d
SURF::Vector_3< Real > Vector_3
Definition: rfc_basic.h:42
Vector_3 get_face_normal(const Halfedge *b, const Point_2 &nc, int scheme=0) const
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::vector< Vector_3 > _nrmls
static const int scheme
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
blockLoc i
Definition: read.cpp:79
Halfedge_overlay Halfedge
#define RFC_assertion
Definition: rfc_basic.h:65
void set_normal(int v, const Vector_3 &vec)
SURF::Vector_2< Real > Point_2
Definition: rfc_basic.h:43

Here is the call graph for this function:

const float& get_angle_defect ( const Vertex v) const
inlineprotected

Definition at line 251 of file RFC_Window_overlay.h.

References _ad_0, and get_index().

Referenced by RFC_Window_overlay::comp_angle_defect(), and RFC_Window_overlay::print_features().

252  { return _ad_0[ get_index( v)]; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const
std::vector< float > _ad_0

Here is the call graph for this function:

Here is the caller graph for this function:

float& get_angle_defect ( Vertex v)
inlineprotected

Definition at line 253 of file RFC_Window_overlay.h.

References _ad_0, and get_index().

254  { return _ad_0[ get_index( v)]; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const
std::vector< float > _ad_0

Here is the call graph for this function:

int get_border_index ( const Halfedge h) const
inlineprotected

Definition at line 279 of file RFC_Window_overlay.h.

References hds(), i, and RFC_assertion.

Referenced by determine_counterparts(), get_counterpart(), get_primary(), is_physical_border(), and is_primary().

279  {
280  const Halfedge *t = &*hds().border_halfedges_begin();
281  int i = h - t; RFC_assertion(i>=0 && (i&1)==1);
282  return i>>1;
283  }
This class encapsulate a halfedge over a window manifold.
Definition: Manifold_2.h:446
blockLoc i
Definition: read.cpp:79
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

Here is the caller graph for this function:

INode* get_buffered_inode ( Halfedge h,
int  tag 
) const
inline

Definition at line 174 of file RFC_Window_overlay.h.

References _e_marks, _e_node_buf, get_index(), and i.

Referenced by HDS_accessor< Tag_true >::get_buffered_inode().

174  {
175  int i=get_index(h);
176  if ( _e_marks[i] == tag) return _e_node_buf[i];
177  else return NULL;
178  }
std::vector< INode * > _e_node_buf
std::vector< int > _e_marks
blockLoc i
Definition: read.cpp:79
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

const float& get_cos_edge_angle ( const Vertex v) const
inlineprotected

Definition at line 258 of file RFC_Window_overlay.h.

References _ea_0, and get_index().

Referenced by RFC_Window_overlay::cos_edge_angle(), and RFC_Window_overlay::print_features().

259  { return _ea_0[ get_index( v)]; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const
std::vector< float > _ea_0

Here is the call graph for this function:

Here is the caller graph for this function:

float& get_cos_edge_angle ( Vertex v)
inlineprotected

Definition at line 260 of file RFC_Window_overlay.h.

References _ea_0, and get_index().

261  { return _ea_0[ get_index( v)]; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const
std::vector< float > _ea_0

Here is the call graph for this function:

const float& get_cos_face_angle ( const Halfedge h) const
inlineprotected

Definition at line 244 of file RFC_Window_overlay.h.

References _fd_1, and get_index().

Referenced by RFC_Window_overlay::cos_face_angle().

245  { return _fd_1[ get_index( h)>>1]; }
std::vector< float > _fd_1
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

float& get_cos_face_angle ( Halfedge h)
inlineprotected

Definition at line 246 of file RFC_Window_overlay.h.

References _fd_1, and get_index().

247  { return _fd_1[ get_index( h)>>1]; }
std::vector< float > _fd_1
int get_index(const Vertex *v) const

Here is the call graph for this function:

const Halfedge* get_counterpart ( const Halfedge h) const
inline

Definition at line 120 of file RFC_Window_overlay.h.

References _cntrs, get_border_index(), Halfedge_overlay::is_border(), Vertex_overlay::pane(), RFC_assertion, and Halfedge_overlay::vertex().

Referenced by get_counterpart(), and HDS_accessor< Tag_true >::get_counterpart().

120  {
121  if ( !h->is_border()) return h;
122  RFC_assertion( h->vertex()->pane()==this);
123  return _cntrs[get_border_index(h)];
124  }
std::vector< Halfedge * > _cntrs
bool is_border() const
Is the edge a border edge?
Definition: Manifold_2.h:476
#define RFC_assertion
Definition: rfc_basic.h:65
int get_border_index(const Halfedge *h) const
const COM::Pane * pane() const
Obtain the owner Pane_manifold_2 of the node.
Definition: Manifold_2.h:543

Here is the call graph for this function:

Here is the caller graph for this function:

Halfedge* get_counterpart ( Halfedge h)
inline

Definition at line 126 of file RFC_Window_overlay.h.

References get_counterpart().

127  { return const_cast<Halfedge*>( get_counterpart( (const Halfedge*)h)); }
This class encapsulate a halfedge over a window manifold.
Definition: Manifold_2.h:446
const Halfedge * get_counterpart(const Halfedge *h) const

Here is the call graph for this function:

int get_index ( const Vertex v) const
inline

Definition at line 81 of file RFC_Window_overlay.h.

References _hds.

Referenced by add_tangent(), RFC_Window_overlay::evaluate_normals(), get_angle_defect(), get_buffered_inode(), get_cos_edge_angle(), get_cos_face_angle(), get_inode(), get_inode_list(), get_normal(), get_point(), get_tangent(), Overlay::insert_node_in_blue_edge(), Overlay::intersect_blue_with_green(), Overlay::intersect_link(), is_feature_0(), is_feature_1(), is_on_feature(), mark(), marked(), Overlay::match_features_0(), Overlay::number_subfaces(), RFC_Window_overlay::remove_feature_1(), reset_cos_edge_angle(), set_buffered_inode(), set_feature_0(), set_inode(), set_on_feature(), set_strong_edge(), unmark(), unset_feature_0(), unset_on_feature(), and unset_strong_edge().

82  { return v - (const Vertex*)&*_hds.vertices_begin(); }
Vertex_overlay Vertex
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20

Here is the caller graph for this function:

int get_index ( const Halfedge h) const
inline

Definition at line 83 of file RFC_Window_overlay.h.

References _hds.

84  { return h - (const Halfedge*)&*_hds.halfedges_begin(); }
This class encapsulate a halfedge over a window manifold.
Definition: Manifold_2.h:446
int get_index ( const Facet f) const
inline

Definition at line 85 of file RFC_Window_overlay.h.

References _hds.

86  { return f - (const Facet*)&*_hds.facets_begin(); }
Facet_overlay Facet
INode* get_inode ( const Vertex v) const
inline

Definition at line 165 of file RFC_Window_overlay.h.

References _v_nodes, get_index(), is_primary(), and RFC_assertion.

Referenced by HDS_accessor< Tag_true >::get_inode().

166  { RFC_assertion( is_primary(v)); return _v_nodes[ get_index(v)]; }
std::vector< INode * > _v_nodes
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
bool is_primary(const Vertex *v) const
int get_index(const Vertex *v) const
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

Here is the caller graph for this function:

INode_list& get_inode_list ( Halfedge h)
inline

Definition at line 169 of file RFC_Window_overlay.h.

References _e_node_list, and get_index().

Referenced by HDS_accessor< Tag_true >::get_inode_list().

170  { return _e_node_list[ get_index(h)]; }
std::vector< INode_list > _e_node_list
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

const INode_list& get_inode_list ( const Halfedge h) const
inline

Definition at line 171 of file RFC_Window_overlay.h.

References _e_node_list, and get_index().

172  { return _e_node_list[ get_index(h)]; }
std::vector< INode_list > _e_node_list
int get_index(const Vertex *v) const

Here is the call graph for this function:

int get_lid ( const Vertex v) const
inline

Definition at line 88 of file RFC_Window_overlay.h.

References _hds.

Referenced by construct_bvpair2edge(), Overlay::convert_nat_coordinates(), determine_counterparts(), Overlay::number_subfaces(), and Vertex_set::Vertex_set().

89  { return v - (const Vertex*)&*_hds.vertices_begin() + 1; }
Vertex_overlay Vertex
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20

Here is the caller graph for this function:

int get_lid ( const Facet f) const
inline

Definition at line 90 of file RFC_Window_overlay.h.

References _hds.

91  { return f - (const Facet*)&*_hds.facets_begin() + 1; }
Facet_overlay Facet
Vector_3& get_normal ( int  v)
inline

Definition at line 141 of file RFC_Window_overlay.h.

References _nrmls, and RFC_assertion.

Referenced by Overlay::get_green_parent(), get_normal(), HDS_accessor< Tag_true >::get_normal(), Normal_set::operator[](), Overlay::project_adjacent_green_vertices(), and Overlay::project_next_vertex().

142  { RFC_assertion(v>0); return _nrmls[v-1]; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::vector< Vector_3 > _nrmls
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the caller graph for this function:

const Vector_3& get_normal ( int  v) const
inline

Definition at line 143 of file RFC_Window_overlay.h.

References _nrmls, and RFC_assertion.

144  { RFC_assertion(v>0); return _nrmls[v-1]; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::vector< Vector_3 > _nrmls
#define RFC_assertion
Definition: rfc_basic.h:65
Vector_3 & get_normal ( Halfedge h,
Vertex v 
)

Definition at line 358 of file RFC_Window_overlay.C.

References get_normal().

358  {
359  return const_cast< Vector_3&>(get_normal( h, (const Vertex*)(v)));
360 }
Vertex_overlay Vertex
SURF::Vector_3< Real > Vector_3
Definition: rfc_basic.h:42
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
Vector_3 & get_normal(int v)

Here is the call graph for this function:

Vector_3& get_normal ( Halfedge h,
int  i 
)
inline

Definition at line 150 of file RFC_Window_overlay.h.

References get_normal(), and get_vertex_from_id().

151  { return get_normal( h, get_vertex_from_id(i)); }
blockLoc i
Definition: read.cpp:79
Vertex * get_vertex_from_id(int i)
Vector_3 & get_normal(int v)

Here is the call graph for this function:

const Vector_3 & get_normal ( const Halfedge h,
const Vertex v 
) const

Definition at line 323 of file RFC_Window_overlay.C.

References _f_n_index, _f_nrmls, _nrmls, acc, Halfedge_overlay::destination(), get_index(), HDS_accessor< _MP >::get_pane(), HDS_accessor< _MP >::get_prev_around_destination(), Halfedge_overlay::is_border(), j, Halfedge_overlay::prev(), and RFC_assertion.

323  {
324  RFC_assertion( acc.get_pane(h) == this && acc.get_pane(v)==this);
325 
326  if ( v != h->destination()) {
327  h = h->prev();
328  RFC_assertion( v == h->destination());
329  }
330  if ( h->is_border())
332 
333  int j=_f_n_index[get_index( h)];
334  if ( j < 0)
335  return _nrmls[ get_index(v)];
336  else
337  return _f_nrmls[j];
338 }
RFC_Pane_overlay * get_pane(Vertex *v) const
Definition: HDS_accessor.h:128
std::vector< Vector_3 > _f_nrmls
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::vector< Vector_3 > _nrmls
std::vector< int > _f_n_index
int get_index(const Vertex *v) const
j indices j
Definition: Indexing.h:6
Halfedge * get_prev_around_destination(Halfedge *h) const
Definition: HDS_accessor.h:141
static HDS_accessor< Tag_true > acc
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

const Vector_3& get_normal ( const Halfedge h,
int  i 
) const
inline

Definition at line 155 of file RFC_Window_overlay.h.

References get_normal(), and get_vertex_from_id().

156  { return get_normal( h, get_vertex_from_id(i)); }
blockLoc i
Definition: read.cpp:79
Vertex * get_vertex_from_id(int i)
Vector_3 & get_normal(int v)

Here is the call graph for this function:

const Point_3& get_point ( int  id) const
inline

Definition at line 115 of file RFC_Window_overlay.h.

References RFC_Pane_base::get_point().

Referenced by Overlay::get_green_parent(), Point_set::operator[](), and Overlay::overlay_init().

116  { return Base::get_point(id); }
const Point_3 & get_point(int id) const
Get the physical coordinates of the node with given local id.

Here is the call graph for this function:

Here is the caller graph for this function:

const Point_3& get_point ( const Vertex v) const
inline

Definition at line 117 of file RFC_Window_overlay.h.

References get_index(), and RFC_Pane_base::get_point().

118  { return Base::get_point( get_index(v),0); }
const Point_3 & get_point(int id) const
Get the physical coordinates of the node with given local id.
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const

Here is the call graph for this function:

const Vertex* get_primary ( const Vertex v) const
inline

Definition at line 106 of file RFC_Window_overlay.h.

References _primaries, get_border_index(), Vertex_overlay::halfedge(), Halfedge_overlay::is_border(), and RFC_assertion.

Referenced by get_primary(), HDS_accessor< Tag_true >::get_primary(), and RFC_Window_overlay::is_same_node().

106  {
107  RFC_assertion( v->halfedge());
108  // Precondition: v is a border vertex and v is not an isolated node
109  if ( !v->halfedge()->is_border()) return v;
110  else return _primaries[get_border_index(v->halfedge())];
111  }
std::vector< Vertex * > _primaries
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
#define RFC_assertion
Definition: rfc_basic.h:65
int get_border_index(const Halfedge *h) const

Here is the call graph for this function:

Here is the caller graph for this function:

Vertex* get_primary ( Vertex v)
inline

Definition at line 112 of file RFC_Window_overlay.h.

References get_primary().

113  { return const_cast<Vertex*>( get_primary( (const Vertex*)v)); }
Vertex_overlay Vertex
const Vertex * get_primary(const Vertex *v) const
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20

Here is the call graph for this function:

Vector_3 & get_tangent ( Halfedge h,
Vertex v 
)

Definition at line 364 of file RFC_Window_overlay.C.

Referenced by get_tangent(), and Overlay::project_next_vertex().

364  {
365  return const_cast< Vector_3&>(get_tangent( h, (const Vertex*)(v)));
366 }
Vertex_overlay Vertex
SURF::Vector_3< Real > Vector_3
Definition: rfc_basic.h:42
Vector_3 & get_tangent(Halfedge *h, Vertex *v)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20

Here is the caller graph for this function:

const Vector_3 & get_tangent ( const Halfedge h,
const Vertex v 
) const

Definition at line 344 of file RFC_Window_overlay.C.

References _f_t_index, _f_tngts, acc, Halfedge_overlay::destination(), get_index(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_pane(), get_tangent(), is_feature_1(), j, and RFC_assertion.

344  {
345  if ( v != h->destination()) {
346  h = acc.get_opposite(h);
347  return acc.get_pane( h)->get_tangent( h, h->destination());
348  }
350 
351  int j=_f_t_index[get_index( h)];
352  RFC_assertion( j >= 0 && int(_f_tngts.size())>j);
353  return _f_tngts[j];
354 }
Halfedge * get_opposite(Halfedge *h) const
Definition: HDS_accessor.h:99
RFC_Pane_overlay * get_pane(Vertex *v) const
Definition: HDS_accessor.h:128
Vector_3 & get_tangent(Halfedge *h, Vertex *v)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::vector< int > _f_t_index
int get_index(const Vertex *v) const
j indices j
Definition: Indexing.h:6
std::vector< Vector_3 > _f_tngts
bool is_feature_1(const Halfedge *h) const
static HDS_accessor< Tag_true > acc
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

Vertex* get_vertex_from_id ( int  i)
inline

Definition at line 93 of file RFC_Window_overlay.h.

References _hds, and RFC_assertion.

Referenced by build_hds(), and get_normal().

94  { RFC_assertion(i>0); return &_hds.vertices_begin()[ i-1]; }
blockLoc i
Definition: read.cpp:79
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the caller graph for this function:

const Vertex* get_vertex_from_id ( int  i) const
inline

Definition at line 95 of file RFC_Window_overlay.h.

References _hds, and RFC_assertion.

96  { RFC_assertion(i>0); return &_hds.vertices_begin()[ i-1]; }
blockLoc i
Definition: read.cpp:79
#define RFC_assertion
Definition: rfc_basic.h:65
const HDS& hds ( ) const
inline

Definition at line 78 of file RFC_Window_overlay.h.

References _hds.

78 { return _hds; }
void init_angle_defect ( )
inlineprotected

Definition at line 255 of file RFC_Window_overlay.h.

References _ad_0, _hds, and HUGE_VALF.

Referenced by RFC_Window_overlay::detect_features().

256  { _ad_0.clear(); _ad_0.resize( _hds.size_of_vertices(), HUGE_VALF); }
#define HUGE_VALF
std::vector< float > _ad_0

Here is the caller graph for this function:

void init_edge_angle ( )
inlineprotected

Definition at line 264 of file RFC_Window_overlay.h.

References _ea_0, _hds, and HUGE_VALF.

Referenced by RFC_Window_overlay::detect_features().

265  { _ea_0.clear(); _ea_0.resize( _hds.size_of_vertices(), HUGE_VALF); }
#define HUGE_VALF
std::vector< float > _ea_0

Here is the caller graph for this function:

void init_face_angle ( )
inlineprotected

Definition at line 248 of file RFC_Window_overlay.h.

References _fd_1, _hds, and HUGE_VALF.

Referenced by RFC_Window_overlay::detect_features().

249  { _fd_1.clear(); _fd_1.resize( _hds.size_of_halfedges()>>1, HUGE_VALF); }
#define HUGE_VALF
std::vector< float > _fd_1

Here is the caller graph for this function:

void insert_subface ( int  idx,
int  plid,
const int *  lids,
const Edge_ID eids,
const Point_2 nc,
int  rp_id,
int  cnt,
const int *  rids 
)

Insert all the infomation related to a subface into the database.

Parameters
idxthe index of the subface (i.e., starting from 0).
plidthe local id of the parent face of the subface.
han halfedge of the its parent face in the pane.
lidsthe local ids of the nodes of the subface.
ncthe local coordinates of the nodes of the subface within its parent face.
rp_idthe pane id of the correponding subface in the other window.
cntthe local id of the subface's counterpart in the other window.
ridsthe local ids of the nodes of the correponding subface in the other window.

Definition at line 564 of file RFC_Window_overlay.C.

References RFC_Pane_base::_subface_counterparts, RFC_Pane_base::_subface_parents, RFC_Pane_base::_subfaces, RFC_Pane_base::_subnode_counterparts, RFC_Pane_base::_subnode_nat_coors, RFC_Pane_base::_subnode_parents, i, and RFC_assertion.

Referenced by Overlay::number_subfaces().

566  {
567  RFC_assertion( idx>=0 && idx<int(_subface_parents.size()) && cnt>=1);
568  for ( int i=0; i<3; ++i) {
569  _subfaces[idx][i] = lids[i];
570  _subnode_parents[ lids[i]-1] = eids[i];
571  _subnode_nat_coors[ lids[i]-1] = Point_2S(nc[i][0],nc[i][1]);
572  _subnode_counterparts[ lids[i]-1] = Node_ID( rp_id, rids[i]);
573  }
574  _subface_parents[idx] = plid;
575  _subface_counterparts[idx] = Face_ID( rp_id, cnt);
576 }
std::pair< int, int > Node_ID
SURF::Point_2< float > Point_2S
Definition: rfc_basic.h:45
std::vector< Three_tuple< int > > _subfaces
std::vector< Edge_ID > _subnode_parents
Edge ids of parents.
blockLoc i
Definition: read.cpp:79
std::vector< Node_ID > _subnode_counterparts
Ids of counterparts of subnodes.
std::vector< int > _subface_parents
Face ids of the parents of the subfaces.
std::vector< Point_2S > _subnode_nat_coors
Natual coordinates in the parent face.
#define RFC_assertion
Definition: rfc_basic.h:65
std::vector< Face_ID > _subface_counterparts
Ids of counterparts of faces.
A global ID of a face.

Here is the caller graph for this function:

bool is_feature_0 ( const Vertex v) const
inline

Definition at line 190 of file RFC_Window_overlay.h.

References _is_f_0, and get_index().

Referenced by HDS_accessor< Tag_true >::is_feature_0(), and RFC_Window_overlay::is_feature_0().

190 { return _is_f_0[ get_index(v)]; }
std::vector< bool > _is_f_0
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

bool is_feature_1 ( const Halfedge h) const
inline

Definition at line 191 of file RFC_Window_overlay.h.

References _is_f_1, and get_index().

Referenced by get_tangent(), Overlay::intersect_blue_with_green(), HDS_accessor< Tag_true >::is_feature_1(), RFC_Window_overlay::is_feature_1(), Overlay_primitives::snap_blue_ridge_edge(), and Overlay_primitives::snap_blue_ridge_vertex().

191 { return _is_f_1[get_index(h)]; }
std::vector< bool > _is_f_1
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

bool is_on_feature ( const Vertex v) const
inline

Definition at line 189 of file RFC_Window_overlay.h.

References _is_on_f, and get_index().

Referenced by RFC_Window_overlay::get_an_unmarked_halfedge(), HDS_accessor< Tag_true >::is_on_feature(), and RFC_Window_overlay::is_on_feature().

189 { return _is_on_f[ get_index(v)]; }
std::vector< bool > _is_on_f
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

bool is_physical_border ( const Halfedge h) const
inline

Determine whether an edge is on the physical boundary of the window.

A edge is on a physical boundary if it is on the pane boundary and it does not have a counterpart in any other pane.

Definition at line 133 of file RFC_Window_overlay.h.

References _cntrs, get_border_index(), Halfedge_overlay::is_border(), Vertex_overlay::pane(), RFC_assertion, and Halfedge_overlay::vertex().

Referenced by HDS_accessor< Tag_true >::is_border().

133  {
134  if ( !h->is_border()) return false;
135 
136  RFC_assertion( h->vertex()->pane()==this);
137  return _cntrs[ get_border_index(h)] == h;
138  }
std::vector< Halfedge * > _cntrs
bool is_border() const
Is the edge a border edge?
Definition: Manifold_2.h:476
#define RFC_assertion
Definition: rfc_basic.h:65
int get_border_index(const Halfedge *h) const
const COM::Pane * pane() const
Obtain the owner Pane_manifold_2 of the node.
Definition: Manifold_2.h:543

Here is the call graph for this function:

Here is the caller graph for this function:

bool is_primary ( const Vertex v) const
inline

Definition at line 100 of file RFC_Window_overlay.h.

References _primaries, get_border_index(), Vertex_overlay::halfedge(), and Halfedge_overlay::is_border().

Referenced by get_inode(), HDS_accessor< Tag_true >::is_primary(), and set_inode().

100  {
101  return !v->halfedge()->is_border() ||
102  _primaries[get_border_index(v->halfedge())]==v;
103  }
std::vector< Vertex * > _primaries
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_border_index(const Halfedge *h) const

Here is the call graph for this function:

Here is the caller graph for this function:

void mark ( Halfedge h)
inline

Definition at line 185 of file RFC_Window_overlay.h.

References _e_marks, and get_index().

Referenced by HDS_accessor< Tag_true >::mark().

185 { _e_marks[get_index(h)] = true; }
std::vector< int > _e_marks
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

void mark_ridge ( Halfedge h)
protected
bool marked ( const Halfedge h) const
inline

Definition at line 187 of file RFC_Window_overlay.h.

References _e_marks, and get_index().

Referenced by RFC_Window_overlay::get_an_unmarked_halfedge(), and HDS_accessor< Tag_true >::marked().

187 { return _e_marks[get_index(h)]; }
std::vector< int > _e_marks
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

void reset_cos_edge_angle ( Vertex v)
inlineprotected

Definition at line 262 of file RFC_Window_overlay.h.

References _ea_0, get_index(), and HUGE_VALF.

263  { _ea_0[ get_index( v)] = HUGE_VALF; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
#define HUGE_VALF
int get_index(const Vertex *v) const
std::vector< float > _ea_0

Here is the call graph for this function:

void set_buffered_inode ( Halfedge h,
int  tag,
INode inode 
)
inline

Definition at line 179 of file RFC_Window_overlay.h.

References _e_marks, _e_node_buf, get_index(), i, and inode.

Referenced by HDS_accessor< Tag_true >::set_buffered_inode().

179  {
180  int i=get_index(h);
181  _e_marks[i] = tag;
182  _e_node_buf[i] = inode;
183  }
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE inode
std::vector< INode * > _e_node_buf
std::vector< int > _e_marks
blockLoc i
Definition: read.cpp:79
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

void set_feature_0 ( Vertex v)
inlineprotected

Definition at line 269 of file RFC_Window_overlay.h.

References _is_f_0, and get_index().

Referenced by RFC_Window_overlay::identify_features_0(), and RFC_Window_overlay::set_feature_0().

269 { _is_f_0[ get_index(v)] = true; }
std::vector< bool > _is_f_0
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

void set_inode ( Vertex v,
INode i 
)
inline

Definition at line 167 of file RFC_Window_overlay.h.

References _v_nodes, get_index(), i, is_primary(), and RFC_assertion.

Referenced by HDS_accessor< Tag_true >::set_inode().

std::vector< INode * > _v_nodes
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
bool is_primary(const Vertex *v) const
blockLoc i
Definition: read.cpp:79
int get_index(const Vertex *v) const
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the call graph for this function:

Here is the caller graph for this function:

void set_normal ( int  v,
const Vector_3 vec 
)
inline

Definition at line 145 of file RFC_Window_overlay.h.

References _nrmls, and RFC_assertion.

Referenced by evaluate_normals().

146  { RFC_assertion(v>0); _nrmls[v-1] = vec; }
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
std::vector< Vector_3 > _nrmls
#define RFC_assertion
Definition: rfc_basic.h:65

Here is the caller graph for this function:

void set_on_feature ( Vertex v)
inlineprotected

Definition at line 271 of file RFC_Window_overlay.h.

References _is_on_f, and get_index().

Referenced by RFC_Window_overlay::set_on_feature().

271 { _is_on_f[ get_index(v)] = true; }
std::vector< bool > _is_on_f
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

void set_strong_edge ( Halfedge h)
inlineprotected

Definition at line 267 of file RFC_Window_overlay.h.

References _is_f_1, and get_index().

Referenced by RFC_Window_overlay::detect_features().

267 { _is_f_1[ get_index(h)] = true; }
std::vector< bool > _is_f_1
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

const int& size_of_subfaces ( ) const
inline

Definition at line 195 of file RFC_Window_overlay.h.

References _size_of_subfaces.

195 { return _size_of_subfaces; }
int& size_of_subfaces ( )
inline

Definition at line 196 of file RFC_Window_overlay.h.

References _size_of_subfaces.

196 { return _size_of_subfaces; }
void unmark ( Halfedge h)
inline

Definition at line 186 of file RFC_Window_overlay.h.

References _e_marks, and get_index().

Referenced by HDS_accessor< Tag_true >::unmark().

186 { _e_marks[get_index(h)] = false; }
std::vector< int > _e_marks
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

void unmark_alledges ( )
protected
void unset_feature_0 ( Vertex v)
inlineprotected

Definition at line 270 of file RFC_Window_overlay.h.

References _is_f_0, and get_index().

Referenced by RFC_Window_overlay::identify_features_0(), and RFC_Window_overlay::remove_feature_0().

270 { _is_f_0[ get_index(v)] = false; }
std::vector< bool > _is_f_0
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

void unset_on_feature ( Vertex v)
inlineprotected

Definition at line 272 of file RFC_Window_overlay.h.

References _is_on_f, and get_index().

272 { _is_on_f[ get_index(v)] = false; }
std::vector< bool > _is_on_f
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int get_index(const Vertex *v) const

Here is the call graph for this function:

void unset_strong_edge ( Halfedge h)
inlineprotected

Definition at line 268 of file RFC_Window_overlay.h.

References _is_f_1, and get_index().

Referenced by RFC_Window_overlay::check_false_strong_1(), RFC_Window_overlay::subdiv_feature_curve(), and RFC_Window_overlay::unset_strong_edge().

268 { _is_f_1[ get_index(h)] = false; }
std::vector< bool > _is_f_1
int get_index(const Vertex *v) const

Here is the call graph for this function:

Here is the caller graph for this function:

RFC_Window_overlay* window ( )
inline

Definition at line 74 of file RFC_Window_overlay.h.

References _window.

74 { return _window; }
RFC_Window_overlay * _window
const RFC_Window_overlay* window ( ) const
inline

Definition at line 75 of file RFC_Window_overlay.h.

References _window.

75 { return _window; }
RFC_Window_overlay * _window

Friends And Related Function Documentation

friend class RFC_Window_overlay
friend

Definition at line 69 of file RFC_Window_overlay.h.

Member Data Documentation

std::vector< float> _ad_0
protected
std::map< std::pair<int,int>, Halfedge*> _bv2edges
protected

Definition at line 290 of file RFC_Window_overlay.h.

Referenced by construct_bvpair2edge(), and determine_counterparts().

std::vector<Halfedge*> _cntrs
protected
std::vector<INode*> _e_node_buf
protected
std::vector<INode_list> _e_node_list
protected

Definition at line 319 of file RFC_Window_overlay.h.

Referenced by create_overlay_data(), delete_overlay_data(), and get_inode_list().

std::vector< float> _ea_0
protected
std::vector< int> _f_n_index
protected
std::vector<Vector_3> _f_nrmls
protected
std::vector< int> _f_t_index
protected
std::vector< Vector_3> _f_tngts
protected
std::vector< float> _fd_1
protected
std::vector< bool> _is_f_0
protected
std::vector< bool> _is_f_1
protected
std::vector< bool> _is_on_f
protected
std::vector<Vertex*> _primaries
protected
int _size_of_subfaces
protected

Definition at line 322 of file RFC_Window_overlay.h.

Referenced by size_of_subfaces().

std::vector< const INode*> _subnodes
protected

Definition at line 323 of file RFC_Window_overlay.h.

std::vector<INode*> _v_nodes
protected
RFC_Window_overlay* _window
protected

Definition at line 288 of file RFC_Window_overlay.h.

Referenced by determine_counterparts(), and window().

HDS_accessor< Tag_true > acc
staticprotected

Definition at line 324 of file RFC_Window_overlay.h.

Referenced by get_normal(), and get_tangent().


The documentation for this class was generated from the following files: