in GEOM_Object thePoint,
in GEOM_Object theDirection);
+ /*!
+ * \brief Convert X,Y,Z points coordinates to UV parameters on the given surface.
+ \param theSurf the given face. It can be also a shell or a compound with one face.
+ \param theXYZlist float list of size 3*N where N is the number of points
+ for which we want their U,V coordinates.
+ If the user enters a list of size not divisible by 3
+ an exception will be thrown.
+ \param theIsNormalized if True, the returned parameters will be in range [0, 1].
+ \return list of float of size 2*N.
+ */
+ ListOfDouble XYZtoUV(in GEOM_Object theSurf,
+ in ListOfDouble theXYZlist,
+ in boolean theIsNormalized);
+
+ /*!
+ * \brief Convert UV parameters on the given surface to 3D points coordinates.
+ \param theSurf the given face. It can be also a shell or a compound with one face.
+ \param theUVlist float list of size 2*N where N is the number of points
+ for which we want their X,Y,Z coordinates.
+ If the user enters a list of non-even size
+ an exception will be thrown.
+ \param theIsNormalized if True, the input parameters are expected to be in range [0, 1].
+ \return list of float of size 3*N.
+ */
+ ListOfDouble UVtoXYZ(in GEOM_Object theSurf,
+ in ListOfDouble theUVlist,
+ in boolean theIsNormalized);
+
//! Methods and structure for implement CheckConformity tool
/*!
* \param theShape Shape for update.
*/
double UpdateTolerance(in GEOM_Object theShape);
+
+ /*!
+ * \brief Get the calculator for the proximity value between the given shapes.
+ * \param theShape1,theShape2 Shapes to find proximity.
+ * \return The calculator object.
+ */
+ GEOM_Object ShapeProximityCalculator(in GEOM_Object theShape1, in GEOM_Object theShape2);
+
+ /*!
+ * \brief Set number sample points to compute the coarse proximity.
+ * \param theCalculator Proximity calculator.
+ * \param theShape Shape to be samples.
+ * \param theNbSamples Number of samples points.
+ */
+ void SetShapeSampling(in GEOM_Object theCalculator,
+ in GEOM_Object theShape,
+ in long theNbSamples);
+
+ /*!
+ * \brief Compute coarse value of the proximity basing on the polygonal representation of shapes.
+ * \param theCalculator Proximity calculator.
+ * \return Proximity value.
+ */
+ double GetCoarseProximity(in GEOM_Object theCalculator);
+
+ /*!
+ * \brief Compute precise value of the proximity basing on the exact shapes.
+ * \param theCalculator Proximity calculator.
+ * \return Proximity value.
+ */
+ double GetPreciseProximity(in GEOM_Object theCalculator);
+
};
// # GEOM_IGroupOperations: