#include <Overlay_primitives.h>
Public Types | |
enum | { AREA_WEIGHTED =0, UNIT_WEIGHT =1, ANGLE_WEIGHTED =2 } |
typedef Overlay_primitives | Self |
typedef Vertex_overlay | Vertex |
typedef Halfedge_overlay | Halfedge |
typedef Facet_overlay | Facet |
typedef unsigned int | Size |
Public Member Functions | |
Overlay_primitives (Real ec=1.e-9, Real ep=1.e-6, Real ee=1.e-3) | |
bool | intersect (const Halfedge *b, const Halfedge *g, Real start, Real *c1, Real *c2, Real *dir, Real *dir_match, bool is_opposite, Real eps_e) const |
void | intersect (const Point_set &pbs, const Point_set &pgs, const Normal_set &ngs, Real *c1, Real *c2, bool revsersed) const |
bool | project_onto_element (const Point_3 &p, Halfedge **g, Parent_type *pt, Vector_3 dir, Point_2 *nc_out, const Real eps_p, Real eps_np=-1.) const |
Real | project_green_feature (const Vector_3 &n, const Vector_3 &t, const Point_3 &p1, const Point_3 &p2, const Point_3 &q, const Real eps_p) const |
Real | project_blue_feature (const Vector_3 &n1, const Vector_3 &n2, const Vector_3 &t1, const Vector_3 &t2, const Point_3 &q1, const Point_3 &q2, const Point_3 &p, const Real eps_p) const |
Real | normalmatch (const Halfedge *b, const Halfedge *g) const |
Point_3 | get_point (const Halfedge *b, const Point_2S &nc) const |
Point_3 | get_point (const Halfedge *b, const Point_2 &nc) const |
Point_3 | get_point (const Halfedge *b, Real a) const |
Vector_3 | get_projdir (const Halfedge *b, Real a) const |
Vector_3 | get_tangent (const Halfedge *b, Real a) const |
Vector_3 | get_face_normal (const Halfedge *b, const Point_2 &nc, int scheme=0) const |
void | snap_blue_ridge_edge (const Halfedge *b, const Halfedge *g, Real *cb, Real *cg, Parent_type *t, Real tol=0.1) const |
void | snap_blue_ridge_vertex (const Vertex *v, Halfedge **g, Parent_type *t, Point_2 *nc, Real tol=0.1) const |
Protected Member Functions | |
Real | abs (const Real x) const |
int | sign (const Real x) const |
Real | squared_norm (const Vector_3 &v) const |
Protected Attributes | |
Real | _eps_c |
Real | _eps_p |
Real | _eps_e |
Private Member Functions | |
Self & | operator= (const Self &) |
Definition at line 141 of file Overlay_primitives.h.
typedef Facet_overlay Facet |
Definition at line 146 of file Overlay_primitives.h.
typedef Halfedge_overlay Halfedge |
Definition at line 145 of file Overlay_primitives.h.
typedef Overlay_primitives Self |
Definition at line 143 of file Overlay_primitives.h.
typedef unsigned int Size |
Definition at line 148 of file Overlay_primitives.h.
typedef Vertex_overlay Vertex |
Definition at line 144 of file Overlay_primitives.h.
anonymous enum |
Enumerator | |
---|---|
AREA_WEIGHTED | |
UNIT_WEIGHT | |
ANGLE_WEIGHTED |
Definition at line 246 of file Overlay_primitives.h.
|
inline |
Definition at line 153 of file Overlay_primitives.h.
References _eps_c, _eps_e, _eps_p, and RFC_assertion.
Definition at line 287 of file Overlay_primitives.h.
Definition at line 250 of file Overlay_primitives.h.
References cimg_library::acos(), AREA_WEIGHTED, Vector_3< Type >::cross_product(), Vector_3< Type >::normalize(), scheme, Point_set::size_of_edges(), sqrt(), and UNIT_WEIGHT.
Referenced by RFC_Window_overlay::cos_face_angle(), RFC_Pane_overlay::evaluate_normals(), RFC_Window_overlay::evaluate_normals(), Overlay::get_green_parent(), and Overlay::project_adjacent_green_vertices().
Definition at line 211 of file Overlay_primitives.h.
References Halfedge_overlay::is_border(), RFC_assertion, and Point_set::size_of_edges().
Referenced by Overlay::get_green_parent(), get_point(), Overlay::insert_node_in_blue_edge(), Overlay::write_inodes_tec(), Overlay::write_inodes_vec(), Overlay::write_overlay_off(), and Overlay::write_overlay_tec().
Definition at line 219 of file Overlay_primitives.h.
References get_point(), Halfedge_overlay::is_border(), RFC_assertion, and Point_set::size_of_edges().
Definition at line 227 of file Overlay_primitives.h.
References Halfedge_overlay::destination(), Halfedge_overlay::origin(), and Vertex_overlay::point().
Definition at line 234 of file Overlay_primitives.h.
References Normal_set::size_of_edges().
Referenced by intersect().
Definition at line 239 of file Overlay_primitives.h.
References Point_set::size_of_edges(), and v.
Referenced by intersect().
bool intersect | ( | const Halfedge * | b, |
const Halfedge * | g, | ||
Real | start, | ||
Real * | c1, | ||
Real * | c2, | ||
Real * | dir, | ||
Real * | dir_match, | ||
bool | is_opposite, | ||
Real | eps_e | ||
) | const |
Definition at line 80 of file Overlay_primitives.C.
References Vector_3< Type >::cross_product(), HDS_accessor< _MP >::get_normal(), HDS_accessor< _MP >::get_opposite(), get_projdir(), get_tangent(), Halfedge_overlay::is_border(), HDS_accessor< _MP >::is_border(), max(), RFC_assertion, and sqrt().
Referenced by Overlay::intersect_link_helper().
void intersect | ( | const Point_set & | pbs, |
const Point_set & | pgs, | ||
const Normal_set & | ngs, | ||
Real * | c1, | ||
Real * | c2, | ||
bool | revsersed | ||
) | const |
Definition at line 153 of file Overlay_primitives.C.
References _eps_p, Vector_3< Type >::cross_product(), d, Mesquite::det(), max(), s, sqrt(), and squared_norm().
Definition at line 648 of file Overlay_primitives.C.
References HDS_accessor< _MP >::get_normal(), HDS_accessor< _MP >::get_opposite(), i, HDS_accessor< _MP >::is_feature_1(), and RFC_assertion.
Referenced by Overlay::intersect_link_helper().
Real project_blue_feature | ( | const Vector_3 & | n1, |
const Vector_3 & | n2, | ||
const Vector_3 & | t1, | ||
const Vector_3 & | t2, | ||
const Point_3 & | q1, | ||
const Point_3 & | q2, | ||
const Point_3 & | p, | ||
const Real | eps_p | ||
) | const |
Definition at line 465 of file Overlay_primitives.C.
References _eps_c, Vector_3< Type >::cross_product(), i, q1, RFC_assertion, RFC_assertion_code, s, solve(), v, and x.
Referenced by Overlay::project_next_vertex().
Real project_green_feature | ( | const Vector_3 & | n, |
const Vector_3 & | t, | ||
const Point_3 & | p1, | ||
const Point_3 & | p2, | ||
const Point_3 & | q, | ||
const Real | eps_p | ||
) | const |
Definition at line 439 of file Overlay_primitives.C.
References Vector_3< Type >::cross_product(), p1, s, solve(), and v.
Referenced by Overlay::project_next_vertex().
bool project_onto_element | ( | const Point_3 & | p, |
Halfedge ** | g, | ||
Parent_type * | pt, | ||
Vector_3 | dir, | ||
Point_2 * | nc_out, | ||
const Real | eps_p, | ||
Real | eps_np = -1. |
||
) | const |
Definition at line 292 of file Overlay_primitives.C.
References _eps_c, i, Halfedge_overlay::next(), PARENT_EDGE, PARENT_FACE, PARENT_VERTEX, Halfedge_overlay::prev(), RFC_assertion, RFC_assertion_code, Point_set::size_of_edges(), and solve().
Referenced by Overlay::get_green_parent(), Overlay::intersect_blue_with_green(), and Overlay::project_adjacent_green_vertices().
|
inlineprotected |
Definition at line 289 of file Overlay_primitives.h.
void snap_blue_ridge_edge | ( | const Halfedge * | b, |
const Halfedge * | g, | ||
Real * | cb, | ||
Real * | cg, | ||
Parent_type * | t, | ||
Real | tol = 0.1 |
||
) | const |
Definition at line 508 of file Overlay_primitives.C.
References HDS_accessor< _MP >::get_destination(), HDS_accessor< _MP >::get_opposite(), HDS_accessor< _MP >::get_origin(), HDS_accessor< _MP >::get_pane(), HDS_accessor< _MP >::is_border(), RFC_Pane_overlay::is_feature_1(), HDS_accessor< _MP >::is_on_feature(), PARENT_VERTEX, and v.
Referenced by Overlay::intersect_blue_with_green().
void snap_blue_ridge_vertex | ( | const Vertex * | v, |
Halfedge ** | g, | ||
Parent_type * | t, | ||
Point_2 * | nc, | ||
Real | tol = 0.1 |
||
) | const |
Definition at line 539 of file Overlay_primitives.C.
References COM_assertion, HDS_accessor< _MP >::get_origin(), HDS_accessor< _MP >::get_pane(), i, HDS_accessor< _MP >::is_border(), RFC_Pane_overlay::is_feature_1(), HDS_accessor< _MP >::is_on_feature(), k, Halfedge_overlay::next(), Halfedge_overlay::opposite(), PARENT_EDGE, PARENT_VERTEX, Halfedge_overlay::prev(), and Vertex_set::size_of_edges().
Referenced by Overlay::intersect_blue_with_green().
Definition at line 292 of file Overlay_primitives.h.
References v.
Referenced by intersect().
|
protected |
Definition at line 294 of file Overlay_primitives.h.
Referenced by Overlay_primitives(), project_blue_feature(), and project_onto_element().
|
protected |
Definition at line 296 of file Overlay_primitives.h.
Referenced by Overlay_primitives().
|
protected |
Definition at line 295 of file Overlay_primitives.h.
Referenced by intersect(), and Overlay_primitives().