Functions | |
int | mdlArc_create (MSElementP out, MSElementP in, DPoint3dP center, double axis1, double axis2, RotMatrixP rMatrix, double start, double sweep) |
Creates a MicroStation arc element in out from the parameters passed. More... | |
int | mdlArc_createByCenter (MSElementP out, MSElementP in, DPoint3dP pts, int useRad, double rad, int view) |
Creates a MicroStation arc element in out defined by its center and two end points. More... | |
int | mdlArc_createByPoints (MSElementP out, MSElementP in, DPoint3dP pts) |
Creates a MicroStation arc element defined by three points. More... | |
int | mdlArc_createByDEllipse3d (MSElementP elementP, MSElementP templateP, DEllipse3d *ellipseP) |
Used to create a new arc element, given an ellipse element. More... | |
int | mdlCircle_createBy3Pts (MSElementP out, MSElementP in, DPoint3dP pt, int fillMode) |
Creates a MicroStation circular ellipse element in out defined by three points in the perimeter. More... | |
void | mdlComplexChain_createHeader (MSElementP chain, int shapeMode, int fillMode) |
Creates a complex chain header element. More... | |
int | mdlCone_create (MSElementP out, MSElementCP in, double topRadius, double bottomRadius, DPoint3dCP base, DPoint3dCP top, RotMatrixCP coneRMatrix) |
Creates a MicroStation cone element in out. More... | |
int | mdlCone_createRightCylinder (MSElementP out, MSElementP in, double radius, DPoint3dCP base, DPoint3dCP top) |
This function is provided as a convenience. More... | |
int | mdlCone_createWithRotMatrix (MSElementP out, MSElementCP in, double topRadius, double bottomRadius, DPoint3dCP base, DPoint3dCP top, RotMatrixCP coneRMatrix) |
Creates a MicroStation cone element in out. More... | |
int | mdlCurve_create (MSElementP out, MSElementP in, DPoint3dP points, size_t numVerts) |
Creates a shape element and the mdlCurve_create function creates a curve element. More... | |
int | mdlEllipse_create (MSElementP out, MSElementCP in, DPoint3dCP center, double axis1, double axis2, RotMatrixCP rMatrix, int fillMode) |
Creates a MicroStation ellipse element in out from the parameters passed. More... | |
int | mdlLineString_create (MSElementP out, MSElementP in, DPoint3dP points, int numVerts) |
Creates a line string element. More... | |
int | mdlLine_create (MSElementP pElementOut, MSElementP pElementIn, DPoint3dP points) |
Creates a MicroStation Line element. More... | |
void | mdlPointString_create (MSElementP pElementOut, MSElementP pElementIn, DPoint3dP pPoints, double *rMatrices, int numverts, int disjoint) |
Creates a MicroStation point string element. More... | |
int | mdlShape_create (MSElementP out, MSElementP in, DPoint3dP points, size_t numVerts, int fillMode) |
Creates a shape element. More... | |
void | mdlSurface_createHeader (MSElementP surf, int surfType) |
Creates a complex surface header element. More... | |
int mdlArc_create | ( | MSElementP | out, |
MSElementP | in, | ||
DPoint3dP | center, | ||
double | axis1, | ||
double | axis2, | ||
RotMatrixP | rMatrix, | ||
double | start, | ||
double | sweep | ||
) |
Creates a MicroStation arc element in out from the
parameters passed.
All parameters other than start and sweep are transformed by the current transform if one exists.
[out] | out | |
[in] | in | an input template, symbology and level from this element is used if not NULL |
[in] | center | defines the center point for the arc. If center is NULL, the center is placed at (0, 0, 0) in the current coordinate system. |
[in] | axis1 | size of the primary arc axis |
[in] | axis2 | size of the secondary arc axis |
[in] | rMatrix | is the arc's rotation matrix. If rMatrix is NULL, the identity matrix (no rotation) is used. |
[in] | start | the arc's starting angle in radians |
[in] | sweep | the arc's sweep angle in radians. |
int mdlArc_createByCenter | ( | MSElementP | out, |
MSElementP | in, | ||
DPoint3dP | pts, | ||
int | useRad, | ||
double | rad, | ||
int | view | ||
) |
Creates a MicroStation arc element
in out defined by its center and two end points.
The points are transformed by the current transform if one exists. arcPts[0] is the starting point, arcPts[1] is the center point, and arcPts[2] is the ending point.
[out] | out | arc created |
[in] | in | template element |
[in] | pts | center and end points |
[in] | useRad | 1=use radius, 0=use points |
[in] | rad | radius (if useRadius is true) |
[in] | view | view number |
int mdlArc_createByDEllipse3d | ( | MSElementP | elementP, |
MSElementP | templateP, | ||
DEllipse3d * | ellipseP | ||
) |
Used to create a new arc element,
given an ellipse element.
The rotation matrix, radius, start and sweep values of the new arc are all obtained from the ellipse element.
[out] | elementP | is a pointer to the arc element created by this function. |
[in] | templateP | is a template element from which certain attributes values are copied to the arc element. |
[in] | ellipseP | is a pointer to the ellipse element from which the rotation matrix, radius, start, and sweep values are taken to create the arc element. |
int mdlArc_createByPoints | ( | MSElementP | out, |
MSElementP | in, | ||
DPoint3dP | pts | ||
) |
Creates a MicroStation arc element defined by three points.
The points are transformed by the current transform if one exists. arcPts[0] is the starting point, arcPts[2] is the ending point, and arcPts[1] is another point on the arc.
[out] | out | arc created |
[in] | in | template element |
[in] | pts | points on arc |
int mdlCircle_createBy3Pts | ( | MSElementP | out, |
MSElementP | in, | ||
DPoint3dP | pt, | ||
int | fillMode | ||
) |
Creates a MicroStation circular ellipse
element in out defined by three points in the perimeter.
The points in the point parameter are transformed by the current transform if one exists.
[out] | out | circle created |
[in] | in | template element |
[in] | pt | perimeter points |
[in] | fillMode | determines whether the created circle is filled. See mdlShape_create for possible values of fillMode. |
void mdlComplexChain_createHeader | ( | MSElementP | chain, |
int | shapeMode, | ||
int | fillMode | ||
) |
Creates a complex chain header element.
Complex chain header elements are non-displayable elements used to group other displayable elements. For this reason, this function does not have an input element as an argument. Complex chain header elements cannot be added to the design file on their own. Instead, they are used with the element descriptor routines.
[out] | chain | indicates the type of chain mdlComplexChain_createHeader is to create. If chain is true, it creates a complex shape header. Otherwise, it creates a complex chain header. |
[in] | shapeMode | true if this is going to be a shape |
[in] | fillMode | If chain is true, fillMode for the mdlComplexChain_createHeader function determines whether the shape is filled or open. Possible values are as follows: fillMode: Meaning -1: Use the active fillMode from MicroStation. 0: The shape is not filled. 1: The shape is filled. |
int mdlCone_create | ( | MSElementP | out, |
MSElementCP | in, | ||
double | topRadius, | ||
double | bottomRadius, | ||
DPoint3dCP | base, | ||
DPoint3dCP | top, | ||
RotMatrixCP | coneRMatrix | ||
) |
Creates a MicroStation cone element in out.
The cone is defined by two circles specified by their radii, topRadius, and bottomRadius and their center points, base and top. If base or top is NULL, the coordinate (0, 0, 0) in the current coordinate system is used.
[out] | out | element to be created |
[in] | in | optional starting element |
[in] | topRadius | top radius |
[in] | bottomRadius | bottom radius |
[in] | base | center of base |
[in] | top | center of top |
[in] | coneRMatrix | specifies a skew rotation to be applied to the top and bottom circles. If coneRMatrix is NULL, a right cone is created. |
int mdlCone_createRightCylinder | ( | MSElementP | out, |
MSElementP | in, | ||
double | radius, | ||
DPoint3dCP | base, | ||
DPoint3dCP | top | ||
) |
This function is provided as a convenience.
It produces the same result as calling mdlCone_create with topRadius and bottomRadius equal and coneRMatrix set to NULL: mdlCone_create(out, in, radius, radius, base, top, NULL);
[out] | out | element to be created |
[in] | in | optional starting element |
[in] | radius | radius (both top and bottom) |
[in] | base | center of base |
[in] | top | center of top |
int mdlCone_createWithRotMatrix | ( | MSElementP | out, |
MSElementCP | in, | ||
double | topRadius, | ||
double | bottomRadius, | ||
DPoint3dCP | base, | ||
DPoint3dCP | top, | ||
RotMatrixCP | coneRMatrix | ||
) |
Creates a MicroStation cone element
in out.
The cone is defined by two circles specified by their radii topRadius and bottomRadius and their center points, base and top. The orientation of both circles is specified by coneRMatrix. This rotation matrix specifies the circle orientation directly and is not a skew matrix as used in mdlCone_create; it is the same rotation matrix that is returned by mdlCone_extract.
[out] | out | element to be created |
[in] | in | optional starting element |
[in] | topRadius | top radius |
[in] | bottomRadius | bottom radius |
[in] | base | center of base |
[in] | top | center of top |
[in] | coneRMatrix | general cone Transformation |
int mdlCurve_create | ( | MSElementP | out, |
MSElementP | in, | ||
DPoint3dP | points, | ||
size_t | numVerts | ||
) |
Creates a shape element and the mdlCurve_create
function creates a curve element.
[out] | out | curve created |
[in] | in | template element |
[in] | points | vertices |
[in] | numVerts | indicates the number of vertices in points and must be 2 <= numVerts <=MAX_VERTICES (5000). The points are transformed by the current transform if one exists. |
int mdlEllipse_create | ( | MSElementP | out, |
MSElementCP | in, | ||
DPoint3dCP | center, | ||
double | axis1, | ||
double | axis2, | ||
RotMatrixCP | rMatrix, | ||
int | fillMode | ||
) |
Creates a MicroStation ellipse element in out from the
parameters passed.
All parameters are transformed by the current transform if one exists.
[out] | out | ellipse created |
[in] | in | template element |
[in] | center | defines the ellipse's center point. If center is NULL, the center is placed at (0, 0, 0) in the current coordinate system. |
[in] | axis1 | the primary axis (the axis at 0° in the arc/ellipse coordinate system) is passed in axis1 |
[in] | axis2 | the secondary axis (the axis at 90° ) is passed in axis2. |
[in] | rMatrix | is the arc's rotation matrix. If rMatrix is NULL, the identity matrix (no rotation) is used. |
[in] | fillMode | determines whether the created ellipse is filled. See mdlShape_create for possible values of fillMode. |
int mdlLine_create | ( | MSElementP | pElementOut, |
MSElementP | pElementIn, | ||
DPoint3dP | points | ||
) |
Creates a MicroStation Line element.
[out] | pElementOut | line element created |
[in] | pElementIn | template element |
[in] | points | end points |
int mdlLineString_create | ( | MSElementP | out, |
MSElementP | in, | ||
DPoint3dP | points, | ||
int | numVerts | ||
) |
Creates a line string element.
[out] | out | line string created |
[in] | in | template element |
[in] | points | vertices |
[in] | numVerts | indicates the number of vertices in points and must be 2 <= numVerts <= MAX_VERTICES (5000). The points are transformed by the current transform if one exists. |
void mdlPointString_create | ( | MSElementP | pElementOut, |
MSElementP | pElementIn, | ||
DPoint3dP | pPoints, | ||
double * | rMatrices, | ||
int | numverts, | ||
int | disjoint | ||
) |
Creates a MicroStation point string element.
A point string element consists of vertices with orientations at each vertex.
[out] | pElementOut | point string element |
[in] | pElementIn | template element |
[in] | pPoints | specifies the point string's vertices. |
[in] | rMatrices | is an array of rotation matrices, one matrix for each vertex. In 2D, the rotation matrices are 2×2 matrices, and in 3D they are 3×3 matrices. |
[in] | numverts | is the number of vertices in the point string. points and rMatrices should be dimensioned to numVerts. The maximum number of vertices for a point string is 48. |
[in] | disjoint | determines whether out is created as a disjoint or continuous point string. Continuous point strings display with lines connecting the vertices. |
int mdlShape_create | ( | MSElementP | out, |
MSElementP | in, | ||
DPoint3dP | points, | ||
size_t | numVerts, | ||
int | fillMode | ||
) |
Creates a shape element.
[out] | out | shape created |
[in] | points | vertices |
[in] | numVerts | indicates the number of vertices in points and must be 3 <= numVerts <=MAX_VERTICES (5000). The points are transformed by the current transform if one exists. If the last point supplied is not equivalent to the first point, then an additional point is automatically inserted to ensure closure. |
[in] | fillMode | for the mdlShape_create function determines whether the shape is filled or open. Possible values are as follows:. fillMode: Meaning -1: Use the active fillMode from MicroStation. 0: The shape is not filled. 1: The shape is filled. |
[in] | in | If in is NULL, the display parameters for the created element are taken from the active MicroStation settings when the function is called. Otherwise, the display parameters from in are used. All attribute information from in is retained in out. |
void mdlSurface_createHeader | ( | MSElementP | surf, |
int | surfType | ||
) |
Creates a complex surface header element.
Complex surface elements are non-displayable elements that group other displayable elements. For this reason, this function does not have an input element as an argument. Complex surface header elements cannot be automatically added to the design file. Instead, they should be used with the Element Descriptor routines.
[out] | surf | new surface header |
[in] | surfType | indicates the type of surface to be created by mdlSurface_createHeader. Possible values are: 0 = surface of projection, 8 = surface of revolution. |