MGCL V10
V10
MGCL V10
|
Defines Rational Line B-Representation. [詳解]
公開メンバ関数 | |
MGRLBRep () | |
Default(dummy) constructor. [詳解] | |
MGRLBRep (const MGKnotVector &t, const MGBPointSeq &bcoef, int homogeneous=1) | |
MGRLBRep (const MGKnotVector &t, const MGBPointSeq &bcoef, const std::vector< double > &weights) | |
Construct Line NURBS, providing all the member data. [詳解] | |
MGRLBRep (const MGEllipse &ellipse) | |
Construct ellipse NURBS. [詳解] | |
MGRLBRep (const MGPosition &P0, const MGVector &T0, const MGPosition &P, const MGPosition &P2, const MGVector &T2) | |
Original ellipse. [詳解] | |
MGRLBRep (const MGRLBRep &old_brep, const MGKnotVector &t) | |
MGRLBRep (const MGLBRep &brep, int homogeneous=0) | |
**** Conversion Constructor.**** [詳解] | |
MGRLBRep (const MGRLBRep &old_brep, const MGKnotArray &knots) | |
Gets new NURBS by adding knots to an original NURBS. [詳解] | |
MGRLBRep (const MGRLBRep &brep1, int continuity, int which, const MGRLBRep &brep2) | |
Gets new NURBS by connecting two NURBS to one. [詳解] | |
MGRLBRep (double t1, double t2, const MGRLBRep &old_brep, int multiple=0) | |
MGRLBRep (int dim, const MGRLBRep &lbrep, int start1=0, int start2=0) | |
MGRLBRep (double a, double b, double angle1, double angle2) | |
MGRLBRep & | operator= (const MGGel &gel2) |
MGRLBRep & | operator= (const MGRLBRep &gel2) |
MGRLBRep | operator+ (const MGVector &) const |
Transformation object construction. [詳解] | |
MGRLBRep | operator- (const MGVector &) const |
MGRLBRep | operator* (double) const |
MGRLBRep | operator* (const MGMatrix &) const |
MGRLBRep | operator* (const MGTransf &) const |
MGRLBRep & | operator+= (const MGVector &v) |
Object transformation. [詳解] | |
MGRLBRep & | operator-= (const MGVector &v) |
MGRLBRep & | operator*= (double scale) |
MGRLBRep & | operator*= (const MGMatrix &mat) |
MGRLBRep & | operator*= (const MGTransf &tr) |
bool | operator== (const MGRLBRep &gel2) const |
comparison [詳解] | |
bool | operator== (const MGGel &gel2) const |
Comparison. [詳解] | |
bool | operator< (const MGRLBRep &gel2) const |
bool | operator< (const MGGel &gel2) const |
bool | operator== (const MGLBRep &gel2) const |
void | approximate_as_LBRep (MGLBRep &lb, int ordr=0, int parameter_normalization=0, bool neglectMulti=false) const |
int | bdim () const |
Returns NURBS Dimension. [詳解] | |
MGBox | box_limitted (const MGInterval &l) const |
MGBox | box_unlimit () const |
Return minimum box that includes the whole line. [詳解] | |
void | change_range (double t1, double t2) |
MGRLBRep & | change_dimension (int dim, int start1=0, int start2=0) |
Changing this object's space dimension. [詳解] | |
MGRLBRep & | change_order (int order) |
double & | coef (int i, int j) |
double | coef (int i, int j) const |
MGVector | coef (int i) const |
const double * | coef_data (int i=0, int j=0) const |
Returns a pointer to the line b-coef data. [詳解] | |
void | connect (int continuity, int which, const MGRLBRep &brep2) |
int | continuity (const MGRLBRep &brep2, int &which, double &ratio) const |
MGRLBRep & | coordinate_exchange (int i, int j) |
MGRLBRep * | clone () const |
MGCurve * | copy_as_nurbs () const |
MGRLBRep * | copy_change_dimension (int sdim, int start1=0, int start2=0) const |
MGCurve * | copy_limitted (const MGInterval &prange) const |
int | divide_multi (MGPvector< MGCurve > &crv_list, int multiplicity=-1) const |
void | display_control_polygon (mgSysGL &sgl) const |
Display control polygons using mgVBO::MGDrawPointSeq() [詳解] | |
void | draw_2D (void(*moveto)(int, int), void(*lineto)(int, int), const double wind[4], int ynum) const |
void | draw_2D (void(*moveto)(float, float), void(*lineto)(float, float), const double wind[4], int ynum) const |
void | draw_2D (void(*moveto)(double, double), void(*lineto)(double, double), const double wind[4], int ynum) const |
void | draw_1D (void(*moveto)(int, int), void(*lineto)(int, int), int coordinate, bool t_is_x, const double wind[4], int ynum) const |
void | draw_1D (void(*moveto)(float, float), void(*lineto)(float, float), int coordinate, bool t_is_x, const double wind[4], int ynum) const |
void | draw_1D (void(*moveto)(double, double), void(*lineto)(double, double), int coordinate, bool t_is_x, const double wind[4], int ynum) const |
void | drawSE (mgVBO &vbo, double span_length, double t0, double t1) const |
Draw this curve into vbo, approximating with polyline. [詳解] | |
MGVector | eval (double t, int nderiv=0, int left=0) const |
void | eval_all (double tau, MGPosition &P, MGVector &V1, MGVector &V2) const |
void | eval_all (double tau, int nderiv, double *deriv, int left=0) const |
void | extend (double length, bool start=false) |
MGRLBRep & | extend (int start, double length, double dk=0.) |
MGRLBRep & | extend_with_parameter (double tau, double dk) |
Extrapolate the curve by the parameter value. [詳解] | |
bool | get_control_points (MGBPointSeq &cpoints) const |
const MGLBRep & | homogeneous () const |
Return homogeneous Line B-Representation of the rational B-Spline. [詳解] | |
MGLBRep & | homogeneous () |
long | identify_type () const |
Return This object's typeID. [詳解] | |
int | intersect_dnum () const |
Provide divide number of curve span for function intersect. [詳解] | |
bool | is_coplanar (const MGCurve &curve2, MGPlane &plane) const |
bool | is_planar (MGPlane &plane) const |
MGCCisect_list | isect (const MGCurve &) const |
MGCCisect_list | isect (const MGStraight &curve2) const |
MGCCisect_list | isect (const MGSurfCurve &curve2) const |
MGCCisect_list | isect (const MGBSumCurve &curve2) const |
MGCSisect_list | isect (const MGSurface &surf) const |
Intersection of Spline and Surface. [詳解] | |
MGCSisect_list | isect (const MGPlane &surf) const |
MGCSisect_list | isect (const MGSphere &surf) const |
MGCSisect_list | isect (const MGCylinder &surf) const |
MGCSisect_list | isect (const MGSBRep &surf) const |
MGCSisect_list | isect (const MGRSBRep &surf) const |
MGCSisect_list | isect (const MGBSumSurf &surf) const |
MGCParam_list | isect_2D (const MGStraight &sl, int coordinate=0) const |
MGCParam_list | isect_3D (const MGPlane &pl, int coordinate=0) const |
double & | knot (int i) |
double | knot (int i) const |
const double * | knot_data () const |
Returns a pointer to the knot vector data. [詳解] | |
const MGKnotVector & | knot_vector () const |
MGKnotVector & | knot_vector () |
MGRLBRep & | limit (const MGInterval &itvl) |
const MGBPointSeq & | line_bcoef () const |
MGBPointSeq & | line_bcoef () |
void | negate () |
Change direction of the line. [詳解] | |
double | negate_param (double t) const |
Obtain parameter value if this curve is negated by "negate()". [詳解] | |
MGBPointSeq | non_homogeneous_bcoef () const |
int | non_rational () const |
int | order () const |
Returns the order. [詳解] | |
double | param_e () const |
Return ending parameter value. [詳解] | |
double | param_normalize (double t) const |
double | param_s () const |
Return starting parameter value. [詳解] | |
MGRLBRep * | part (double t1, double t2, int multiple=0) const |
MGPosition_list | perps (const MGCurve &crv2) const |
MGPosition_list | perps (const MGStraight &crv2) const |
int | planar (MGPlane &plane, MGStraight &line, MGPosition &point) const |
int | reduce (int ndec) |
MGRLBRep & | refine (const MGKnotVector &t) |
std::auto_ptr< MGRLBRep > | rebuild_with_new_knot_configuration (double error, int parameter_normalization) const |
Rebuild this NURBS by reconstructing new knot configuration. [詳解] | |
void | remove_knot () |
int | sdim () const |
Returns the space dimension. [詳解] | |
MGSurface * | sweep (const MGUnit_vector &uvec, double start_dist, double end_dist) const |
MGCURVE_TYPE | type () const |
MGCurve & | unlimit () |
MGCurve & | unlimit_end () |
MGCurve & | unlimit_start () |
int | out_to_IGES (MGIgesOfstream &igesfile, int SubordinateEntitySwitch=0) const |
Debug Function. [詳解] | |
std::ostream & | out (std::ostream &) const |
Output virtual function. [詳解] | |
基底クラス MGCurve に属する継承公開メンバ関数 | |
MGCurve () | |
Void constructor(初期化なしでオブジェクトを作成する。). [詳解] | |
MGCurve (const MGCurve &curve) | |
Copy constructor. [詳解] | |
virtual | ~MGCurve () |
Virtual Destructor. [詳解] | |
virtual MGCurve & | operator= (const MGCurve &gel2) |
Assignment. [詳解] | |
virtual bool | operator== (const MGCompositeCurve &crv) const |
Comparison. [詳解] | |
virtual bool | operator== (const MGTrimmedCurve &crv) const |
void | arrow (double t, MGPosition data[4]) const |
Generate arrow data of the tangent at the parameter value t of the curve. [詳解] | |
virtual MGPosition | center () const |
Obtain ceter coordinate of the geometry. [詳解] | |
virtual MGPosition | center_param () const |
Obtain ceter parameter value of the geometry. [詳解] | |
virtual double | closest (const MGPosition &point) const |
Compute the closest point parameter value of this curve from a point. [詳解] | |
virtual double | closest2D (const MGPosition &point) const |
Compute the nearest point from input point on this curve's (x,y) 2D part. [詳解] | |
virtual MGPosition | closest (const MGCurve &curve2) const |
Compute the closest point parameter value pair of this curve and curve2. [詳解] | |
bool | cn_continuity (int n) const |
Test if this curve is cn continuous. [詳解] | |
virtual int | common (const MGCurve &curve2, std::vector< double > &vecComSpan, MGCCisect_list &isect) const |
Test if this has a common line part with the 2nd curve. [詳解] | |
virtual int | common (const MGCurve &curve2, std::vector< double > &vecComSpan) const |
Test if this has a common line part with the 2nd curve. [詳解] | |
virtual void | convert_to_Bezier (MGLBRep &bezier) const |
Convert this curve to Bezier curve. [詳解] | |
virtual double | curvature (double) const |
Return curvature at the given point. [詳解] | |
MGCurve * | curve () |
Return curve pointer if this MGGel is an MGCurve, else return null. [詳解] | |
const MGCurve * | curve () const |
virtual double | curvilinear_integral (double t1, double t2) const |
Compute curvilinear integral of the 1st two coordinates. [詳解] | |
virtual double | curvilinear_integral () const |
virtual double | deriv_length () const |
Compute mean length of 1st derivative vector. [詳解] | |
MGUnit_vector | direction (const MGPosition ¶m) const |
Compute direction unit vector of the geometry. [詳解] | |
virtual MGUnit_vector | direction (double) const |
Return tangent vector at the given point. [詳解] | |
virtual void | display_arrows (mgSysGL &sgl) const |
virtual void | display_break_points (mgSysGL &sgl) const |
virtual void | display_curvatures (mgSysGL &sgl, double scale, int density, bool use_radius) const |
int | divide_number () const |
get the a divide number for offset, intersection, or others. [詳解] | |
virtual void | drawWire (mgVBO &vbo, double span_length, int line_density=1) const |
Draw this curve into vbo, approximating with polyline. [詳解] | |
virtual MGPosition | end_point () const |
Return end point(終点を返却する) [詳解] | |
virtual MGVector | eval_deriv (double) const |
Compute 1st derivative. [詳解] | |
void | eval_discrete_deviation (const MGCurve &curve2, std::vector< MGPosition > &sts, int npoint=20, double tolerance=0.1) const |
Evaluate deviations of two curves(this and curve2) at npoint discrete points. [詳解] | |
virtual void | eval_line (const MGNDDArray &tau, MGBPointSeq &value) const |
Evaluate line data at data point tau. [詳解] | |
virtual MGPosition | eval_position (double) const |
Compute positional data. [詳解] | |
MGVector | evaluate (const MGPosition &t, const int *nderiv=0) const |
Evaluate n'th derivative data. n=0 means positional data evaluation. [詳解] | |
virtual void | Frenet_frame2 (double t, MGVector &V2, MGVector &T, MGVector &N, MGVector &B) const |
Compute Frenet_frame, curvature and torsion in 3D space. [詳解] | |
virtual void | Frenet_frame (double t, MGUnit_vector &T, MGUnit_vector &N, MGUnit_vector &B, double &curvature, double &torsion) const |
Compute Frenet_frame, curvature and torsion in 3D space. [詳解] | |
double | get_average_tangent_length () const |
Get average tangent length. [詳解] | |
void | getParamsC0Continuity (std::vector< double > ¶m) const |
bool | has_same_direction_at (double s, const MGCurve &curve2, double t) const |
Test if this curve has the same direction with curve2. [詳解] | |
virtual bool | in_range (double t) const |
Test if input parameter value is inside parameter range of the line. [詳解] | |
bool | in_range (const MGPosition &t) const |
Test if input parameter value is inside parameter range of the line. [詳解] | |
MGCCisect_list | intersect_brute_force (const MGCurve &) const |
Curve to curve intersection. [詳解] | |
virtual MGCCisect_list | intersect (const MGCurve &) const |
Curve to curve intersection. [詳解] | |
MGisects | intersection (const MGObject &obj2) const |
Compute the intersections of two objects. [詳解] | |
MGisects | intersection (const MGCurve &obj2) const |
MGisects | intersection (const MGFSurface &obj2) const |
MGisects | intersection (const MGSurface &obj2) const |
MGisects | intersection (const MGFace &obj2) const |
MGisects | intersection (const MGShell &obj2) const |
MGCSisect_list | intersect_with_plane (const MGPlane &surf) const |
intersections with a plane. [詳解] | |
virtual MGCCisect_list | isect (const MGRLBRep &curve2) const |
virtual MGCCisect_list | isect (const MGEllipse &curve2) const |
virtual MGCCisect_list | isect (const MGLBRep &curve2) const |
MGCCisect_list | isect (const MGTrimmedCurve &curve2) const |
MGCCisect_list | isect (const MGCompositeCurve &curve2) const |
MGCSisect_list | isect (const MGFSurface &fs) const |
virtual MGCSisect_list | isect (const MGFace &) const |
MGCFisect_vector | isect (const MGShell &shl) const |
Intersection of a shell and a curve. [詳解] | |
MGCParam_list | isect_1D (double f, int coordinate=0) const |
Compute intersection point of 1D sub curve of original curve. [詳解] | |
virtual const MGLBRep * | is_Bezier (int ordr=0) const |
Test if this is a Bezier Curve. [詳解] | |
bool | is_closed () const |
Test if this is a closed curve. [詳解] | |
bool | is_closedWithError (double err) const |
Terst if this is a closed curve, given the tolerance. [詳解] | |
virtual bool | is_startpoint_parameter (double t) const |
Test if the input parameter t is the start point parameter or not. [詳解] | |
virtual bool | is_endpoint_parameter (double t) const |
Test if the input parameter t is the start point parameter or not. [詳解] | |
bool | is_perpendicular (const MGPosition &P, double t) const |
Test if the vector from P to this->eval(t) is perpendicular. [詳解] | |
virtual bool | is_linear (MGStraight &straight) const |
Test if this cure is linear or not, that is, is straight or not. [詳解] | |
MGKnotVector & | knot_vector () |
Returns the knot vector of the curve. [詳解] | |
virtual double | length (double t1, double t2) const |
Cmpute curve length of the interval. [詳解] | |
virtual double | length () const |
Compute whole curve length. [詳解] | |
virtual double | length_param (double t, double len) const |
Inverse function of length. [詳解] | |
MGCurve & | limit (double t0, double t1) |
int | manifold_dimension () const |
Return manifold dimension, 0:point, 1:curve, 2:surface. [詳解] | |
void | negate_transform (MGGeometry &boundary) const |
virtual MGPvector< MGCurve > | offset (double ofs_value, const MGVector &norm_vector=mgNULL_VEC) const |
Offset of costant deviation from this curve. [詳解] | |
virtual MGPvector< MGCurve > | offset (const MGLBRep &ofs_value_lb, const MGVector &norm_vector=mgNULL_VEC) const |
Offset of variable deviation from this curve. [詳解] | |
virtual MGLBRep | offset_c2 (double ofs_value, const MGVector &norm_vector=mgNULL_VEC) const |
Costant offset curve of C2 continuous curve. [詳解] | |
virtual MGLBRep | offset_c2 (const MGLBRep &ofs_value_lb, const MGVector &norm_vector=mgNULL_VEC) const |
Valuable offset curve of C2 continuous curve. [詳解] | |
virtual bool | on (const MGPosition &point, double &t) const |
Test if given point is on the curve or not. [詳解] | |
bool | on (const MGPosition &P, MGPosition &t) const |
Test if given point is on this geometry or not. [詳解] | |
virtual double | param (const MGPosition &) const |
Compute parameter value of given point. [詳解] | |
virtual double | param_error () const |
Obtain parameter space error. [詳解] | |
virtual MGInterval | param_range () const |
Return parameter range of the curve(パラメータ範囲を返す). [詳解] | |
double | param_round_into_range (double t) const |
Round the parameter t into this parameter range. [詳解] | |
MGBox | parameter_range () const |
Return parameter range of the geometry(パラメータ範囲を返す). [詳解] | |
double | param_se (double t) const |
Return starting or ending parameter value that is nearer to the param t. [詳解] | |
virtual double | param_span () const |
Compute parameter span length. [詳解] | |
virtual int | perp_guess (double t0, double t1, const MGPosition &P, double tg, double &t) const |
Return perpendicular point from a point P. [詳解] | |
virtual int | perp_guess (double s0, double s1, const MGCurve &curve2, double t0, double t1, double sg, double tg, MGPosition &st) const |
Return perpendicular points of two curves. [詳解] | |
virtual int | perp_point (const MGPosition &p, double &t, const double *g=0) const |
Compute a foot point of the perpendicular line from point p to the curve. [詳解] | |
MGPosition_list | perpendiculars (const MGCurve &crv) const |
Compute all the perpendicular points of this curve and the second one. [詳解] | |
virtual MGCParam_list | perps (const MGPosition &P) const |
Compute all foot points of the perpendicular line from point to the curve. [詳解] | |
virtual MGPosition_list | perps (const MGRLBRep &crv2) const |
virtual MGPosition_list | perps (const MGEllipse &crv2) const |
virtual MGPosition_list | perps (const MGLBRep &crv2) const |
virtual MGPosition_list | perps (const MGSurfCurve &crv2) const |
virtual MGPosition_list | perps (const MGBSumCurve &crv2) const |
MGPosition_list | perps (const MGCompositeCurve &crv2) const |
MGPosition_list | perps (const MGTrimmedCurve &crv2) const |
virtual MGPosition | pick_closest (const MGStraight &sl) const |
Compute the parameter value of the closest point from the straight to this object. [詳解] | |
virtual void | polygonize (double error, MGLBRep &lb2) const |
Approximate this curve by a polyline and output to lb2. [詳解] | |
virtual int | project (const MGFSurface &surf, MGPvector< MGCurve > &vec_crv_uv, MGPvector< MGCurve > &vec_crv, const MGVector &vec) const |
Obtain the projected curve of a curve onto the surface. [詳解] | |
virtual double | range (double t) const |
Round t into curve's parameter range. [詳解] | |
MGPosition | range (const MGPosition &t) const |
Round t into geometry's parameter range. [詳解] | |
std::auto_ptr< MGCurve > | rebuild (int how_rebuild=1, int parameter_normalization=2, double tol=-1., int ordr=0, const double *param_range=0) const |
Rebuild this curve. [詳解] | |
virtual MGCurve & | rotate_self (const MGVector &v, double, const MGPosition &=mgORIGIN) |
Update curve by rotating around straight line. [詳解] | |
std::auto_ptr< MGLBRep > | scalePolar (double angleBase, double angle1, double angle2) const |
Obtain polar-rotated curve of this. [詳解] | |
virtual MGPosition | start_point () const |
Return start point(始点を返却する). [詳解] | |
virtual int | tangent_guess (double t0, double t1, const MGPosition &P, double tg, double &t) const |
Return tangent point from a point P, given guess starting paramter tg. [詳解] | |
void | trim_end (double t) |
Trim the end part of this curve at the parameter t. [詳解] | |
void | trim_start (double t) |
Trim the start part of this curve at the parameter t. [詳解] | |
void | trim_start_and_end (double ts, double te) |
Trim the start part and end part of this curve at the parameter ts and te. [詳解] | |
virtual std::auto_ptr< MGLBRep > | PolarCoordinatesLBRep () const |
Obtain polar coordinates system MGLBRep of this curve. [詳解] | |
基底クラス MGGeometry に属する継承公開メンバ関数 | |
MGGeometry () | |
Void constructor(初期化なしでオブジェクトを作成する。) [詳解] | |
MGGeometry (const MGGeometry &geo2) | |
Copy constructor. [詳解] | |
virtual | ~MGGeometry () |
Virtual Destructor. [詳解] | |
virtual MGGeometry & | operator= (const MGGeometry &gel2) |
virtual MGGeometry * | geometry () |
Return MGGeometry pointer if this MGGel is an MGGeometry, else return null. [詳解] | |
virtual const MGGeometry * | geometry () const |
const MGBox & | box () const |
Return minimum box that includes whole of the geometry. [詳解] | |
virtual void | draw3DVertex (mgVBO &vbo) const |
bool | is_null () const |
Test if this is null. [詳解] | |
double | parameter_error () const |
Error allowed in the parameter space of the geometry. [詳解] | |
基底クラス MGObject に属する継承公開メンバ関数 | |
MGObject () | |
Void constructor(初期化なしでオブジェクトを作成する。) [詳解] | |
MGObject (const MGObject &obj2) | |
Copy constructor. [詳解] | |
virtual | ~MGObject () |
Virtual Destructor. [詳解] | |
virtual MGObject & | operator= (const MGObject &obj2) |
MGAppearance * | appearance () |
const MGAppearance * | appearance () const |
virtual void | shade (mgVBO &vbo, const MGDrawParam ¶, mgVBO::ELEMENT_TARGET target=mgVBO::SHADING) const |
Shade the object in world coordinates. [詳解] | |
MGAppearance * | ensure_appearance () |
virtual void | make_display_list (MGCL::VIEWMODE vmode=MGCL::DONTCARE) const |
Make a display list of this gel. [詳解] | |
bool | has_common (const MGObject &obj2) const |
const MGObject * | includes_object () const |
Test if this gel includes an object. [詳解] | |
MGObject * | includes_object () |
Test if this gel includes an object. [詳解] | |
virtual MGisects | intersection (const MGPoint &obj2) const |
void | remove_appearance () |
Remove the MGAppearance of this MGAttribedGel. [詳解] | |
virtual MGObject * | object () |
Return MGObject pointer if this MGGel is an MGObject, else return null. [詳解] | |
virtual const MGObject * | object () const |
virtual const MGFSurface * | fsurface () const |
Get the MGFSurface pointer if this is MGSurface or MGFace. [詳解] | |
virtual MGFSurface * | fsurface () |
void | set_appearance (const MGAppearance &appr2) |
virtual void | transform (const MGVector &v) |
Transform the gel by the argument. [詳解] | |
virtual void | transform (double scale) |
translation [詳解] | |
virtual void | transform (const MGMatrix &mat) |
scaling. [詳解] | |
virtual void | transform (const MGTransf &tr) |
matrix transformation. [詳解] | |
基底クラス MGAttribedGel に属する継承公開メンバ関数 | |
MGAttribedGel () | |
void constructor. [詳解] | |
MGAttribedGel (const MGAttribedGel &gel2) | |
copy constructor. [詳解] | |
virtual MGAttribedGel & | operator= (const MGAttribedGel &gel2) |
virtual | ~MGAttribedGel () |
void | copy_appearance (const MGAttribedGel &gel2) |
mgVBO * | dlist_name () const |
virtual bool | displayList_is_made (MGCL::VIEWMODE vmode) const |
Judge if the display list for vmode is made or not. [詳解] | |
void | deleteDlistName () const |
virtual void | drawAttrib (mgVBO &vbo, bool no_color=false) const |
Process of draw or render attributes. [詳解] | |
virtual void | render_attribute () const |
virtual int | get_draw_attrib_mask () const |
Obtain attribute mask for glPushAttrib(). [詳解] | |
virtual int | get_render_attrib_mask () const |
int | getVBOElementsNumber () const |
Get the number of elements of m_dlistName. [詳解] | |
int | getVBOShaderElementsNumber () const |
Get the number of shading elements of m_dlistName. [詳解] | |
virtual bool | no_display () const |
void | remove_GLattrib (long tid) |
Removed the attribute of specified type. [詳解] | |
virtual void | set_GLattrib (MGGLAttrib *attr) |
virtual void | set_display () |
Set this group as display or no display group. [詳解] | |
virtual void | set_no_display () |
bool | visible () const |
void | set_name (const MGName &newName) |
const MGName * | get_name () const |
void | set_color (const MGColor &newColor) |
const MGColor * | get_color () const |
void | setDlistName (mgVBO *vbo=0) const |
void | setDirty (bool is_dirty) const |
Set dirty flag(s) of this VBO(m_dlistName). [詳解] | |
基底クラス MGGel に属する継承公開メンバ関数 | |
virtual | ~MGGel () |
Virtual Destructor. [詳解] | |
virtual bool | operator!= (const MGGel &gel2) const |
virtual bool | operator> (const MGGel &gel2) const |
virtual MGAttrib * | attrib () |
Return MGAttrib pointer if this MGGel is an MGAttrib, else return null. [詳解] | |
virtual const MGAttrib * | attrib () const |
virtual MGGroup * | group () |
Return MGGroup pointer if this MGGel is an MGGroup, else return null. [詳解] | |
virtual const MGGroup * | group () const |
virtual MGPoint * | point () |
Return point pointer if this MGGel is an MGPoint, else return null. [詳解] | |
virtual const MGPoint * | point () const |
virtual MGSurface * | surf () |
Return MGSurface pointer if this MGGel is an MGSurface, else return null. [詳解] | |
virtual const MGSurface * | surf () const |
virtual MGTopology * | topology () |
Return MGTopology pointer if this MGGel is an MGTopology, else return null. [詳解] | |
virtual const MGTopology * | topology () const |
virtual MGFace * | face () |
Return MGFace pointer if this MGGel is an MGFace, else return null. [詳解] | |
virtual const MGFace * | face () const |
virtual MGShell * | shell () |
Return MGShell pointer if this MGGel is an MGShell, else return null. [詳解] | |
virtual const MGShell * | shell () const |
std::string | string_content () const |
bool | type_is (const MGAbstractGels &types) const |
限定公開メンバ関数 | |
MGCParam_list | intersect_1D (double f, int coordinate=0) const |
std::auto_ptr< MGCurve > | oneD (const double g[4]) const |
void | ReadMembers (MGIfstream &buf) |
void | WriteMembers (MGOfstream &buf) const |
std::string | whoami () const |
基底クラス MGCurve に属する継承限定公開メンバ関数 | |
void | approximate_as_LBRep2 (MGLBRep &lb, int order, int is, int ie, bool neglectMulti=false) const |
Approximate this curve as a MGLBRep curve from knot_vector[is] to [ie]. [詳解] | |
virtual void | data_points_for_approximate_as_LBRep2 (int is, int ie, MGKnotVector &t, MGNDDArray &tau, bool neglectMulti=false) const |
Get data points for approximate_as_LBRep2. [詳解] | |
void | extrapolated_pp (double tau, double dk, MGPPRep &pp) const |
Obtain an extrapolated PP-Rep curve by the parameter value. [詳解] | |
virtual MGCCisect_list | isect_withC1LB (const MGLBRep &curve2) const |
Compute intersections with MGLBRep curve2 that does not have C0 continuity in it. [詳解] | |
virtual MGCCisect_list | isect_with_noCompoSC (const MGSurfCurve &curve2) const |
isect with SurfCurve whose m_curve is not a MGTrimmedCurve of MGCompositeCurve. [詳解] | |
virtual MGPosition_list | perps_withC1LB (const MGLBRep &lbC1) const |
Perpendicular points with C1 conitnuity LBRep. [詳解] | |
virtual MGPosition_list | perps_with_noCompoSC (const MGSurfCurve &curve2) const |
Perpendicular points of this to curve2. [詳解] | |
MGPosition_list | perpsSl (const MGStraight &sl) const |
Perpendicular points with straight. [詳解] | |
virtual void | update_mark () |
Mark this as updated. [詳解] | |
基底クラス MGGeometry に属する継承限定公開メンバ関数 | |
MGGeometry & | set_geometry (const MGGeometry &geo2) |
Assignment. [詳解] | |
基底クラス MGObject に属する継承限定公開メンバ関数 | |
MGObject & | set_object (const MGObject &gel2) |
フレンド | |
MG_DLL_DECLR friend MGRLBRep | operator+ (const MGVector &v, const MGRLBRep &lb) |
Friend Function. [詳解] | |
MG_DLL_DECLR friend MGRLBRep | operator* (double scale, const MGRLBRep &) |
その他の継承メンバ | |
基底クラス MGGeometry に属する継承限定公開変数類 | |
MGBox * | m_box |
基底クラス MGAttribedGel に属する継承限定公開変数類 | |
std::auto_ptr< mgVBO > | m_dlistName |
display name if m_dlistName!=0; [詳解] | |
Defines Rational Line B-Representation.
This NURBS is a homogeneous form, i.e., B-Coefficients have weight included values. When usual NURBS form is (xi, yi, zi, wi) , MGRLBRep form is (xi*wi, yi*wi, zi*wi, wi) for i=0,..., n-1.
|
inline |
Default(dummy) constructor.
MGRLBRep::MGRLBRep | ( | const MGKnotVector & | t, |
const MGBPointSeq & | bcoef, | ||
int | homogeneous = 1 |
||
) |
Construct Line NURBS, providing all the member data. ***** This is the fundamental constructor(when homogeneous=1).*****
t | Knot Vector. |
bcoef | Line B-Coef, each of coefficients includes weight multiplied when homogeneous=true(1), and not includes when homogeneous =false. Mximum space dimension id of bcoef is for weight of the rational. |
homogeneous | Indicates if bcoef includes weight as above. |
MGRLBRep::MGRLBRep | ( | const MGKnotVector & | t, |
const MGBPointSeq & | bcoef, | ||
const std::vector< double > & | weights | ||
) |
Construct Line NURBS, providing all the member data.
t | Knot Vector. |
bcoef | Line B-Coef, each of coefficients does not include weights data. |
weights | Weights. |
|
explicit |
Construct ellipse NURBS.
MGRLBRep::MGRLBRep | ( | const MGPosition & | P0, |
const MGVector & | T0, | ||
const MGPosition & | P, | ||
const MGPosition & | P2, | ||
const MGVector & | T2 | ||
) |
Original ellipse.
Construct a conic section NURBS. This conic is defined by ths start and end point, and each tangent, and mid-point of the conic.
P0 | Start point |
T0 | Start point's tangent |
P | Mid point of the conic section |
P2 | End point |
T2 | End point's tangent |
MGRLBRep::MGRLBRep | ( | const MGRLBRep & | old_brep, |
const MGKnotVector & | t | ||
) |
Approximate an original NURBS by a new knot configuration. The new knot config must be inside the range of the original NURBS parameter. However new knots may be coarse or fine.
old_brep | Original NURBS. |
t | knot vector |
MGRLBRep::MGRLBRep | ( | const MGLBRep & | brep, |
int | homogeneous = 0 |
||
) |
**** Conversion Constructor.****
Convert from Non ratoinal form to Rational form. When homogeneous==true(non zero), brep is homogeneous form MGLBRep. When homogeneous==false(zero), brep is ordinary MGLBRep and will be converted to MGRLBRep. That is, weight=1 elements will be added as last space dimension element. ***** This is the fundamental constructor. *****
brep | Original LBRep. This can be ordinary LBRep, or homogeneous form of MGRLBRep. When homogeneous form, the last space dimension elements are weights. |
homogeneous | true(non zero): homogeneous form, false(zero):ordinary LBRep. |
MGRLBRep::MGRLBRep | ( | const MGRLBRep & | old_brep, |
const MGKnotArray & | knots | ||
) |
Gets new NURBS by adding knots to an original NURBS.
old_brep | Original NURBS. |
knots | Knots to add. |
Gets new NURBS by connecting two NURBS to one.
brep1 | NURBS 1. |
continuity | continuity. |
which | which point of brep1 to which of brep2, meaingfull when continuity>=0, =0: start of this and start of brep1, =1: start of this and end of brep1, =2: end of this and start of brep1, =3: end of this and end of brep1, continuity and which can be obtained using continuity(). |
brep2 | NURBS 2. |
MGRLBRep::MGRLBRep | ( | double | t1, |
double | t2, | ||
const MGRLBRep & | old_brep, | ||
int | multiple = 0 |
||
) |
Gets new NURBS by computing a part of the original. New one is exactly the same as the original except that it is partial. If multiple==true(!=0), knot(i)=t1 and knot(n+i)=t2 for i=0,..., k-1 will be guaranteed. Here, n=bdim() and k=order(). Both t1 and t2 must be inside te range of old_brep.
t1 | New parameter range.. |
t2 | t1 must be less than t2. |
old_brep | Original NURBS. |
multiple | Indicates if start and end knot multiplicities are necessary. =0:unnecessary, !=0:necessary. |
MGRLBRep::MGRLBRep | ( | int | dim, |
const MGRLBRep & | lbrep, | ||
int | start1 = 0 , |
||
int | start2 = 0 |
||
) |
Construct a Line NURBS by changing space dimension and ordering of coordinates.
dim | New space dimension. |
lbrep | Original Line B-rep. |
start1 | Destination order of new line. |
start2 | Source order of original line. |
MGRLBRep::MGRLBRep | ( | double | a, |
double | b, | ||
double | angle1, | ||
double | angle2 | ||
) |
Construct 2D ellipse RLBRep, whose center is origin. The ellipse is expressed as below using parameter t. x(t)=a*cos(t), y(t)=b*sin(t), angle1<=t<=angle2
|
virtual |
Approximate this curve as a MGLBRep curve within the tolerance MGTolerance::line_zero(). When parameter_normalization=0, reparameterization will not done, and the evaluation at the same parameter has the same values before and after of approximate_as_LBRep.
lb | Approximated obrep will be set. |
ordr | new order. When this is MGLBRep, if ordr=0, ordr=order() will be assumed, else ordr=4 is assumed. |
parameter_normalization | Indicates how the parameter normalization be done: =0: no parameter normalization. =1: normalize to range=(0., 1.); =2: normalize to make the average length of the 1st derivative is as equal to 1. as possible. |
neglectMulti | Indicates if multiple knots be kept. true: multiplicity is removed. false: multiplicity is kept. |
MGCurveを再実装しています。
|
inlinevirtual |
Returns NURBS Dimension.
MGCurveを実装しています。
|
virtual |
入力のパラメータ範囲の曲線部分を囲むボックスを返す。 Return minimum box that includes the partial line.
MGCurveを実装しています。
MGBox MGRLBRep::box_unlimit | ( | ) | const |
Return minimum box that includes the whole line.
|
virtual |
Changing this object's space dimension.
dim | new space dimension |
start1 | Destination order of new object. |
start2 | Source order of this object. |
MGCurveを実装しています。
|
inline |
Change order of the NURBS. When new order is greater than the original, new B-rep is guaranteed to be the same line as the original. However, if new order is less than the original one, new line is not the same in general.
order | New order number. |
|
inlinevirtual |
Change parameter range, be able to change the direction by providing t1 greater than t2.
t1 | Parameter value for the start of original. |
t2 | Parameter value for the end of original. |
MGCurveを実装しています。
|
virtual |
Construct new curve object by copying to newed area. User must delete this copied object by "delete".
MGCurveを実装しています。
|
inline |
Access to (i,j)th element of coef ( left-hand side version)
|
inline |
Access to (i,j)th element of coef (right hand side version)
|
inline |
|
inline |
Returns a pointer to the line b-coef data.
void MGRLBRep::connect | ( | int | continuity, |
int | which, | ||
const MGRLBRep & | brep2 | ||
) |
Connect brep2 to this brep to make one B-Representation. This parameter range will not be changed, instead brep2's range will be so changed that brep2 has the same 1st derivative magnitude as the original this brep's at the connecting point(start or end point of this). continuity and which can be obtained using the fucntion continuity().
continuity | continuity. must be>=0. |
which | which point of this to which of brep2. =0: start of this and start of brep2. =1: start of this and end of brep2. =2: end of this and start of brep2. =3: end of this and end of brep2. |
brep2 | B-Rep 2. |
int MGRLBRep::continuity | ( | const MGRLBRep & | brep2, |
int & | which, | ||
double & | ratio | ||
) | const |
Compute continuity with brep2. Function's return value is: -1: G(-1) continuity, i.e. two lines are discontinuous. 0: G0 continuity, i.e. two lines are connected, but tangents are discontinuous 1: C1 continuity, i.e. 1st deriv's are also continuous, when weights are so arranged. 2: C2 continuity, i.e. 2nd deriv's are also continuous, when weights are so arranged.
brep2 | The 2nd target RLBRep. |
which | Indicates which point of this is connected to which of brep2, is meaingfull when continuity>=0, =0: start of this to start of brep2, =1: start of this to end of brep2, =2: end of this to start of brep2, =3: end of this to end of brep2. |
ratio | Ratio of 1st derivatives of the two line will be returned, ratio= d2/d1, where d1=1st deriv of this and d2=of brep2 |
|
virtual |
Exchange ordering of the coordinates. Exchange coordinates (i) and (j).
MGCurveを実装しています。
|
inlinevirtual |
|
virtual |
Construct new curve object by changing the original object's space dimension. User must delete this copied object by "delete".
sdim | new space dimension |
start1 | Destination order of new line. |
start2 | Source order of this line. |
MGCurveを実装しています。
|
virtual |
Construct new curve object by copying to newed area, and limitting the parameter range to prange. Returned is newed object and must be deleted.
MGCurveを再実装しています。
|
virtual |
Display control polygons using mgVBO::MGDrawPointSeq()
MGGelを再実装しています。
Divide this curve at the designated knot multiplicity point. Function's return value is the number of the curves after divided.
crv_list | divided curves will be appended. |
multiplicity | designates the multiplicity of the knot to divide at, When multiplicity<=0, order()-1 is assumed, When multiplicity>=order(), order() is assumed. |
MGCurveを再実装しています。
void MGRLBRep::draw_1D | ( | void(*)(int, int) | moveto, |
void(*)(int, int) | lineto, | ||
int | coordinate, | ||
bool | t_is_x, | ||
const double | wind[4], | ||
int | ynum | ||
) | const |
Draw this line's coordinate'th coordinate in 2D space as (t, LBRep(coordinate)) when t_is_x is true, or as ( LBRep(coordinate),t) when t_is_x is false, Here t is the parameter of the LBRep. using drawing function moveto(int, int) and lineto(int,int). The other behaviours are the same as draw_2D.
moveto | Move to function. |
lineto | Line to function. |
coordinate | id of coordinate, that is =0:x, =1:y, and so on. |
t_is_x | =true:t is x coordinate, and false:t is y. |
wind | window box to draw the line in. |
ynum | Resolution of the line. |
void MGRLBRep::draw_1D | ( | void(*)(float, float) | moveto, |
void(*)(float, float) | lineto, | ||
int | coordinate, | ||
bool | t_is_x, | ||
const double | wind[4], | ||
int | ynum | ||
) | const |
moveto | Move to function. |
lineto | Line to function. |
coordinate | id of coordinate, that is =0:x, =1:y, and so on. |
t_is_x | =true:t is x coordinate, and false:t is y. |
wind | window box to draw the line in. |
ynum | Resolution of the line. |
void MGRLBRep::draw_1D | ( | void(*)(double, double) | moveto, |
void(*)(double, double) | lineto, | ||
int | coordinate, | ||
bool | t_is_x, | ||
const double | wind[4], | ||
int | ynum | ||
) | const |
moveto | Move to function. |
lineto | Line to function. |
coordinate | id of coordinate, that is =0:x, =1:y, and so on. |
t_is_x | =true:t is x coordinate, and false:t is y. |
wind | window box to draw the line in. |
ynum | Resolution of the line. |
void MGRLBRep::draw_2D | ( | void(*)(int, int) | moveto, |
void(*)(int, int) | lineto, | ||
const double | wind[4], | ||
int | ynum | ||
) | const |
Draw this line's 1st and 2nd coordinates in 2D space using drawing function moveto( , ) and lineto( , ). wind[] is the window of the screen to draw the line in. Clipping will be performed about the wind[]. (wind[0], wind[1]) is the center coordinates of the window. wind[2] is width and wind[3] is hight of the window. When wind[2]<=0, no clipping is performed. Even when wind[2]<=0, wind[3] is necessary to input to specify the resolution of the line. In this case, wind[0] and wind[1] are not referended. ynum is the resolution of the line, is the number of straight line segments for the curve length of wind[3](height of window). ***draw_2D does not perform box including judment, always performs clipping operation and draws the line. Users must do obvious box inclusion test if maximum drawing performance is necessary.
moveto | Move to function. |
lineto | Line to function. |
wind | window box to draw the line in. |
ynum | Resolution of the line. |
void MGRLBRep::draw_2D | ( | void(*)(float, float) | moveto, |
void(*)(float, float) | lineto, | ||
const double | wind[4], | ||
int | ynum | ||
) | const |
moveto | Move to function. |
lineto | Line to function. |
wind | window box to draw the line in. |
ynum | Resolution of the line. |
void MGRLBRep::draw_2D | ( | void(*)(double, double) | moveto, |
void(*)(double, double) | lineto, | ||
const double | wind[4], | ||
int | ynum | ||
) | const |
moveto | Move to function. |
lineto | Line to function. |
wind | window box to draw the line in. |
ynum | Resolution of the line. |
|
virtual |
Draw this curve into vbo, approximating with polyline.
vbo | The target graphic object. |
span_length | Line segment span length. |
t0 | Start parameter value of the curve. |
t1 | End parameter value of the curve. Draw will be performed from t0 to t1. |
MGCurveを再実装しています。
|
virtual |
Evaluate right continuous n'th derivative data. nderiv=0 means positional data evaluation.
t | Parameter value. |
nderiv | Order of Derivative. |
left | Left continuous(left=true) or right continuous(left=false). |
MGCurveを実装しています。
|
virtual |
Compute position, 1st and 2nd derivatives. パラメータ値を与えて位置、一次微分値、二次微分値をもとめる。
tau | Input parameter value(パラメータ値) |
P | Position(位置) |
V1 | 1st derivative(1次微分値) |
V2 | 2nd derivative(2次微分値) |
MGCurveを再実装しています。
void MGRLBRep::eval_all | ( | double | tau, |
int | nderiv, | ||
double * | deriv, | ||
int | left = 0 |
||
) | const |
Evaluate all of i'th derivative data for 0<=i<=nderiv. Output will be put on deriv[j+i*sdim()] for 0<=i<=nderiv and 0<=j<sdim(), i.e. deriv[j+i*sdim()] is i-th derivative data for 0<=j<sdim().
tau | Parameter value to evaluate. |
nderiv | Order of Derivative. |
deriv | Output area of size (nderiv+1)*sdim(). |
left | Left continuous(left=true) or right continuous(left=false). |
|
virtual |
Extrapolate this curve by an (approximate) chord length. The extrapolation is C2 continuous.
length | approximate chord length to extend. |
start | Flag of which point to extend, start or end point of the line. If start is true extend on the start point. |
MGCurveを実装しています。
MGRLBRep& MGRLBRep::extend | ( | int | start, |
double | length, | ||
double | dk = 0. |
||
) |
Modify the original NURBS by extrapolating the specified perimeter. The extrapolation is C2 continuous if the order >=4.
start | Flag of start or end poit of the line, If start is true extend on the start point. |
length | chord length to extend. |
dk | Coefficient of how curvature should vary at extrapolation start point. When dk=0, curvature keeps same, i.e., dK/dS=0. When dk=1, curvature becomes zero at length extrapolated point, i.e. dK/dS=-K/length at extrapolation start point, (S=parameter of arc length, K=Curvature at start point) That is, when dk reaches to 1 from 0, curve changes to flat. |
MGRLBRep& MGRLBRep::extend_with_parameter | ( | double | tau, |
double | dk | ||
) |
Extrapolate the curve by the parameter value.
|
virtual |
Extracts control points. Fucntion's return value is true if control points was obtained, false if not.
cpoints | Control points will be output. |
MGCurveを再実装しています。
|
inline |
Return homogeneous Line B-Representation of the rational B-Spline.
|
inline |
|
virtual |
Return This object's typeID.
MGCurveを実装しています。
|
protectedvirtual |
Compute intersection point of 1D sub NURBS of original B-rep. Parameter values of this at intersection points will be returned.
f | Coordinate value |
coordinate | Coordinate kind of the data f(from 0). |
MGCurveを再実装しています。
|
virtual |
Provide divide number of curve span for function intersect.
MGCurveを実装しています。
|
virtual |
|
virtual |
Spline と Curve の交点を求める。 Intersection point of spline and curve.
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
|
virtual |
MGCurveを再実装しています。
|
virtual |
|
virtual |
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
MGCParam_list MGRLBRep::isect_2D | ( | const MGStraight & | sl, |
int | coordinate = 0 |
||
) | const |
Compute intersection point of 2D sub NURBS of original B-rep. Parameter values of this at intersection points will be returned. Straight line sl and this(RLBRep) will be projected to 2D plane of coordinate kind (coordinate, coordinate+1), then intersection will be computed. For example when sl and this are 3 dimension (x,y,z), and coodinate =2, 2D data (z,x) are extracted from sl and this, then intersection will be performed. Note MGStraight sl is treated as infinite straight line, even if it is finite.
sl | Straight line. |
coordinate | Coordinate kind of 2D sub space. |
MGCParam_list MGRLBRep::isect_3D | ( | const MGPlane & | pl, |
int | coordinate = 0 |
||
) | const |
Compute intersection points of 3D sub NURBS of original B-rep. Parameter values of thisat intersection points will be returned. This(RLBRep) will be projected to 3D plane of coordinate kind (coordinate, coordinate+1, coordinate+2), then intersection will be computed. This is valid only when sdim()>=4. For example when pl and this are 4 dimension (x,y,z,p), and coodinate =1, 3D data (y,z,p) are extracted from pl and this, then intersection will be performed.
pl | Plane. |
coordinate | Coordinate kind of 3D sub space. |
|
inline |
Access to i-th element of knot ( left-hand side version)
|
inlinevirtual |
Access to i-th element of knot (right hand side version)
MGCurveを実装しています。
|
inline |
Returns a pointer to the knot vector data.
|
inlinevirtual |
Returns the knot vector. RHS version.
MGCurveを実装しています。
|
inline |
Returns the knot vector. LHS version.
|
virtual |
自身に指定したパラメータ範囲のlimitをつける。 Get the sub interval line of the original line.
MGCurveを実装しています。
|
inline |
Returns the B-coef's. RHS version.
|
inline |
Returns the B-coef's. LHS version.
|
inlinevirtual |
Change direction of the line.
MGCurveを実装しています。
|
inlinevirtual |
Obtain parameter value if this curve is negated by "negate()".
MGCurveを実装しています。
MGBPointSeq MGRLBRep::non_homogeneous_bcoef | ( | ) | const |
Return non_homogeneous B-Coefficients with weights of the rational B-Spline. This MGBPointSeq includes weights.
int MGRLBRep::non_rational | ( | ) | const |
Test if this is actually non_rational, i.e. , all of the weights are same values. If non_rational return true, else false.
|
protectedvirtual |
Obtain so transformed 1D curve expression of this curve that f(t)={sum(xi(t)*g[i]) for i=0(x), 1(y), 2(z)}-g[3], where f(t) is the output of oneD and xi(t) is i-th coordinate expression of this curve. This is used to compute intersections with a plane g[4].
g | Plane expression(a,b,c,d) where ax+by+cz=d. |
MGCurveを実装しています。
MGRLBRep MGRLBRep::operator* | ( | double | ) | const |
Object transformation.
MGCurveを実装しています。
bool MGRLBRep::operator< | ( | const MGRLBRep & | gel2 | ) | const |
MGRLBRep(const MGRLBRep&); ///Copy constructor. We can use default copy constructor. Destructor ///////// ~MGRLBRep(); ///We can use default destructor. Assignment. When the leaf object of this and crv2 are not equal, this assignment does nothing.
MGGelを再実装しています。
bool MGRLBRep::operator== | ( | const MGRLBRep & | gel2 | ) | const |
comparison
bool MGRLBRep::operator== | ( | const MGLBRep & | gel2 | ) | const |
|
inlinevirtual |
Returns the order.
MGCurveを実装しています。
|
virtual |
Output virtual function.
MGCurveを再実装しています。
|
virtual |
Debug Function.
Returns the knot vector. MGKnotVector knot_vector_real() const{return knot_vector();}IGES output function. PD126.
MGGelを再実装しています。
|
inlinevirtual |
Return ending parameter value.
MGCurveを実装しています。
|
inlinevirtual |
Normalize parameter value t to the nearest knot if their distance is within tolerance.
MGCurveを実装しています。
|
inlinevirtual |
Return starting parameter value.
MGCurveを実装しています。
|
virtual |
Compute part of this curve from parameter t1 to t2. Returned is the pointer to newed object, and so should be deleted by calling program, or memory leaked.
t1 | From parameter. |
t2 | To parameter. |
multiple | Indicates if start and end knot multiplicities are necessary. =0:unnecessary, !=0:necessary. |
MGCurveを実装しています。
|
virtual |
Compute all the perpendicular points of this curve and the second one. That is, if f(s) and g(t) are the points of the two curves f and g, then obtains points where the following conditions are satisfied: fs*(f-g)=0. gt*(g-f)=0. Here fs and gt are 1st derivatives at s and t of f and g. MGPosition P in the MGPosition_list contains this and crv's parameter as: P(0)=this curve's parameter, P(1)=crv2's parameter value.
MGCurveを実装しています。
|
virtual |
MGCurveを実装しています。
int MGRLBRep::planar | ( | MGPlane & | plane, |
MGStraight & | line, | ||
MGPosition & | point | ||
) | const |
Check if the line B-rep is planar. Funtion's return value is; 0: Not planar, nor a point, nor straight line. 1: NURBS is a point. 2: NURBS is a straight line. 3: NURBS is planar.
plane | When Brep is not straight line nor a point, plane is returned. Even when not planar(return value is 0), plane nearest is returned. |
line | When Brep is a line, line is returned. |
point | When Brep is a point, point is returned. |
|
protectedvirtual |
メンバデータを読み込む関数 戻り値boolは正常に読み出しが出来ればtrue、失敗すればfalseになる
MGCurveを再実装しています。
std::auto_ptr<MGRLBRep> MGRLBRep::rebuild_with_new_knot_configuration | ( | double | error, |
int | parameter_normalization | ||
) | const |
Rebuild this NURBS by reconstructing new knot configuration.
|
inline |
Change the NURBS by decreasing B-Rep dimension by ndec. This is an approximation of the origimal NURBS. Return value is error flag.
ndec | Number of B-Rep dimension to decrease |
|
inline |
Change an original NURBS to new one with subdivided knot configuration. Knots t must be subdivided knots.
t | knot vector |
|
virtual |
ノット削除関数 トレランスはline_zeroを使用する。元のノットが細かいものほど削除しやすい removal knot. line_zero tolerance is used.
MGCurveを再実装しています。
|
inlinevirtual |
Returns the space dimension.
MGCurveを実装しています。
|
virtual |
Return sweep surface from crv Returned is a newed MGSurface, must be deleted. The sweep surface is defined as: This curve(say c(t)) is the rail and the straight line segments from C(t)+start_dist*uvec to C(t)+end_dist*uvec are the generatrix.
uvec | Sweep Direction. |
start_dist | distance to start edge. |
end_dist | distance to end edge. |
MGCurveを実装しています。
|
inlinevirtual |
曲線のタイプをを返す。 Return the curve type.
MGCurveを実装しています。
|
inlinevirtual |
Unlimit parameter range of the curve to the end point direction (終点方向にlimitをはずす)
MGCurveを実装しています。
|
inlinevirtual |
Unlimit parameter range of the curve to the start point direction (始点方向にlimitをはずす)
MGCurveを実装しています。
|
inlineprotectedvirtual |
MGCurveを再実装しています。
|
protectedvirtual |
メンバデータを書き込む関数 戻り値boolは正常に書き込みが出来ればtrue、失敗すればfalseになる ここでは処理対象となるデータメンバが無いので何も処理をしない。
MGCurveを再実装しています。
Friend Function.