MGVector coef(int i, int j) const
Extract (i,j,k) elements for 0<=k
Definition: RSBRep.h:289
virtual void WriteMembers(MGOfstream &buf) const
const double * knot_data_u() const
Returns a pointer to the u knot vector data.
Definition: RSBRep.h:454
virtual MGBox box_limitted(const MGBox &uvrange) const =0
Return minimum box that includes limitted surface by uvrange.
virtual MGSurface & exchange_uv()=0
Exchange parameter u and v.
virtual int intersect_dnum_u() const =0
virtual void remove_knot()
removal redundant knots within the tolerance line_zero().
MGPosition negate_param(const MGPosition &uv, int is_u=1) const
Definition: RSBRep.h:491
MGSurface & unlimit()
Definition: RSBRep.h:653
MGSURFACE_TYPE type() const
Definition: RSBRep.h:649
virtual long identify_type() const =0
Return This object's typeID.
MGIfstream is a class to read the serialized data generated by MGOfstream.
Definition: Ifstream.h:30
const double * knot_data_v() const
Returns a pointer to the v knot vector data.
Definition: RSBRep.h:457
virtual int sdim() const =0
Return the surface type.
const MGKnotVector & knot_vector_v() const
Returns the v knot vector.
Definition: RSBRep.h:465
int reduce(int is_u, int ndec)
Definition: RSBRep.h:602
MGLBRep is a class for B-SPline representation.
Definition: LBRep.h:41
virtual int coef_sdim() const
Obtain coefficient's space dimension.
Definition: Surface.h:174
virtual int bdim_u() const
Returns B-Rep Dimension of u.
Definition: Surface.h:132
MGPosition param_s() const
Return starting parameter value.
Definition: RSBRep.h:533
virtual MGSurface & change_range(int is_u, double t1, double t2)=0
Change parameter range, able to change the direction by providing t1 greater than t2...
virtual MGSSisect_list isect(const MGSurface &srf2) const =0
Surface and Surface intersection.
virtual void eval_all(double u, double v, MGPosition &f, MGVector &fu, MGVector &fv, MGVector &fuv, MGVector &fuu, MGVector &fvv) const
Evaluate right continuous surface data.
Vector of a general n space dimension.
Definition: Vector.h:26
const MGKnotVector & knot_vector_u() const
Returns the u knot vector.
Definition: RSBRep.h:460
int bdim_v() const
Returns B-Rep Dimension of v.
Definition: RSBRep.h:257
MGKnotVector & knot_vector_u()
Definition: RSBRep.h:462
int perimeter_num() const
Return how many perimeters this surface has.
Definition: RSBRep.h:553
bool operator!=(const MGGel &gel2) const
Definition: RSBRep.h:239
virtual MGSurface & extend(int perimeter, double param, double length, double dk=0.)
Modify the original Surface by extrapolating the specified perimeter.
Definition: Surface.h:365
Defines a Box of any space dimendion.
Definition: Box.h:34
MG_DLL_DECLR void Binominal(int m, double *bc)
Compute binominal coefficients.
Define MGBSumCurve Class(Boolean sum curve of three curves).
Definition: BSumCurve.h:28
MGSurface & operator*=(double scale)=0
MGSurface & operator-=(const MGVector &v)=0
virtual MGSurface * clone() const =0
Construct new surface object by copying to newed area.
void negate(int is_u)
Change direction of the surface.
Definition: RSBRep.h:483
virtual MGSurface * copy_change_dimension(int sdim, int start1=0, int start2=0) const =0
Construct new surface object by changing the original object's space dimension.
virtual int divide_multi_knot(MGPvector< MGSurface > &srfl) const
MGGel is an abstract class which represents a group element.
Definition: Gel.h:53
MGStraight is a curve of any space dimension, represent a straight line.
Definition: Straight.h:49
double param_s_u() const
Return starting parameter value.
Definition: RSBRep.h:534
virtual MGCSisect_list isectSl(const MGStraight &sl, const MGBox &uvbox=mgNULL_BOX) const
Intersection of Surface and a straight line.
virtual MGSurface * part(const MGBox &bx, int multiple=0) const =0
Compute part of the surface limitted by the parameter range bx.
MG_DLL_DECLR MGVector operator*(const MGVector &v, const MGMatrix &m)
const MGSBRep & homogeneous() const
Return homogeneous Surface B-Representation of the rational B-Spline.
Definition: RSBRep.h:406
virtual int isect_order() const =0
Represent a positional data.
Definition: Position.h:28
MGSurface is an abstract class of 3D surface.
Definition: Surface.h:54
std::string whoami() const
Definition: RSBRep.h:666
MGSurface & operator+=(const MGVector &v)=0
Object transformation.
MGSSisect_list defines linked list of MGSSisect.
Definition: SSisect_list.h:26
MGCSisect_list defines linked list of MGCSisect.
Definition: CSisect_list.h:22
Defines Knot vector of B-Representation.
Definition: KnotVector.h:28
MGSPointSeq & surface_bcoef()
Definition: RSBRep.h:640
Defines Boolean sum surface.
Definition: BSumSurf.h:26
double & knot_u(int i)
Definition: RSBRep.h:441
virtual int bdim_v() const
Returns B-Rep Dimension of v.
Definition: Surface.h:135
MGCSisect_list isect(const MGStraight &sl) const
Definition: RSBRep.h:418
MGSphere is a Sphere in 3D space.
Definition: Sphere.h:42
virtual int intersect_dnum_v() const =0
double & knot_v(int i)
Definition: RSBRep.h:447
int bdim_u() const
Returns B-Rep Dimension of u.
Definition: RSBRep.h:254
MGOfstream is a class to serialize all of the subclasses of MGGel.
Definition: Ofstream.h:31
Defines Rational Line B-Representation.
Definition: RLBRep.h:32
int order_v() const
Returns the B-Rep order(v-direction).
Definition: RSBRep.h:506
virtual bool operator==(const MGGel &gel2) const =0
comparison
double knot_u(int i) const
Definition: RSBRep.h:445
MGOgesIfstream write out to *.iges file, transforming MGCL objects to IGES objects.
Definition: IgesOfstream.h:26
MGRSBRep & limit(const MGBox &uvrange)
Definition: RSBRep.h:480
virtual MGSurface & change_dimension(int sdim, int start1=0, int start2=0)=0
Changing this object's space dimension.
Defines Surface B-Representation of rational form.
Definition: RSBRep.h:38
MGRSBRep & refine(const MGKnotVector &uknot, const MGKnotVector &vknot)
Definition: RSBRep.h:609
virtual MGBox param_range() const
Return parameter range.
double coef(int i, int j, int k) const
Definition: RSBRep.h:286
Defines Surface B-Representation, that is , B-Spline surface.
Definition: SBRep.h:48
MGEllipse is a class to define an ellipse of 2D or 3D.
Definition: Ellipse.h:38
int sdim() const
Returns the space dimension.
Definition: SBRep.h:851
MGSURFACE_TYPE
Surface type(曲面の種類).
Definition: MGCL.h:173
Defines Array of Knots.
Definition: KnotArray.h:26
Defines Spoint seq of a space dimension and of a size.
Definition: SPointSeq.h:36
mgSysGL is a class to provide a facility to draw temporal pictures.
Definition: sysGL.h:26
double param_e_u() const
Return ending parameter value.
Definition: RSBRep.h:510
const double * coef_data(int i=0, int j=0, int k=0) const
Returns a pointer to the surface b-coef data.
Definition: RSBRep.h:292
Defines Vector of newed object pointers.
Definition: Pvector.h:27
virtual void display_control_polygon(mgSysGL &sgl) const
Definition: Gel.h:194
MGPosition range(const MGPosition &uv) const
Definition: RSBRep.h:576
double knot_v(int i) const
Definition: RSBRep.h:451
MGSurface & exchange_uv()
Exchange parameter u and v.
Definition: RSBRep.h:386
MGRSBRep()
Default constructor(dummy surface brep).
Definition: RSBRep.h:49
Define a unit vector, is a MGVector.
Definition: Unit_vector.h:17
MGKnotVector & knot_vector_v()
Definition: RSBRep.h:467
virtual MGCurve * parameter_curve(int is_u, double x) const =0
Compute parameter curve.
MGSurfCurve is a curve on a surface.
Definition: SurfCurve.h:43
void shrink_to_knot(const MGBox &uvbx, int multiple=0)
Definition: RSBRep.h:628
const MGSPointSeq & surface_bcoef() const
Definition: RSBRep.h:636
MGMatrix is a matix of m by m, where m is the space dimension.
Definition: Matrix.h:30
bool operator!=(const MGRSBRep &gel2) const
Definition: RSBRep.h:240
bool in_range(double u, double v) const
Test if input parameter value is inside parameter range of the surface.
Definition: RSBRep.h:412