MGCL V10
V10
MGCL V10
|
クラス | |
class | mgTL2Face |
mgTL2Face is a proprietry class for Face tessellation. [詳解] | |
class | mgTL2PlBridge |
Express a splitting line for a face for tessellation. [詳解] | |
class | mgTL2Fan |
mgTL2Fan is a point list to constitue a fan. [詳解] | |
class | mgTL2Fans |
Defines a vector mgTL2Fan. [詳解] | |
class | mgTL2LPline |
mgTL2LPline is limitted subinterval of mgTL2Polyline. [詳解] | |
class | mgTL2parameter |
Holds necessary parameter data for face tessellation. [詳解] | |
class | mgTL2Polyline |
mgTL2Polyline holds a parameter line(polyline) of a surface. [詳解] | |
class | mgTL2Triangle |
mgTL2Triangle holds (multiple) triangles data, which are a fan or a strip. [詳解] | |
class | mgTL2Triangles |
A vector of mgTL2Triangle's. [詳解] | |
class | mgTLInputParam |
A class that contains all the necessary input parameters to make tessellation. [詳解] | |
マクロ定義 | |
#define | EDGE_LENGTH_DENOM 8. |
#define | NEAR_PARAM 0.002 |
#define | STRICT_ZERO_ANGLE 0.00025 |
#define | LOOSE_ZERO_ANGLE 0.20 |
#define | LOOSE_ZERO_ANGLE2 0.01 |
#define | CONCAVEANGLE1 -0.7 |
#define | CONCAVEANGLE2 -2.441 |
#define | SHARPANGLE 2.441 |
#define | RIGHT_ANGLE STRICT_ZERO_ANGLE |
#define | MAX_DEVIATION_FROM_MIDDLE 4. |
#define | DEVIDE_RATIO 8 |
列挙型 | |
enum | mgTL2Polyline::polyline_type { mgTL2Polyline::WHOLE_INNER =0, mgTL2Polyline::START_BOUNDARY, mgTL2Polyline::END_BOUNDARY, mgTL2Polyline::START_END_BOUNDARY, mgTL2Polyline::WHOLE_BOUNDARY } |
関数 | |
MGEdge * | make_Edge (const mgTL2parameter &tlpara, const MGEdge &edgeuv, short id[3], mgTL2Polyline *&poly) |
bool | splitTl (const MGFace &face, const mgTL2parameter &tlparam, bool is_u, MGPvector< MGFace > &faces) |
void | split_by_bridges (const MGFace &face, MGPvector< mgTL2PlBridge > &networks, MGPvector< MGFace > &faces) |
int | find_concave_at_vertex (const MGLoop &lp, MGVector &Vpre, MGVector &Vaft, MGPosition &uv_vertex, MGLEPoint &le_vertex) |
void | triangulate (const MGLoop &polygon, mgTL2Triangles &triangles) |
void | triangulate (const mgTL2LPline polygon[4], mgTL2Triangles &triangles) |
void | triangulate (const mgTL2Polyline *polygon[4], mgTL2Triangles &triangles) |
double | compute_max_edge_len (const MGObject &twoManifold) |
void | getXYZline_ensuring_max_edge_length (double maxElen2, const MGLBRep &xyzpolyline, MGLBRep &xyzpolylineOut) |
void | getUVline_ensuring_max_edge_length (const mgTL2parameter ¶, const MGCurve &uvline, MGLBRep &xyzpolylineOut) |
Construct polyline MGLBRep whose maximum edge length is para.get_max_edge_len_sqr(). [詳解] | |
const mgTL2Polyline * | TL2Polyline (const MGEdge *edg) |
const mgTL2Polyline * | TL2Polyline (MGComplex::const_pcellItr ei) |
#define CONCAVEANGLE1 -0.7 |
#define CONCAVEANGLE2 -2.441 |
#define DEVIDE_RATIO 8 |
Split value of a edge vertex is employed when it is within span_length/MAX_DEVIATION_FROM_MIDDLE from the middle.
#define EDGE_LENGTH_DENOM 8. |
#define LOOSE_ZERO_ANGLE 0.20 |
#define LOOSE_ZERO_ANGLE2 0.01 |
#define MAX_DEVIATION_FROM_MIDDLE 4. |
#define NEAR_PARAM 0.002 |
#define RIGHT_ANGLE STRICT_ZERO_ANGLE |
#define SHARPANGLE 2.441 |
#define STRICT_ZERO_ANGLE 0.00025 |
double compute_max_edge_len | ( | const MGObject & | twoManifold | ) |
Compute maximum edge length for the tessellation from an object, twoManifold. twoManifold must be MGFSurface or MGShell.
int find_concave_at_vertex | ( | const MGLoop & | lp, |
MGVector & | Vpre, | ||
MGVector & | Vaft, | ||
MGPosition & | uv_vertex, | ||
MGLEPoint & | le_vertex | ||
) |
void getUVline_ensuring_max_edge_length | ( | const mgTL2parameter & | para, |
const MGCurve & | uvline, | ||
MGLBRep & | xyzpolylineOut | ||
) |
Construct polyline MGLBRep whose maximum edge length is para.get_max_edge_len_sqr().
para | Input parameter. |
uvline | Input original (u,v) line of the surface. |
xyzpolylineOut | Output LBRep of order 2 whose knot vector is: t(i)=i-1 for i=1,...,n and t(0)=0 and t(n+1)=n-1. |
void getXYZline_ensuring_max_edge_length | ( | double | maxElen2, |
const MGLBRep & | xyzpolyline, | ||
MGLBRep & | xyzpolylineOut | ||
) |
xyzpolylineOut | t(i)=i-1 for i=1,...,n and t(0)=0 and t(n+1)=n-1. |
MGEdge* make_Edge | ( | const mgTL2parameter & | tlpara, |
const MGEdge & | edgeuv, | ||
short | id[3], | ||
mgTL2Polyline *& | poly | ||
) |
make_Edge() makes a polyline edge(parameter edge) of edge edgeuv which are wholly on a curve of m_param.Bpoly(). All of the points of m_param.Bpoly()[id[0]][id[1]] will be converted to surface (u,v) parameter. These (u,v) representation makes the polyline edge.
void split_by_bridges | ( | const MGFace & | face, |
MGPvector< mgTL2PlBridge > & | networks, | ||
MGPvector< MGFace > & | faces | ||
) |
bool splitTl | ( | const MGFace & | face, |
const mgTL2parameter & | tlparam, | ||
bool | is_u, | ||
MGPvector< MGFace > & | faces | ||
) |
const mgTL2Polyline* TL2Polyline | ( | const MGEdge * | edg | ) |
const mgTL2Polyline* TL2Polyline | ( | MGComplex::const_pcellItr | ei | ) |
void triangulate | ( | const MGLoop & | polygon, |
mgTL2Triangles & | triangles | ||
) |
Triangulate polygon. The result will be appended onto triangles.
polygon | Target MGLoop to triangulate whose edges' base_curve() must be |
triangles | mgTL2Polyline.Triangulated data will be appended. |
void triangulate | ( | const mgTL2LPline | polygon[4], |
mgTL2Triangles & | triangles | ||
) |
Triangulate polygon. The result will be appended onto triangles.
polygon | Four edges that constitute a closed polygon. |
triangles | Triangulated data will be appended. |
void triangulate | ( | const mgTL2Polyline * | polygon[4], |
mgTL2Triangles & | triangles | ||
) |
Triangulate polygon. The result will be appended onto triangles.
polygon | Four edges that constitute a closed polygon. |
triangles | Triangulated data will be appended. |