/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGBPointSeq_HH_ #define _MGBPointSeq_HH_ /** @file */ /** @addtogroup BASE * @{ */ #include #include "mg/MGCL.h" // MGBPointSeq.h // //Forward Declaration class MGIfstream; class MGOfstream; class MGBox; class MGVector; class MGPosition; class MGSPointSeq; class MGMatrix; class MGTransf; class MGPlane; class MGStraight; ///Defines BPoint seq of a space dimension and of a capacity. ///MGBPointSeq is an array of world coordinates of a space dimension(any number), ///desined especially for MGLBRep class's control polygon handling. ///Let n be a B-rep dimension(i.e., number of points of the control polygon), and ///sd be a space dimension, then MGBPointSeq bp has the minimum area of n*sd. ///The subscription of MGBPointSeq bp is 2 dimension as bp(i,j), 0<=i& poses); ///Copy constructor. MGBPointSeq(const MGBPointSeq&); /////////Destructor//////// ~MGBPointSeq(){if(m_bpoint) delete[] m_bpoint;}; ////////Operator Oveload//////// ///Assignment MGBPointSeq& operator= (const MGBPointSeq&); ///Access to (i,j)th element(LHS version). double& operator()(int i, int j){ assert(i=sdim(). double ref(int i, int j) const; ///Change capacity. Change of sdim not allowed. ///reshape guarantees the original data BPoint(i,.) before invoking reshape ///will be stored in the new BPoint(start+i,.). ///reshape does not change the effective length unless start>=1, which must be set by set_length() ///if changed. void reshape( int capacity///