0026595: Lost some comments in OCCT-code after cdl elimination
authorrkv <rkv@opencascade.com>
Wed, 14 Oct 2015 14:48:41 +0000 (17:48 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 15 Oct 2015 11:04:43 +0000 (14:04 +0300)
Recovered comments for instance classes from CDL generic classes.

251 files changed:
src/Adaptor2d/Adaptor2d_HLine2d.hxx
src/Adaptor3d/Adaptor3d_HCurveOnSurface.hxx
src/Adaptor3d/Adaptor3d_HIsoCurve.hxx
src/Adaptor3d/Adaptor3d_HOffsetCurve.hxx
src/Adaptor3d/Adaptor3d_HSurfaceOfLinearExtrusion.hxx
src/Adaptor3d/Adaptor3d_HSurfaceOfRevolution.hxx
src/AppDef/AppDef_BSpParFunctionOfMyBSplGradientOfBSplineCompute.hxx
src/AppDef/AppDef_BSpParLeastSquareOfMyBSplGradientOfBSplineCompute.hxx
src/AppDef/AppDef_BSplineCompute.hxx
src/AppDef/AppDef_Compute.hxx
src/AppDef/AppDef_MyBSplGradientOfBSplineCompute.hxx
src/AppDef/AppDef_MyGradientOfCompute.hxx
src/AppDef/AppDef_MyGradientbisOfBSplineCompute.hxx
src/AppDef/AppDef_ParFunctionOfMyGradientOfCompute.hxx
src/AppDef/AppDef_ParFunctionOfMyGradientbisOfBSplineCompute.hxx
src/AppDef/AppDef_ParFunctionOfTheGradient.hxx
src/AppDef/AppDef_ParLeastSquareOfMyGradientOfCompute.hxx
src/AppDef/AppDef_ParLeastSquareOfMyGradientbisOfBSplineCompute.hxx
src/AppDef/AppDef_ParLeastSquareOfTheGradient.hxx
src/AppDef/AppDef_ResConstraintOfMyGradientOfCompute.hxx
src/AppDef/AppDef_ResConstraintOfMyGradientbisOfBSplineCompute.hxx
src/AppDef/AppDef_ResConstraintOfTheGradient.hxx
src/AppDef/AppDef_TheFunction.hxx
src/AppDef/AppDef_TheGradient.hxx
src/AppDef/AppDef_TheLeastSquares.hxx
src/AppDef/AppDef_TheResol.hxx
src/Approx/Approx_FitAndDivide.hxx
src/Approx/Approx_FitAndDivide2d.hxx
src/BRepAdaptor/BRepAdaptor_HCompCurve.hxx
src/BRepAdaptor/BRepAdaptor_HCurve.hxx
src/BRepAdaptor/BRepAdaptor_HCurve2d.hxx
src/BRepAdaptor/BRepAdaptor_HSurface.hxx
src/BRepApprox/BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_MyBSplGradientOfTheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_MyGradientOfTheComputeLineBezierOfApprox.hxx
src/BRepApprox/BRepApprox_MyGradientbisOfTheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_ParFunctionOfMyGradientOfTheComputeLineBezierOfApprox.hxx
src/BRepApprox/BRepApprox_ParFunctionOfMyGradientbisOfTheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfApprox.hxx
src/BRepApprox/BRepApprox_ParLeastSquareOfMyGradientbisOfTheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_ResConstraintOfMyGradientOfTheComputeLineBezierOfApprox.hxx
src/BRepApprox/BRepApprox_ResConstraintOfMyGradientbisOfTheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_TheComputeLineBezierOfApprox.hxx
src/BRepApprox/BRepApprox_TheComputeLineOfApprox.hxx
src/BRepApprox/BRepApprox_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfApprox.hxx
src/BRepApprox/BRepApprox_TheImpPrmSvSurfacesOfApprox.hxx
src/BRepApprox/BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox.hxx
src/BRepApprox/BRepApprox_TheMultiLineOfApprox.hxx
src/BRepApprox/BRepApprox_TheMultiLineToolOfApprox.hxx
src/BRepApprox/BRepApprox_ThePrmPrmSvSurfacesOfApprox.hxx
src/BRepApprox/BRepApprox_TheZerImpFuncOfTheImpPrmSvSurfacesOfApprox.hxx
src/BRepBlend/BRepBlend_AppSurf.hxx
src/BRepBlend/BRepBlend_Walking.hxx
src/BRepClass/BRepClass_FClass2dOfFClassifier.hxx
src/BRepClass/BRepClass_FClassifier.hxx
src/BRepClass/BRepClass_FacePassiveClassifier.hxx
src/BRepClass3d/BRepClass3d_SolidPassiveClassifier.hxx
src/BRepFill/BRepFill_ComputeCLine.hxx
src/BRepLProp/BRepLProp_CLProps.hxx
src/BRepLProp/BRepLProp_SLProps.hxx
src/BiTgte/BiTgte_HCurveOnEdge.hxx
src/BiTgte/BiTgte_HCurveOnVertex.hxx
src/Bnd/Bnd_B2d.hxx
src/Bnd/Bnd_B2f.hxx
src/Bnd/Bnd_B3d.hxx
src/Bnd/Bnd_B3f.hxx
src/ChFiDS/ChFiDS_HElSpine.hxx
src/Contap/Contap_SequenceOfIWLineOfTheIWalking.hxx
src/Contap/Contap_SequenceOfPathPointOfTheSearch.hxx
src/Contap/Contap_SequenceOfSegmentOfTheSearch.hxx
src/Contap/Contap_TheIWLineOfTheIWalking.hxx
src/Contap/Contap_TheIWalking.hxx
src/Contap/Contap_TheSearch.hxx
src/Contap/Contap_TheSearchInside.hxx
src/Contap/Contap_TheSegmentOfTheSearch.hxx
src/Dico/Dico_DictionaryOfInteger.hxx
src/Dico/Dico_DictionaryOfTransient.hxx
src/Dico/Dico_IteratorOfDictionaryOfInteger.hxx
src/Dico/Dico_IteratorOfDictionaryOfTransient.hxx
src/Dico/Dico_StackItemOfDictionaryOfInteger.hxx
src/Dico/Dico_StackItemOfDictionaryOfTransient.hxx
src/Extrema/Extrema_CCLocFOfLocECC.hxx
src/Extrema/Extrema_CCLocFOfLocECC2d.hxx
src/Extrema/Extrema_ECC.hxx
src/Extrema/Extrema_ECC2d.hxx
src/Extrema/Extrema_ELPCOfLocateExtPC.hxx
src/Extrema/Extrema_ELPCOfLocateExtPC2d.hxx
src/Extrema/Extrema_EPCOfELPCOfLocateExtPC.hxx
src/Extrema/Extrema_EPCOfELPCOfLocateExtPC2d.hxx
src/Extrema/Extrema_EPCOfExtPC.hxx
src/Extrema/Extrema_EPCOfExtPC2d.hxx
src/Extrema/Extrema_ExtPC.hxx
src/Extrema/Extrema_ExtPC2d.hxx
src/Extrema/Extrema_LocECC.hxx
src/Extrema/Extrema_LocECC2d.hxx
src/Extrema/Extrema_LocEPCOfLocateExtPC.hxx
src/Extrema/Extrema_LocEPCOfLocateExtPC2d.hxx
src/Extrema/Extrema_LocateExtPC.hxx
src/Extrema/Extrema_LocateExtPC2d.hxx
src/Extrema/Extrema_PCFOfEPCOfELPCOfLocateExtPC.hxx
src/Extrema/Extrema_PCFOfEPCOfELPCOfLocateExtPC2d.hxx
src/Extrema/Extrema_PCFOfEPCOfExtPC.hxx
src/Extrema/Extrema_PCFOfEPCOfExtPC2d.hxx
src/Extrema/Extrema_PCLocFOfLocEPCOfLocateExtPC.hxx
src/Extrema/Extrema_PCLocFOfLocEPCOfLocateExtPC2d.hxx
src/Extrema/Extrema_POnCurv.hxx
src/Extrema/Extrema_POnCurv2d.hxx
src/Extrema/Extrema_SeqPCOfPCFOfEPCOfELPCOfLocateExtPC.hxx
src/Extrema/Extrema_SeqPCOfPCFOfEPCOfELPCOfLocateExtPC2d.hxx
src/Extrema/Extrema_SeqPCOfPCFOfEPCOfExtPC.hxx
src/Extrema/Extrema_SeqPCOfPCFOfEPCOfExtPC2d.hxx
src/Extrema/Extrema_SeqPCOfPCLocFOfLocEPCOfLocateExtPC.hxx
src/Extrema/Extrema_SeqPCOfPCLocFOfLocEPCOfLocateExtPC2d.hxx
src/Extrema/Extrema_SeqPOnCOfCCLocFOfLocECC.hxx
src/Extrema/Extrema_SeqPOnCOfCCLocFOfLocECC2d.hxx
src/Geom2dAdaptor/Geom2dAdaptor_GHCurve.hxx
src/Geom2dHatch/Geom2dHatch_Classifier.hxx
src/Geom2dHatch/Geom2dHatch_FClass2dOfClassifier.hxx
src/Geom2dInt/Geom2dInt_GInter.hxx
src/Geom2dInt/Geom2dInt_IntConicCurveOfGInter.hxx
src/Geom2dInt/Geom2dInt_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfGInter.hxx
src/Geom2dInt/Geom2dInt_PCLocFOfTheLocateExtPCOfTheProjPCurOfGInter.hxx
src/Geom2dInt/Geom2dInt_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfGInter.hxx
src/Geom2dInt/Geom2dInt_TheCurveLocatorOfTheProjPCurOfGInter.hxx
src/Geom2dInt/Geom2dInt_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfGInter.hxx
src/Geom2dInt/Geom2dInt_TheIntConicCurveOfGInter.hxx
src/Geom2dInt/Geom2dInt_TheIntPCurvePCurveOfGInter.hxx
src/Geom2dInt/Geom2dInt_TheIntersectorOfTheIntConicCurveOfGInter.hxx
src/Geom2dInt/Geom2dInt_TheLocateExtPCOfTheProjPCurOfGInter.hxx
src/Geom2dInt/Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter.hxx
src/Geom2dInt/Geom2dInt_TheProjPCurOfGInter.hxx
src/Geom2dLProp/Geom2dLProp_CLProps2d.hxx
src/GeomAdaptor/GeomAdaptor_GHCurve.hxx
src/GeomAdaptor/GeomAdaptor_GHSurface.hxx
src/GeomFill/GeomFill_AppSurf.hxx
src/GeomFill/GeomFill_AppSweep.hxx
src/GeomInt/GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox.hxx
src/GeomInt/GeomInt_MyGradientbisOfTheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox.hxx
src/GeomInt/GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox.hxx
src/GeomInt/GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox.hxx
src/GeomInt/GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_TheComputeLineBezierOfWLApprox.hxx
src/GeomInt/GeomInt_TheComputeLineOfWLApprox.hxx
src/GeomInt/GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox.hxx
src/GeomInt/GeomInt_TheImpPrmSvSurfacesOfWLApprox.hxx
src/GeomInt/GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox.hxx
src/GeomInt/GeomInt_TheMultiLineOfWLApprox.hxx
src/GeomInt/GeomInt_TheMultiLineToolOfWLApprox.hxx
src/GeomInt/GeomInt_ThePrmPrmSvSurfacesOfWLApprox.hxx
src/GeomInt/GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox.hxx
src/GeomLProp/GeomLProp_CLProps.hxx
src/GeomLProp/GeomLProp_SLProps.hxx
src/HLRBRep/HLRBRep_CInter.hxx
src/HLRBRep/HLRBRep_CLProps.hxx
src/HLRBRep/HLRBRep_IntConicCurveOfCInter.hxx
src/HLRBRep/HLRBRep_InterCSurf.hxx
src/HLRBRep/HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter.hxx
src/HLRBRep/HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter.hxx
src/HLRBRep/HLRBRep_SLProps.hxx
src/HLRBRep/HLRBRep_SeqPCOfPCLocFOfTheLocateExtPCOfTheProjPCurOfCInter.hxx
src/HLRBRep/HLRBRep_TheCurveLocatorOfTheProjPCurOfCInter.hxx
src/HLRBRep/HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter.hxx
src/HLRBRep/HLRBRep_TheExactInterCSurf.hxx
src/HLRBRep/HLRBRep_TheIntConicCurveOfCInter.hxx
src/HLRBRep/HLRBRep_TheIntPCurvePCurveOfCInter.hxx
src/HLRBRep/HLRBRep_TheInterferenceOfInterCSurf.hxx
src/HLRBRep/HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter.hxx
src/HLRBRep/HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter.hxx
src/HLRBRep/HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter.hxx
src/HLRBRep/HLRBRep_ThePolygonOfInterCSurf.hxx
src/HLRBRep/HLRBRep_ThePolygonToolOfInterCSurf.hxx
src/HLRBRep/HLRBRep_ThePolyhedronOfInterCSurf.hxx
src/HLRBRep/HLRBRep_ThePolyhedronToolOfInterCSurf.hxx
src/HLRBRep/HLRBRep_TheProjPCurOfCInter.hxx
src/HLRBRep/HLRBRep_TheQuadCurvExactInterCSurf.hxx
src/HLRBRep/HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf.hxx
src/IGESData/IGESData_FileRecognizer.hxx
src/IGESData/IGESData_GlobalNodeOfSpecificLib.hxx
src/IGESData/IGESData_GlobalNodeOfWriterLib.hxx
src/IGESData/IGESData_NodeOfSpecificLib.hxx
src/IGESData/IGESData_NodeOfWriterLib.hxx
src/IGESData/IGESData_SpecificLib.hxx
src/IGESData/IGESData_WriterLib.hxx
src/IGESSelect/IGESSelect_FileModifier.hxx
src/IGESSelect/IGESSelect_ModelModifier.hxx
src/IntCurve/IntCurve_IntImpConicParConic.hxx
src/IntCurve/IntCurve_MyImpParToolOfIntImpConicParConic.hxx
src/IntCurveSurface/IntCurveSurface_HInter.hxx
src/IntCurveSurface/IntCurveSurface_TheExactHInter.hxx
src/IntCurveSurface/IntCurveSurface_TheHCurveTool.hxx
src/IntCurveSurface/IntCurveSurface_TheInterferenceOfHInter.hxx
src/IntCurveSurface/IntCurveSurface_ThePolygonOfHInter.hxx
src/IntCurveSurface/IntCurveSurface_ThePolygonToolOfHInter.hxx
src/IntCurveSurface/IntCurveSurface_ThePolyhedronOfHInter.hxx
src/IntCurveSurface/IntCurveSurface_ThePolyhedronToolOfHInter.hxx
src/IntCurveSurface/IntCurveSurface_TheQuadCurvExactHInter.hxx
src/IntCurveSurface/IntCurveSurface_TheQuadCurvFuncOfTheQuadCurvExactHInter.hxx
src/IntPatch/IntPatch_CurvIntSurf.hxx
src/IntPatch/IntPatch_SequenceOfIWLineOfTheIWalking.hxx
src/IntPatch/IntPatch_SequenceOfPathPointOfTheSOnBounds.hxx
src/IntPatch/IntPatch_SequenceOfSegmentOfTheSOnBounds.hxx
src/IntPatch/IntPatch_TheIWLineOfTheIWalking.hxx
src/IntPatch/IntPatch_TheIWalking.hxx
src/IntPatch/IntPatch_TheSOnBounds.hxx
src/IntPatch/IntPatch_TheSearchInside.hxx
src/IntPatch/IntPatch_TheSegmentOfTheSOnBounds.hxx
src/IntPatch/IntPatch_TheSurfFunction.hxx
src/IntTools/IntTools_CArray1OfInteger.hxx
src/IntTools/IntTools_CArray1OfReal.hxx
src/IntWalk/IntWalk_TheFunctionOfTheInt2S.hxx
src/IntWalk/IntWalk_TheInt2S.hxx
src/Interface/Interface_GeneralLib.hxx
src/Interface/Interface_GlobalNodeOfGeneralLib.hxx
src/Interface/Interface_GlobalNodeOfReaderLib.hxx
src/Interface/Interface_NodeOfGeneralLib.hxx
src/Interface/Interface_NodeOfReaderLib.hxx
src/Interface/Interface_ReaderLib.hxx
src/LProp3d/LProp3d_CLProps.hxx
src/LProp3d/LProp3d_SLProps.hxx
src/ProjLib/ProjLib_HCompProjectedCurve.hxx
src/ProjLib/ProjLib_HProjectedCurve.hxx
src/STEPCAFControl/STEPCAFControl_DictionaryOfExternFile.hxx
src/STEPCAFControl/STEPCAFControl_IteratorOfDictionaryOfExternFile.hxx
src/STEPCAFControl/STEPCAFControl_StackItemOfDictionaryOfExternFile.hxx
src/ShapeProcess/ShapeProcess_DictionaryOfOperator.hxx
src/ShapeProcess/ShapeProcess_IteratorOfDictionaryOfOperator.hxx
src/ShapeProcess/ShapeProcess_StackItemOfDictionaryOfOperator.hxx
src/StepData/StepData_FileRecognizer.hxx
src/StepData/StepData_GlobalNodeOfWriterLib.hxx
src/StepData/StepData_NodeOfWriterLib.hxx
src/StepData/StepData_WriterLib.hxx
src/StepSelect/StepSelect_FileModifier.hxx
src/StepSelect/StepSelect_ModelModifier.hxx
src/Transfer/Transfer_ActorOfProcessForFinder.hxx
src/Transfer/Transfer_ActorOfProcessForTransient.hxx
src/Transfer/Transfer_IteratorOfProcessForFinder.hxx
src/Transfer/Transfer_IteratorOfProcessForTransient.hxx
src/Transfer/Transfer_ProcessForFinder.hxx
src/Transfer/Transfer_ProcessForTransient.hxx
src/Transfer/Transfer_TransferMapOfProcessForFinder.hxx
src/Transfer/Transfer_TransferMapOfProcessForTransient.hxx
src/Transfer/Transfer_TransientMapper.hxx
src/TransferBRep/TransferBRep_OrientedShapeMapper.hxx
src/TransferBRep/TransferBRep_ShapeMapper.hxx

index 4e3480e..ebe4cf5 100644 (file)
@@ -39,14 +39,20 @@ class Adaptor2d_HLine2d : public Adaptor2d_HCurve2d
 public:
 
   
+  //! Creates an empty GenHCurve2d.
   Standard_EXPORT Adaptor2d_HLine2d();
   
+  //! Creates a GenHCurve2d from a Curve
   Standard_EXPORT Adaptor2d_HLine2d(const Adaptor2d_Line2d& C);
   
+  //! Sets the field of the GenHCurve2d.
   Standard_EXPORT void Set (const Adaptor2d_Line2d& C);
   
+  //! Returns the curve used to create the GenHCurve2d.
+  //! This is redefined from HCurve2d, cannot be inline.
   Standard_EXPORT const Adaptor2d_Curve2d& Curve2d() const;
   
+  //! Returns the curve used to create the GenHCurve.
     Adaptor2d_Line2d& ChangeCurve2d();
 
 
index 274f4b9..474158a 100644 (file)
@@ -39,16 +39,24 @@ class Adaptor3d_HCurveOnSurface : public Adaptor3d_HCurve
 public:
 
   
+  //! Creates an empty GenHCurve.
   Standard_EXPORT Adaptor3d_HCurveOnSurface();
   
+  //! Creates a GenHCurve from a Curve
   Standard_EXPORT Adaptor3d_HCurveOnSurface(const Adaptor3d_CurveOnSurface& C);
   
+  //! Sets the field of the GenHCurve.
   Standard_EXPORT void Set (const Adaptor3d_CurveOnSurface& C);
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT const Adaptor3d_Curve& Curve() const;
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT Adaptor3d_Curve& GetCurve();
   
+  //! Returns the curve used to create the GenHCurve.
     Adaptor3d_CurveOnSurface& ChangeCurve();
 
 
index 18e92ca..7882705 100644 (file)
@@ -39,16 +39,24 @@ class Adaptor3d_HIsoCurve : public Adaptor3d_HCurve
 public:
 
   
+  //! Creates an empty GenHCurve.
   Standard_EXPORT Adaptor3d_HIsoCurve();
   
+  //! Creates a GenHCurve from a Curve
   Standard_EXPORT Adaptor3d_HIsoCurve(const Adaptor3d_IsoCurve& C);
   
+  //! Sets the field of the GenHCurve.
   Standard_EXPORT void Set (const Adaptor3d_IsoCurve& C);
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT const Adaptor3d_Curve& Curve() const;
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT Adaptor3d_Curve& GetCurve();
   
+  //! Returns the curve used to create the GenHCurve.
     Adaptor3d_IsoCurve& ChangeCurve();
 
 
index 04dd146..210f893 100644 (file)
@@ -39,14 +39,20 @@ class Adaptor3d_HOffsetCurve : public Adaptor2d_HCurve2d
 public:
 
   
+  //! Creates an empty GenHCurve2d.
   Standard_EXPORT Adaptor3d_HOffsetCurve();
   
+  //! Creates a GenHCurve2d from a Curve
   Standard_EXPORT Adaptor3d_HOffsetCurve(const Adaptor3d_OffsetCurve& C);
   
+  //! Sets the field of the GenHCurve2d.
   Standard_EXPORT void Set (const Adaptor3d_OffsetCurve& C);
   
+  //! Returns the curve used to create the GenHCurve2d.
+  //! This is redefined from HCurve2d, cannot be inline.
   Standard_EXPORT const Adaptor2d_Curve2d& Curve2d() const;
   
+  //! Returns the curve used to create the GenHCurve.
     Adaptor3d_OffsetCurve& ChangeCurve2d();
 
 
index 947b62d..a0eef62 100644 (file)
@@ -39,14 +39,20 @@ class Adaptor3d_HSurfaceOfLinearExtrusion : public Adaptor3d_HSurface
 public:
 
   
+  //! Creates an empty GenHSurface.
   Standard_EXPORT Adaptor3d_HSurfaceOfLinearExtrusion();
   
+  //! Creates a GenHSurface from a Surface.
   Standard_EXPORT Adaptor3d_HSurfaceOfLinearExtrusion(const Adaptor3d_SurfaceOfLinearExtrusion& S);
   
+  //! Sets the field of the GenHSurface.
   Standard_EXPORT void Set (const Adaptor3d_SurfaceOfLinearExtrusion& S);
   
+  //! Returns a reference to the Surface inside the HSurface.
+  //! This is redefined from HSurface, cannot be inline.
   Standard_EXPORT const Adaptor3d_Surface& Surface() const;
   
+  //! Returns the surface used to create the GenHSurface.
     Adaptor3d_SurfaceOfLinearExtrusion& ChangeSurface();
 
 
index bfc7d23..56a5464 100644 (file)
@@ -39,14 +39,20 @@ class Adaptor3d_HSurfaceOfRevolution : public Adaptor3d_HSurface
 public:
 
   
+  //! Creates an empty GenHSurface.
   Standard_EXPORT Adaptor3d_HSurfaceOfRevolution();
   
+  //! Creates a GenHSurface from a Surface.
   Standard_EXPORT Adaptor3d_HSurfaceOfRevolution(const Adaptor3d_SurfaceOfRevolution& S);
   
+  //! Sets the field of the GenHSurface.
   Standard_EXPORT void Set (const Adaptor3d_SurfaceOfRevolution& S);
   
+  //! Returns a reference to the Surface inside the HSurface.
+  //! This is redefined from HSurface, cannot be inline.
   Standard_EXPORT const Adaptor3d_Surface& Surface() const;
   
+  //! Returns the surface used to create the GenHSurface.
     Adaptor3d_SurfaceOfRevolution& ChangeSurface();
 
 
index 86e92fd..5e425c2 100644 (file)
@@ -51,30 +51,59 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has <NbPol> control points.
   Standard_EXPORT AppDef_BSpParFunctionOfMyBSplGradientOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer NbPol);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiBSpCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT AppParCurves_MultiBSpCurve CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex);
   
+  //! returns the maximum distance between the points
+  //! and the MultiBSpCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiBSpCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the function matrix used to approximate the
+  //! multiline.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used to approximate the
+  //! multiline.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& Index() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -91,6 +120,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index 3931f59..b4789a6 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_BSpParLeastSquareOfMyBSplGradientOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_BSpParLeastSquareOfMyBSplGradientOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_BSpParLeastSquareOfMyBSplGradientOfBSplineCompute(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_BSpParLeastSquareOfMyBSplGradientOfBSplineCompute(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const AppDef_MultiLine& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const AppDef_MultiLine& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index 9e7e3d5..ebbdf3f 100644 (file)
@@ -56,44 +56,86 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
+  //!
+  //! The multiplicities of the internal knots is set by
+  //! default.
   Standard_EXPORT AppDef_BSplineCompute(const AppDef_MultiLine& Line, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-3, const Standard_Real Tolerance2d = 1.0e-6, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
   Standard_EXPORT AppDef_BSplineCompute(const AppDef_MultiLine& Line, const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT AppDef_BSplineCompute(const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT AppDef_BSplineCompute(const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! Constructs an interpolation of the MultiLine <Line>
+  //! The result will be a C2 curve of degree 3.
   Standard_EXPORT void Interpol (const AppDef_MultiLine& Line);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT void Init (const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! runs the algorithm after having initialized the fields.
   Standard_EXPORT void Perform (const AppDef_MultiLine& Line);
   
+  //! The approximation will begin with the
+  //! set of  parameters <ThePar>.
   Standard_EXPORT void SetParameters (const math_Vector& ThePar);
   
+  //! The approximation will be done with the
+  //! set of knots <Knots>. The multiplicities will be set
+  //! with the degree and the desired continuity.
   Standard_EXPORT void SetKnots (const TColStd_Array1OfReal& Knots);
   
+  //! The approximation will be done with the
+  //! set of knots <Knots> and the multiplicities <Mults>.
   Standard_EXPORT void SetKnotsAndMultiplicities (const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults);
   
+  //! changes the degrees of the approximation.
   Standard_EXPORT void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax);
   
+  //! Changes the tolerances of the approximation.
   Standard_EXPORT void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d);
   
+  //! sets the continuity of the spline.
+  //! if C = 2, the spline will be C2.
   Standard_EXPORT void SetContinuity (const Standard_Integer C);
   
+  //! changes the first and the last constraint points.
   Standard_EXPORT void SetConstraints (const AppParCurves_Constraint firstC, const AppParCurves_Constraint lastC);
   
+  //! returns False if at a moment of the approximation,
+  //! the status NoApproximation has been sent by the user
+  //! when more points were needed.
   Standard_EXPORT Standard_Boolean IsAllApproximated() const;
   
+  //! returns False if the status NoPointsAdded has been sent.
   Standard_EXPORT Standard_Boolean IsToleranceReached() const;
   
+  //! returns the tolerances 2d and 3d of the MultiBSpCurve.
   Standard_EXPORT void Error (Standard_Real& tol3d, Standard_Real& tol2d) const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& Value() const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT AppParCurves_MultiBSpCurve& ChangeValue();
   
+  //! returns the new parameters of the approximation
+  //! corresponding to the points of the MultiBSpCurve.
   Standard_EXPORT const TColStd_Array1OfReal& Parameters() const;
 
 
@@ -108,10 +150,13 @@ protected:
 private:
 
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean Compute (const AppDef_MultiLine& Line, const Standard_Integer fpt, const Standard_Integer lpt, math_Vector& Para, const TColStd_Array1OfReal& Knots, TColStd_Array1OfInteger& Mults);
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean ComputeCurve (const AppDef_MultiLine& Line, const Standard_Integer firspt, const Standard_Integer lastpt);
   
+  //! computes new parameters between firstP and lastP.
   Standard_EXPORT void Parameters (const AppDef_MultiLine& Line, const Standard_Integer firstP, const Standard_Integer LastP, math_Vector& TheParameters) const;
   
   Standard_EXPORT Standard_Real SearchFirstLambda (const AppDef_MultiLine& Line, const math_Vector& Para, const TColStd_Array1OfReal& Knots, const math_Vector& V, const Standard_Integer index) const;
index 91a6ed0..c387e88 100644 (file)
@@ -54,40 +54,72 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
   Standard_EXPORT AppDef_Compute(const AppDef_MultiLine& Line, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-3, const Standard_Real Tolerance2d = 1.0e-6, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
   Standard_EXPORT AppDef_Compute(const AppDef_MultiLine& Line, const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT AppDef_Compute(const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT AppDef_Compute(const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT void Init (const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! runs the algorithm after having initialized the fields.
   Standard_EXPORT void Perform (const AppDef_MultiLine& Line);
   
+  //! changes the degrees of the approximation.
   Standard_EXPORT void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax);
   
+  //! Changes the tolerances of the approximation.
   Standard_EXPORT void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d);
   
+  //! changes the first and the last constraint points.
   Standard_EXPORT void SetConstraints (const AppParCurves_Constraint firstC, const AppParCurves_Constraint lastC);
   
+  //! returns False if at a moment of the approximation,
+  //! the status NoApproximation has been sent by the user
+  //! when more points were needed.
   Standard_EXPORT Standard_Boolean IsAllApproximated() const;
   
+  //! returns False if the status NoPointsAdded has been sent.
   Standard_EXPORT Standard_Boolean IsToleranceReached() const;
   
+  //! returns the tolerances 2d and 3d of the <Index> MultiCurve.
   Standard_EXPORT void Error (const Standard_Integer Index, Standard_Real& tol3d, Standard_Real& tol2d) const;
   
+  //! Returns the number of MultiCurve doing the approximation
+  //! of the MultiLine.
   Standard_EXPORT Standard_Integer NbMultiCurves() const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT const AppParCurves_MultiCurve& Value (const Standard_Integer Index = 1) const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT AppParCurves_MultiCurve& ChangeValue (const Standard_Integer Index = 1);
   
+  //! returns the result of the approximation.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& SplineValue();
   
+  //! returns the type  of  parametrization
   Standard_EXPORT void Parametrization (Approx_ParametrizationType& partype) const;
   
+  //! returns the new parameters of the approximation
+  //! corresponding to the points of the multicurve <Index>.
   Standard_EXPORT const TColStd_Array1OfReal& Parameters (const Standard_Integer Index = 1) const;
 
 
@@ -102,10 +134,13 @@ protected:
 private:
 
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean Compute (const AppDef_MultiLine& Line, const Standard_Integer fpt, const Standard_Integer lpt, math_Vector& Para, Standard_Real& TheTol3d, Standard_Real& TheTol2d);
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean ComputeCurve (const AppDef_MultiLine& Line, const Standard_Integer firspt, const Standard_Integer lastpt);
   
+  //! computes new parameters between firstP and lastP.
   Standard_EXPORT void Parameters (const AppDef_MultiLine& Line, const Standard_Integer firstP, const Standard_Integer LastP, math_Vector& TheParameters) const;
   
   Standard_EXPORT Standard_Real SearchFirstLambda (const AppDef_MultiLine& Line, const math_Vector& Para, const math_Vector& V, const Standard_Integer index) const;
index 4d08cc0..cf59263 100644 (file)
@@ -47,20 +47,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating BSpline curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT AppDef_MyBSplGradientOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations = 1);
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating BSpline curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT AppDef_MyBSplGradientOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations, const Standard_Real lambda1, const Standard_Real lambda2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns all the BSpline curves approximating the
+  //! MultiLine SSP after minimization of the parameter.
   Standard_EXPORT AppParCurves_MultiBSpCurve Value() const;
   
+  //! returns the difference between the old and the new
+  //! approximation.
+  //! An exception is raised if NotDone.
+  //! An exception is raised if Index<1 or Index>NbParameters.
   Standard_EXPORT Standard_Real Error (const Standard_Integer Index) const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the average error between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real AverageError() const;
 
 
index 9051722..88815d6 100644 (file)
@@ -46,18 +46,37 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating Bezier curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT AppDef_MyGradientOfCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations = 200);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns all the Bezier curves approximating the
+  //! MultiLine SSP after minimization of the parameter.
   Standard_EXPORT AppParCurves_MultiCurve Value() const;
   
+  //! returns the difference between the old and the new
+  //! approximation.
+  //! An exception is raised if NotDone.
+  //! An exception is raised if Index<1 or Index>NbParameters.
   Standard_EXPORT Standard_Real Error (const Standard_Integer Index) const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the average error between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real AverageError() const;
 
 
index d405251..2606608 100644 (file)
@@ -46,18 +46,37 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating Bezier curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT AppDef_MyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations = 200);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns all the Bezier curves approximating the
+  //! MultiLine SSP after minimization of the parameter.
   Standard_EXPORT AppParCurves_MultiCurve Value() const;
   
+  //! returns the difference between the old and the new
+  //! approximation.
+  //! An exception is raised if NotDone.
+  //! An exception is raised if Index<1 or Index>NbParameters.
   Standard_EXPORT Standard_Real Error (const Standard_Integer Index) const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the average error between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real AverageError() const;
 
 
index b557a4e..4363971 100644 (file)
@@ -48,24 +48,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has the desired degree Deg.
   Standard_EXPORT AppDef_ParFunctionOfMyGradientOfCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const Standard_Integer Deg);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT const AppParCurves_MultiCurve& CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -78,6 +99,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index 8fed57e..5a7686b 100644 (file)
@@ -48,24 +48,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has the desired degree Deg.
   Standard_EXPORT AppDef_ParFunctionOfMyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const Standard_Integer Deg);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT const AppParCurves_MultiCurve& CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -78,6 +99,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index c697ff1..1c732a8 100644 (file)
@@ -48,24 +48,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has the desired degree Deg.
   Standard_EXPORT AppDef_ParFunctionOfTheGradient(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const Standard_Integer Deg);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT const AppParCurves_MultiCurve& CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -78,6 +99,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index b26db72..2841640 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientOfCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientOfCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientOfCompute(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientOfCompute(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const AppDef_MultiLine& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const AppDef_MultiLine& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index 3faee51..699914e 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_ParLeastSquareOfMyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const AppDef_MultiLine& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const AppDef_MultiLine& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index 6b142dd..fe92cd3 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_ParLeastSquareOfTheGradient(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_ParLeastSquareOfTheGradient(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_ParLeastSquareOfTheGradient(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_ParLeastSquareOfTheGradient(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const AppDef_MultiLine& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const AppDef_MultiLine& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index 10f1b6b..1746bb4 100644 (file)
@@ -43,18 +43,35 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Given a MultiLine SSP with constraints points, this
+  //! algorithm finds the best curve solution to approximate it.
+  //! The poles from SCurv issued for example from the least
+  //! squares are used as a guess solution for the uzawa
+  //! algorithm. The tolerance used in the Uzawa algorithms
+  //! is Tolerance.
+  //! A is the Bernstein matrix associated to the MultiLine
+  //! and DA is the derivative bernstein matrix.(They can come
+  //! from an approximation with ParLeastSquare.)
+  //! The MultiCurve is modified. New MultiPoles are given.
   Standard_EXPORT AppDef_ResConstraintOfMyGradientOfCompute(const AppDef_MultiLine& SSP, AppParCurves_MultiCurve& SCurv, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& Constraints, const math_Matrix& Bern, const math_Matrix& DerivativeBern, const Standard_Real Tolerance = 1.0e-10);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the maximum difference value between the curve
+  //! and the given points.
   Standard_EXPORT Standard_Real Error() const;
   
   Standard_EXPORT const math_Matrix& ConstraintMatrix() const;
   
+  //! returns the duale variables of the system.
   Standard_EXPORT const math_Vector& Duale() const;
   
+  //! Returns the derivative of the constraint matrix.
   Standard_EXPORT const math_Matrix& ConstraintDerivative (const AppDef_MultiLine& SSP, const math_Vector& Parameters, const Standard_Integer Deg, const math_Matrix& DA);
   
+  //! returns the Inverse of Cont*Transposed(Cont), where
+  //! Cont is the constraint matrix for the algorithm.
   Standard_EXPORT const math_Matrix& InverseMatrix() const;
 
 
@@ -63,8 +80,10 @@ public:
 protected:
 
   
+  //! is used internally to create the fields.
   Standard_EXPORT Standard_Integer NbConstraints (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints) const;
   
+  //! is internally used for the fields creation.
   Standard_EXPORT Standard_Integer NbColumns (const AppDef_MultiLine& SSP, const Standard_Integer Deg) const;
 
 
index c7e8d87..064a5ef 100644 (file)
@@ -43,18 +43,35 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Given a MultiLine SSP with constraints points, this
+  //! algorithm finds the best curve solution to approximate it.
+  //! The poles from SCurv issued for example from the least
+  //! squares are used as a guess solution for the uzawa
+  //! algorithm. The tolerance used in the Uzawa algorithms
+  //! is Tolerance.
+  //! A is the Bernstein matrix associated to the MultiLine
+  //! and DA is the derivative bernstein matrix.(They can come
+  //! from an approximation with ParLeastSquare.)
+  //! The MultiCurve is modified. New MultiPoles are given.
   Standard_EXPORT AppDef_ResConstraintOfMyGradientbisOfBSplineCompute(const AppDef_MultiLine& SSP, AppParCurves_MultiCurve& SCurv, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& Constraints, const math_Matrix& Bern, const math_Matrix& DerivativeBern, const Standard_Real Tolerance = 1.0e-10);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the maximum difference value between the curve
+  //! and the given points.
   Standard_EXPORT Standard_Real Error() const;
   
   Standard_EXPORT const math_Matrix& ConstraintMatrix() const;
   
+  //! returns the duale variables of the system.
   Standard_EXPORT const math_Vector& Duale() const;
   
+  //! Returns the derivative of the constraint matrix.
   Standard_EXPORT const math_Matrix& ConstraintDerivative (const AppDef_MultiLine& SSP, const math_Vector& Parameters, const Standard_Integer Deg, const math_Matrix& DA);
   
+  //! returns the Inverse of Cont*Transposed(Cont), where
+  //! Cont is the constraint matrix for the algorithm.
   Standard_EXPORT const math_Matrix& InverseMatrix() const;
 
 
@@ -63,8 +80,10 @@ public:
 protected:
 
   
+  //! is used internally to create the fields.
   Standard_EXPORT Standard_Integer NbConstraints (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints) const;
   
+  //! is internally used for the fields creation.
   Standard_EXPORT Standard_Integer NbColumns (const AppDef_MultiLine& SSP, const Standard_Integer Deg) const;
 
 
index 3d726a6..67fef3b 100644 (file)
@@ -43,18 +43,35 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Given a MultiLine SSP with constraints points, this
+  //! algorithm finds the best curve solution to approximate it.
+  //! The poles from SCurv issued for example from the least
+  //! squares are used as a guess solution for the uzawa
+  //! algorithm. The tolerance used in the Uzawa algorithms
+  //! is Tolerance.
+  //! A is the Bernstein matrix associated to the MultiLine
+  //! and DA is the derivative bernstein matrix.(They can come
+  //! from an approximation with ParLeastSquare.)
+  //! The MultiCurve is modified. New MultiPoles are given.
   Standard_EXPORT AppDef_ResConstraintOfTheGradient(const AppDef_MultiLine& SSP, AppParCurves_MultiCurve& SCurv, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& Constraints, const math_Matrix& Bern, const math_Matrix& DerivativeBern, const Standard_Real Tolerance = 1.0e-10);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the maximum difference value between the curve
+  //! and the given points.
   Standard_EXPORT Standard_Real Error() const;
   
   Standard_EXPORT const math_Matrix& ConstraintMatrix() const;
   
+  //! returns the duale variables of the system.
   Standard_EXPORT const math_Vector& Duale() const;
   
+  //! Returns the derivative of the constraint matrix.
   Standard_EXPORT const math_Matrix& ConstraintDerivative (const AppDef_MultiLine& SSP, const math_Vector& Parameters, const Standard_Integer Deg, const math_Matrix& DA);
   
+  //! returns the Inverse of Cont*Transposed(Cont), where
+  //! Cont is the constraint matrix for the algorithm.
   Standard_EXPORT const math_Matrix& InverseMatrix() const;
 
 
@@ -63,8 +80,10 @@ public:
 protected:
 
   
+  //! is used internally to create the fields.
   Standard_EXPORT Standard_Integer NbConstraints (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints) const;
   
+  //! is internally used for the fields creation.
   Standard_EXPORT Standard_Integer NbColumns (const AppDef_MultiLine& SSP, const Standard_Integer Deg) const;
 
 
index 1d99c45..48c1284 100644 (file)
@@ -48,24 +48,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has the desired degree Deg.
   Standard_EXPORT AppDef_TheFunction(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const Standard_Integer Deg);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT const AppParCurves_MultiCurve& CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -78,6 +99,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index 8406f5b..a7d2520 100644 (file)
@@ -46,18 +46,37 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating Bezier curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT AppDef_TheGradient(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations = 200);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns all the Bezier curves approximating the
+  //! MultiLine SSP after minimization of the parameter.
   Standard_EXPORT AppParCurves_MultiCurve Value() const;
   
+  //! returns the difference between the old and the new
+  //! approximation.
+  //! An exception is raised if NotDone.
+  //! An exception is raised if Index<1 or Index>NbParameters.
   Standard_EXPORT Standard_Real Error (const Standard_Integer Index) const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the average error between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real AverageError() const;
 
 
index 76b8b53..6791003 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_TheLeastSquares(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_TheLeastSquares(const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT AppDef_TheLeastSquares(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT AppDef_TheLeastSquares(const AppDef_MultiLine& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const AppDef_MultiLine& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const AppDef_MultiLine& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index 996ac86..51f60bb 100644 (file)
@@ -43,18 +43,35 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Given a MultiLine SSP with constraints points, this
+  //! algorithm finds the best curve solution to approximate it.
+  //! The poles from SCurv issued for example from the least
+  //! squares are used as a guess solution for the uzawa
+  //! algorithm. The tolerance used in the Uzawa algorithms
+  //! is Tolerance.
+  //! A is the Bernstein matrix associated to the MultiLine
+  //! and DA is the derivative bernstein matrix.(They can come
+  //! from an approximation with ParLeastSquare.)
+  //! The MultiCurve is modified. New MultiPoles are given.
   Standard_EXPORT AppDef_TheResol(const AppDef_MultiLine& SSP, AppParCurves_MultiCurve& SCurv, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& Constraints, const math_Matrix& Bern, const math_Matrix& DerivativeBern, const Standard_Real Tolerance = 1.0e-10);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the maximum difference value between the curve
+  //! and the given points.
   Standard_EXPORT Standard_Real Error() const;
   
   Standard_EXPORT const math_Matrix& ConstraintMatrix() const;
   
+  //! returns the duale variables of the system.
   Standard_EXPORT const math_Vector& Duale() const;
   
+  //! Returns the derivative of the constraint matrix.
   Standard_EXPORT const math_Matrix& ConstraintDerivative (const AppDef_MultiLine& SSP, const math_Vector& Parameters, const Standard_Integer Deg, const math_Matrix& DA);
   
+  //! returns the Inverse of Cont*Transposed(Cont), where
+  //! Cont is the constraint matrix for the algorithm.
   Standard_EXPORT const math_Matrix& InverseMatrix() const;
 
 
@@ -63,8 +80,10 @@ public:
 protected:
 
   
+  //! is used internally to create the fields.
   Standard_EXPORT Standard_Integer NbConstraints (const AppDef_MultiLine& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints) const;
   
+  //! is internally used for the fields creation.
   Standard_EXPORT Standard_Integer NbColumns (const AppDef_MultiLine& SSP, const Standard_Integer Deg) const;
 
 
index 5751905..81a5565 100644 (file)
@@ -40,26 +40,43 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
   Standard_EXPORT Approx_FitAndDivide(const AppCont_Function& Line, const Standard_Integer degreemin = 3, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-5, const Standard_Real Tolerance2d = 1.0e-5, const Standard_Boolean cutting = Standard_False, const AppParCurves_Constraint FirstC = AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC = AppParCurves_TangencyPoint);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT Approx_FitAndDivide(const Standard_Integer degreemin = 3, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-05, const Standard_Real Tolerance2d = 1.0e-05, const Standard_Boolean cutting = Standard_False, const AppParCurves_Constraint FirstC = AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC = AppParCurves_TangencyPoint);
   
+  //! runs the algorithm after having initialized the fields.
   Standard_EXPORT void Perform (const AppCont_Function& Line);
   
+  //! changes the degrees of the approximation.
   Standard_EXPORT void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax);
   
+  //! Changes the tolerances of the approximation.
   Standard_EXPORT void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d);
   
+  //! Changes the constraints of the approximation.
   Standard_EXPORT void SetConstraints (const AppParCurves_Constraint FirstC, const AppParCurves_Constraint LastC);
   
+  //! returns False if at a moment of the approximation,
+  //! the status NoApproximation has been sent by the user
+  //! when more points were needed.
   Standard_EXPORT Standard_Boolean IsAllApproximated() const;
   
+  //! returns False if the status NoPointsAdded has been sent.
   Standard_EXPORT Standard_Boolean IsToleranceReached() const;
   
+  //! returns the tolerances 2d and 3d of the <Index> MultiCurve.
   Standard_EXPORT void Error (const Standard_Integer Index, Standard_Real& tol3d, Standard_Real& tol2d) const;
   
+  //! Returns the number of MultiCurve doing the approximation
+  //! of the MultiLine.
   Standard_EXPORT Standard_Integer NbMultiCurves() const;
   
+  //! returns the approximation MultiCurve of range <Index>.
   Standard_EXPORT AppParCurves_MultiCurve Value (const Standard_Integer Index = 1) const;
   
   Standard_EXPORT void Parameters (const Standard_Integer Index, Standard_Real& firstp, Standard_Real& lastp) const;
@@ -76,6 +93,7 @@ protected:
 private:
 
   
+  //! is internally used by the algorithms.
   Standard_EXPORT Standard_Boolean Compute (const AppCont_Function& Line, const Standard_Real Ufirst, const Standard_Real Ulast, Standard_Real& TheTol3d, Standard_Real& TheTol2d);
 
 
index 7d92659..646f45a 100644 (file)
@@ -40,26 +40,43 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
   Standard_EXPORT Approx_FitAndDivide2d(const AppCont_Function& Line, const Standard_Integer degreemin = 3, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-5, const Standard_Real Tolerance2d = 1.0e-5, const Standard_Boolean cutting = Standard_False, const AppParCurves_Constraint FirstC = AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC = AppParCurves_TangencyPoint);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT Approx_FitAndDivide2d(const Standard_Integer degreemin = 3, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-05, const Standard_Real Tolerance2d = 1.0e-05, const Standard_Boolean cutting = Standard_False, const AppParCurves_Constraint FirstC = AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC = AppParCurves_TangencyPoint);
   
+  //! runs the algorithm after having initialized the fields.
   Standard_EXPORT void Perform (const AppCont_Function& Line);
   
+  //! changes the degrees of the approximation.
   Standard_EXPORT void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax);
   
+  //! Changes the tolerances of the approximation.
   Standard_EXPORT void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d);
   
+  //! Changes the constraints of the approximation.
   Standard_EXPORT void SetConstraints (const AppParCurves_Constraint FirstC, const AppParCurves_Constraint LastC);
   
+  //! returns False if at a moment of the approximation,
+  //! the status NoApproximation has been sent by the user
+  //! when more points were needed.
   Standard_EXPORT Standard_Boolean IsAllApproximated() const;
   
+  //! returns False if the status NoPointsAdded has been sent.
   Standard_EXPORT Standard_Boolean IsToleranceReached() const;
   
+  //! returns the tolerances 2d and 3d of the <Index> MultiCurve.
   Standard_EXPORT void Error (const Standard_Integer Index, Standard_Real& tol3d, Standard_Real& tol2d) const;
   
+  //! Returns the number of MultiCurve doing the approximation
+  //! of the MultiLine.
   Standard_EXPORT Standard_Integer NbMultiCurves() const;
   
+  //! returns the approximation MultiCurve of range <Index>.
   Standard_EXPORT AppParCurves_MultiCurve Value (const Standard_Integer Index = 1) const;
   
   Standard_EXPORT void Parameters (const Standard_Integer Index, Standard_Real& firstp, Standard_Real& lastp) const;
@@ -76,6 +93,7 @@ protected:
 private:
 
   
+  //! is internally used by the algorithms.
   Standard_EXPORT Standard_Boolean Compute (const AppCont_Function& Line, const Standard_Real Ufirst, const Standard_Real Ulast, Standard_Real& TheTol3d, Standard_Real& TheTol2d);
 
 
index 271a374..b584ad4 100644 (file)
@@ -39,16 +39,24 @@ class BRepAdaptor_HCompCurve : public Adaptor3d_HCurve
 public:
 
   
+  //! Creates an empty GenHCurve.
   Standard_EXPORT BRepAdaptor_HCompCurve();
   
+  //! Creates a GenHCurve from a Curve
   Standard_EXPORT BRepAdaptor_HCompCurve(const BRepAdaptor_CompCurve& C);
   
+  //! Sets the field of the GenHCurve.
   Standard_EXPORT void Set (const BRepAdaptor_CompCurve& C);
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT const Adaptor3d_Curve& Curve() const;
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT Adaptor3d_Curve& GetCurve();
   
+  //! Returns the curve used to create the GenHCurve.
     BRepAdaptor_CompCurve& ChangeCurve();
 
 
index 2f1a19f..a68c385 100644 (file)
@@ -39,16 +39,24 @@ class BRepAdaptor_HCurve : public Adaptor3d_HCurve
 public:
 
   
+  //! Creates an empty GenHCurve.
   Standard_EXPORT BRepAdaptor_HCurve();
   
+  //! Creates a GenHCurve from a Curve
   Standard_EXPORT BRepAdaptor_HCurve(const BRepAdaptor_Curve& C);
   
+  //! Sets the field of the GenHCurve.
   Standard_EXPORT void Set (const BRepAdaptor_Curve& C);
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT const Adaptor3d_Curve& Curve() const;
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT Adaptor3d_Curve& GetCurve();
   
+  //! Returns the curve used to create the GenHCurve.
     BRepAdaptor_Curve& ChangeCurve();
 
 
index ade0b2d..229a4b4 100644 (file)
@@ -39,14 +39,20 @@ class BRepAdaptor_HCurve2d : public Adaptor2d_HCurve2d
 public:
 
   
+  //! Creates an empty GenHCurve2d.
   Standard_EXPORT BRepAdaptor_HCurve2d();
   
+  //! Creates a GenHCurve2d from a Curve
   Standard_EXPORT BRepAdaptor_HCurve2d(const BRepAdaptor_Curve2d& C);
   
+  //! Sets the field of the GenHCurve2d.
   Standard_EXPORT void Set (const BRepAdaptor_Curve2d& C);
   
+  //! Returns the curve used to create the GenHCurve2d.
+  //! This is redefined from HCurve2d, cannot be inline.
   Standard_EXPORT const Adaptor2d_Curve2d& Curve2d() const;
   
+  //! Returns the curve used to create the GenHCurve.
     BRepAdaptor_Curve2d& ChangeCurve2d();
 
 
index db88aa2..604d8d4 100644 (file)
@@ -39,14 +39,20 @@ class BRepAdaptor_HSurface : public Adaptor3d_HSurface
 public:
 
   
+  //! Creates an empty GenHSurface.
   Standard_EXPORT BRepAdaptor_HSurface();
   
+  //! Creates a GenHSurface from a Surface.
   Standard_EXPORT BRepAdaptor_HSurface(const BRepAdaptor_Surface& S);
   
+  //! Sets the field of the GenHSurface.
   Standard_EXPORT void Set (const BRepAdaptor_Surface& S);
   
+  //! Returns a reference to the Surface inside the HSurface.
+  //! This is redefined from HSurface, cannot be inline.
   Standard_EXPORT const Adaptor3d_Surface& Surface() const;
   
+  //! Returns the surface used to create the GenHSurface.
     BRepAdaptor_Surface& ChangeSurface();
 
 
index 35f64c2..e4ac5c7 100644 (file)
@@ -51,30 +51,59 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has <NbPol> control points.
   Standard_EXPORT BRepApprox_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer NbPol);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiBSpCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT AppParCurves_MultiBSpCurve CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex);
   
+  //! returns the maximum distance between the points
+  //! and the MultiBSpCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiBSpCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the function matrix used to approximate the
+  //! multiline.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used to approximate the
+  //! multiline.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& Index() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -91,6 +120,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index bbc0622..bb1f99d 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT BRepApprox_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT BRepApprox_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT BRepApprox_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT BRepApprox_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const BRepApprox_TheMultiLineOfApprox& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index b5d44ce..1282328 100644 (file)
@@ -47,20 +47,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating BSpline curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT BRepApprox_MyBSplGradientOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations = 1);
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating BSpline curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT BRepApprox_MyBSplGradientOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations, const Standard_Real lambda1, const Standard_Real lambda2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns all the BSpline curves approximating the
+  //! MultiLine SSP after minimization of the parameter.
   Standard_EXPORT AppParCurves_MultiBSpCurve Value() const;
   
+  //! returns the difference between the old and the new
+  //! approximation.
+  //! An exception is raised if NotDone.
+  //! An exception is raised if Index<1 or Index>NbParameters.
   Standard_EXPORT Standard_Real Error (const Standard_Integer Index) const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the average error between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real AverageError() const;
 
 
index 49759b8..6bef091 100644 (file)
@@ -46,18 +46,37 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating Bezier curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT BRepApprox_MyGradientOfTheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations = 200);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns all the Bezier curves approximating the
+  //! MultiLine SSP after minimization of the parameter.
   Standard_EXPORT AppParCurves_MultiCurve Value() const;
   
+  //! returns the difference between the old and the new
+  //! approximation.
+  //! An exception is raised if NotDone.
+  //! An exception is raised if Index<1 or Index>NbParameters.
   Standard_EXPORT Standard_Real Error (const Standard_Integer Index) const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the average error between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real AverageError() const;
 
 
index 2af3606..2b1cea6 100644 (file)
@@ -46,18 +46,37 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Tries to minimize the sum (square(||Qui - Bi*Pi||))
+  //! where Pui describe the approximating Bezier curves'Poles
+  //! and Qi the MultiLine points with a parameter ui.
+  //! In this algorithm, the parameters ui are the unknowns.
+  //! The tolerance required on this sum is given by Tol.
+  //! The desired degree of the resulting curve is Deg.
   Standard_EXPORT BRepApprox_MyGradientbisOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, math_Vector& Parameters, const Standard_Integer Deg, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIterations = 200);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns all the Bezier curves approximating the
+  //! MultiLine SSP after minimization of the parameter.
   Standard_EXPORT AppParCurves_MultiCurve Value() const;
   
+  //! returns the difference between the old and the new
+  //! approximation.
+  //! An exception is raised if NotDone.
+  //! An exception is raised if Index<1 or Index>NbParameters.
   Standard_EXPORT Standard_Real Error (const Standard_Integer Index) const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum difference between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
+  //! returns the average error between the old and the
+  //! new approximation.
   Standard_EXPORT Standard_Real AverageError() const;
 
 
index a125f0a..34a69fd 100644 (file)
@@ -48,24 +48,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has the desired degree Deg.
   Standard_EXPORT BRepApprox_ParFunctionOfMyGradientOfTheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const Standard_Integer Deg);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT const AppParCurves_MultiCurve& CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -78,6 +99,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index ffc35d1..2e7db5c 100644 (file)
@@ -48,24 +48,45 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! initializes the fields of the function. The approximating
+  //! curve has the desired degree Deg.
   Standard_EXPORT BRepApprox_ParFunctionOfMyGradientbisOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const math_Vector& Parameters, const Standard_Integer Deg);
   
+  //! returns the number of variables of the function. It
+  //! corresponds to the number of MultiPoints.
   Standard_EXPORT Standard_Integer NbVariables() const;
   
+  //! this method computes the new approximation of the
+  //! MultiLine
+  //! SSP and calculates F = sum (||Pui - Bi*Pi||2) for each
+  //! point of the MultiLine.
   Standard_EXPORT Standard_Boolean Value (const math_Vector& X, Standard_Real& F);
   
+  //! returns the gradient G of the sum above for the
+  //! parameters Xi.
   Standard_EXPORT Standard_Boolean Gradient (const math_Vector& X, math_Vector& G);
   
+  //! returns the value F=sum(||Pui - Bi*Pi||)2.
+  //! returns the value G = grad(F) for the parameters Xi.
   Standard_EXPORT Standard_Boolean Values (const math_Vector& X, Standard_Real& F, math_Vector& G);
   
+  //! returns the new parameters of the MultiLine.
   Standard_EXPORT const math_Vector& NewParameters() const;
   
+  //! returns the MultiCurve approximating the set after
+  //! computing the value F or Grad(F).
   Standard_EXPORT const AppParCurves_MultiCurve& CurveValue();
   
+  //! returns the distance between the MultiPoint of range
+  //! IPoint and the curve CurveIndex.
   Standard_EXPORT Standard_Real Error (const Standard_Integer IPoint, const Standard_Integer CurveIndex) const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError3d() const;
   
+  //! returns the maximum distance between the points
+  //! and the MultiCurve.
   Standard_EXPORT Standard_Real MaxError2d() const;
   
   Standard_EXPORT AppParCurves_Constraint FirstConstraint (const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints, const Standard_Integer FirstPoint) const;
@@ -78,6 +99,8 @@ public:
 protected:
 
   
+  //! this method is used each time Value or Gradient is
+  //! needed.
   Standard_EXPORT void Perform (const math_Vector& X);
 
 
index 8103a0a..5f81231 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const BRepApprox_TheMultiLineOfApprox& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index 17d0c85..77a3502 100644 (file)
@@ -52,46 +52,120 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! NbPol is the number of control points wanted
+  //! for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the Bernstein matrix computed with the
+  //! parameters, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientbisOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientbisOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! given a MultiLine, this algorithm computes the least
+  //! square resolution using the Householder-QR method.
+  //! If the first and/or the last point is a constraint
+  //! point, the value of the tangency or curvature is
+  //! computed in the resolution.
+  //! Deg is the degree wanted for the approximating curves.
+  //! The system to solve is the following:
+  //! A X = B.
+  //! Where A is the BSpline functions matrix computed with
+  //! <parameters>, B the points coordinates and X the poles
+  //! solutions.
+  //! The matrix A is the same for each coordinate x, y and z
+  //! and is also the same for each MultiLine point because
+  //! they are approximated in parallel(so with the same
+  //! parameter, only the vector B changes).
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientbisOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const math_Vector& Parameters, const Standard_Integer NbPol);
   
+  //! Initializes the fields of the object.
   Standard_EXPORT BRepApprox_ParLeastSquareOfMyGradientbisOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const AppParCurves_Constraint FirstCons, const AppParCurves_Constraint LastCons, const Standard_Integer NbPol);
   
+  //! Is used after having initialized the fields.
+  //! The case "CurvaturePoint" is not treated in this method.
   Standard_EXPORT void Perform (const math_Vector& Parameters);
   
+  //! Is used after having initialized the fields.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const Standard_Real l1, const Standard_Real l2);
   
+  //! Is used after having initialized the fields.
+  //! <V1t> is the tangent vector at the first point.
+  //! <V2t> is the tangent vector at the last point.
+  //! <V1c> is the tangent vector at the first point.
+  //! <V2c> is the tangent vector at the last point.
   Standard_EXPORT void Perform (const math_Vector& Parameters, const math_Vector& V1t, const math_Vector& V2t, const math_Vector& V1c, const math_Vector& V2c, const Standard_Real l1, const Standard_Real l2);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT AppParCurves_MultiCurve BezierValue();
   
+  //! returns the result of the approximation, i.e. all the
+  //! Curves.
+  //! An exception is raised if NotDone.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
   
+  //! returns the function matrix used to approximate the
+  //! set.
   Standard_EXPORT const math_Matrix& FunctionMatrix() const;
   
+  //! returns the derivative function matrix used
+  //! to approximate the set.
   Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances. Grad is the derivative vector of the
+  //! function F.
   Standard_EXPORT void ErrorGradient (math_Vector& Grad, Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the distances between the points of the
+  //! multiline and the approximation curves.
   Standard_EXPORT const math_Matrix& Distance();
   
+  //! returns the maximum errors between the MultiLine
+  //! and the approximation curves. F is the sum of the square
+  //! distances.
   Standard_EXPORT void Error (Standard_Real& F, Standard_Real& MaxE3d, Standard_Real& MaxE2d);
   
+  //! returns the value (P2 - P1)/ V1 if the first point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real FirstLambda() const;
   
+  //! returns the value (PN - PN-1)/ VN if the last point
+  //! was a tangency point.
   Standard_EXPORT Standard_Real LastLambda() const;
   
+  //! returns the matrix of points value.
   Standard_EXPORT const math_Matrix& Points() const;
   
+  //! returns the matrix of resulting control points value.
   Standard_EXPORT const math_Matrix& Poles() const;
   
+  //! Returns the indexes of the first non null values of
+  //! A and DA.
+  //! The values are non null from Index(ieme point) +1
+  //! to Index(ieme point) + degree +1.
   Standard_EXPORT const math_IntegerVector& KIndex() const;
 
 
@@ -100,24 +174,33 @@ public:
 protected:
 
   
+  //! is used by the constuctors above.
   Standard_EXPORT void Init (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint);
   
+  //! returns the number of second member columns.
+  //! Is used internally to initialize the fields.
   Standard_EXPORT Standard_Integer NbBColumns (const BRepApprox_TheMultiLineOfApprox& SSP) const;
   
+  //! returns the first point beeing fitted.
   Standard_EXPORT Standard_Integer TheFirstPoint (const AppParCurves_Constraint FirstCons, const Standard_Integer FirstPoint) const;
   
+  //! returns the last point beeing fitted.
   Standard_EXPORT Standard_Integer TheLastPoint (const AppParCurves_Constraint LastCons, const Standard_Integer LastPoint) const;
   
+  //! Affects the fields in the case of a constraint point.
   Standard_EXPORT void Affect (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer Index, AppParCurves_Constraint& Cons, math_Vector& Vt, math_Vector& Vc);
   
   Standard_EXPORT void ComputeFunction (const math_Vector& Parameters);
   
   Standard_EXPORT void SearchIndex (math_IntegerVector& Index);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Vector& TheB);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA);
   
+  //! computes internal matrixes for the resolution
   Standard_EXPORT void MakeTAA (math_Vector& TheA, math_Matrix& TheB);
 
 
index 2a48942..a0f5431 100644 (file)
@@ -43,18 +43,35 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Given a MultiLine SSP with constraints points, this
+  //! algorithm finds the best curve solution to approximate it.
+  //! The poles from SCurv issued for example from the least
+  //! squares are used as a guess solution for the uzawa
+  //! algorithm. The tolerance used in the Uzawa algorithms
+  //! is Tolerance.
+  //! A is the Bernstein matrix associated to the MultiLine
+  //! and DA is the derivative bernstein matrix.(They can come
+  //! from an approximation with ParLeastSquare.)
+  //! The MultiCurve is modified. New MultiPoles are given.
   Standard_EXPORT BRepApprox_ResConstraintOfMyGradientOfTheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, AppParCurves_MultiCurve& SCurv, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& Constraints, const math_Matrix& Bern, const math_Matrix& DerivativeBern, const Standard_Real Tolerance = 1.0e-10);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the maximum difference value between the curve
+  //! and the given points.
   Standard_EXPORT Standard_Real Error() const;
   
   Standard_EXPORT const math_Matrix& ConstraintMatrix() const;
   
+  //! returns the duale variables of the system.
   Standard_EXPORT const math_Vector& Duale() const;
   
+  //! Returns the derivative of the constraint matrix.
   Standard_EXPORT const math_Matrix& ConstraintDerivative (const BRepApprox_TheMultiLineOfApprox& SSP, const math_Vector& Parameters, const Standard_Integer Deg, const math_Matrix& DA);
   
+  //! returns the Inverse of Cont*Transposed(Cont), where
+  //! Cont is the constraint matrix for the algorithm.
   Standard_EXPORT const math_Matrix& InverseMatrix() const;
 
 
@@ -63,8 +80,10 @@ public:
 protected:
 
   
+  //! is used internally to create the fields.
   Standard_EXPORT Standard_Integer NbConstraints (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints) const;
   
+  //! is internally used for the fields creation.
   Standard_EXPORT Standard_Integer NbColumns (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer Deg) const;
 
 
index 82f00d6..fa86057 100644 (file)
@@ -43,18 +43,35 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Given a MultiLine SSP with constraints points, this
+  //! algorithm finds the best curve solution to approximate it.
+  //! The poles from SCurv issued for example from the least
+  //! squares are used as a guess solution for the uzawa
+  //! algorithm. The tolerance used in the Uzawa algorithms
+  //! is Tolerance.
+  //! A is the Bernstein matrix associated to the MultiLine
+  //! and DA is the derivative bernstein matrix.(They can come
+  //! from an approximation with ParLeastSquare.)
+  //! The MultiCurve is modified. New MultiPoles are given.
   Standard_EXPORT BRepApprox_ResConstraintOfMyGradientbisOfTheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& SSP, AppParCurves_MultiCurve& SCurv, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& Constraints, const math_Matrix& Bern, const math_Matrix& DerivativeBern, const Standard_Real Tolerance = 1.0e-10);
   
+  //! returns True if all has been correctly done.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! returns the maximum difference value between the curve
+  //! and the given points.
   Standard_EXPORT Standard_Real Error() const;
   
   Standard_EXPORT const math_Matrix& ConstraintMatrix() const;
   
+  //! returns the duale variables of the system.
   Standard_EXPORT const math_Vector& Duale() const;
   
+  //! Returns the derivative of the constraint matrix.
   Standard_EXPORT const math_Matrix& ConstraintDerivative (const BRepApprox_TheMultiLineOfApprox& SSP, const math_Vector& Parameters, const Standard_Integer Deg, const math_Matrix& DA);
   
+  //! returns the Inverse of Cont*Transposed(Cont), where
+  //! Cont is the constraint matrix for the algorithm.
   Standard_EXPORT const math_Matrix& InverseMatrix() const;
 
 
@@ -63,8 +80,10 @@ public:
 protected:
 
   
+  //! is used internally to create the fields.
   Standard_EXPORT Standard_Integer NbConstraints (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer FirstPoint, const Standard_Integer LastPoint, const Handle(AppParCurves_HArray1OfConstraintCouple)& TheConstraints) const;
   
+  //! is internally used for the fields creation.
   Standard_EXPORT Standard_Integer NbColumns (const BRepApprox_TheMultiLineOfApprox& SSP, const Standard_Integer Deg) const;
 
 
index 3a7e3e8..331323e 100644 (file)
@@ -54,40 +54,72 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
   Standard_EXPORT BRepApprox_TheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-3, const Standard_Real Tolerance2d = 1.0e-6, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
   Standard_EXPORT BRepApprox_TheComputeLineBezierOfApprox(const BRepApprox_TheMultiLineOfApprox& Line, const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT BRepApprox_TheComputeLineBezierOfApprox(const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT BRepApprox_TheComputeLineBezierOfApprox(const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT void Init (const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! runs the algorithm after having initialized the fields.
   Standard_EXPORT void Perform (const BRepApprox_TheMultiLineOfApprox& Line);
   
+  //! changes the degrees of the approximation.
   Standard_EXPORT void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax);
   
+  //! Changes the tolerances of the approximation.
   Standard_EXPORT void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d);
   
+  //! changes the first and the last constraint points.
   Standard_EXPORT void SetConstraints (const AppParCurves_Constraint firstC, const AppParCurves_Constraint lastC);
   
+  //! returns False if at a moment of the approximation,
+  //! the status NoApproximation has been sent by the user
+  //! when more points were needed.
   Standard_EXPORT Standard_Boolean IsAllApproximated() const;
   
+  //! returns False if the status NoPointsAdded has been sent.
   Standard_EXPORT Standard_Boolean IsToleranceReached() const;
   
+  //! returns the tolerances 2d and 3d of the <Index> MultiCurve.
   Standard_EXPORT void Error (const Standard_Integer Index, Standard_Real& tol3d, Standard_Real& tol2d) const;
   
+  //! Returns the number of MultiCurve doing the approximation
+  //! of the MultiLine.
   Standard_EXPORT Standard_Integer NbMultiCurves() const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT const AppParCurves_MultiCurve& Value (const Standard_Integer Index = 1) const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT AppParCurves_MultiCurve& ChangeValue (const Standard_Integer Index = 1);
   
+  //! returns the result of the approximation.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& SplineValue();
   
+  //! returns the type  of  parametrization
   Standard_EXPORT void Parametrization (Approx_ParametrizationType& partype) const;
   
+  //! returns the new parameters of the approximation
+  //! corresponding to the points of the multicurve <Index>.
   Standard_EXPORT const TColStd_Array1OfReal& Parameters (const Standard_Integer Index = 1) const;
 
 
@@ -102,10 +134,13 @@ protected:
 private:
 
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean Compute (const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer fpt, const Standard_Integer lpt, math_Vector& Para, Standard_Real& TheTol3d, Standard_Real& TheTol2d);
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean ComputeCurve (const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer firspt, const Standard_Integer lastpt);
   
+  //! computes new parameters between firstP and lastP.
   Standard_EXPORT void Parameters (const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer firstP, const Standard_Integer LastP, math_Vector& TheParameters) const;
   
   Standard_EXPORT Standard_Real SearchFirstLambda (const BRepApprox_TheMultiLineOfApprox& Line, const math_Vector& Para, const math_Vector& V, const Standard_Integer index) const;
index b48f01c..9e87875 100644 (file)
@@ -56,44 +56,86 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
+  //!
+  //! The multiplicities of the internal knots is set by
+  //! default.
   Standard_EXPORT BRepApprox_TheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-3, const Standard_Real Tolerance2d = 1.0e-6, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
+  //! If <Squares> is True, the computation will be done with
+  //! no iteration at all.
   Standard_EXPORT BRepApprox_TheComputeLineOfApprox(const BRepApprox_TheMultiLineOfApprox& Line, const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT BRepApprox_TheComputeLineOfApprox(const math_Vector& Parameters, const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Standard_Boolean Squares = Standard_False);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT BRepApprox_TheComputeLineOfApprox(const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! Constructs an interpolation of the MultiLine <Line>
+  //! The result will be a C2 curve of degree 3.
   Standard_EXPORT void Interpol (const BRepApprox_TheMultiLineOfApprox& Line);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT void Init (const Standard_Integer degreemin = 4, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-03, const Standard_Real Tolerance2d = 1.0e-06, const Standard_Integer NbIterations = 5, const Standard_Boolean cutting = Standard_True, const Approx_ParametrizationType parametrization = Approx_ChordLength, const Standard_Boolean Squares = Standard_False);
   
+  //! runs the algorithm after having initialized the fields.
   Standard_EXPORT void Perform (const BRepApprox_TheMultiLineOfApprox& Line);
   
+  //! The approximation will begin with the
+  //! set of  parameters <ThePar>.
   Standard_EXPORT void SetParameters (const math_Vector& ThePar);
   
+  //! The approximation will be done with the
+  //! set of knots <Knots>. The multiplicities will be set
+  //! with the degree and the desired continuity.
   Standard_EXPORT void SetKnots (const TColStd_Array1OfReal& Knots);
   
+  //! The approximation will be done with the
+  //! set of knots <Knots> and the multiplicities <Mults>.
   Standard_EXPORT void SetKnotsAndMultiplicities (const TColStd_Array1OfReal& Knots, const TColStd_Array1OfInteger& Mults);
   
+  //! changes the degrees of the approximation.
   Standard_EXPORT void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax);
   
+  //! Changes the tolerances of the approximation.
   Standard_EXPORT void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d);
   
+  //! sets the continuity of the spline.
+  //! if C = 2, the spline will be C2.
   Standard_EXPORT void SetContinuity (const Standard_Integer C);
   
+  //! changes the first and the last constraint points.
   Standard_EXPORT void SetConstraints (const AppParCurves_Constraint firstC, const AppParCurves_Constraint lastC);
   
+  //! returns False if at a moment of the approximation,
+  //! the status NoApproximation has been sent by the user
+  //! when more points were needed.
   Standard_EXPORT Standard_Boolean IsAllApproximated() const;
   
+  //! returns False if the status NoPointsAdded has been sent.
   Standard_EXPORT Standard_Boolean IsToleranceReached() const;
   
+  //! returns the tolerances 2d and 3d of the MultiBSpCurve.
   Standard_EXPORT void Error (Standard_Real& tol3d, Standard_Real& tol2d) const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT const AppParCurves_MultiBSpCurve& Value() const;
   
+  //! returns the result of the approximation.
   Standard_EXPORT AppParCurves_MultiBSpCurve& ChangeValue();
   
+  //! returns the new parameters of the approximation
+  //! corresponding to the points of the MultiBSpCurve.
   Standard_EXPORT const TColStd_Array1OfReal& Parameters() const;
 
 
@@ -108,10 +150,13 @@ protected:
 private:
 
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean Compute (const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer fpt, const Standard_Integer lpt, math_Vector& Para, const TColStd_Array1OfReal& Knots, TColStd_Array1OfInteger& Mults);
   
+  //! is internally used in the algorithm.
   Standard_EXPORT Standard_Boolean ComputeCurve (const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer firspt, const Standard_Integer lastpt);
   
+  //! computes new parameters between firstP and lastP.
   Standard_EXPORT void Parameters (const BRepApprox_TheMultiLineOfApprox& Line, const Standard_Integer firstP, const Standard_Integer LastP, math_Vector& TheParameters) const;
   
   Standard_EXPORT Standard_Real SearchFirstLambda (const BRepApprox_TheMultiLineOfApprox& Line, const math_Vector& Para, const TColStd_Array1OfReal& Knots, const math_Vector& V, const Standard_Integer index) const;
index b1e532d..8f652cd 100644 (file)
@@ -48,6 +48,7 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Raises Construction Error
   Standard_EXPORT BRepApprox_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfApprox();
   
   Standard_EXPORT BRepApprox_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfApprox(const BRepAdaptor_Surface& S1, const BRepAdaptor_Surface& S2);
@@ -64,6 +65,7 @@ public:
   
   Standard_EXPORT void ComputeParameters (const IntImp_ConstIsoparametric ChoixIso, const TColStd_Array1OfReal& Param, math_Vector& UVap, math_Vector& BornInf, math_Vector& BornSup, math_Vector& Tolerance);
   
+  //! returns somme des fi*fi
     Standard_Real Root() const;
   
     gp_Pnt Point() const;
index 6e4f176..d711bc0 100644 (file)
@@ -52,6 +52,7 @@ public:
   
   Standard_EXPORT BRepApprox_TheImpPrmSvSurfacesOfApprox(const IntSurf_Quadric& Surf1, const BRepAdaptor_Surface& Surf2);
   
+  //! returns True if Tg,Tguv1 Tguv2 can be computed.
   Standard_EXPORT Standard_Boolean Compute (Standard_Real& u1, Standard_Real& v1, Standard_Real& u2, Standard_Real& v2, gp_Pnt& Pt, gp_Vec& Tg, gp_Vec2d& Tguv1, gp_Vec2d& Tguv2);
   
   Standard_EXPORT void Pnt (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Pnt& P);
index 087c498..e2e8417 100644 (file)
@@ -50,32 +50,68 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Raises Construction Error
   Standard_EXPORT BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox();
   
+  //! compute the solution point with the close point
   Standard_EXPORT BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox(const TColStd_Array1OfReal& Param, const BRepAdaptor_Surface& S1, const BRepAdaptor_Surface& S2, const Standard_Real TolTangency);
   
+  //! initialize the parameters to compute the solution point
+  //! it 's possible to write to optimize:
+  //! IntImp_Int2S inter(S1,S2,Func,TolTangency);
+  //! math_FunctionSetRoot rsnld(inter.Function());
+  //! while ...{
+  //! Param(1)=...
+  //! Param(2)=...
+  //! param(3)=...
+  //! inter.Perform(Param,rsnld);
+  //! }
   Standard_EXPORT BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox(const BRepAdaptor_Surface& S1, const BRepAdaptor_Surface& S2, const Standard_Real TolTangency);
   
+  //! returns the best constant isoparametric to find
+  //! the next intersection's point +stores the solution
+  //! point (the solution point is found with the close point
+  //! to intersect the isoparametric with the other patch;
+  //! the choice of the isoparametic is calculated)
   Standard_EXPORT IntImp_ConstIsoparametric Perform (const TColStd_Array1OfReal& Param, math_FunctionSetRoot& Rsnld);
   
+  //! returns the best constant isoparametric to find
+  //! the next intersection's point +stores the solution
+  //! point (the solution point is found with the close point
+  //! to intersect the isoparametric with the other patch;
+  //! the choice of the isoparametic is given by ChoixIso)
   Standard_EXPORT IntImp_ConstIsoparametric Perform (const TColStd_Array1OfReal& Param, math_FunctionSetRoot& Rsnld, const IntImp_ConstIsoparametric ChoixIso);
   
+  //! Returns TRUE if the creation completed without failure.
     Standard_Boolean IsDone() const;
   
+  //! Returns TRUE when there is no solution to the problem.
     Standard_Boolean IsEmpty() const;
   
+  //! Returns the intersection point.
     const IntSurf_PntOn2S& Point() const;
   
+  //! Returns True if the surfaces are tangent at the
+  //! intersection point.
     Standard_Boolean IsTangent() const;
   
+  //! Returns the tangent at the intersection line.
     const gp_Dir& Direction() const;
   
+  //! Returns the tangent at the intersection line in the
+  //! parametric space of the first surface.
     const gp_Dir2d& DirectionOnS1() const;
   
+  //! Returns the tangent at the intersection line in the
+  //! parametric space of the second surface.
     const gp_Dir2d& DirectionOnS2() const;
   
+  //! return the math function which
+  //! is used to compute the intersection
     BRepApprox_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfApprox& Function();
   
+  //! return the intersection point which is
+  //! enable for changing.
     IntSurf_PntOn2S& ChangePoint();
 
 
index 7bbdd0c..8df99dd 100644 (file)
@@ -42,34 +42,59 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The  class   SvSurfaces     is used   when    the
+  //! approximation algorithm needs some extra points on
+  //! the line <line>. A New line  is then created which
+  //! shares  the    same  surfaces    and    functions.
+  //!
+  //! SvSurfaces is   a  deferred   class  which  allows
+  //! several implementations of  this  algorithm   with
+  //! different surfaces   (bi-parametric     ones,   or
+  //! implicit and biparametric ones)
   Standard_EXPORT BRepApprox_TheMultiLineOfApprox(const Handle(BRepApprox_ApproxLine)& line, const Standard_Address PtrSvSurfaces, const Standard_Integer NbP3d, const Standard_Integer NbP2d, const Standard_Real xo, const Standard_Real ax, const Standard_Real yo, const Standard_Real ay, const Standard_Real zo, const Standard_Real az, const Standard_Real u1o, const Standard_Real a1u, const Standard_Real v1o, const Standard_Real a1v, const Standard_Real u2o, const Standard_Real a2u, const Standard_Real v2o, const Standard_Real a2v, const Standard_Boolean P2DOnFirst, const Standard_Integer IndMin = 0, const Standard_Integer IndMax = 0);
   
+  //! No Extra points will be added on the current line
   Standard_EXPORT BRepApprox_TheMultiLineOfApprox(const Handle(BRepApprox_ApproxLine)& line, const Standard_Integer NbP3d, const Standard_Integer NbP2d, const Standard_Real xo, const Standard_Real ax, const Standard_Real yo, const Standard_Real ay, const Standard_Real zo, const Standard_Real az, const Standard_Real u1o, const Standard_Real a1u, const Standard_Real v1o, const Standard_Real a1v, const Standard_Real u2o, const Standard_Real a2u, const Standard_Real v2o, const Standard_Real a2v, const Standard_Boolean P2DOnFirst, const Standard_Integer IndMin = 0, const Standard_Integer IndMax = 0);
   
   Standard_EXPORT Standard_Integer FirstPoint() const;
   
   Standard_EXPORT Standard_Integer LastPoint() const;
   
+  //! Returns the number of 2d points of a TheLine.
   Standard_EXPORT Standard_Integer NbP2d() const;
   
+  //! Returns the number of 3d points of a TheLine.
   Standard_EXPORT Standard_Integer NbP3d() const;
   
   Standard_EXPORT Approx_Status WhatStatus() const;
   
+  //! returns the 3d points of the multipoint <MPointIndex>
+  //! when only 3d points exist.
   Standard_EXPORT void Value (const Standard_Integer MPointIndex, TColgp_Array1OfPnt& tabPt) const;
   
+  //! returns the 2d points of the multipoint <MPointIndex>
+  //! when only 2d points exist.
   Standard_EXPORT void Value (const Standard_Integer MPointIndex, TColgp_Array1OfPnt2d& tabPt2d) const;
   
+  //! returns the 3d and 2d points of the multipoint
+  //! <MPointIndex>.
   Standard_EXPORT void Value (const Standard_Integer MPointIndex, TColgp_Array1OfPnt& tabPt, TColgp_Array1OfPnt2d& tabPt2d) const;
   
+  //! returns the 3d points of the multipoint <MPointIndex>
+  //! when only 3d points exist.
   Standard_EXPORT Standard_Boolean Tangency (const Standard_Integer MPointIndex, TColgp_Array1OfVec& tabV) const;
   
+  //! returns the 2d tangency points of the multipoint
+  //! <MPointIndex> only when 2d points exist.
   Standard_EXPORT Standard_Boolean Tangency (const Standard_Integer MPointIndex, TColgp_Array1OfVec2d& tabV2d) const;
   
+  //! returns the 3d and 2d points of the multipoint
+  //! <MPointIndex>.
   Standard_EXPORT Standard_Boolean Tangency (const Standard_Integer MPointIndex, TColgp_Array1OfVec& tabV, TColgp_Array1OfVec2d& tabV2d) const;
   
   Standard_EXPORT BRepApprox_TheMultiLineOfApprox MakeMLBetween (const Standard_Integer Low, const Standard_Integer High, const Standard_Integer NbPointsToInsert) const;
   
+  //! Dump of the current multi-line.
   Standard_EXPORT void Dump() const;
 
 
index 6c9f9b3..4cceba1 100644 (file)
@@ -41,36 +41,60 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Returns the number of multipoints of the TheMultiLine.
     static Standard_Integer FirstPoint (const BRepApprox_TheMultiLineOfApprox& ML);
   
+  //! Returns the number of multipoints of the TheMultiLine.
     static Standard_Integer LastPoint (const BRepApprox_TheMultiLineOfApprox& ML);
   
+  //! Returns the number of 2d points of a TheMultiLine.
     static Standard_Integer NbP2d (const BRepApprox_TheMultiLineOfApprox& ML);
   
+  //! Returns the number of 3d points of a TheMultiLine.
     static Standard_Integer NbP3d (const BRepApprox_TheMultiLineOfApprox& ML);
   
+  //! returns the 3d points of the multipoint <MPointIndex>
+  //! when only 3d points exist.
     static void Value (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfPnt& tabPt);
   
+  //! returns the 2d points of the multipoint <MPointIndex>
+  //! when only 2d points exist.
     static void Value (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfPnt2d& tabPt2d);
   
+  //! returns the 3d and 2d points of the multipoint
+  //! <MPointIndex>.
     static void Value (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfPnt& tabPt, TColgp_Array1OfPnt2d& tabPt2d);
   
+  //! returns the 3d points of the multipoint <MPointIndex>
+  //! when only 3d points exist.
     static Standard_Boolean Tangency (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfVec& tabV);
   
+  //! returns the 2d tangency points of the multipoint
+  //! <MPointIndex> only when 2d points exist.
     static Standard_Boolean Tangency (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfVec2d& tabV2d);
   
+  //! returns the 3d and 2d points of the multipoint
+  //! <MPointIndex>.
     static Standard_Boolean Tangency (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfVec& tabV, TColgp_Array1OfVec2d& tabV2d);
   
+  //! returns the 3d curvature of the multipoint <MPointIndex>
+  //! when only 3d points exist.
     static Standard_Boolean Curvature (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfVec& tabV);
   
+  //! returns the 2d curvature points of the multipoint
+  //! <MPointIndex> only when 2d points exist.
     static Standard_Boolean Curvature (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfVec2d& tabV2d);
   
+  //! returns the 3d and 2d curvature of the multipoint
+  //! <MPointIndex>.
     static Standard_Boolean Curvature (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer MPointIndex, TColgp_Array1OfVec& tabV, TColgp_Array1OfVec2d& tabV2d);
   
+  //! Is called if WhatStatus returned "PointsAdded".
     static BRepApprox_TheMultiLineOfApprox MakeMLBetween (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer I1, const Standard_Integer I2, const Standard_Integer NbPMin);
   
     static Approx_Status WhatStatus (const BRepApprox_TheMultiLineOfApprox& ML, const Standard_Integer I1, const Standard_Integer I2);
   
+  //! Dump of the current multi-line.
   Standard_EXPORT static void Dump (const BRepApprox_TheMultiLineOfApprox& ML);
 
 
index dc7efe1..76a35d6 100644 (file)
@@ -49,6 +49,7 @@ public:
   
   Standard_EXPORT BRepApprox_ThePrmPrmSvSurfacesOfApprox(const BRepAdaptor_Surface& Surf1, const BRepAdaptor_Surface& Surf2);
   
+  //! returns True if Tg,Tguv1 Tguv2 can be computed.
   Standard_EXPORT Standard_Boolean Compute (Standard_Real& u1, Standard_Real& v1, Standard_Real& u2, Standard_Real& v2, gp_Pnt& Pt, gp_Vec& Tg, gp_Vec2d& Tguv1, gp_Vec2d& Tguv2);
   
   Standard_EXPORT void Pnt (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Pnt& P);
index c045382..e863ce2 100644 (file)
@@ -73,6 +73,8 @@ public:
   
     Standard_Real Root() const;
   
+  //! Returns the value Tol so that if Abs(Func.Root())<Tol
+  //! the function is considered null.
     Standard_Real Tolerance() const;
   
     const gp_Pnt& Point() const;
index 0e6b994..7e3cb6f 100644 (file)
@@ -58,16 +58,26 @@ public:
   
   Standard_EXPORT void Init (const Standard_Integer Degmin, const Standard_Integer Degmax, const Standard_Real Tol3d, const Standard_Real Tol2d, const Standard_Integer NbIt, const Standard_Boolean KnownParameters = Standard_False);
   
+  //! Define the type of parametrization used in the approximation
   Standard_EXPORT void SetParType (const Approx_ParametrizationType ParType);
   
+  //! Define the Continuity used in the approximation
   Standard_EXPORT void SetContinuity (const GeomAbs_Shape C);
   
+  //! define the Weights  associed to the criterium used in
+  //! the  optimization.
+  //!
+  //! if Wi <= 0
   Standard_EXPORT void SetCriteriumWeight (const Standard_Real W1, const Standard_Real W2, const Standard_Real W3);
   
+  //! returns the type of parametrization used in the approximation
   Standard_EXPORT Approx_ParametrizationType ParType() const;
   
+  //! returns the Continuity used in the approximation
   Standard_EXPORT GeomAbs_Shape Continuity() const;
   
+  //! returns the Weights (as percent) associed  to the criterium used in
+  //! the  optimization.
   Standard_EXPORT void CriteriumWeight (Standard_Real& W1, Standard_Real& W2, Standard_Real& W3) const;
   
   Standard_EXPORT void Perform (const Handle(BRepBlend_Line)& Lin, Blend_AppFunction& SecGen, const Standard_Boolean SpApprox = Standard_False);
index 734d114..974703c 100644 (file)
@@ -62,8 +62,10 @@ public:
   
   Standard_EXPORT BRepBlend_Walking(const Handle(Adaptor3d_HSurface)& Surf1, const Handle(Adaptor3d_HSurface)& Surf2, const Handle(Adaptor3d_TopolTool)& Domain1, const Handle(Adaptor3d_TopolTool)& Domain2, const Handle(ChFiDS_HElSpine)& HGuide);
   
+  //! To define different domains for control and clipping.
   Standard_EXPORT void SetDomainsToRecadre (const Handle(Adaptor3d_TopolTool)& RecDomain1, const Handle(Adaptor3d_TopolTool)& RecDomain2);
   
+  //! To define singular points computed before walking.
   Standard_EXPORT void AddSingularPoint (const Blend_Point& P);
   
   Standard_EXPORT void Perform (Blend_Function& F, Blend_FuncInv& FInv, const Standard_Real Pdep, const Standard_Real Pmax, const Standard_Real MaxStep, const Standard_Real TolGuide, const math_Vector& Soldep, const Standard_Real Tolesp, const Standard_Real Fleche, const Standard_Boolean Appro = Standard_False);
index 034d983..492066a 100644 (file)
@@ -43,20 +43,38 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Creates an undefined classifier.
   Standard_EXPORT BRepClass_FClass2dOfFClassifier();
   
+  //! Starts  a  classification process.   The  point to
+  //! classify is the origin of  the  line <L>.  <P>  is
+  //! the original length of the segment on <L>  used to
+  //! compute  intersections.   <Tol> is the   tolerance
+  //! attached to the line segment in intersections.
   Standard_EXPORT void Reset (const gp_Lin2d& L, const Standard_Real P, const Standard_Real Tol);
   
+  //! Updates  the classification process with  the edge
+  //! <E> from the boundary.
   Standard_EXPORT void Compare (const BRepClass_Edge& E, const TopAbs_Orientation Or);
   
+  //! Returns the current value of the parameter.
     Standard_Real Parameter() const;
   
+  //! Returns the intersecting algorithm.
     BRepClass_Intersector& Intersector();
   
+  //! Returns  0  if  the   last  compared   edge had no
+  //! relevant intersection.  Else returns  the index of
+  //! this   intersection  in the    last   intersection
+  //! algorithm.
     Standard_Integer ClosestIntersection() const;
   
+  //! Returns the current state of the point.
     TopAbs_State State() const;
   
+  //! Returns the Standard_True if the closest intersection point
+  //! represents head or end of the edge. Returns Standard_False
+  //! otherwise.
     Standard_Boolean IsHeadOrEnd() const;
 
 
index a0823b3..359d8f9 100644 (file)
@@ -43,22 +43,39 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Empty constructor, undefined algorithm.
   Standard_EXPORT BRepClass_FClassifier();
   
+  //! Creates an algorithm to classify the Point  P with
+  //! Tolerance <T> on the face described by <F>.
   Standard_EXPORT BRepClass_FClassifier(BRepClass_FaceExplorer& F, const gp_Pnt2d& P, const Standard_Real Tol);
   
+  //! Classify  the Point  P  with  Tolerance <T> on the
+  //! face described by <F>.
   Standard_EXPORT void Perform (BRepClass_FaceExplorer& F, const gp_Pnt2d& P, const Standard_Real Tol);
   
+  //! Returns the result of the classification.
   Standard_EXPORT TopAbs_State State() const;
   
+  //! Returns  True when  the   state was computed by  a
+  //! rejection. The state is OUT.
     Standard_Boolean Rejected() const;
   
+  //! Returns True if  the face  contains  no wire.  The
+  //! state is IN.
     Standard_Boolean NoWires() const;
   
+  //! Returns   the    Edge  used   to    determine  the
+  //! classification. When the State is ON  this  is the
+  //! Edge containing the point.
   Standard_EXPORT const BRepClass_Edge& Edge() const;
   
+  //! Returns the parameter on Edge() used to determine  the
+  //! classification.
   Standard_EXPORT Standard_Real EdgeParameter() const;
   
+  //! Returns the  position of  the   point on the  edge
+  //! returned by Edge.
     IntRes2d_Position Position() const;
 
 
index 38ac550..9063f70 100644 (file)
@@ -43,20 +43,38 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Creates an undefined classifier.
   Standard_EXPORT BRepClass_FacePassiveClassifier();
   
+  //! Starts  a  classification process.   The  point to
+  //! classify is the origin of  the  line <L>.  <P>  is
+  //! the original length of the segment on <L>  used to
+  //! compute  intersections.   <Tol> is the   tolerance
+  //! attached to the line segment in intersections.
   Standard_EXPORT void Reset (const gp_Lin2d& L, const Standard_Real P, const Standard_Real Tol);
   
+  //! Updates  the classification process with  the edge
+  //! <E> from the boundary.
   Standard_EXPORT void Compare (const BRepClass_Edge& E, const TopAbs_Orientation Or);
   
+  //! Returns the current value of the parameter.
     Standard_Real Parameter() const;
   
+  //! Returns the intersecting algorithm.
     BRepClass_Intersector& Intersector();
   
+  //! Returns  0  if  the   last  compared   edge had no
+  //! relevant intersection.  Else returns  the index of
+  //! this   intersection  in the    last   intersection
+  //! algorithm.
     Standard_Integer ClosestIntersection() const;
   
+  //! Returns the current state of the point.
     TopAbs_State State() const;
   
+  //! Returns the Standard_True if the closest intersection point
+  //! represents head or end of the edge. Returns Standard_False
+  //! otherwise.
     Standard_Boolean IsHeadOrEnd() const;
 
 
index a60d135..5692219 100644 (file)
@@ -42,18 +42,30 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Creates an undefined classifier.
   Standard_EXPORT BRepClass3d_SolidPassiveClassifier();
   
+  //! Starts  a  classification process.   The  point to
+  //! classify is the origin of  the  line <L>.  <P>  is
+  //! the original length of the segment on <L>  used to
+  //! compute  intersections.   <Tol> is the   tolerance
+  //! attached to the intersections.
   Standard_EXPORT void Reset (const gp_Lin& L, const Standard_Real P, const Standard_Real Tol);
   
+  //! Updates  the classification process with  the face
+  //! <F> from the boundary.
   Standard_EXPORT void Compare (const TopoDS_Face& F, const TopAbs_Orientation Or);
   
+  //! Returns the current value of the parameter.
     Standard_Real Parameter() const;
   
+  //! Returns True if an intersection is computed.
   Standard_EXPORT Standard_Boolean HasIntersection() const;
   
+  //! Returns the intersecting algorithm.
     BRepClass3d_Intersector3d& Intersector();
   
+  //! Returns the current state of the point.
     TopAbs_State State() const;
 
 
index 028e423..2b43800 100644 (file)
@@ -40,26 +40,43 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! The MultiLine <Line> will be approximated until tolerances
+  //! will be reached.
+  //! The approximation will be done from degreemin to degreemax
+  //! with a cutting if the corresponding boolean is True.
   Standard_EXPORT BRepFill_ComputeCLine(const BRepFill_MultiLine& Line, const Standard_Integer degreemin = 3, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-5, const Standard_Real Tolerance2d = 1.0e-5, const Standard_Boolean cutting = Standard_False, const AppParCurves_Constraint FirstC = AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC = AppParCurves_TangencyPoint);
   
+  //! Initializes the fields of the algorithm.
   Standard_EXPORT BRepFill_ComputeCLine(const Standard_Integer degreemin = 3, const Standard_Integer degreemax = 8, const Standard_Real Tolerance3d = 1.0e-05, const Standard_Real Tolerance2d = 1.0e-05, const Standard_Boolean cutting = Standard_False, const AppParCurves_Constraint FirstC = AppParCurves_TangencyPoint, const AppParCurves_Constraint LastC = AppParCurves_TangencyPoint);
   
+  //! runs the algorithm after having initialized the fields.
   Standard_EXPORT void Perform (const BRepFill_MultiLine& Line);
   
+  //! changes the degrees of the approximation.
   Standard_EXPORT void SetDegrees (const Standard_Integer degreemin, const Standard_Integer degreemax);
   
+  //! Changes the tolerances of the approximation.
   Standard_EXPORT void SetTolerances (const Standard_Real Tolerance3d, const Standard_Real Tolerance2d);
   
+  //! Changes the constraints of the approximation.
   Standard_EXPORT void SetConstraints (const AppParCurves_Constraint FirstC, const AppParCurves_Constraint LastC);
   
+  //! returns False if at a moment of the approximation,
+  //! the status NoApproximation has been sent by the user
+  //! when more points were needed.
   Standard_EXPORT Standard_Boolean IsAllApproximated() const;
   
+  //! returns False if the status NoPointsAdded has been sent.
   Standard_EXPORT Standard_Boolean IsToleranceReached() const;
   
+  //! returns the tolerances 2d and 3d of the <Index> MultiCurve.
   Standard_EXPORT void Error (const Standard_Integer Index, Standard_Real& tol3d, Standard_Real& tol2d) const;
   
+  //! Returns the number of MultiCurve doing the approximation
+  //! of the MultiLine.
   Standard_EXPORT Standard_Integer NbMultiCurves() const;
   
+  //! returns the approximation MultiCurve of range <Index>.
   Standard_EXPORT AppParCurves_MultiCurve Value (const Standard_Integer Index = 1) const;
   
   Standard_EXPORT void Parameters (const Standard_Integer Index, Standard_Real& firstp, Standard_Real& lastp) const;
@@ -76,6 +93,7 @@ protected:
 private:
 
   
+  //! is internally used by the algorithms.
   Standard_EXPORT Standard_Boolean Compute (const BRepFill_MultiLine& Line, const Standard_Real Ufirst, const Standard_Real Ulast, Standard_Real& TheTol3d, Standard_Real& TheTol2d);
 
 
index a0c85fd..7503ed5 100644 (file)
@@ -48,32 +48,68 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Initializes the local properties of the curve <C>
+  //! The current point and the derivatives are
+  //! computed at the same time, which allows an
+  //! optimization of the computation time.
+  //! <N> indicates the maximum number of derivations to
+  //! be done (0, 1, 2 or 3). For example, to compute
+  //! only the tangent, N should be equal to 1.
+  //! <Resolution> is the linear tolerance (it is used to test
+  //! if a vector is null).
   Standard_EXPORT BRepLProp_CLProps(const BRepAdaptor_Curve& C, const Standard_Integer N, const Standard_Real Resolution);
   
+  //! Same as previous constructor but here the parameter is
+  //! set to the value <U>.
+  //! All the computations done will be related to <C> and <U>.
   Standard_EXPORT BRepLProp_CLProps(const BRepAdaptor_Curve& C, const Standard_Real U, const Standard_Integer N, const Standard_Real Resolution);
   
+  //! Same as previous constructor but here the parameter is
+  //! set to the value <U> and the curve is set
+  //! with SetCurve.
+  //! the curve can have a empty constructor
+  //! All the computations done will be related to <C> and <U>
+  //! when the functions "set" will be done.
   Standard_EXPORT BRepLProp_CLProps(const Standard_Integer N, const Standard_Real Resolution);
   
+  //! Initializes the local properties of the curve
+  //! for the parameter value <U>.
   Standard_EXPORT void SetParameter (const Standard_Real U);
   
+  //! Initializes the local properties of the curve
+  //! for the new curve.
   Standard_EXPORT void SetCurve (const BRepAdaptor_Curve& C);
   
+  //! Returns the Point.
   Standard_EXPORT const gp_Pnt& Value() const;
   
+  //! Returns the first derivative.
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& D1();
   
+  //! Returns the second derivative.
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& D2();
   
+  //! Returns the third derivative.
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& D3();
   
+  //! Returns True if the tangent is defined.
+  //! For example, the tangent is not defined if the
+  //! three first derivatives are all null.
   Standard_EXPORT Standard_Boolean IsTangentDefined();
   
+  //! output  the tangent direction <D>
   Standard_EXPORT void Tangent (gp_Dir& D);
   
+  //! Returns the curvature.
   Standard_EXPORT Standard_Real Curvature();
   
+  //! Returns the normal direction <N>.
   Standard_EXPORT void Normal (gp_Dir& N);
   
+  //! Returns the centre of curvature <P>.
   Standard_EXPORT void CentreOfCurvature (gp_Pnt& P);
 
 
index 3b0a1eb..ff836ad 100644 (file)
@@ -48,52 +48,101 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Initializes the local properties of the surface <S>
+  //! for the parameter values (<U>, <V>).
+  //! The current point and the derivatives are
+  //! computed at the same time, which allows an
+  //! optimization of the computation time.
+  //! <N> indicates the maximum number of derivations to
+  //! be done (0, 1, or 2). For example, to compute
+  //! only the tangent, N should be equal to 1.
+  //! <Resolution> is the linear tolerance (it is used to test
+  //! if a vector is null).
   Standard_EXPORT BRepLProp_SLProps(const BRepAdaptor_Surface& S, const Standard_Real U, const Standard_Real V, const Standard_Integer N, const Standard_Real Resolution);
   
+  //! idem as previous constructor but without setting the value
+  //! of parameters <U> and <V>.
   Standard_EXPORT BRepLProp_SLProps(const BRepAdaptor_Surface& S, const Standard_Integer N, const Standard_Real Resolution);
   
+  //! idem as previous constructor but without setting the value
+  //! of parameters <U> and <V> and the surface.
+  //! the surface can have an empty constructor.
   Standard_EXPORT BRepLProp_SLProps(const Standard_Integer N, const Standard_Real Resolution);
   
+  //! Initializes the local properties of the surface S
+  //! for the new surface.
   Standard_EXPORT void SetSurface (const BRepAdaptor_Surface& S);
   
+  //! Initializes the local properties of the surface S
+  //! for the new parameter values (<U>, <V>).
   Standard_EXPORT void SetParameters (const Standard_Real U, const Standard_Real V);
   
+  //! Returns the point.
   Standard_EXPORT const gp_Pnt& Value() const;
   
+  //! Returns the first U derivative.
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& D1U();
   
+  //! Returns the first V derivative.
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& D1V();
   
+  //! Returns the second U derivatives
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& D2U();
   
+  //! Returns the second V derivative.
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& D2V();
   
+  //! Returns the second UV cross-derivative.
+  //! The derivative is computed if it has not been yet.
   Standard_EXPORT const gp_Vec& DUV();
   
+  //! returns True if the U tangent is defined.
+  //! For example, the tangent is not defined if the
+  //! two first U derivatives are null.
   Standard_EXPORT Standard_Boolean IsTangentUDefined();
   
+  //! Returns the tangent direction <D> on the iso-V.
   Standard_EXPORT void TangentU (gp_Dir& D);
   
+  //! returns if the V tangent is defined.
+  //! For example, the tangent is not defined if the
+  //! two first V derivatives are null.
   Standard_EXPORT Standard_Boolean IsTangentVDefined();
   
+  //! Returns the tangent direction <D> on the iso-V.
   Standard_EXPORT void TangentV (gp_Dir& D);
   
+  //! Tells if the normal is defined.
   Standard_EXPORT Standard_Boolean IsNormalDefined();
   
+  //! Returns the normal direction.
   Standard_EXPORT const gp_Dir& Normal();
   
+  //! returns True if the curvature is defined.
   Standard_EXPORT Standard_Boolean IsCurvatureDefined();
   
+  //! returns True if the point is umbilic (i.e. if the
+  //! curvature is constant).
   Standard_EXPORT Standard_Boolean IsUmbilic();
   
+  //! Returns the maximum curvature
   Standard_EXPORT Standard_Real MaxCurvature();
   
+  //! Returns the minimum curvature
   Standard_EXPORT Standard_Real MinCurvature();
   
+  //! Returns the direction of the maximum and minimum curvature
+  //! <MaxD> and <MinD>
   Standard_EXPORT void CurvatureDirections (gp_Dir& MaxD, gp_Dir& MinD);
   
+  //! Returns the mean curvature.
   Standard_EXPORT Standard_Real MeanCurvature();
   
+  //! Returns the Gaussian curvature
   Standard_EXPORT Standard_Real GaussianCurvature();
 
 
index 40bd192..3a342d7 100644 (file)
@@ -39,16 +39,24 @@ class BiTgte_HCurveOnEdge : public Adaptor3d_HCurve
 public:
 
   
+  //! Creates an empty GenHCurve.
   Standard_EXPORT BiTgte_HCurveOnEdge();
   
+  //! Creates a GenHCurve from a Curve
   Standard_EXPORT BiTgte_HCurveOnEdge(const BiTgte_CurveOnEdge& C);
   
+  //! Sets the field of the GenHCurve.
   Standard_EXPORT void Set (const BiTgte_CurveOnEdge& C);
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT const Adaptor3d_Curve& Curve() const;
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT Adaptor3d_Curve& GetCurve();
   
+  //! Returns the curve used to create the GenHCurve.
     BiTgte_CurveOnEdge& ChangeCurve();
 
 
index e0da42b..dd11d7f 100644 (file)
@@ -39,16 +39,24 @@ class BiTgte_HCurveOnVertex : public Adaptor3d_HCurve
 public:
 
   
+  //! Creates an empty GenHCurve.
   Standard_EXPORT BiTgte_HCurveOnVertex();
   
+  //! Creates a GenHCurve from a Curve
   Standard_EXPORT BiTgte_HCurveOnVertex(const BiTgte_CurveOnVertex& C);
   
+  //! Sets the field of the GenHCurve.
   Standard_EXPORT void Set (const BiTgte_CurveOnVertex& C);
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT const Adaptor3d_Curve& Curve() const;
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT Adaptor3d_Curve& GetCurve();
   
+  //! Returns the curve used to create the GenHCurve.
     BiTgte_CurveOnVertex& ChangeCurve();
 
 
index f546ae1..42b4908 100644 (file)
@@ -38,50 +38,93 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Empty constructor.
     Bnd_B2d();
   
+  //! Constructor.
     Bnd_B2d(const gp_XY& theCenter, const gp_XY& theHSize);
   
+  //! Returns True if the box is void (non-initialized).
     Standard_Boolean IsVoid() const;
   
+  //! Reset the box data.
     void Clear();
   
+  //! Update the box by a point.
   Standard_EXPORT void Add (const gp_XY& thePnt);
   
+  //! Update the box by a point.
   Standard_EXPORT void Add (const gp_Pnt2d& thePnt);
   
+  //! Update the box by another box.
     void Add (const Bnd_B2d& theBox);
   
+  //! Query a box corner: (Center - HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XY CornerMin() const;
   
+  //! Query a box corner: (Center + HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XY CornerMax() const;
   
+  //! Query the square diagonal. If the box is VOID (see method IsVoid())
+  //! then a very big real value is returned.
     Standard_Real SquareExtent() const;
   
+  //! Extend the Box by the absolute value of theDiff.
     void Enlarge (const Standard_Real theDiff);
   
+  //! Limit the Box by the internals of theOtherBox.
+  //! Returns True if the limitation takes place, otherwise False
+  //! indicating that the boxes do not intersect.
   Standard_EXPORT Standard_Boolean Limit (const Bnd_B2d& theOtherBox);
   
+  //! Transform the bounding box with the given transformation.
+  //! The resulting box will be larger if theTrsf contains rotation.
   Standard_EXPORT Bnd_B2d Transformed (const gp_Trsf2d& theTrsf) const;
   
+  //! Check the given point for the inclusion in the Box.
+  //! Returns True if the point is outside.
     Standard_Boolean IsOut (const gp_XY& thePnt) const;
   
+  //! Check a circle for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
   Standard_EXPORT Standard_Boolean IsOut (const gp_XY& theCenter, const Standard_Real theRadius, const Standard_Boolean isCircleHollow = Standard_False) const;
   
+  //! Check the given box for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
     Standard_Boolean IsOut (const Bnd_B2d& theOtherBox) const;
   
+  //! Check the given box oriented by the given transformation
+  //! for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
   Standard_EXPORT Standard_Boolean IsOut (const Bnd_B2d& theOtherBox, const gp_Trsf2d& theTrsf) const;
   
+  //! Check the given Line for the intersection with the current box.
+  //! Returns True if there is no intersection.
   Standard_EXPORT Standard_Boolean IsOut (const gp_Ax2d& theLine) const;
   
+  //! Check the Segment defined by the couple of input points
+  //! for the intersection with the current box.
+  //! Returns True if there is no intersection.
   Standard_EXPORT Standard_Boolean IsOut (const gp_XY& theP0, const gp_XY& theP1) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'. Returns
+  //! True if 'this' box is fully inside 'theBox'.
     Standard_Boolean IsIn (const Bnd_B2d& theBox) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'
+  //! transformed by 'theTrsf'. Returns True if 'this' box is fully
+  //! inside the transformed 'theBox'.
   Standard_EXPORT Standard_Boolean IsIn (const Bnd_B2d& theBox, const gp_Trsf2d& theTrsf) const;
   
+  //! Set the Center coordinates
     void SetCenter (const gp_XY& theCenter);
   
+  //! Set the HSize (half-diagonal) coordinates.
+  //! All components of theHSize must be non-negative.
     void SetHSize (const gp_XY& theHSize);
 
 
index b8b4d29..6ff24f3 100644 (file)
@@ -39,50 +39,93 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Empty constructor.
     Bnd_B2f();
   
+  //! Constructor.
     Bnd_B2f(const gp_XY& theCenter, const gp_XY& theHSize);
   
+  //! Returns True if the box is void (non-initialized).
     Standard_Boolean IsVoid() const;
   
+  //! Reset the box data.
     void Clear();
   
+  //! Update the box by a point.
   Standard_EXPORT void Add (const gp_XY& thePnt);
   
+  //! Update the box by a point.
   Standard_EXPORT void Add (const gp_Pnt2d& thePnt);
   
+  //! Update the box by another box.
     void Add (const Bnd_B2f& theBox);
   
+  //! Query a box corner: (Center - HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XY CornerMin() const;
   
+  //! Query a box corner: (Center + HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XY CornerMax() const;
   
+  //! Query the square diagonal. If the box is VOID (see method IsVoid())
+  //! then a very big real value is returned.
     Standard_Real SquareExtent() const;
   
+  //! Extend the Box by the absolute value of theDiff.
     void Enlarge (const Standard_Real theDiff);
   
+  //! Limit the Box by the internals of theOtherBox.
+  //! Returns True if the limitation takes place, otherwise False
+  //! indicating that the boxes do not intersect.
   Standard_EXPORT Standard_Boolean Limit (const Bnd_B2f& theOtherBox);
   
+  //! Transform the bounding box with the given transformation.
+  //! The resulting box will be larger if theTrsf contains rotation.
   Standard_EXPORT Bnd_B2f Transformed (const gp_Trsf2d& theTrsf) const;
   
+  //! Check the given point for the inclusion in the Box.
+  //! Returns True if the point is outside.
     Standard_Boolean IsOut (const gp_XY& thePnt) const;
   
+  //! Check a circle for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
   Standard_EXPORT Standard_Boolean IsOut (const gp_XY& theCenter, const Standard_Real theRadius, const Standard_Boolean isCircleHollow = Standard_False) const;
   
+  //! Check the given box for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
     Standard_Boolean IsOut (const Bnd_B2f& theOtherBox) const;
   
+  //! Check the given box oriented by the given transformation
+  //! for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
   Standard_EXPORT Standard_Boolean IsOut (const Bnd_B2f& theOtherBox, const gp_Trsf2d& theTrsf) const;
   
+  //! Check the given Line for the intersection with the current box.
+  //! Returns True if there is no intersection.
   Standard_EXPORT Standard_Boolean IsOut (const gp_Ax2d& theLine) const;
   
+  //! Check the Segment defined by the couple of input points
+  //! for the intersection with the current box.
+  //! Returns True if there is no intersection.
   Standard_EXPORT Standard_Boolean IsOut (const gp_XY& theP0, const gp_XY& theP1) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'. Returns
+  //! True if 'this' box is fully inside 'theBox'.
     Standard_Boolean IsIn (const Bnd_B2f& theBox) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'
+  //! transformed by 'theTrsf'. Returns True if 'this' box is fully
+  //! inside the transformed 'theBox'.
   Standard_EXPORT Standard_Boolean IsIn (const Bnd_B2f& theBox, const gp_Trsf2d& theTrsf) const;
   
+  //! Set the Center coordinates
     void SetCenter (const gp_XY& theCenter);
   
+  //! Set the HSize (half-diagonal) coordinates.
+  //! All components of theHSize must be non-negative.
     void SetHSize (const gp_XY& theHSize);
 
 
index c4e4e1e..feab75b 100644 (file)
@@ -39,50 +39,99 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Empty constructor.
     Bnd_B3d();
   
+  //! Constructor.
     Bnd_B3d(const gp_XYZ& theCenter, const gp_XYZ& theHSize);
   
+  //! Returns True if the box is void (non-initialized).
     Standard_Boolean IsVoid() const;
   
+  //! Reset the box data.
     void Clear();
   
+  //! Update the box by a point.
   Standard_EXPORT void Add (const gp_XYZ& thePnt);
   
+  //! Update the box by a point.
     void Add (const gp_Pnt& thePnt);
   
+  //! Update the box by another box.
     void Add (const Bnd_B3d& theBox);
   
+  //! Query the lower corner: (Center - HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XYZ CornerMin() const;
   
+  //! Query the upper corner: (Center + HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XYZ CornerMax() const;
   
+  //! Query the square diagonal. If the box is VOID (see method IsVoid())
+  //! then a very big real value is returned.
     Standard_Real SquareExtent() const;
   
+  //! Extend the Box by the absolute value of theDiff.
     void Enlarge (const Standard_Real theDiff);
   
+  //! Limit the Box by the internals of theOtherBox.
+  //! Returns True if the limitation takes place, otherwise False
+  //! indicating that the boxes do not intersect.
   Standard_EXPORT Standard_Boolean Limit (const Bnd_B3d& theOtherBox);
   
+  //! Transform the bounding box with the given transformation.
+  //! The resulting box will be larger if theTrsf contains rotation.
   Standard_EXPORT Bnd_B3d Transformed (const gp_Trsf& theTrsf) const;
   
+  //! Check the given point for the inclusion in the Box.
+  //! Returns True if the point is outside.
     Standard_Boolean IsOut (const gp_XYZ& thePnt) const;
   
+  //! Check a sphere for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes. If the
+  //! parameter 'IsSphereHollow' is True, then the intersection is not
+  //! reported for a box that is completely inside the sphere (otherwise
+  //! this method would report an intersection).
   Standard_EXPORT Standard_Boolean IsOut (const gp_XYZ& theCenter, const Standard_Real theRadius, const Standard_Boolean isSphereHollow = Standard_False) const;
   
+  //! Check the given box for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
     Standard_Boolean IsOut (const Bnd_B3d& theOtherBox) const;
   
+  //! Check the given box oriented by the given transformation
+  //! for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
   Standard_EXPORT Standard_Boolean IsOut (const Bnd_B3d& theOtherBox, const gp_Trsf& theTrsf) const;
   
+  //! Check the given Line for the intersection with the current box.
+  //! Returns True if there is no intersection.
+  //! isRay==True means intersection check with the positive half-line
+  //! theOverthickness is the addition to the size of the current box
+  //! (may be negative). If positive, it can be treated as the thickness
+  //! of the line 'theLine' or the radius of the cylinder along 'theLine'
   Standard_EXPORT Standard_Boolean IsOut (const gp_Ax1& theLine, const Standard_Boolean isRay = Standard_False, const Standard_Real theOverthickness = 0.0) const;
   
+  //! Check the given Plane for the intersection with the current box.
+  //! Returns True if there is no intersection.
   Standard_EXPORT Standard_Boolean IsOut (const gp_Ax3& thePlane) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'. Returns
+  //! True if 'this' box is fully inside 'theBox'.
     Standard_Boolean IsIn (const Bnd_B3d& theBox) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'
+  //! transformed by 'theTrsf'. Returns True if 'this' box is fully
+  //! inside the transformed 'theBox'.
   Standard_EXPORT Standard_Boolean IsIn (const Bnd_B3d& theBox, const gp_Trsf& theTrsf) const;
   
+  //! Set the Center coordinates
     void SetCenter (const gp_XYZ& theCenter);
   
+  //! Set the HSize (half-diagonal) coordinates.
+  //! All components of theHSize must be non-negative.
     void SetHSize (const gp_XYZ& theHSize);
 
 
index cb1f49a..f0a86a2 100644 (file)
@@ -40,50 +40,99 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Empty constructor.
     Bnd_B3f();
   
+  //! Constructor.
     Bnd_B3f(const gp_XYZ& theCenter, const gp_XYZ& theHSize);
   
+  //! Returns True if the box is void (non-initialized).
     Standard_Boolean IsVoid() const;
   
+  //! Reset the box data.
     void Clear();
   
+  //! Update the box by a point.
   Standard_EXPORT void Add (const gp_XYZ& thePnt);
   
+  //! Update the box by a point.
     void Add (const gp_Pnt& thePnt);
   
+  //! Update the box by another box.
     void Add (const Bnd_B3f& theBox);
   
+  //! Query the lower corner: (Center - HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XYZ CornerMin() const;
   
+  //! Query the upper corner: (Center + HSize). You must make sure that
+  //! the box is NOT VOID (see IsVoid()), otherwise the method returns
+  //! irrelevant result.
     gp_XYZ CornerMax() const;
   
+  //! Query the square diagonal. If the box is VOID (see method IsVoid())
+  //! then a very big real value is returned.
     Standard_Real SquareExtent() const;
   
+  //! Extend the Box by the absolute value of theDiff.
     void Enlarge (const Standard_Real theDiff);
   
+  //! Limit the Box by the internals of theOtherBox.
+  //! Returns True if the limitation takes place, otherwise False
+  //! indicating that the boxes do not intersect.
   Standard_EXPORT Standard_Boolean Limit (const Bnd_B3f& theOtherBox);
   
+  //! Transform the bounding box with the given transformation.
+  //! The resulting box will be larger if theTrsf contains rotation.
   Standard_EXPORT Bnd_B3f Transformed (const gp_Trsf& theTrsf) const;
   
+  //! Check the given point for the inclusion in the Box.
+  //! Returns True if the point is outside.
     Standard_Boolean IsOut (const gp_XYZ& thePnt) const;
   
+  //! Check a sphere for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes. If the
+  //! parameter 'IsSphereHollow' is True, then the intersection is not
+  //! reported for a box that is completely inside the sphere (otherwise
+  //! this method would report an intersection).
   Standard_EXPORT Standard_Boolean IsOut (const gp_XYZ& theCenter, const Standard_Real theRadius, const Standard_Boolean isSphereHollow = Standard_False) const;
   
+  //! Check the given box for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
     Standard_Boolean IsOut (const Bnd_B3f& theOtherBox) const;
   
+  //! Check the given box oriented by the given transformation
+  //! for the intersection with the current box.
+  //! Returns True if there is no intersection between boxes.
   Standard_EXPORT Standard_Boolean IsOut (const Bnd_B3f& theOtherBox, const gp_Trsf& theTrsf) const;
   
+  //! Check the given Line for the intersection with the current box.
+  //! Returns True if there is no intersection.
+  //! isRay==True means intersection check with the positive half-line
+  //! theOverthickness is the addition to the size of the current box
+  //! (may be negative). If positive, it can be treated as the thickness
+  //! of the line 'theLine' or the radius of the cylinder along 'theLine'
   Standard_EXPORT Standard_Boolean IsOut (const gp_Ax1& theLine, const Standard_Boolean isRay = Standard_False, const Standard_Real theOverthickness = 0.0) const;
   
+  //! Check the given Plane for the intersection with the current box.
+  //! Returns True if there is no intersection.
   Standard_EXPORT Standard_Boolean IsOut (const gp_Ax3& thePlane) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'. Returns
+  //! True if 'this' box is fully inside 'theBox'.
     Standard_Boolean IsIn (const Bnd_B3f& theBox) const;
   
+  //! Check that the box 'this' is inside the given box 'theBox'
+  //! transformed by 'theTrsf'. Returns True if 'this' box is fully
+  //! inside the transformed 'theBox'.
   Standard_EXPORT Standard_Boolean IsIn (const Bnd_B3f& theBox, const gp_Trsf& theTrsf) const;
   
+  //! Set the Center coordinates
     void SetCenter (const gp_XYZ& theCenter);
   
+  //! Set the HSize (half-diagonal) coordinates.
+  //! All components of theHSize must be non-negative.
     void SetHSize (const gp_XYZ& theHSize);
 
 
index fa999cc..5745682 100644 (file)
@@ -39,16 +39,24 @@ class ChFiDS_HElSpine : public Adaptor3d_HCurve
 public:
 
   
+  //! Creates an empty GenHCurve.
   Standard_EXPORT ChFiDS_HElSpine();
   
+  //! Creates a GenHCurve from a Curve
   Standard_EXPORT ChFiDS_HElSpine(const ChFiDS_ElSpine& C);
   
+  //! Sets the field of the GenHCurve.
   Standard_EXPORT void Set (const ChFiDS_ElSpine& C);
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT const Adaptor3d_Curve& Curve() const;
   
+  //! Returns the curve used to create the GenHCurve.
+  //! This is redefined from HCurve, cannot be inline.
   Standard_EXPORT Adaptor3d_Curve& GetCurve();
   
+  //! Returns the curve used to create the GenHCurve.
     ChFiDS_ElSpine& ChangeCurve();
 
 
index d5128aa..7ace1d6 100644 (file)
@@ -37,60 +37,209 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Constructs an empty sequence.
+  //! Use:
+  //! -   the function Append or Prepend to add an item or
+  //! a collection of items at the end, or at the beginning of the sequence,
+  //! -   the function InsertAfter or InsertBefore to add an
+  //! item or a collection of items at any position in the sequence,
+  //! -   operator() or the function SetValue to assign a
+  //! new value to an item of the sequence,
+  //! -   operator() to read an item of the sequence,
+  //! -   the function Remove to remove an item at any
+  //! position in the sequence.
+  //! Warning
+  //! To copy a sequence, you must explicitly call the
+  //! assignment operator (operator=).
     Contap_SequenceOfIWLineOfTheIWalking();
   
+  //! Creation by copy of existing Sequence.
   Standard_EXPORT Contap_SequenceOfIWLineOfTheIWalking(const Contap_SequenceOfIWLineOfTheIWalking& Other);
   
+  //! Removes all element(s) of the sequence <me>
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = ()
   Standard_EXPORT void Clear();
 ~Contap_SequenceOfIWLineOfTheIWalking()
 {
   Clear();
 }
   
+  //! Copies the contents of the sequence Other into this sequence.
+  //! If this sequence is not empty, it is automatically cleared before the copy.
   Standard_EXPORT const Contap_SequenceOfIWLineOfTheIWalking& Assign (const Contap_SequenceOfIWLineOfTheIWalking& Other);
 const Contap_SequenceOfIWLineOfTheIWalking& operator = (const Contap_SequenceOfIWLineOfTheIWalking& Other)
 {
   return Assign(Other);
 }
   
+  //! Appends <T> at the end of <me>.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C T)
   Standard_EXPORT void Append (const Handle(Contap_TheIWLineOfTheIWalking)& T);
   
+  //! Concatenates <S> at the end of <me>.
+  //! <S> is cleared.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! S  = (D E F)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void Append (Contap_SequenceOfIWLineOfTheIWalking& S);
   
+  //! Add <T> at the beginning of <me>.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (T A B C )
   Standard_EXPORT void Prepend (const Handle(Contap_TheIWLineOfTheIWalking)& T);
   
+  //! Concatenates <S> at the beginning of <me>.
+  //! <S> is cleared.
+  //! Example:
+  //! before
+  //! me = (A B C) S =  (D E F)
+  //! after me = (D E F A B C)
+  //! S = ()
     void Prepend (Contap_SequenceOfIWLineOfTheIWalking& S);
   
+  //! Inserts  <T> in  <me>  before the position <Index>.
+  //! Raises an exception if the index is out of bounds.
+  //! Example:
+  //! before
+  //! me = (A B D), Index = 3, T = C
+  //! after
+  //! me = (A B C D )
     void InsertBefore (const Standard_Integer Index, const Handle(Contap_TheIWLineOfTheIWalking)& T);
   
+  //! Inserts the  sequence <S>  in  <me> before
+  //! the position <Index>. <S> is cleared.
+  //! Raises an exception if the index is out of bounds
+  //! Example:
+  //! before
+  //! me = (A B F), Index = 3, S = (C D E)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void InsertBefore (const Standard_Integer Index, Contap_SequenceOfIWLineOfTheIWalking& S);
   
+  //! Inserts  <T>  in  <me> after the  position <Index>.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3, T = D
+  //! after
+  //! me = (A B C D)
   Standard_EXPORT void InsertAfter (const Standard_Integer Index, const Handle(Contap_TheIWLineOfTheIWalking)& T);
   
+  //! Inserts the sequence <S> in <me> after the
+  //! position <Index>. <S> is cleared.
+  //! Raises an exception if the index is out of bound.
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3, S = (D E F)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void InsertAfter (const Standard_Integer Index, Contap_SequenceOfIWLineOfTheIWalking& S);
   
+  //! Returns the first element of the sequence <me>
+  //! Raises an exception if the sequence is empty.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C)
+  //! returns A
   Standard_EXPORT const Handle(Contap_TheIWLineOfTheIWalking)& First() const;
   
+  //! Returns the last element of the sequence <me>
+  //! Raises an exception if the sequence is empty.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C)
+  //! returns C
   Standard_EXPORT const Handle(Contap_TheIWLineOfTheIWalking)& Last() const;
   
+  //! Keeps in <me> the items 1 to <Index>-1 and
+  //! puts  in  <Sub> the  items <Index>  to the end.
+  //! Example:
+  //! before
+  //! me = (A B C D) ,Index = 3
+  //! after
+  //! me  = (A B)
+  //! Sub = (C D)
     void Split (const Standard_Integer Index, Contap_SequenceOfIWLineOfTheIWalking& Sub);
   
+  //! Returns  the Item  at position <Index>  in <me>.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1
+  //! after
+  //! me = (A B C)
+  //! returns
+  //! A
   Standard_EXPORT const Handle(Contap_TheIWLineOfTheIWalking)& Value (const Standard_Integer Index) const;
 const Handle(Contap_TheIWLineOfTheIWalking)& operator() (const Standard_Integer Index) const
 {
   return Value(Index);
 }
   
+  //! Changes the item at position <Index>
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1, Item = D
+  //! after
+  //! me = (D B C)
   Standard_EXPORT void SetValue (const Standard_Integer Index, const Handle(Contap_TheIWLineOfTheIWalking)& I);
   
+  //! Returns  the Item  at position <Index>  in
+  //! <me>. This method  may  be  used to modify
+  //! <me> : S.Value(Index) = Item.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1
+  //! after
+  //! me = (A B C)
+  //! returns
+  //! A
   Standard_EXPORT Handle(Contap_TheIWLineOfTheIWalking)& ChangeValue (const Standard_Integer Index);
 Handle(Contap_TheIWLineOfTheIWalking)& operator() (const Standard_Integer Index)
 {
   return ChangeValue(Index);
 }
   
+  //! Removes  from  <me> the  item at  position <Index>.
+  //! Raises an exception if the index is out of bounds
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3
+  //! after
+  //! me = (A B)
   Standard_EXPORT void Remove (const Standard_Integer Index);
   
+  //! Removes  from  <me>    all  the  items  of
+  //! positions between <FromIndex> and <ToIndex>.
+  //! Raises an exception if the indices are out of bounds.
+  //! Example:
+  //! before
+  //! me = (A B C D E F), FromIndex = 1 ToIndex = 3
+  //! after
+  //! me = (D E F)
   Standard_EXPORT void Remove (const Standard_Integer FromIndex, const Standard_Integer ToIndex);
 
 
index e546228..d25d1b4 100644 (file)
@@ -37,60 +37,209 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Constructs an empty sequence.
+  //! Use:
+  //! -   the function Append or Prepend to add an item or
+  //! a collection of items at the end, or at the beginning of the sequence,
+  //! -   the function InsertAfter or InsertBefore to add an
+  //! item or a collection of items at any position in the sequence,
+  //! -   operator() or the function SetValue to assign a
+  //! new value to an item of the sequence,
+  //! -   operator() to read an item of the sequence,
+  //! -   the function Remove to remove an item at any
+  //! position in the sequence.
+  //! Warning
+  //! To copy a sequence, you must explicitly call the
+  //! assignment operator (operator=).
     Contap_SequenceOfPathPointOfTheSearch();
   
+  //! Creation by copy of existing Sequence.
   Standard_EXPORT Contap_SequenceOfPathPointOfTheSearch(const Contap_SequenceOfPathPointOfTheSearch& Other);
   
+  //! Removes all element(s) of the sequence <me>
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = ()
   Standard_EXPORT void Clear();
 ~Contap_SequenceOfPathPointOfTheSearch()
 {
   Clear();
 }
   
+  //! Copies the contents of the sequence Other into this sequence.
+  //! If this sequence is not empty, it is automatically cleared before the copy.
   Standard_EXPORT const Contap_SequenceOfPathPointOfTheSearch& Assign (const Contap_SequenceOfPathPointOfTheSearch& Other);
 const Contap_SequenceOfPathPointOfTheSearch& operator = (const Contap_SequenceOfPathPointOfTheSearch& Other)
 {
   return Assign(Other);
 }
   
+  //! Appends <T> at the end of <me>.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C T)
   Standard_EXPORT void Append (const Contap_ThePathPointOfTheSearch& T);
   
+  //! Concatenates <S> at the end of <me>.
+  //! <S> is cleared.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! S  = (D E F)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void Append (Contap_SequenceOfPathPointOfTheSearch& S);
   
+  //! Add <T> at the beginning of <me>.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (T A B C )
   Standard_EXPORT void Prepend (const Contap_ThePathPointOfTheSearch& T);
   
+  //! Concatenates <S> at the beginning of <me>.
+  //! <S> is cleared.
+  //! Example:
+  //! before
+  //! me = (A B C) S =  (D E F)
+  //! after me = (D E F A B C)
+  //! S = ()
     void Prepend (Contap_SequenceOfPathPointOfTheSearch& S);
   
+  //! Inserts  <T> in  <me>  before the position <Index>.
+  //! Raises an exception if the index is out of bounds.
+  //! Example:
+  //! before
+  //! me = (A B D), Index = 3, T = C
+  //! after
+  //! me = (A B C D )
     void InsertBefore (const Standard_Integer Index, const Contap_ThePathPointOfTheSearch& T);
   
+  //! Inserts the  sequence <S>  in  <me> before
+  //! the position <Index>. <S> is cleared.
+  //! Raises an exception if the index is out of bounds
+  //! Example:
+  //! before
+  //! me = (A B F), Index = 3, S = (C D E)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void InsertBefore (const Standard_Integer Index, Contap_SequenceOfPathPointOfTheSearch& S);
   
+  //! Inserts  <T>  in  <me> after the  position <Index>.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3, T = D
+  //! after
+  //! me = (A B C D)
   Standard_EXPORT void InsertAfter (const Standard_Integer Index, const Contap_ThePathPointOfTheSearch& T);
   
+  //! Inserts the sequence <S> in <me> after the
+  //! position <Index>. <S> is cleared.
+  //! Raises an exception if the index is out of bound.
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3, S = (D E F)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void InsertAfter (const Standard_Integer Index, Contap_SequenceOfPathPointOfTheSearch& S);
   
+  //! Returns the first element of the sequence <me>
+  //! Raises an exception if the sequence is empty.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C)
+  //! returns A
   Standard_EXPORT const Contap_ThePathPointOfTheSearch& First() const;
   
+  //! Returns the last element of the sequence <me>
+  //! Raises an exception if the sequence is empty.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C)
+  //! returns C
   Standard_EXPORT const Contap_ThePathPointOfTheSearch& Last() const;
   
+  //! Keeps in <me> the items 1 to <Index>-1 and
+  //! puts  in  <Sub> the  items <Index>  to the end.
+  //! Example:
+  //! before
+  //! me = (A B C D) ,Index = 3
+  //! after
+  //! me  = (A B)
+  //! Sub = (C D)
     void Split (const Standard_Integer Index, Contap_SequenceOfPathPointOfTheSearch& Sub);
   
+  //! Returns  the Item  at position <Index>  in <me>.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1
+  //! after
+  //! me = (A B C)
+  //! returns
+  //! A
   Standard_EXPORT const Contap_ThePathPointOfTheSearch& Value (const Standard_Integer Index) const;
 const Contap_ThePathPointOfTheSearch& operator() (const Standard_Integer Index) const
 {
   return Value(Index);
 }
   
+  //! Changes the item at position <Index>
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1, Item = D
+  //! after
+  //! me = (D B C)
   Standard_EXPORT void SetValue (const Standard_Integer Index, const Contap_ThePathPointOfTheSearch& I);
   
+  //! Returns  the Item  at position <Index>  in
+  //! <me>. This method  may  be  used to modify
+  //! <me> : S.Value(Index) = Item.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1
+  //! after
+  //! me = (A B C)
+  //! returns
+  //! A
   Standard_EXPORT Contap_ThePathPointOfTheSearch& ChangeValue (const Standard_Integer Index);
 Contap_ThePathPointOfTheSearch& operator() (const Standard_Integer Index)
 {
   return ChangeValue(Index);
 }
   
+  //! Removes  from  <me> the  item at  position <Index>.
+  //! Raises an exception if the index is out of bounds
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3
+  //! after
+  //! me = (A B)
   Standard_EXPORT void Remove (const Standard_Integer Index);
   
+  //! Removes  from  <me>    all  the  items  of
+  //! positions between <FromIndex> and <ToIndex>.
+  //! Raises an exception if the indices are out of bounds.
+  //! Example:
+  //! before
+  //! me = (A B C D E F), FromIndex = 1 ToIndex = 3
+  //! after
+  //! me = (D E F)
   Standard_EXPORT void Remove (const Standard_Integer FromIndex, const Standard_Integer ToIndex);
 
 
index 7c75719..0748b30 100644 (file)
@@ -37,60 +37,209 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Constructs an empty sequence.
+  //! Use:
+  //! -   the function Append or Prepend to add an item or
+  //! a collection of items at the end, or at the beginning of the sequence,
+  //! -   the function InsertAfter or InsertBefore to add an
+  //! item or a collection of items at any position in the sequence,
+  //! -   operator() or the function SetValue to assign a
+  //! new value to an item of the sequence,
+  //! -   operator() to read an item of the sequence,
+  //! -   the function Remove to remove an item at any
+  //! position in the sequence.
+  //! Warning
+  //! To copy a sequence, you must explicitly call the
+  //! assignment operator (operator=).
     Contap_SequenceOfSegmentOfTheSearch();
   
+  //! Creation by copy of existing Sequence.
   Standard_EXPORT Contap_SequenceOfSegmentOfTheSearch(const Contap_SequenceOfSegmentOfTheSearch& Other);
   
+  //! Removes all element(s) of the sequence <me>
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = ()
   Standard_EXPORT void Clear();
 ~Contap_SequenceOfSegmentOfTheSearch()
 {
   Clear();
 }
   
+  //! Copies the contents of the sequence Other into this sequence.
+  //! If this sequence is not empty, it is automatically cleared before the copy.
   Standard_EXPORT const Contap_SequenceOfSegmentOfTheSearch& Assign (const Contap_SequenceOfSegmentOfTheSearch& Other);
 const Contap_SequenceOfSegmentOfTheSearch& operator = (const Contap_SequenceOfSegmentOfTheSearch& Other)
 {
   return Assign(Other);
 }
   
+  //! Appends <T> at the end of <me>.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C T)
   Standard_EXPORT void Append (const Contap_TheSegmentOfTheSearch& T);
   
+  //! Concatenates <S> at the end of <me>.
+  //! <S> is cleared.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! S  = (D E F)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void Append (Contap_SequenceOfSegmentOfTheSearch& S);
   
+  //! Add <T> at the beginning of <me>.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (T A B C )
   Standard_EXPORT void Prepend (const Contap_TheSegmentOfTheSearch& T);
   
+  //! Concatenates <S> at the beginning of <me>.
+  //! <S> is cleared.
+  //! Example:
+  //! before
+  //! me = (A B C) S =  (D E F)
+  //! after me = (D E F A B C)
+  //! S = ()
     void Prepend (Contap_SequenceOfSegmentOfTheSearch& S);
   
+  //! Inserts  <T> in  <me>  before the position <Index>.
+  //! Raises an exception if the index is out of bounds.
+  //! Example:
+  //! before
+  //! me = (A B D), Index = 3, T = C
+  //! after
+  //! me = (A B C D )
     void InsertBefore (const Standard_Integer Index, const Contap_TheSegmentOfTheSearch& T);
   
+  //! Inserts the  sequence <S>  in  <me> before
+  //! the position <Index>. <S> is cleared.
+  //! Raises an exception if the index is out of bounds
+  //! Example:
+  //! before
+  //! me = (A B F), Index = 3, S = (C D E)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void InsertBefore (const Standard_Integer Index, Contap_SequenceOfSegmentOfTheSearch& S);
   
+  //! Inserts  <T>  in  <me> after the  position <Index>.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3, T = D
+  //! after
+  //! me = (A B C D)
   Standard_EXPORT void InsertAfter (const Standard_Integer Index, const Contap_TheSegmentOfTheSearch& T);
   
+  //! Inserts the sequence <S> in <me> after the
+  //! position <Index>. <S> is cleared.
+  //! Raises an exception if the index is out of bound.
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3, S = (D E F)
+  //! after
+  //! me = (A B C D E F)
+  //! S  = ()
     void InsertAfter (const Standard_Integer Index, Contap_SequenceOfSegmentOfTheSearch& S);
   
+  //! Returns the first element of the sequence <me>
+  //! Raises an exception if the sequence is empty.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C)
+  //! returns A
   Standard_EXPORT const Contap_TheSegmentOfTheSearch& First() const;
   
+  //! Returns the last element of the sequence <me>
+  //! Raises an exception if the sequence is empty.
+  //! Example:
+  //! before
+  //! me = (A B C)
+  //! after
+  //! me = (A B C)
+  //! returns C
   Standard_EXPORT const Contap_TheSegmentOfTheSearch& Last() const;
   
+  //! Keeps in <me> the items 1 to <Index>-1 and
+  //! puts  in  <Sub> the  items <Index>  to the end.
+  //! Example:
+  //! before
+  //! me = (A B C D) ,Index = 3
+  //! after
+  //! me  = (A B)
+  //! Sub = (C D)
     void Split (const Standard_Integer Index, Contap_SequenceOfSegmentOfTheSearch& Sub);
   
+  //! Returns  the Item  at position <Index>  in <me>.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1
+  //! after
+  //! me = (A B C)
+  //! returns
+  //! A
   Standard_EXPORT const Contap_TheSegmentOfTheSearch& Value (const Standard_Integer Index) const;
 const Contap_TheSegmentOfTheSearch& operator() (const Standard_Integer Index) const
 {
   return Value(Index);
 }
   
+  //! Changes the item at position <Index>
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1, Item = D
+  //! after
+  //! me = (D B C)
   Standard_EXPORT void SetValue (const Standard_Integer Index, const Contap_TheSegmentOfTheSearch& I);
   
+  //! Returns  the Item  at position <Index>  in
+  //! <me>. This method  may  be  used to modify
+  //! <me> : S.Value(Index) = Item.
+  //! Raises an exception if the index is out of bound
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 1
+  //! after
+  //! me = (A B C)
+  //! returns
+  //! A
   Standard_EXPORT Contap_TheSegmentOfTheSearch& ChangeValue (const Standard_Integer Index);
 Contap_TheSegmentOfTheSearch& operator() (const Standard_Integer Index)
 {
   return ChangeValue(Index);
 }
   
+  //! Removes  from  <me> the  item at  position <Index>.
+  //! Raises an exception if the index is out of bounds
+  //! Example:
+  //! before
+  //! me = (A B C), Index = 3
+  //! after
+  //! me = (A B)
   Standard_EXPORT void Remove (const Standard_Integer Index);
   
+  //! Removes  from  <me>    all  the  items  of
+  //! positions between <FromIndex> and <ToIndex>.
+  //! Raises an exception if the indices are out of bounds.
+  //! Example:
+  //! before
+  //! me = (A B C D E F), FromIndex = 1 ToIndex = 3
+  //! after
+  //! me = (D E F)
   Standard_EXPORT void Remove (const Standard_Integer FromIndex, const Standard_Integer ToIndex);
 
 
index dd1faa3..bcce1d7 100644 (file)
@@ -47,10 +47,13 @@ public:
   
   Standard_EXPORT Contap_TheIWLineOfTheIWalking(const IntSurf_Allocator& theAllocator = 0);
   
+  //! reverse the points in the line. Hasfirst, HasLast are kept.
   Standard_EXPORT void Reverse();
   
+  //! Cut the line at the point of rank Index.
     void Cut (const Standard_Integer Index);
   
+  //! Add a point in the line.
     void AddPoint (const IntSurf_PntOn2S& P);
   
     void AddStatusFirst (const Standard_Boolean Closed, const Standard_Boolean HasFirst);
@@ -63,6 +66,8 @@ public:
   
     void AddStatusLast (const Standard_Boolean HasLast, const Standard_Integer Index, const IntSurf_PathPoint& P);
   
+  //! associer a l 'indice du point sur la ligne l'indice du point
+  //! passant dans l'iterateur de depart
     void AddIndexPassing (const Standard_Integer Index);
   
     void SetTangentVector (const gp_Vec& V, const Standard_Integer Index);
@@ -71,28 +76,62 @@ public:
   
     void SetTangencyAtEnd (const Standard_Boolean IsTangent);
   
+  //! Returns the number of points of the line (including first
+  //! point and end point : see HasLastPoint and HasFirstPoint).
     Standard_Integer NbPoints() const;
   
+  //! Returns the point of range Index.
+  //! If index <= 0 or Index > NbPoints, an exception is raised.
     const IntSurf_PntOn2S& Value (const Standard_Integer Index) const;
   
+  //! Returns the LineOn2S contained in the walking line.
     const Handle(IntSurf_LineOn2S)& Line() const;
   
+  //! Returns True if the line is closed.
     Standard_Boolean IsClosed() const;
   
+  //! Returns True if the first point of the line is a
+  //! marching point . when is HasFirstPoint==False ,the line
+  //! begins on the natural bound of the surface.the line can be
+  //! too long
     Standard_Boolean HasFirstPoint() const;
   
+  //! Returns True if the end point of the line is a
+  //! marching point (Point from IntWS).
+  //! when is HasFirstPoint==False ,the line ends
+  //! on the natural bound of the surface.the line can be
+  //! too long.
     Standard_Boolean HasLastPoint() const;
   
+  //! Returns the first point of the line when it is a
+  //! marching point.
+  //! An exception is raised if HasFirstPoint returns False.
     const IntSurf_PathPoint& FirstPoint() const;
   
+  //! Returns the Index of first point of the line when it is a
+  //! marching point.This index is the index in the
+  //! PointStartIterator.
+  //! An exception is raised if HasFirstPoint returns False.
     Standard_Integer FirstPointIndex() const;
   
+  //! Returns the last point of the line when it is a
+  //! marching point.
+  //! An exception is raised if HasLastPoint returns False.
     const IntSurf_PathPoint& LastPoint() const;
   
+  //! Returns the index of last point of the line when it is a
+  //! marching point.This index is the index in the
+  //! PointStartIterator.
+  //! An exception is raised if HasLastPoint returns False.
     Standard_Integer LastPointIndex() const;
   
+  //! returns the number of points belonging to Pnts1 which are
+  //! passing point.
     Standard_Integer NbPassingPoint() const;
   
+  //! returns the index of the point belonging to the line which
+  //! is associated to the passing point belonging to Pnts1
+  //! an exception is raised if Index > NbPassingPoint()
     void PassingPoint (const Standard_Integer Index, Standard_Integer& IndexLine, Standard_Integer& IndexPnts) const;
   
     const gp_Vec& TangentVector (Standard_Integer& Index) const;
index a6bd731..11267f7 100644 (file)
@@ -59,22 +59,52 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Deflection is the maximum deflection admitted between two
+  //! consecutive points on a resulting polyline.
+  //! Step is the maximum increment admitted between two
+  //! consecutive points (in 2d space).
+  //! Epsilon is the tolerance beyond which 2 points
+  //! are confused.
   Standard_EXPORT Contap_TheIWalking(const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Step);
   
+  //! Deflection is the maximum deflection admitted between two
+  //! consecutive points on a resulting polyline.
+  //! Step is the maximum increment admitted between two
+  //! consecutive points (in 2d space).
+  //! Epsilon is the tolerance beyond which 2 points
+  //! are confused
     void SetTolerance (const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Step);
   
+  //! Searches a set of polylines starting on a point of Pnts1
+  //! or Pnts2.
+  //! Each point on a resulting polyline verifies F(u,v)=0
   Standard_EXPORT void Perform (const IntSurf_SequenceOfPathPoint& Pnts1, const IntSurf_SequenceOfInteriorPoint& Pnts2, Contap_SurfFunction& Func, const Handle(Adaptor3d_HSurface)& S, const Standard_Boolean Reversed = Standard_False);
   
+  //! Searches a set of polylines starting on a point of Pnts1.
+  //! Each point on a resulting polyline verifies F(u,v)=0
   Standard_EXPORT void Perform (const IntSurf_SequenceOfPathPoint& Pnts1, Contap_SurfFunction& Func, const Handle(Adaptor3d_HSurface)& S, const Standard_Boolean Reversed = Standard_False);
   
+  //! Returns true if the calculus was successful.
     Standard_Boolean IsDone() const;
   
+  //! Returns the number of resulting polylines.
+  //! An exception is raised if IsDone returns False.
     Standard_Integer NbLines() const;
   
+  //! Returns the polyline of range Index.
+  //! An exception is raised if IsDone is False.
+  //! An exception is raised if Index<=0 or Index>NbLines.
     const Handle(Contap_TheIWLineOfTheIWalking)& Value (const Standard_Integer Index) const;
   
+  //! Returns the number of points belonging to Pnts on which no
+  //! line starts or ends.
+  //! An exception is raised if IsDone returns False.
     Standard_Integer NbSinglePnts() const;
   
+  //! Returns the point of range Index .
+  //! An exception is raised if IsDone returns False.
+  //! An exception is raised if Index<=0 or
+  //! Index > NbSinglePnts.
     const IntSurf_PathPoint& SinglePnt (const Standard_Integer Index) const;
 
 
@@ -105,6 +135,7 @@ protected:
   
   Standard_EXPORT void MakeWalkingPoint (const Standard_Integer Case, const Standard_Real U, const Standard_Real V, Contap_SurfFunction& Section, IntSurf_PntOn2S& Psol);
   
+  //! Clears up internal containers
   Standard_EXPORT void Clear();
 
 
index 26f3a49..e17bbe5 100644 (file)
@@ -51,20 +51,44 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Empty constructor.
   Standard_EXPORT Contap_TheSearch();
   
+  //! Algorithm to find the points and parts of curves of Domain
+  //! (domain of of restriction of a surface) which verify
+  //! F = 0.
+  //! TolBoundary defines if a curve is on Q.
+  //! TolTangency defines if a point is on Q.
   Standard_EXPORT void Perform (Contap_ArcFunction& F, const Handle(Adaptor3d_TopolTool)& Domain, const Standard_Real TolBoundary, const Standard_Real TolTangency, const Standard_Boolean RecheckOnRegularity = Standard_False);
   
+  //! Returns True if the calculus was successful.
     Standard_Boolean IsDone() const;
   
+  //! Returns true if all arc of the Arcs are solution (inside
+  //! the surface).
+  //! An exception is raised if IsDone returns False.
     Standard_Boolean AllArcSolution() const;
   
+  //! Returns the number of resulting points.
+  //! An exception is raised if IsDone returns False (NotDone).
     Standard_Integer NbPoints() const;
   
+  //! Returns the resulting point of range Index.
+  //! The exception NotDone is raised if IsDone() returns
+  //! False.
+  //! The exception OutOfRange is raised if
+  //! Index <= 0 or Index > NbPoints.
     const Contap_ThePathPointOfTheSearch& Point (const Standard_Integer Index) const;
   
+  //! Returns the number of the resulting segments.
+  //! An exception is raised if IsDone returns False (NotDone).
     Standard_Integer NbSegments() const;
   
+  //! Returns the resulting segment of range Index.
+  //! The exception NotDone is raised if IsDone() returns
+  //! False.
+  //! The exception OutOfRange is raised if
+  //! Index <= 0 or Index > NbPoints.
     const Contap_TheSegmentOfTheSearch& Segment (const Standard_Integer Index) const;
 
 
index 1d88ecf..0b06937 100644 (file)
@@ -53,8 +53,16 @@ public:
   
     Standard_Boolean IsDone() const;
   
+  //! Returns the number of points.
+  //! The exception NotDone if raised if IsDone
+  //! returns False.
     Standard_Integer NbPoints() const;
   
+  //! Returns the point of range Index.
+  //! The exception NotDone if raised if IsDone
+  //! returns False.
+  //! The exception OutOfRange if raised if
+  //! Index <= 0 or Index > NbPoints.
     const IntSurf_InteriorPoint& Value (const Standard_Integer Index) const;
 
 
index 4d88320..409255b 100644 (file)
@@ -37,20 +37,32 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Empty constructor.
   Standard_EXPORT Contap_TheSegmentOfTheSearch();
   
+  //! Defines the concerned arc.
     void SetValue (const Handle(Adaptor2d_HCurve2d)& A);
   
+  //! Defines the first point or the last point,
+  //! depending on the value of the boolean First.
   Standard_EXPORT void SetLimitPoint (const Contap_ThePathPointOfTheSearch& V, const Standard_Boolean First);
   
+  //! Returns the geometric curve on the surface 's domain
+  //! which is solution.
     const Handle(Adaptor2d_HCurve2d)& Curve() const;
   
+  //! Returns True if there is a vertex (ThePathPoint) defining
+  //! the lowest valid parameter on the arc.
     Standard_Boolean HasFirstPoint() const;
   
+  //! Returns the first point.
     const Contap_ThePathPointOfTheSearch& FirstPoint() const;
   
+  //! Returns True if there is a vertex (ThePathPoint) defining
+  //! the greatest valid parameter on the arc.
     Standard_Boolean HasLastPoint() const;
   
+  //! Returns the last point.
     const Contap_ThePathPointOfTheSearch& LastPoint() const;
 
 
index d51f38c..4546d6a 100644 (file)
@@ -42,40 +42,87 @@ class Dico_DictionaryOfInteger : public MMgt_TShared
 public:
 
   
+  //! Creates a Dictionary cell.
+  //! A Dictionary is always created then handled by its first cell
+  //! After creating a Dictionary, user can call methods HasItem,
+  //! Item, SetItem ... (internal cells and entries are also
+  //! defined as objects from the same class)
+  //! Also iteration can be made, by an Iterator on this Dictionary
   Standard_EXPORT Dico_DictionaryOfInteger();
   
+  //! Returns True if an Item is bound to a Name in the Dictionnary
+  //! <exact> : if True, commands exact matching
+  //! if False, accept completion, only if ONE AND ONLY ONE
+  //! Dictionnary Entry has <name> as beginning of its name
   Standard_EXPORT Standard_Boolean HasItem (const Standard_CString name, const Standard_Boolean exact = Standard_False) const;
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Standard_Boolean HasItem (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const;
   
+  //! Returns item bound to a name in the Dictionnary
+  //! <exact> : same as for HasItem
   Standard_EXPORT const Standard_Integer& Item (const Standard_CString name, const Standard_Boolean exact = Standard_True) const;
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT const Standard_Integer& Item (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const;
   
+  //! Gathers HasItem and Item, in a less regular but faster way
+  //! If return is True, <anitem> is returned too, else it is not
+  //! <exact> : same as for HasItem
   Standard_EXPORT Standard_Boolean GetItem (const Standard_CString name, Standard_Integer& anitem, const Standard_Boolean exact = Standard_True) const;
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Standard_Boolean GetItem (const TCollection_AsciiString& name, Standard_Integer& anitem, const Standard_Boolean exact = Standard_True) const;
   
+  //! Binds an item to a dictionnary entry
+  //! If <name> is already known in the dictionary, its value
+  //! is changed. Else, the dictionary entry is created.
+  //! If <exact> is given False, completion is tried, it is accepted
+  //! If it gives a UNIQUE entry : hence this one will be modified
+  //! Else, new entry is created with the exact name given
   Standard_EXPORT void SetItem (const Standard_CString name, const Standard_Integer& anitem, const Standard_Boolean exact = Standard_True);
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT void SetItem (const TCollection_AsciiString& name, const Standard_Integer& anitem, const Standard_Boolean exact = Standard_True);
   
+  //! Returns the Item AS AN ADDRESS which corresponds to a Name,
+  //! in order to be changed or set.
+  //! If this name is not yet recorded, the Dictionary creates it.
+  //! <isvalued> is returned True if the Item is recorded in the
+  //! Dictionary, False else, in that case the Item is reserved and
+  //! the name is noted as beeing valued now.
   Standard_EXPORT Standard_Integer& NewItem (const Standard_CString name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True);
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Standard_Integer& NewItem (const TCollection_AsciiString& name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True);
   
+  //! Removes a dictionary entry given by its name then Returns True
+  //! If the entry does not exists, Does nothing then Returns False
+  //! <exact> : as for HasItem, if completion works, the found entry
+  //! is removed (else returned value is False)
+  //! <cln> commands cleaning dictionary (to recover memory space)
+  //! For an isolated call, it is recommanded to give it at True
+  //! For a sequence of calls, rather give False, then call Clean
   Standard_EXPORT Standard_Boolean RemoveItem (const Standard_CString name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True);
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Standard_Boolean RemoveItem (const TCollection_AsciiString& name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True);
   
+  //! Deletes physically in one step the entries which were removed
+  //! (can be used for a more efficient Memory Management : first
+  //! Remove several Items (<cln> = False), then Clean the Memory)
   Standard_EXPORT void Clean();
   
+  //! Returns True if no Item is recorded
   Standard_EXPORT Standard_Boolean IsEmpty() const;
   
+  //! Clears all the Dictionary : all recorded Items are removed
   Standard_EXPORT void Clear();
   
+  //! Copies the Dictionary as a Tree, without Copying the Items
   Standard_EXPORT Handle(Dico_DictionaryOfInteger) Copy() const;
   
+  //! Internal routine used for completion (returns True if success)
   Standard_EXPORT Standard_Boolean Complete (Handle(Dico_DictionaryOfInteger)& acell) const;
 
 
@@ -92,38 +139,57 @@ protected:
 private:
 
   
+  //! Defines cell's character (internal use, to build dict. tree)
   Standard_EXPORT void SetChar (const Standard_Character car);
   
+  //! Returns True if this cell has a subcell
   Standard_EXPORT Standard_Boolean HasSub() const;
   
+  //! Returns subcell
   Standard_EXPORT Handle(Dico_DictionaryOfInteger) Sub() const;
   
+  //! Returns True if this cell has a next cell
   Standard_EXPORT Standard_Boolean HasNext() const;
   
+  //! Returns next cell
   Standard_EXPORT Handle(Dico_DictionaryOfInteger) Next() const;
   
+  //! Defines subcell
   Standard_EXPORT void SetSub (const Handle(Dico_DictionaryOfInteger)& acell);
   
+  //! Defines next cell
   Standard_EXPORT void SetNext (const Handle(Dico_DictionaryOfInteger)& acell);
   
+  //! Internal method used to get an entry from a given name
   Standard_EXPORT void SearchCell (const Standard_CString name, const Standard_Size lmax, const Standard_Character car, const Standard_Size level, Handle(Dico_DictionaryOfInteger)& acell, Standard_Size& reslev, Standard_Integer& stat) const;
   
+  //! Internal method used to create a new entry for a name
   Standard_EXPORT void NewCell (const Standard_CString name, const Standard_Size namlen, Handle(Dico_DictionaryOfInteger)& acell, const Standard_Size reslev, const Standard_Integer stat);
   
+  //! Returns True if a cell has an associated item value
   Standard_EXPORT Standard_Boolean HasIt() const;
   
+  //! Returns item value associated to a cell
   Standard_EXPORT const Standard_Integer& It() const;
   
+  //! Returns item address associated to a cell
   Standard_EXPORT Standard_Integer& ItAdr();
   
+  //! Binds an item value to a cell
   Standard_EXPORT void SetIt (const Standard_Integer& anitem);
   
+  //! Declares a cell as Valued : used by NewItem (when an Item
+  //! is created if it did not exist and is returned)
   Standard_EXPORT void DeclIt();
   
+  //! Removes item bound to a cell (cancels effect of DeclIt)
   Standard_EXPORT void RemoveIt();
   
+  //! Returns cell's character as a node feature
   Standard_EXPORT Standard_Character CellChar() const;
   
+  //! Performs Copy from an original <fromcell> to <me>
+  //! Called by Copy
   Standard_EXPORT void GetCopied (const Handle(Dico_DictionaryOfInteger)& fromcell);
 
   Standard_Character thecars[4];
index f3b7834..9801615 100644 (file)
@@ -43,40 +43,87 @@ class Dico_DictionaryOfTransient : public MMgt_TShared
 public:
 
   
+  //! Creates a Dictionary cell.
+  //! A Dictionary is always created then handled by its first cell
+  //! After creating a Dictionary, user can call methods HasItem,
+  //! Item, SetItem ... (internal cells and entries are also
+  //! defined as objects from the same class)
+  //! Also iteration can be made, by an Iterator on this Dictionary
   Standard_EXPORT Dico_DictionaryOfTransient();
   
+  //! Returns True if an Item is bound to a Name in the Dictionnary
+  //! <exact> : if True, commands exact matching
+  //! if False, accept completion, only if ONE AND ONLY ONE
+  //! Dictionnary Entry has <name> as beginning of its name
   Standard_EXPORT Standard_Boolean HasItem (const Standard_CString name, const Standard_Boolean exact = Standard_False) const;
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Standard_Boolean HasItem (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const;
   
+  //! Returns item bound to a name in the Dictionnary
+  //! <exact> : same as for HasItem
   Standard_EXPORT const Handle(Standard_Transient)& Item (const Standard_CString name, const Standard_Boolean exact = Standard_True) const;
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT const Handle(Standard_Transient)& Item (const TCollection_AsciiString& name, const Standard_Boolean exact = Standard_True) const;
   
+  //! Gathers HasItem and Item, in a less regular but faster way
+  //! If return is True, <anitem> is returned too, else it is not
+  //! <exact> : same as for HasItem
   Standard_EXPORT Standard_Boolean GetItem (const Standard_CString name, Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True) const;
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Standard_Boolean GetItem (const TCollection_AsciiString& name, Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True) const;
   
+  //! Binds an item to a dictionnary entry
+  //! If <name> is already known in the dictionary, its value
+  //! is changed. Else, the dictionary entry is created.
+  //! If <exact> is given False, completion is tried, it is accepted
+  //! If it gives a UNIQUE entry : hence this one will be modified
+  //! Else, new entry is created with the exact name given
   Standard_EXPORT void SetItem (const Standard_CString name, const Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True);
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT void SetItem (const TCollection_AsciiString& name, const Handle(Standard_Transient)& anitem, const Standard_Boolean exact = Standard_True);
   
+  //! Returns the Item AS AN ADDRESS which corresponds to a Name,
+  //! in order to be changed or set.
+  //! If this name is not yet recorded, the Dictionary creates it.
+  //! <isvalued> is returned True if the Item is recorded in the
+  //! Dictionary, False else, in that case the Item is reserved and
+  //! the name is noted as beeing valued now.
   Standard_EXPORT Handle(Standard_Transient)& NewItem (const Standard_CString name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True);
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Handle(Standard_Transient)& NewItem (const TCollection_AsciiString& name, Standard_Boolean& isvalued, const Standard_Boolean exact = Standard_True);
   
+  //! Removes a dictionary entry given by its name then Returns True
+  //! If the entry does not exists, Does nothing then Returns False
+  //! <exact> : as for HasItem, if completion works, the found entry
+  //! is removed (else returned value is False)
+  //! <cln> commands cleaning dictionary (to recover memory space)
+  //! For an isolated call, it is recommanded to give it at True
+  //! For a sequence of calls, rather give False, then call Clean
   Standard_EXPORT Standard_Boolean RemoveItem (const Standard_CString name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True);
   
+  //! Works as above method but accepts a String from TCollection
   Standard_EXPORT Standard_Boolean RemoveItem (const TCollection_AsciiString& name, const Standard_Boolean cln = Standard_True, const Standard_Boolean exact = Standard_True);
   
+  //! Deletes physically in one step the entries which were removed
+  //! (can be used for a more efficient Memory Management : first
+  //! Remove several Items (<cln> = False), then Clean the Memory)
   Standard_EXPORT void Clean();
   
+  //! Returns True if no Item is recorded
   Standard_EXPORT Standard_Boolean IsEmpty() const;
   
+  //! Clears all the Dictionary : all recorded Items are removed
   Standard_EXPORT void Clear();
   
+  //! Copies the Dictionary as a Tree, without Copying the Items
   Standard_EXPORT Handle(Dico_DictionaryOfTransient) Copy() const;
   
+  //! Internal routine used for completion (returns True if success)
   Standard_EXPORT Standard_Boolean Complete (Handle(Dico_DictionaryOfTransient)& acell) const;
 
 
@@ -93,38 +140,57 @@ protected:
 private:
 
   
+  //! Defines cell's character (internal use, to build dict. tree)
   Standard_EXPORT void SetChar (const Standard_Character car);
   
+  //! Returns True if this cell has a subcell
   Standard_EXPORT Standard_Boolean HasSub() const;
   
+  //! Returns subcell
   Standard_EXPORT Handle(Dico_DictionaryOfTransient) Sub() const;
   
+  //! Returns True if this cell has a next cell
   Standard_EXPORT Standard_Boolean HasNext() const;
   
+  //! Returns next cell
   Standard_EXPORT Handle(Dico_DictionaryOfTransient) Next() const;
   
+  //! Defines subcell
   Standard_EXPORT void SetSub (const Handle(Dico_DictionaryOfTransient)& acell);
   
+  //! Defines next cell
   Standard_EXPORT void SetNext (const Handle(Dico_DictionaryOfTransient)& acell);
   
+  //! Internal method used to get an entry from a given name
   Standard_EXPORT void SearchCell (const Standard_CString name, const Standard_Size lmax, const Standard_Character car, const Standard_Size level, Handle(Dico_DictionaryOfTransient)& acell, Standard_Size& reslev, Standard_Integer& stat) const;
   
+  //! Internal method used to create a new entry for a name
   Standard_EXPORT void NewCell (const Standard_CString name, const Standard_Size namlen, Handle(Dico_DictionaryOfTransient)& acell, const Standard_Size reslev, const Standard_Integer stat);
   
+  //! Returns True if a cell has an associated item value
   Standard_EXPORT Standard_Boolean HasIt() const;
   
+  //! Returns item value associated to a cell
   Standard_EXPORT const Handle(Standard_Transient)& It() const;
   
+  //! Returns item address associated to a cell
   Standard_EXPORT Handle(Standard_Transient)& ItAdr();
   
+  //! Binds an item value to a cell
   Standard_EXPORT void SetIt (const Handle(Standard_Transient)& anitem);
   
+  //! Declares a cell as Valued : used by NewItem (when an Item
+  //! is created if it did not exist and is returned)
   Standard_EXPORT void DeclIt();
   
+  //! Removes item bound to a cell (cancels effect of DeclIt)
   Standard_EXPORT void RemoveIt();
   
+  //! Returns cell's character as a node feature
   Standard_EXPORT Standard_Character CellChar() const;
   
+  //! Performs Copy from an original <fromcell> to <me>
+  //! Called by Copy
   Standard_EXPORT void GetCopied (const Handle(Dico_DictionaryOfTransient)& fromcell);
 
   Standard_Character thecars[4];
index 684995d..4bd8fd9 100644 (file)
@@ -39,20 +39,32 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Creates an iterator which will work on all the dictionary
   Standard_EXPORT Dico_IteratorOfDictionaryOfInteger(const Handle(Dico_DictionaryOfInteger)& acell);
   
+  //! Creates an iterator which will consider only entries
+  //! which name begin by the string given as basename (subpart)
   Standard_EXPORT Dico_IteratorOfDictionaryOfInteger(const Handle(Dico_DictionaryOfInteger)& acell, const Standard_CString basename);
   
+  //! Creates an iterator which will consider only entries
+  //! which name begin by the string given as basename (subpart)
+  //! Same as above, but basename is String instead of CString
   Standard_EXPORT Dico_IteratorOfDictionaryOfInteger(const Handle(Dico_DictionaryOfInteger)& acell, const TCollection_AsciiString& basename);
   
+  //! Allows to Start a new Iteration from beginning
   Standard_EXPORT void Start();
   
+  //! Returns True if there are more entries to return
   Standard_EXPORT Standard_Boolean More();
   
+  //! Go to the next entry
+  //! (if there is not, Value will raise an exception)
   Standard_EXPORT void Next();
   
+  //! Returns item value of current entry
   Standard_EXPORT const Standard_Integer& Value() const;
   
+  //! Returns name of current entry
   Standard_EXPORT TCollection_AsciiString Name() const;
 
 
@@ -67,6 +79,7 @@ protected:
 private:
 
   
+  //! Appends a new value to the Iteration Stack
   Standard_EXPORT void AppendStack (const Handle(Dico_DictionaryOfInteger)& val);
 
 
index 64d80e6..20608bf 100644 (file)
@@ -40,20 +40,32 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Creates an iterator which will work on all the dictionary
   Standard_EXPORT Dico_IteratorOfDictionaryOfTransient(const Handle(Dico_DictionaryOfTransient)& acell);
   
+  //! Creates an iterator which will consider only entries
+  //! which name begin by the string given as basename (subpart)
   Standard_EXPORT Dico_IteratorOfDictionaryOfTransient(const Handle(Dico_DictionaryOfTransient)& acell, const Standard_CString basename);
   
+  //! Creates an iterator which will consider only entries
+  //! which name begin by the string given as basename (subpart)
+  //! Same as above, but basename is String instead of CString
   Standard_EXPORT Dico_IteratorOfDictionaryOfTransient(const Handle(Dico_DictionaryOfTransient)& acell, const TCollection_AsciiString& basename);
   
+  //! Allows to Start a new Iteration from beginning
   Standard_EXPORT void Start();
   
+  //! Returns True if there are more entries to return
   Standard_EXPORT Standard_Boolean More();
   
+  //! Go to the next entry
+  //! (if there is not, Value will raise an exception)
   Standard_EXPORT void Next();
   
+  //! Returns item value of current entry
   Standard_EXPORT const Handle(Standard_Transient)& Value() const;
   
+  //! Returns name of current entry
   Standard_EXPORT TCollection_AsciiString Name() const;
 
 
@@ -68,6 +80,7 @@ protected:
 private:
 
   
+  //! Appends a new value to the Iteration Stack
   Standard_EXPORT void AppendStack (const Handle(Dico_DictionaryOfTransient)& val);
 
 
index 00c8222..1d6b367 100644 (file)
@@ -36,14 +36,19 @@ class Dico_StackItemOfDictionaryOfInteger : public MMgt_TShared
 public:
 
   
+  //! Creates a StackItem with no Previous one
   Standard_EXPORT Dico_StackItemOfDictionaryOfInteger();
   
+  //! Creates a StackItem with a Previous one
   Standard_EXPORT Dico_StackItemOfDictionaryOfInteger(const Handle(Dico_StackItemOfDictionaryOfInteger)& previous);
   
+  //! Returns the Previous Item (is Null if no Previous defined)
   Standard_EXPORT Handle(Dico_StackItemOfDictionaryOfInteger) Previous() const;
   
+  //! Returns the Dictionary Cell corresponding to an Item
   Standard_EXPORT Handle(Dico_DictionaryOfInteger) Value() const;
   
+  //! Sets a new Dictionary Cell as Value of an Item
   Standard_EXPORT void SetValue (const Handle(Dico_DictionaryOfInteger)& cval);
 
 
index d07dd47..13829a0 100644 (file)
@@ -36,14 +36,19 @@ class Dico_StackItemOfDictionaryOfTransient : public MMgt_TShared
 public:
 
   
+  //! Creates a StackItem with no Previous one
   Standard_EXPORT Dico_StackItemOfDictionaryOfTransient();
   
+  //! Creates a StackItem with a Previous one
   Standard_EXPORT Dico_StackItemOfDictionaryOfTransient(const Handle(Dico_StackItemOfDictionaryOfTransient)& previous);
   
+  //! Returns the Previous Item (is Null if no Previous defined)
   Standard_EXPORT Handle(Dico_StackItemOfDictionaryOfTransient) Previous() const;
   
+  //! Returns the Dictionary Cell corresponding to an Item
   Standard_EXPORT Handle(Dico_DictionaryOfTransient) Value() const;
   
+  //! Sets a new Dictionary Cell as Value of an Item
   Standard_EXPORT void SetValue (const Handle(Dico_DictionaryOfTransient)& cval);
 
 
index 6db6283..9dad65b 100644 (file)
@@ -62,26 +62,40 @@ public:
   
     virtual Standard_Integer NbEquations() const Standard_OVERRIDE;
   
+  //! Calculate Fi(U,V).
   Standard_EXPORT virtual Standard_Boolean Value (const math_Vector& UV, math_Vector& F) Standard_OVERRIDE;
   
+  //! Calculate Fi'(U,V).
   Standard_EXPORT Standard_Boolean Derivatives (const math_Vector& UV, math_Matrix& DF);
   
+  //! Calculate Fi(U,V) and Fi'(U,V).
   Standard_EXPORT Standard_Boolean Values (const math_Vector& UV, math_Vector& F, math_Matrix& DF);
   
+  //! Save the found extremum.
   Standard_EXPORT virtual Standard_Integer GetStateNumber() Standard_OVERRIDE;
   
+  //! Return the number of found extrema.
     Standard_Integer NbExt() const;
   
+  //! Return the value of the Nth distance.
     Standard_Real SquareDistance (const Standard_Integer N) const;
   
+  //! Return the points of the Nth extreme distance.
   Standard_EXPORT void Points (const Standard_Integer N, Extrema_POnCurv& P1, Extrema_POnCurv& P2) const;
   
+  //! Returns a pointer to the curve specified in the constructor
+  //! or in SetCurve() method.
     Standard_Address CurvePtr (const Standard_Integer theRank) const;
   
+  //! Returns a tolerance specified in the constructor
+  //! or in SetTolerance() method.
     Standard_Real Tolerance() const;
   
+  //! Determines of boundaries of subinterval for find of root.
   Standard_EXPORT void SubIntervalInitialize (const math_Vector& theUfirst, const math_Vector& theUlast);
   
+  //! Computes a Tol value. If 1st derivative of curve
+  //! |D1|<Tol, it is considered D1=0.
   Standard_EXPORT Standard_Real SearchOfTolerance (const Standard_Address C);
 
 
index 94aa617..d057f1d 100644 (file)
@@ -62,26 +62,40 @@ public:
   
     virtual Standard_Integer NbEquations() const Standard_OVERRIDE;
   
+  //! Calculate Fi(U,V).
   Standard_EXPORT virtual Standard_Boolean Value (const math_Vector& UV, math_Vector& F) Standard_OVERRIDE;
   
+  //! Calculate Fi'(U,V).
   Standard_EXPORT Standard_Boolean Derivatives (const math_Vector& UV, math_Matrix& DF);
   
+  //! Calculate Fi(U,V) and Fi'(U,V).
   Standard_EXPORT Standard_Boolean Values (const math_Vector& UV, math_Vector& F, math_Matrix& DF);
   
+  //! Save the found extremum.
   Standard_EXPORT virtual Standard_Integer GetStateNumber() Standard_OVERRIDE;
   
+  //! Return the number of found extrema.
     Standard_Integer NbExt() const;
   
+  //! Return the value of the Nth distance.
     Standard_Real SquareDistance (const Standard_Integer N) const;
   
+  //! Return the points of the Nth extreme distance.
   Standard_EXPORT void Points (const Standard_Integer N, Extrema_POnCurv2d& P1, Extrema_POnCurv2d& P2) const;
   
+  //! Returns a pointer to the curve specified in the constructor
+  //! or in SetCurve() method.
     Standard_Address CurvePtr (const Standard_Integer theRank) const;
   
+  //! Returns a tolerance specified in the constructor
+  //! or in SetTolerance() method.
     Standard_Real Tolerance() const;
   
+  //! Determines of boundaries of subinterval for find of root.
   Standard_EXPORT void SubIntervalInitialize (const math_Vector& theUfirst, const math_Vector& theUlast);
   
+  //! Computes a Tol value. If 1st derivative of curve
+  //! |D1|<Tol, it is considered D1=0.
   Standard_EXPORT Standard_Real SearchOfTolerance (const Standard_Address C);
 
 
index c3f1b52..0147465 100644 (file)
@@ -46,12 +46,23 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Calculates all the distances as above
+  //! between Uinf and Usup for C1 and  between Vinf and Vsup
+  //! for C2.
   Standard_EXPORT Extrema_ECC();
   
+  //! It calculates all the distances.
+  //! The function F(u,v)=distance(C1(u),C2(v)) has an
+  //! extremum when gradient(f)=0. The algorithm uses
+  //! Evtushenko's global optimization solver.
   Standard_EXPORT Extrema_ECC(const Adaptor3d_Curve& C1, const Adaptor3d_Curve& C2);
   
+  //! Calculates all the distances as above
+  //! between Uinf and Usup for C1 and  between Vinf and Vsup
+  //! for C2.
   Standard_EXPORT Extrema_ECC(const Adaptor3d_Curve& C1, const Adaptor3d_Curve& C2, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup);
   
+  //! Set params in case of empty constructor is usage.
   Standard_EXPORT void SetParams (const Adaptor3d_Curve& C1, const Adaptor3d_Curve& C2, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup);
   
   Standard_EXPORT void SetTolerance (const Standard_Real Tol);
@@ -62,16 +73,23 @@ public:
   //! Get flag for single extrema computation. Works on parametric solver only.
   Standard_EXPORT Standard_Boolean GetSingleSolutionFlag () const;
 
+  //! Performs calculations.
   Standard_EXPORT void Perform();
   
+  //! Returns True if the distances are found.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! Returns state of myParallel flag.
   Standard_EXPORT Standard_Boolean IsParallel() const;
   
+  //! Returns the number of extremum distances.
   Standard_EXPORT Standard_Integer NbExt() const;
   
+  //! Returns the value of the Nth square extremum distance.
   Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N = 1) const;
   
+  //! Returns the points of the Nth extremum distance.
+  //! P1 is on the first curve, P2 on the second one.
   Standard_EXPORT void Points (const Standard_Integer N, Extrema_POnCurv& P1, Extrema_POnCurv& P2) const;
 
 
index c339723..6949b3d 100644 (file)
@@ -46,12 +46,23 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
+  //! Calculates all the distances as above
+  //! between Uinf and Usup for C1 and  between Vinf and Vsup
+  //! for C2.
   Standard_EXPORT Extrema_ECC2d();
   
+  //! It calculates all the distances.
+  //! The function F(u,v)=distance(C1(u),C2(v)) has an
+  //! extremum when gradient(f)=0. The algorithm uses
+  //! Evtushenko's global optimization solver.
   Standard_EXPORT Extrema_ECC2d(const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2);
   
+  //! Calculates all the distances as above
+  //! between Uinf and Usup for C1 and  between Vinf and Vsup
+  //! for C2.
   Standard_EXPORT Extrema_ECC2d(const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup);
   
+  //! Set params in case of empty constructor is usage.
   Standard_EXPORT void SetParams (const Adaptor2d_Curve2d& C1, const Adaptor2d_Curve2d& C2, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup);
   
   Standard_EXPORT void SetTolerance (const Standard_Real Tol);
@@ -62,16 +73,23 @@ public:
   //! Get flag for single extrema computation. Works on parametric solver only.
   Standard_EXPORT Standard_Boolean GetSingleSolutionFlag () const;
 
+  //! Performs calculations.
   Standard_EXPORT void Perform();
   
+  //! Returns True if the distances are found.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! Returns state of myParallel flag.
   Standard_EXPORT Standard_Boolean IsParallel() const;
   
+  //! Returns the number of extremum distances.
   Standard_EXPORT Standard_Integer NbExt() const;
   
+  //! Returns the value of the Nth square extremum distance.
   Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N = 1) const;
   
+  //! Returns the points of the Nth extremum distance.
+  //! P1 is on the first curve, P2 on the second one.
   Standard_EXPORT void Points (const Standard_Integer N, Extrema_POnCurv2d& P1, Extrema_POnCurv2d& P2) const;
 
 
index 538006a..31f2c34 100644 (file)
@@ -55,24 +55,55 @@ public:
   
   Standard_EXPORT Extrema_ELPCOfLocateExtPC();
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! Zeros are searched between uinf and usup.
+  //! Tol  is used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_ELPCOfLocateExtPC(const gp_Pnt& P, const Adaptor3d_Curve& C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF = 1.0e-10);
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! Tol is used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_ELPCOfLocateExtPC(const gp_Pnt& P, const Adaptor3d_Curve& C, const Standard_Real TolF = 1.0e-10);
   
+  //! initializes the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor3d_Curve& C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF = 1.0e-10);
   
+  //! An exception is raised if the fields have not been
+  //! initialized.
   Standard_EXPORT void Perform (const gp_Pnt& P);
   
+  //! True if the distances are found.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! Returns the value of the <N>th extremum square distance.
   Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
   
+  //! Returns the number of extremum distances.
   Standard_EXPORT Standard_Integer NbExt() const;
   
+  //! Returns True if the <N>th extremum distance is a
+  //! minimum.
   Standard_EXPORT Standard_Boolean IsMin (const Standard_Integer N) const;
   
+  //! Returns the point of the <N>th extremum distance.
   Standard_EXPORT const Extrema_POnCurv& Point (const Standard_Integer N) const;
   
+  //! if the curve is a trimmed curve,
+  //! dist1 is a square distance between <P> and the point
+  //! of parameter FirstParameter <P1> and
+  //! dist2 is a square distance between <P> and the point
+  //! of parameter LastParameter <P2>.
   Standard_EXPORT void TrimmedSquareDistances (Standard_Real& dist1, Standard_Real& dist2, gp_Pnt& P1, gp_Pnt& P2) const;
 
 
index eeb9931..53ddfe8 100644 (file)
@@ -55,24 +55,55 @@ public:
   
   Standard_EXPORT Extrema_ELPCOfLocateExtPC2d();
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! Zeros are searched between uinf and usup.
+  //! Tol  is used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_ELPCOfLocateExtPC2d(const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF = 1.0e-10);
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! Tol is used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_ELPCOfLocateExtPC2d(const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Real TolF = 1.0e-10);
   
+  //! initializes the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor2d_Curve2d& C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF = 1.0e-10);
   
+  //! An exception is raised if the fields have not been
+  //! initialized.
   Standard_EXPORT void Perform (const gp_Pnt2d& P);
   
+  //! True if the distances are found.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! Returns the value of the <N>th extremum square distance.
   Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
   
+  //! Returns the number of extremum distances.
   Standard_EXPORT Standard_Integer NbExt() const;
   
+  //! Returns True if the <N>th extremum distance is a
+  //! minimum.
   Standard_EXPORT Standard_Boolean IsMin (const Standard_Integer N) const;
   
+  //! Returns the point of the <N>th extremum distance.
   Standard_EXPORT const Extrema_POnCurv2d& Point (const Standard_Integer N) const;
   
+  //! if the curve is a trimmed curve,
+  //! dist1 is a square distance between <P> and the point
+  //! of parameter FirstParameter <P1> and
+  //! dist2 is a square distance between <P> and the point
+  //! of parameter LastParameter <P2>.
   Standard_EXPORT void TrimmedSquareDistances (Standard_Real& dist1, Standard_Real& dist2, gp_Pnt2d& P1, gp_Pnt2d& P2) const;
 
 
index 61971f2..490e12c 100644 (file)
@@ -47,28 +47,62 @@ public:
   
   Standard_EXPORT Extrema_EPCOfELPCOfLocateExtPC();
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! NbU is used to locate the close points to
+  //! find the zeros.
+  //! Tol and TolU are used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! abs(Un-Un-1) < TolU and abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_EPCOfELPCOfLocateExtPC(const gp_Pnt& P, const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! NbU is used to locate the close points to
+  //! find the zeros.
+  //! Zeros are searched between umin and usup.
+  //! Tol and TolU are used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! abs(Un-Un-1) < TolU and abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_EPCOfELPCOfLocateExtPC(const gp_Pnt& P, const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor3d_Curve& C);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! the algorithm is done with the point P.
+  //! An exception is raised if the fields have not
+  //! been initialized.
   Standard_EXPORT void Perform (const gp_Pnt& P);
   
+  //! True if the distances are found.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! Returns the number of extremum distances.
   Standard_EXPORT Standard_Integer NbExt() const;
   
+  //! Returns the value of the Nth extremum square distance.
   Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
   
+  //! Returns True if the Nth extremum distance is a
+  //! minimum.
   Standard_EXPORT Standard_Boolean IsMin (const Standard_Integer N) const;
   
+  //! Returns the point of the Nth extremum distance.
   Standard_EXPORT const Extrema_POnCurv& Point (const Standard_Integer N) const;
 
 
index 5e8b69f..ea3c8bc 100644 (file)
@@ -47,28 +47,62 @@ public:
   
   Standard_EXPORT Extrema_EPCOfELPCOfLocateExtPC2d();
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! NbU is used to locate the close points to
+  //! find the zeros.
+  //! Tol and TolU are used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! abs(Un-Un-1) < TolU and abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_EPCOfELPCOfLocateExtPC2d(const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Integer NbU, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! NbU is used to locate the close points to
+  //! find the zeros.
+  //! Zeros are searched between umin and usup.
+  //! Tol and TolU are used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! abs(Un-Un-1) < TolU and abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_EPCOfELPCOfLocateExtPC2d(const gp_Pnt2d& P, const Adaptor2d_Curve2d& C, const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor2d_Curve2d& C, const Standard_Integer NbU, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor2d_Curve2d& C, const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor2d_Curve2d& C);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! the algorithm is done with the point P.
+  //! An exception is raised if the fields have not
+  //! been initialized.
   Standard_EXPORT void Perform (const gp_Pnt2d& P);
   
+  //! True if the distances are found.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! Returns the number of extremum distances.
   Standard_EXPORT Standard_Integer NbExt() const;
   
+  //! Returns the value of the Nth extremum square distance.
   Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
   
+  //! Returns True if the Nth extremum distance is a
+  //! minimum.
   Standard_EXPORT Standard_Boolean IsMin (const Standard_Integer N) const;
   
+  //! Returns the point of the Nth extremum distance.
   Standard_EXPORT const Extrema_POnCurv2d& Point (const Standard_Integer N) const;
 
 
index 501677e..2ffad69 100644 (file)
@@ -47,28 +47,62 @@ public:
   
   Standard_EXPORT Extrema_EPCOfExtPC();
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! NbU is used to locate the close points to
+  //! find the zeros.
+  //! Tol and TolU are used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! abs(Un-Un-1) < TolU and abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_EPCOfExtPC(const gp_Pnt& P, const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! It calculates all the distances.
+  //! The function F(u)=distance(P,C(u)) has an extremum
+  //! when g(u)=dF/du=0. The algorithm searchs all the
+  //! zeros inside the definition range of the curve.
+  //! NbU is used to locate the close points to
+  //! find the zeros.
+  //! Zeros are searched between umin and usup.
+  //! Tol and TolU are used to decide to stop the
+  //! iterations according to the following condition:
+  //! if n is the number of iterations,
+  //! abs(Un-Un-1) < TolU and abs(F(Un)-F(Un-1)) < Tol.
   Standard_EXPORT Extrema_EPCOfExtPC(const gp_Pnt& P, const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor3d_Curve& C, const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Adaptor3d_Curve& C);
   
+  //! sets the fields of the algorithm.
   Standard_EXPORT void Initialize (const Standard_Integer NbU, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real TolU, const Standard_Real TolF);
   
+  //! the algorithm is done with the point P.
+  //! An exception is raised if the fields have not
+  //! been initialized.
   Standard_EXPORT void Perform (const gp_Pnt& P);
   
+  //! True if the distances are found.
   Standard_EXPORT Standard_Boolean IsDone() const;
   
+  //! Returns the number of extremum distances.
   Standard_EXPORT Standard_Integer NbExt() const;
   
+  //! Returns the value of the Nth extremum square distance.
   Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
   
+  //! Returns True if the Nth extremum distance is a
+  //! minimum.
   Standard_EXPORT Standard_Boolean IsMin (const Standard_Integer N) const;
   
+  //! Returns the point of the Nth extremum distance.
   Standard_EXPORT const Extrema_POnCurv& Point (const Standard_Integer N) const;