home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 January
/
Chip_1997-01_cd.bin
/
ms95
/
disk22
/
dir02
/
f011770.re_
/
f011770.re
Wrap
Text File
|
1996-04-02
|
8KB
|
273 lines
/*----------------------------------------------------------------------+
| |
| Copyright (c) 1985-93; Bentley Systems, Inc., All rights reserved. |
| |
| "MicroStation", "MDL", and "MicroCSL" are trademarks of Bentley |
| Systems, Inc. |
| |
| Limited permission is hereby granted to reproduce and modify this |
| copyrighted material provided that the resulting code is used only |
| in conjunction with Bentley Systems products under the terms of the |
| license agreement provided therein, and that this notice is retained |
| in its entirety in any such reproduction or modification. |
| |
+----------------------------------------------------------------------*/
/*----------------------------------------------------------------------+
| |
| mdllib.fdf -- MDL Library Function Prototypes |
| |
| Current Revision: |
| $Workfile: mdllib.fdf $
| $Revision: 5.63 $ $Date: 25 Oct 1995 08:26:56 $
| |
+----------------------------------------------------------------------*/
#if ! defined (__mdllibFDF__)
#define __mdllibFDF__
#if ! defined (__mdlbsplnH__)
#include <mdlbspln.h>
#endif
#if ! defined (__mselemsH__)
#include <mselems.h>
#endif
#if ! defined (__refernceH__)
#include <refernce.h>
#endif
#if defined (__BSI__)
#include <mdllib2.fdf>
#endif
int mdlElmdscr_createFromVertices
(
MSElementDescr **edPP, /* <= line string (or complex chain) */
MSElement *templateElmP, /* => template element (or NULL) */
Dpoint3d *pointP, /* => vertices */
int numPoints, /* => number of vertices */
boolean closed, /* => TRUE for closed */
boolean fillMode /* => fill mode (if closed) */
);
int mdlACS_createElement
(
MSElement *elementP, /* <= element */
char *name, /* => ACS Name */
char *description, /* => ACS Description */
Dpoint3d *originP, /* => ACS Origin */
RotMatrix *rotMatrixP, /* => ACS RotMatrix */
int acsType /* => ACS Type */
);
int mdlACS_extractElement
(
Dpoint3d *originP, /* <= origin */
RotMatrix *rotMatrixP, /* <= rotation matrix */
int *type, /* <= ACS type */
char *nameP, /* <= name */
Aux_coordinate *auxElm /* => element */
);
boolean mdlRMatrix_isOrthonormal
(
RotMatrix *rP, /* => Rotation matrix */
int dimension /* => matrix dimension (2 or 3) */
);
boolean mdlVec_pointOffDesignPlane
(
Dpoint3d *point /* => point to check */
);
double mdlCnv_uorsToMasterUnits
(
double uors /* => uors */
);
double mdlCnv_masterUnitsToUors
(
double masterUnits /* => master units */
);
double mdlCnv_uorsToSubUnits
(
double uors /* => uors */
);
double mdlCnv_subUnitsToUors
(
double subUnits /* => sub units */
);
int mdlRefFile_rotate
(
int slot, /* => reference slot (0 - tcb->maxRefs-1) */
Dpoint3d *pivotP, /* => pivot point */
double xRotation, /* => x rotation (radians) */
double yRotation, /* => y rotation (radians) */
double zRotation, /* => z rotation (radians) */
int view /* => view number */
);
int mdlRefFile_scale
(
int slot, /* => reference slot (0 - tcb->maxRefs-1) */
Dpoint3d *scalePointP, /* => point to scale about */
double scale /* => scale factor (applied to existing scale) */
);
int mdlRefFile_createAttachment
(
short *type5ElmP, /* <= type 5 element */
char *fileName, /* => file name */
char *logicalName, /* => logical name */
char *description, /* => description */
Dpoint3d *masterOrigin, /* => master origin */
Dpoint3d *referenceOrigin, /* => reference origin */
double scale, /* => scale */
RotMatrix *rotMatrix, /* => rotation */
int nClipPoints, /* => number of clipping points */
Point2d *clipPoints, /* => clipping points */
double zLimit, /* => z Limit */
short levels[8][4], /* => level masks */
boolean snapLock, /* => snap lock */
boolean locateLock, /* => locate lock */
int slot, /* => slot number */
short *displayFlagsP /* => display flags (or NULL) */
);
int mdlRefFile_extendedAttach
(
char *fileName, /* => file name */
char *logicalName, /* => logical name */
char *description, /* => description */
Dpoint3d *masterOrigin, /* => master origin */
Dpoint3d *refOrigin, /* => reference origin */
double scale, /* => scale */
RotMatrix *rotMatrix, /* => rotation matrix */
int nClipPoints, /* => number of clipping points */
Point2d *clipPoints, /* => clipping points */
double zDelta, /* => z Clipping limit */
short levels[MAX_VIEWS][4], /* => level map */
boolean snapLock, /* => snap lock */
boolean locateLock, /* => locate lock */
int nestDepth, /* => nest depth limit */
boolean coincident /* => attach coincident */
);
int mdlRefFile_updateReference
(
int refSlot, /* => reference file number (0 - maxRefs-1) */
int displayMode /* => display mode */
);
int mdlFile_checkDesignFile
(
boolean *isThreeD, /* <= TRUE if file is 3d */
char *fileName /* => filename */
);
int mdlView_createSavedViewElement
(
short nvElement[], /* <= saved view element */
char *name, /* => view name */
char *description, /* => view description */
Dpoint3d *originP, /* => view origin */
Dpoint3d *deltaP, /* => view delta */
RotMatrix *rotMatrixP, /* => view rotation matrix */
double *activeZP, /* => active depth */
Viewflags *flagsP, /* => view flags */
Ext_viewflags *extFlagsP, /* => extended view flags */
short *levelsP, /* => levels */
Dpoint3d *cameraPositionP, /* => camera position */
double *focalLengthP, /* => focal length */
double *cameraAngle /* => camera angle */
);
void mdlColor_createColorTableElement
(
short *colorTableElementP, /* <= color table element */
byte *colorlist, /* => color indices */
char *ctname /* => color table name */
);
int mdlImage_checkStop
(
void
);
int mdlSystem_checkExtendedAbort
(
void
);
int mdlSharedCell_createDefinitionElement
(
MSElement *hdrP, /* <= location of buffer */
char *cellName, /* => name of cell */
boolean pointCell /* => nonzero for Point cell */
);
int mdlAccudraw_optimizeForContext
(
long flags, /* => flags from accudraw.h */
Dpoint3d *originP, /* => */
Dpoint3d *deltaP, /* => */
double *distanceP, /* => */
double *angleP, /* => */
void *orientationP /* => RMatrix or Dpoint3d (unit vector) */
);
int mdlMline_joinTee
(
MSElement *line1, /* <=> First line. (will be extended) */
int segNo1, /* => Segment number in first line */
DPoint3d *locatePoint, /* => Locate point on first line */
MSElement *line2, /* <=> Second line (base line) */
int segNo2, /* => Segment number in second line */
int type /* => Joint type (MLJOIN_...) */
);
int mdlMline_joinCross
(
MSElement *line1, /* <=> First line. */
int segNo1, /* => Segment number in first line */
MSElement *line2, /* <=> Second line (base line) */
int segNo2, /* => Segment number in second line */
int type /* => Joint type (MLJOIN_...) */
);
int mdlMline_joinCorner
(
MSElement *line1, /* <=> First line. (will be extended) */
int segNo1, /* => Segment number in first line */
DPoint3d *point1, /* => Locate point on first line */
MSElement *line2, /* <=> Second line. (will be extended) */
int segNo2, /* => Segment number in second line */
DPoint3d *point2 /* => Locate point on second line */
);
boolean mdlBspline_isValidBoundary
(
BsurfBoundary *boundP
);
boolean mdlBspline_isValidKnotVector
(
double *knots, /* => full knot vector */
int numPoles,
int order,
int closed
);
boolean mdlBspline_isPhysicallyClosedCurve
(
MSElementDescr *edP /* B-Spline curve element to test */
);
#endif