enum shape_type { COMPOUND, COMPSOLID, SOLID, SHELL,
FACE, WIRE, EDGE, VERTEX, SHAPE };
+ /*!
+ * Marker type
+ */
+ enum marker_type { MT_NONE, MT_POINT, MT_PLUS, MT_STAR, MT_O, MT_X, MT_O_POINT, MT_O_PLUS,
+ MT_O_STAR, MT_O_X, MT_BALL, MT_RING1, MT_RING2, MT_RING3, MT_USER };
+
+ /*!
+ * Marker size
+ */
+ enum marker_size { MS_NONE, MS_10, MS_15, MS_20, MS_25, MS_30, MS_35,
+ MS_40, MS_45, MS_50, MS_55, MS_60, MS_65, MS_70 };
/*!
* State of shape relatively geometrical surface like plane, sphere or cylinder.
*/
boolean GetAutoColor();
+ /*!
+ * Set standard point marker for the object
+ * \param theType standard marker type
+ * \param theSize marker relative size
+ */
+ void SetMarkerStd(in marker_type theType, in marker_size theSize );
+
+ /*!
+ * Set custom point marker for the object. The texture can be added
+ * by LoadTexture() or AddTexture() functions.
+ * \param theTextureId texture ID
+ */
+ void SetMarkerTexture(in long theTextureId);
+
+ /*!
+ * Get type of the point marker assigned to the object
+ * \return current marker type (MT_NONE if no marker is set)
+ */
+ marker_type GetMarkerType();
+
+ /*!
+ * Get size of the point marker assigned to the object
+ * \return current marker relative size (MS_NONE if no marker is set)
+ */
+ marker_size GetMarkerSize();
+
+ /*!
+ * Get texture idenifier of the point marker assigned to the object
+ * \return marker texture ID (0 if no marker set)
+ */
+ long GetMarkerTexture();
+
/*!
* Set a Study entry where this object was published.
*/
* used for object creation
*/
void SetParameters (in string theParameters);
-
+
/*!
* Return list of notebook variables used for object creation separated by ":" symbol
*/
*/
GEOM_Object MakePlaneFace (in GEOM_Object theFace,
in double theTrimSize);
-
+
/*!
* Create a plane, by two vectors.
* \param theVec1 Vector1, the plane has to pass through first point of this vector.
GEOM_Object MakePlane2Vec (in GEOM_Object theVec1,
in GEOM_Object theVec2,
in double theTrimSize);
-
+
/*!
* Create a plane, defined by local coordinate system.
* \param theLCS Referenced LCS(Marker).
* vertical (H) and horisontal (W).
* \param theVec defines plane.
* \param theH vertical size (height).
- * \param theW horisontal size (width).
+ * \param theW horisontal size (width).
* \return New GEOM_Object, containing the created face.
*/
GEOM_Object MakeFaceObjHW (in GEOM_Object theObj, in double theH, in double theW);
GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in GEOM_Object thePnt3);
-
+
/*!
* Create a disk specified dimensions along OX-OY coordinate axes,
* Center of the disk at point (0, 0, 0).
* \return New GEOM_Object, containing the created disk.
*/
GEOM_Object MakeDiskR (in double theR, in short theOrientation);
-
+
/*!
* Create a cylinder with given radius and height at
* the origin of coordinate system. Axis of the cylinder
GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2);
-
+
/*!
* Create a shape by extrusion of the base shape along a vector, defined by DX DY DZ.
* \param theBase Base shape to be extruded.
/*!
* Create a shape by extrusion of the profile shape along
* the path shape. The path shape can be a wire or an edge.
- * the several profiles can be specified in the several locations of path.
+ * the several profiles can be specified in the several locations of path.
* \param theSeqBases - list of Bases shape to be extruded.
* \param theLocations - list of locations on the path corresponding
* specified list of the Bases shapes. Number of locations
/*!
* Create a shape by extrusion of the profile shape along
* the path shape. The path shape can be a shell or a face.
- * the several profiles can be specified in the several locations of path.
+ * the several profiles can be specified in the several locations of path.
* \param theSeqBases - list of Bases shape to be extruded.
* \param theSeqSubBases - list of corresponding subshapes of section shapes.
* \param theLocations - list of locations on the path corresponding
/*!
* Create a shape by extrusion of the base shape along
- * the path shape with constant bi-normal direction along the given vector.
+ * the path shape with constant bi-normal direction along the given vector.
* The path shape can be a wire or an edge.
* \param theBase Base shape to be extruded.
* \param thePath Path shape to extrude the base shape along it.
* along the sweep surface.
* \return New GEOM_Object, containing the created pipe.
*/
- GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
- in GEOM_Object thePath,
+ GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
+ in GEOM_Object thePath,
in GEOM_Object theVec);
};
in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in boolean theSense);
-
+
/*!
* Create an arc of ellipse of center C and two points P1 P2.
* \param theCenter Center point of the arc.
* \return New GEOM_Object, containing the created wire.
*/
GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane);
-
+
/*!
* Create a 3D sketcher, following the numerical description,
* passed through points created by \a theCoordinates argument. \n
*
* "Make3DSketcher[x1, y1, z1, x2, y2, z2, ..., xN, yN, zN]"
*/
-
+
GEOM_Object Make3DSketcher (in ListOfDouble theCoordinates);
/*!
GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
in double theR,
in ListOfLong theFaces);
-
+
GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
in double theR1,
in double theR2,
in ListOfLong theFaces);
-
+
/*!
* Perform a fillet on face of the specified vertexes of the given shape.
* \param theShape Shape, to perform fillet on.
*/
void ExportTranslators (out string_array theFormats,
out string_array thePatterns);
+
+ /*!
+ * Load texture from file
+ * \param theTextureFile texture file name
+ * \return unique texture identifier
+ */
+ long LoadTexture(in string theTextureFile);
+
+ /*!
+ * Add texture to the study
+ * \param theWidth texture width in pixels
+ * \param theHeight texture height in pixels
+ * \param theTexture texture byte array
+ * \return unique texture identifier
+ */
+ long AddTexture(in long theWidth, in long theHeight, in SALOMEDS::TMPFile theTexture);
+
+ /*!
+ * Get previously loaded texture data
+ * \param theID texture identifier
+ * \param theWidth texture width in pixels
+ * \param theHeight texture height in pixels
+ * \return texture byte array
+ */
+ SALOMEDS::TMPFile GetTexture(in long theID, out long theWidth, out long theHeight);
+
+ /*!
+ * Get list of all avaiable texture IDs
+ * \return list of all texture IDs avaiable for the current study
+ */
+ ListOfLong GetAllTextures();
};
/*!