; 
; Exports of file DANIM.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY DANIM.dll
EXPORTS
; class CRBvr * __ptr64 __cdecl COMToCRBvr(struct IUnknown * __ptr64)
?COMToCRBvr@@YAPEAVCRBvr@@PEAUIUnknown@@@Z
; class CRNumber * __ptr64 __cdecl CRAbs(class CRNumber * __ptr64)
?CRAbs@@YAPEAVCRNumber@@PEAV1@@Z
; class CRNumber * __ptr64 __cdecl CRAcos(class CRNumber * __ptr64)
?CRAcos@@YAPEAVCRNumber@@PEAV1@@Z
; bool __cdecl CRAcquireGCLock(void)
?CRAcquireGCLock@@YA_NXZ
; class CRNumber * __ptr64 __cdecl CRAdd(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRAdd@@YAPEAVCRNumber@@PEAV1@0@Z
; class CRPoint2 * __ptr64 __cdecl CRAdd(class CRPoint2 * __ptr64,class CRVector2 * __ptr64)
?CRAdd@@YAPEAVCRPoint2@@PEAV1@PEAVCRVector2@@@Z
; class CRPoint3 * __ptr64 __cdecl CRAdd(class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
?CRAdd@@YAPEAVCRPoint3@@PEAV1@PEAVCRVector3@@@Z
; class CRVector2 * __ptr64 __cdecl CRAdd(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
?CRAdd@@YAPEAVCRVector2@@PEAV1@0@Z
; class CRVector3 * __ptr64 __cdecl CRAdd(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
?CRAdd@@YAPEAVCRVector3@@PEAV1@0@Z
; bool __cdecl CRAddBvrToRun(class CRView * __ptr64,class CRBvr * __ptr64,bool,long * __ptr64)
?CRAddBvrToRun@@YA_NPEAVCRView@@PEAVCRBvr@@_NPEAJ@Z
; long __cdecl CRAddElement(class CRArray * __ptr64,class CRBvr * __ptr64,unsigned long)
?CRAddElement@@YAJPEAVCRArray@@PEAVCRBvr@@K@Z
; class CRGeometry * __ptr64 __cdecl CRAddPickData(class CRGeometry * __ptr64,struct IUnknown * __ptr64,bool)
?CRAddPickData@@YAPEAVCRGeometry@@PEAV1@PEAUIUnknown@@_N@Z
; class CRImage * __ptr64 __cdecl CRAddPickData(class CRImage * __ptr64,struct IUnknown * __ptr64,bool)
?CRAddPickData@@YAPEAVCRImage@@PEAV1@PEAUIUnknown@@_N@Z
; bool __cdecl CRAddRefGC(void * __ptr64)
?CRAddRefGC@@YA_NPEAX@Z
; bool __cdecl CRAddSite(class CRSite * __ptr64)
?CRAddSite@@YA_NPEAVCRSite@@@Z
; class CREvent * __ptr64 __cdecl CRAlways(void)
?CRAlways@@YAPEAVCREvent@@XZ
; class CRGeometry * __ptr64 __cdecl CRAmbientColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
?CRAmbientColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
; class CRGeometry * __ptr64 __cdecl CRAmbientLight(void)
?CRAmbientLight@@YAPEAVCRGeometry@@XZ
; class CRBoolean * __ptr64 __cdecl CRAnd(class CRBoolean * __ptr64,class CRBoolean * __ptr64)
?CRAnd@@YAPEAVCRBoolean@@PEAV1@0@Z
; class CREvent * __ptr64 __cdecl CRAndEvent(class CREvent * __ptr64,class CREvent * __ptr64)
?CRAndEvent@@YAPEAVCREvent@@PEAV1@0@Z
; class CRFontStyle * __ptr64 __cdecl CRAntiAliasing(class CRFontStyle * __ptr64,double)
?CRAntiAliasing@@YAPEAVCRFontStyle@@PEAV1@N@Z
; class CRLineStyle * __ptr64 __cdecl CRAntiAliasing(class CRLineStyle * __ptr64,double)
?CRAntiAliasing@@YAPEAVCRLineStyle@@PEAV1@N@Z
; class CREvent * __ptr64 __cdecl CRAppTriggeredEvent(void)
?CRAppTriggeredEvent@@YAPEAVCREvent@@XZ
; class CRDXTransformResult * __ptr64 __cdecl CRApplyDXTransform(struct IUnknown * __ptr64,long,class CRBvr * __ptr64 * __ptr64,class CRBvr * __ptr64)
?CRApplyDXTransform@@YAPEAVCRDXTransformResult@@PEAUIUnknown@@JPEAPEAVCRBvr@@PEAV3@@Z
; class CRColor * __ptr64 __cdecl CRAqua(void)
?CRAqua@@YAPEAVCRColor@@XZ
; class CRPath2 * __ptr64 __cdecl CRArc(double,double,double,double)
?CRArc@@YAPEAVCRPath2@@NNNN@Z
; class CRPath2 * __ptr64 __cdecl CRArcRadians(double,double,double,double)
?CRArcRadians@@YAPEAVCRPath2@@NNNN@Z
; class CRPath2 * __ptr64 __cdecl CRArcRadians(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRArcRadians@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
; class CRNumber * __ptr64 __cdecl CRAsin(class CRNumber * __ptr64)
?CRAsin@@YAPEAVCRNumber@@PEAV1@@Z
; class CRNumber * __ptr64 __cdecl CRAtan2(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRAtan2@@YAPEAVCRNumber@@PEAV1@0@Z
; class CRNumber * __ptr64 __cdecl CRAtan(class CRNumber * __ptr64)
?CRAtan@@YAPEAVCRNumber@@PEAV1@@Z
; class CREvent * __ptr64 __cdecl CRAttachData(class CREvent * __ptr64,class CRBvr * __ptr64)
?CRAttachData@@YAPEAVCREvent@@PEAV1@PEAVCRBvr@@@Z
; class CRBvr * __ptr64 __cdecl CRBSpline(int,long,class CRNumber * __ptr64 * __ptr64 const,long,class CRBvr * __ptr64 * __ptr64 const,long,class CRNumber * __ptr64 * __ptr64 const,class CRNumber * __ptr64,enum CR_BVR_TYPEID)
?CRBSpline@@YAPEAVCRBvr@@HJQEAPEAVCRNumber@@JQEAPEAV1@J0PEAV2@W4CR_BVR_TYPEID@@@Z
; class CRGeometry * __ptr64 __cdecl CRBillboard(class CRGeometry * __ptr64,class CRVector3 * __ptr64)
?CRBillboard@@YAPEAVCRGeometry@@PEAV1@PEAVCRVector3@@@Z
; class CRColor * __ptr64 __cdecl CRBlack(void)
?CRBlack@@YAPEAVCRColor@@XZ
; class CRGeometry * __ptr64 __cdecl CRBlendTextureDiffuse(class CRGeometry * __ptr64,class CRBoolean * __ptr64)
?CRBlendTextureDiffuse@@YAPEAVCRGeometry@@PEAV1@PEAVCRBoolean@@@Z
; class CRColor * __ptr64 __cdecl CRBlue(void)
?CRBlue@@YAPEAVCRColor@@XZ
; class CRFontStyle * __ptr64 __cdecl CRBold(class CRFontStyle * __ptr64)
?CRBold@@YAPEAVCRFontStyle@@PEAV1@@Z
; class CRBbox2 * __ptr64 __cdecl CRBoundingBox(class CRImage * __ptr64)
?CRBoundingBox@@YAPEAVCRBbox2@@PEAVCRImage@@@Z
; class CRBbox2 * __ptr64 __cdecl CRBoundingBox(class CRPath2 * __ptr64,class CRLineStyle * __ptr64)
?CRBoundingBox@@YAPEAVCRBbox2@@PEAVCRPath2@@PEAVCRLineStyle@@@Z
; class CRBbox3 * __ptr64 __cdecl CRBoundingBox(class CRGeometry * __ptr64)
?CRBoundingBox@@YAPEAVCRBbox3@@PEAVCRGeometry@@@Z
; class CRBvr * __ptr64 __cdecl CRBvrApplyPreference(class CRBvr * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
?CRBvrApplyPreference@@YAPEAVCRBvr@@PEAV1@PEAGUtagVARIANT@@@Z
; bool __cdecl CRBvrToCOM(class CRBvr * __ptr64,struct _GUID const & __ptr64,void * __ptr64 * __ptr64)
?CRBvrToCOM@@YA_NPEAVCRBvr@@AEBU_GUID@@PEAPEAX@Z
; class CRNumber * __ptr64 __cdecl CRCeiling(class CRNumber * __ptr64)
?CRCeiling@@YAPEAVCRNumber@@PEAV1@@Z
; void __cdecl CRClearLastError(void)
?CRClearLastError@@YAXXZ
; class CRMatte * __ptr64 __cdecl CRClearMatte(void)
?CRClearMatte@@YAPEAVCRMatte@@XZ
; class CRImage * __ptr64 __cdecl CRClip(class CRImage * __ptr64,class CRMatte * __ptr64)
?CRClip@@YAPEAVCRImage@@PEAV1@PEAVCRMatte@@@Z
; class CRImage * __ptr64 __cdecl CRClipPolygonImage(class CRImage * __ptr64,class CRArray * __ptr64)
?CRClipPolygonImage@@YAPEAVCRImage@@PEAV1@PEAVCRArray@@@Z
; class CRPath2 * __ptr64 __cdecl CRClose(class CRPath2 * __ptr64)
?CRClose@@YAPEAVCRPath2@@PEAV1@@Z
; class CRColor * __ptr64 __cdecl CRColorHsl(double,double,double)
?CRColorHsl@@YAPEAVCRColor@@NNN@Z
; class CRColor * __ptr64 __cdecl CRColorHsl(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRColorHsl@@YAPEAVCRColor@@PEAVCRNumber@@00@Z
; class CRImage * __ptr64 __cdecl CRColorKey(class CRImage * __ptr64,class CRColor * __ptr64)
?CRColorKey@@YAPEAVCRImage@@PEAV1@PEAVCRColor@@@Z
; class CRColor * __ptr64 __cdecl CRColorRgb255(short,short,short)
?CRColorRgb255@@YAPEAVCRColor@@FFF@Z
; class CRColor * __ptr64 __cdecl CRColorRgb(double,double,double)
?CRColorRgb@@YAPEAVCRColor@@NNN@Z
; class CRColor * __ptr64 __cdecl CRColorRgb(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRColorRgb@@YAPEAVCRColor@@PEAVCRNumber@@00@Z
; class CRTransform2 * __ptr64 __cdecl CRCompose2(class CRTransform2 * __ptr64,class CRTransform2 * __ptr64)
?CRCompose2@@YAPEAVCRTransform2@@PEAV1@0@Z
; class CRTransform2 * __ptr64 __cdecl CRCompose2(class CRArray * __ptr64)
?CRCompose2@@YAPEAVCRTransform2@@PEAVCRArray@@@Z
; class CRTransform3 * __ptr64 __cdecl CRCompose3(class CRTransform3 * __ptr64,class CRTransform3 * __ptr64)
?CRCompose3@@YAPEAVCRTransform3@@PEAV1@0@Z
; class CRTransform3 * __ptr64 __cdecl CRCompose3(class CRArray * __ptr64)
?CRCompose3@@YAPEAVCRTransform3@@PEAVCRArray@@@Z
; class CRPath2 * __ptr64 __cdecl CRConcat(class CRPath2 * __ptr64,class CRPath2 * __ptr64)
?CRConcat@@YAPEAVCRPath2@@PEAV1@0@Z
; class CRPath2 * __ptr64 __cdecl CRConcat(class CRArray * __ptr64)
?CRConcat@@YAPEAVCRPath2@@PEAVCRArray@@@Z
; class CRString * __ptr64 __cdecl CRConcatString(class CRString * __ptr64,class CRString * __ptr64)
?CRConcatString@@YAPEAVCRString@@PEAV1@0@Z
; class CRBvr * __ptr64 __cdecl CRCond(class CRBoolean * __ptr64,class CRBvr * __ptr64,class CRBvr * __ptr64)
?CRCond@@YAPEAVCRBvr@@PEAVCRBoolean@@PEAV1@1@Z
; bool __cdecl CRConnect(struct HINSTANCE__ * __ptr64)
?CRConnect@@YA_NPEAUHINSTANCE__@@@Z
; class CRNumber * __ptr64 __cdecl CRCos(class CRNumber * __ptr64)
?CRCos@@YAPEAVCRNumber@@PEAV1@@Z
; class CRArray * __ptr64 __cdecl CRCreateArray(long,double * __ptr64 const,enum CR_BVR_TYPEID)
?CRCreateArray@@YAPEAVCRArray@@JQEANW4CR_BVR_TYPEID@@@Z
; class CRArray * __ptr64 __cdecl CRCreateArray(long,class CRBvr * __ptr64 * __ptr64 const,unsigned long)
?CRCreateArray@@YAPEAVCRArray@@JQEAPEAVCRBvr@@K@Z
; class CRBoolean * __ptr64 __cdecl CRCreateBoolean(bool)
?CRCreateBoolean@@YAPEAVCRBoolean@@_N@Z
; class CRNumber * __ptr64 __cdecl CRCreateNumber(double)
?CRCreateNumber@@YAPEAVCRNumber@@N@Z
; class CRPoint2 * __ptr64 __cdecl CRCreatePoint2(double,double)
?CRCreatePoint2@@YAPEAVCRPoint2@@NN@Z
; class CRPoint2 * __ptr64 __cdecl CRCreatePoint2(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRCreatePoint2@@YAPEAVCRPoint2@@PEAVCRNumber@@0@Z
; class CRPoint3 * __ptr64 __cdecl CRCreatePoint3(double,double,double)
?CRCreatePoint3@@YAPEAVCRPoint3@@NNN@Z
; class CRPoint3 * __ptr64 __cdecl CRCreatePoint3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRCreatePoint3@@YAPEAVCRPoint3@@PEAVCRNumber@@00@Z
; class CRString * __ptr64 __cdecl CRCreateString(unsigned short * __ptr64)
?CRCreateString@@YAPEAVCRString@@PEAG@Z
; class CRTuple * __ptr64 __cdecl CRCreateTuple(long,class CRBvr * __ptr64 * __ptr64 const)
?CRCreateTuple@@YAPEAVCRTuple@@JQEAPEAVCRBvr@@@Z
; class CRUserData * __ptr64 __cdecl CRCreateUserData(struct IUnknown * __ptr64)
?CRCreateUserData@@YAPEAVCRUserData@@PEAUIUnknown@@@Z
; class CRVector2 * __ptr64 __cdecl CRCreateVector2(double,double)
?CRCreateVector2@@YAPEAVCRVector2@@NN@Z
; class CRVector2 * __ptr64 __cdecl CRCreateVector2(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRCreateVector2@@YAPEAVCRVector2@@PEAVCRNumber@@0@Z
; class CRVector3 * __ptr64 __cdecl CRCreateVector3(double,double,double)
?CRCreateVector3@@YAPEAVCRVector3@@NNN@Z
; class CRVector3 * __ptr64 __cdecl CRCreateVector3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRCreateVector3@@YAPEAVCRVector3@@PEAVCRNumber@@00@Z
; class CRView * __ptr64 __cdecl CRCreateView(void)
?CRCreateView@@YAPEAVCRView@@XZ
; class CRImage * __ptr64 __cdecl CRCrop(class CRImage * __ptr64,class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
?CRCrop@@YAPEAVCRImage@@PEAV1@PEAVCRPoint2@@1@Z
; class CRVector3 * __ptr64 __cdecl CRCross(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
?CRCross@@YAPEAVCRVector3@@PEAV1@0@Z
; class CRPath2 * __ptr64 __cdecl CRCubicBSplinePath(class CRArray * __ptr64,class CRArray * __ptr64)
?CRCubicBSplinePath@@YAPEAVCRPath2@@PEAVCRArray@@0@Z
; class CRColor * __ptr64 __cdecl CRCyan(void)
?CRCyan@@YAPEAVCRColor@@XZ
; class CRGeometry * __ptr64 __cdecl CRD3DRMTexture(class CRGeometry * __ptr64,struct IUnknown * __ptr64)
?CRD3DRMTexture@@YAPEAVCRGeometry@@PEAV1@PEAUIUnknown@@@Z
; class CRLineStyle * __ptr64 __cdecl CRDash(class CRLineStyle * __ptr64,class CRDashStyle * __ptr64)
?CRDash@@YAPEAVCRLineStyle@@PEAV1@PEAVCRDashStyle@@@Z
; class CRLineStyle * __ptr64 __cdecl CRDashEx(class CRLineStyle * __ptr64,unsigned long)
?CRDashEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
; class CRDashStyle * __ptr64 __cdecl CRDashStyleDashed(void)
?CRDashStyleDashed@@YAPEAVCRDashStyle@@XZ
; class CRDashStyle * __ptr64 __cdecl CRDashStyleSolid(void)
?CRDashStyleSolid@@YAPEAVCRDashStyle@@XZ
; class CRFontStyle * __ptr64 __cdecl CRDefaultFont(void)
?CRDefaultFont@@YAPEAVCRFontStyle@@XZ
; class CRLineStyle * __ptr64 __cdecl CRDefaultLineStyle(void)
?CRDefaultLineStyle@@YAPEAVCRLineStyle@@XZ
; class CRMicrophone * __ptr64 __cdecl CRDefaultMicrophone(void)
?CRDefaultMicrophone@@YAPEAVCRMicrophone@@XZ
; class CRCamera * __ptr64 __cdecl CRDepth(class CRCamera * __ptr64,double)
?CRDepth@@YAPEAVCRCamera@@PEAV1@N@Z
; class CRCamera * __ptr64 __cdecl CRDepth(class CRCamera * __ptr64,class CRNumber * __ptr64)
?CRDepth@@YAPEAVCRCamera@@PEAV1@PEAVCRNumber@@@Z
; class CRCamera * __ptr64 __cdecl CRDepthResolution(class CRCamera * __ptr64,double)
?CRDepthResolution@@YAPEAVCRCamera@@PEAV1@N@Z
; class CRCamera * __ptr64 __cdecl CRDepthResolution(class CRCamera * __ptr64,class CRNumber * __ptr64)
?CRDepthResolution@@YAPEAVCRCamera@@PEAV1@PEAVCRNumber@@@Z
; class CRNumber * __ptr64 __cdecl CRDerivative(class CRNumber * __ptr64)
?CRDerivative@@YAPEAVCRNumber@@PEAV1@@Z
; class CRVector2 * __ptr64 __cdecl CRDerivative(class CRVector2 * __ptr64)
?CRDerivative@@YAPEAVCRVector2@@PEAV1@@Z
; class CRVector2 * __ptr64 __cdecl CRDerivative(class CRPoint2 * __ptr64)
?CRDerivative@@YAPEAVCRVector2@@PEAVCRPoint2@@@Z
; class CRVector3 * __ptr64 __cdecl CRDerivative(class CRVector3 * __ptr64)
?CRDerivative@@YAPEAVCRVector3@@PEAV1@@Z
; class CRVector3 * __ptr64 __cdecl CRDerivative(class CRPoint3 * __ptr64)
?CRDerivative@@YAPEAVCRVector3@@PEAVCRPoint3@@@Z
; void __cdecl CRDestroyView(class CRView * __ptr64)
?CRDestroyView@@YAXPEAVCRView@@@Z
; class CRLineStyle * __ptr64 __cdecl CRDetail(class CRLineStyle * __ptr64)
?CRDetail@@YAPEAVCRLineStyle@@PEAV1@@Z
; class CRImage * __ptr64 __cdecl CRDetectableEmptyImage(void)
?CRDetectableEmptyImage@@YAPEAVCRImage@@XZ
; class CRMatte * __ptr64 __cdecl CRDifferenceMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
?CRDifferenceMatte@@YAPEAVCRMatte@@PEAV1@0@Z
; class CRGeometry * __ptr64 __cdecl CRDiffuseColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
?CRDiffuseColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
; class CRGeometry * __ptr64 __cdecl CRDirectionalLight(void)
?CRDirectionalLight@@YAPEAVCRGeometry@@XZ
; bool __cdecl CRDisconnect(struct HINSTANCE__ * __ptr64)
?CRDisconnect@@YA_NPEAUHINSTANCE__@@@Z
; class CRNumber * __ptr64 __cdecl CRDistance(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
?CRDistance@@YAPEAVCRNumber@@PEAVCRPoint2@@0@Z
; class CRNumber * __ptr64 __cdecl CRDistance(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
?CRDistance@@YAPEAVCRNumber@@PEAVCRPoint3@@0@Z
; class CRNumber * __ptr64 __cdecl CRDistanceSquared(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
?CRDistanceSquared@@YAPEAVCRNumber@@PEAVCRPoint2@@0@Z
; class CRNumber * __ptr64 __cdecl CRDistanceSquared(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
?CRDistanceSquared@@YAPEAVCRNumber@@PEAVCRPoint3@@0@Z
; class CRNumber * __ptr64 __cdecl CRDiv(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRDiv@@YAPEAVCRNumber@@PEAV1@0@Z
; class CRVector2 * __ptr64 __cdecl CRDiv(class CRVector2 * __ptr64,double)
?CRDiv@@YAPEAVCRVector2@@PEAV1@N@Z
; class CRVector2 * __ptr64 __cdecl CRDiv(class CRVector2 * __ptr64,class CRNumber * __ptr64)
?CRDiv@@YAPEAVCRVector2@@PEAV1@PEAVCRNumber@@@Z
; class CRVector3 * __ptr64 __cdecl CRDiv(class CRVector3 * __ptr64,double)
?CRDiv@@YAPEAVCRVector3@@PEAV1@N@Z
; class CRVector3 * __ptr64 __cdecl CRDiv(class CRVector3 * __ptr64,class CRNumber * __ptr64)
?CRDiv@@YAPEAVCRVector3@@PEAV1@PEAVCRNumber@@@Z
; bool __cdecl CRDoGC(void)
?CRDoGC@@YA_NXZ
; class CRNumber * __ptr64 __cdecl CRDot(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
?CRDot@@YAPEAVCRNumber@@PEAVCRVector2@@0@Z
; class CRNumber * __ptr64 __cdecl CRDot(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
?CRDot@@YAPEAVCRNumber@@PEAVCRVector3@@0@Z
; class CRImage * __ptr64 __cdecl CRDraw(class CRPath2 * __ptr64,class CRLineStyle * __ptr64)
?CRDraw@@YAPEAVCRImage@@PEAVCRPath2@@PEAVCRLineStyle@@@Z
; class CRBvr * __ptr64 __cdecl CRDuration(class CRBvr * __ptr64,double)
?CRDuration@@YAPEAVCRBvr@@PEAV1@N@Z
; class CRBvr * __ptr64 __cdecl CRDuration(class CRBvr * __ptr64,class CRNumber * __ptr64)
?CRDuration@@YAPEAVCRBvr@@PEAV1@PEAVCRNumber@@@Z
; class CRBoolean * __ptr64 __cdecl CREQ(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CREQ@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
; class CRGeometry * __ptr64 __cdecl CREmissiveColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
?CREmissiveColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
; class CRColor * __ptr64 __cdecl CREmptyColor(void)
?CREmptyColor@@YAPEAVCRColor@@XZ
; class CRGeometry * __ptr64 __cdecl CREmptyGeometry(void)
?CREmptyGeometry@@YAPEAVCRGeometry@@XZ
; class CRImage * __ptr64 __cdecl CREmptyImage(void)
?CREmptyImage@@YAPEAVCRImage@@XZ
; class CRLineStyle * __ptr64 __cdecl CREmptyLineStyle(void)
?CREmptyLineStyle@@YAPEAVCRLineStyle@@XZ
; class CRMontage * __ptr64 __cdecl CREmptyMontage(void)
?CREmptyMontage@@YAPEAVCRMontage@@XZ
; class CRLineStyle * __ptr64 __cdecl CREnd(class CRLineStyle * __ptr64,class CREndStyle * __ptr64)
?CREnd@@YAPEAVCRLineStyle@@PEAV1@PEAVCREndStyle@@@Z
; class CRBvr * __ptr64 __cdecl CREndEvent(class CRBvr * __ptr64)
?CREndEvent@@YAPEAVCRBvr@@PEAV1@@Z
; class CRLineStyle * __ptr64 __cdecl CREndEx(class CRLineStyle * __ptr64,unsigned long)
?CREndEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
; class CREndStyle * __ptr64 __cdecl CREndStyleFlat(void)
?CREndStyleFlat@@YAPEAVCREndStyle@@XZ
; class CREndStyle * __ptr64 __cdecl CREndStyleRound(void)
?CREndStyleRound@@YAPEAVCREndStyle@@XZ
; class CREndStyle * __ptr64 __cdecl CREndStyleSquare(void)
?CREndStyleSquare@@YAPEAVCREndStyle@@XZ
; class CRNumber * __ptr64 __cdecl CRExp(class CRNumber * __ptr64)
?CRExp@@YAPEAVCRNumber@@PEAV1@@Z
; class CRBvr * __ptr64 __cdecl CRExtendedAttrib(class CRBvr * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
?CRExtendedAttrib@@YAPEAVCRBvr@@PEAV1@PEAGUtagVARIANT@@@Z
; double __cdecl CRExtract(class CRNumber * __ptr64)
?CRExtract@@YANPEAVCRNumber@@@Z
; unsigned short * __ptr64 __cdecl CRExtract(class CRString * __ptr64)
?CRExtract@@YAPEAGPEAVCRString@@@Z
; bool __cdecl CRExtract(class CRBoolean * __ptr64)
?CRExtract@@YA_NPEAVCRBoolean@@@Z
; class CRBoolean * __ptr64 __cdecl CRFalse(void)
?CRFalse@@YAPEAVCRBoolean@@XZ
; class CRFontStyle * __ptr64 __cdecl CRFamily(class CRFontStyle * __ptr64,unsigned short * __ptr64)
?CRFamily@@YAPEAVCRFontStyle@@PEAV1@PEAG@Z
; class CRFontStyle * __ptr64 __cdecl CRFamily(class CRFontStyle * __ptr64,class CRString * __ptr64)
?CRFamily@@YAPEAVCRFontStyle@@PEAV1@PEAVCRString@@@Z
; class CRImage * __ptr64 __cdecl CRFill(class CRPath2 * __ptr64,class CRLineStyle * __ptr64,class CRImage * __ptr64)
?CRFill@@YAPEAVCRImage@@PEAVCRPath2@@PEAVCRLineStyle@@PEAV1@@Z
; class CRMatte * __ptr64 __cdecl CRFillMatte(class CRPath2 * __ptr64)
?CRFillMatte@@YAPEAVCRMatte@@PEAVCRPath2@@@Z
; class CRBvr * __ptr64 __cdecl CRFirst(class CRPair * __ptr64)
?CRFirst@@YAPEAVCRBvr@@PEAVCRPair@@@Z
; class CRNumber * __ptr64 __cdecl CRFloor(class CRNumber * __ptr64)
?CRFloor@@YAPEAVCRNumber@@PEAV1@@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPath(class CRPath2 * __ptr64,double)
?CRFollowPath@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPath(class CRPath2 * __ptr64,class CRNumber * __ptr64)
?CRFollowPath@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngle(class CRPath2 * __ptr64,double)
?CRFollowPathAngle@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngle(class CRPath2 * __ptr64,class CRNumber * __ptr64)
?CRFollowPathAngle@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
?CRFollowPathAngleEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUpright(class CRPath2 * __ptr64,double)
?CRFollowPathAngleUpright@@YAPEAVCRTransform2@@PEAVCRPath2@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUpright(class CRPath2 * __ptr64,class CRNumber * __ptr64)
?CRFollowPathAngleUpright@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPathAngleUprightEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
?CRFollowPathAngleUprightEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRFollowPathEval(class CRPath2 * __ptr64,class CRNumber * __ptr64)
?CRFollowPathEval@@YAPEAVCRTransform2@@PEAVCRPath2@@PEAVCRNumber@@@Z
; class CRFontStyle * __ptr64 __cdecl CRFont(unsigned short * __ptr64,double,class CRColor * __ptr64)
?CRFont@@YAPEAVCRFontStyle@@PEAGNPEAVCRColor@@@Z
; class CRFontStyle * __ptr64 __cdecl CRFont(class CRString * __ptr64,class CRNumber * __ptr64,class CRColor * __ptr64)
?CRFont@@YAPEAVCRFontStyle@@PEAVCRString@@PEAVCRNumber@@PEAVCRColor@@@Z
; class CRColor * __ptr64 __cdecl CRFuchsia(void)
?CRFuchsia@@YAPEAVCRColor@@XZ
; class CRBoolean * __ptr64 __cdecl CRGT(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRGT@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
; class CRBoolean * __ptr64 __cdecl CRGTE(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRGTE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
; class CRSound * __ptr64 __cdecl CRGain(class CRSound * __ptr64,double)
?CRGain@@YAPEAVCRSound@@PEAV1@N@Z
; class CRSound * __ptr64 __cdecl CRGain(class CRSound * __ptr64,class CRNumber * __ptr64)
?CRGain@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
; enum CR_BVR_TYPEID  __cdecl CRGetArrayTypeId(class CRBvr * __ptr64)
?CRGetArrayTypeId@@YA?AW4CR_BVR_TYPEID@@PEAVCRBvr@@@Z
; class CRNumber * __ptr64 __cdecl CRGetBlue(class CRColor * __ptr64)
?CRGetBlue@@YAPEAVCRNumber@@PEAVCRColor@@@Z
; class CREvent * __ptr64 __cdecl CRGetCompletionEvent(class CRImportationResult * __ptr64)
?CRGetCompletionEvent@@YAPEAVCREvent@@PEAVCRImportationResult@@@Z
; bool __cdecl CRGetCompositeDirectlyToTarget(class CRView * __ptr64)
?CRGetCompositeDirectlyToTarget@@YA_NPEAVCRView@@@Z
; double __cdecl CRGetConstDuration(class CREvent * __ptr64)
?CRGetConstDuration@@YANPEAVCREvent@@@Z
; struct HDC__ * __ptr64 __cdecl CRGetDC(class CRView * __ptr64)
?CRGetDC@@YAPEAUHDC__@@PEAVCRView@@@Z
; bool __cdecl CRGetDDD3DRM(class CRView * __ptr64,struct IUnknown * __ptr64 * __ptr64,struct IUnknown * __ptr64 * __ptr64)
?CRGetDDD3DRM@@YA_NPEAVCRView@@PEAPEAUIUnknown@@1@Z
; struct IUnknown * __ptr64 __cdecl CRGetData(class CRUserData * __ptr64)
?CRGetData@@YAPEAUIUnknown@@PEAVCRUserData@@@Z
; struct IUnknown * __ptr64 __cdecl CRGetDirectDrawSurface(class CRView * __ptr64)
?CRGetDirectDrawSurface@@YAPEAUIUnknown@@PEAVCRView@@@Z
; class CRNumber * __ptr64 __cdecl CRGetDuration(class CRImportationResult * __ptr64)
?CRGetDuration@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
; class CRBvr * __ptr64 __cdecl CRGetElement(class CRArray * __ptr64,long)
?CRGetElement@@YAPEAVCRBvr@@PEAVCRArray@@J@Z
; class CREvent * __ptr64 __cdecl CRGetEvent(class CRPickableResult * __ptr64)
?CRGetEvent@@YAPEAVCREvent@@PEAVCRPickableResult@@@Z
; class CRGeometry * __ptr64 __cdecl CRGetGeometry(class CRImportationResult * __ptr64)
?CRGetGeometry@@YAPEAVCRGeometry@@PEAVCRImportationResult@@@Z
; class CRGeometry * __ptr64 __cdecl CRGetGeometry(class CRPickableResult * __ptr64)
?CRGetGeometry@@YAPEAVCRGeometry@@PEAVCRPickableResult@@@Z
; class CRNumber * __ptr64 __cdecl CRGetGreen(class CRColor * __ptr64)
?CRGetGreen@@YAPEAVCRNumber@@PEAVCRColor@@@Z
; class CRNumber * __ptr64 __cdecl CRGetHue(class CRColor * __ptr64)
?CRGetHue@@YAPEAVCRNumber@@PEAVCRColor@@@Z
; class CRImage * __ptr64 __cdecl CRGetImage(class CRImportationResult * __ptr64)
?CRGetImage@@YAPEAVCRImage@@PEAVCRImportationResult@@@Z
; class CRImage * __ptr64 __cdecl CRGetImage(class CRPickableResult * __ptr64)
?CRGetImage@@YAPEAVCRImage@@PEAVCRPickableResult@@@Z
; float __cdecl CRGetImportPriority(class CRBvr * __ptr64)
?CRGetImportPriority@@YAMPEAVCRBvr@@@Z
; long __cdecl CRGetInvalidatedRects(class CRView * __ptr64,unsigned long,long,struct tagRECT * __ptr64)
?CRGetInvalidatedRects@@YAJPEAVCRView@@KJPEAUtagRECT@@@Z
; long __cdecl CRGetLastError(void)
?CRGetLastError@@YAJXZ
; unsigned short const * __ptr64 __cdecl CRGetLastErrorString(void)
?CRGetLastErrorString@@YAPEBGXZ
; class CRNumber * __ptr64 __cdecl CRGetLightness(class CRColor * __ptr64)
?CRGetLightness@@YAPEAVCRNumber@@PEAVCRColor@@@Z
; class CRBvr * __ptr64 __cdecl CRGetModifiableBvr(class CRBvr * __ptr64)
?CRGetModifiableBvr@@YAPEAVCRBvr@@PEAV1@@Z
; class CRBvr * __ptr64 __cdecl CRGetOutputBvr(class CRDXTransformResult * __ptr64)
?CRGetOutputBvr@@YAPEAVCRBvr@@PEAVCRDXTransformResult@@@Z
; bool __cdecl CRGetPreference(class CRView * __ptr64,unsigned short * __ptr64,struct tagVARIANT * __ptr64)
?CRGetPreference@@YA_NPEAVCRView@@PEAGPEAUtagVARIANT@@@Z
; class CRNumber * __ptr64 __cdecl CRGetProgress(class CRImportationResult * __ptr64)
?CRGetProgress@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
; bool __cdecl CRGetRMDevice(class CRView * __ptr64,struct IUnknown * __ptr64 * __ptr64,unsigned long * __ptr64)
?CRGetRMDevice@@YA_NPEAVCRView@@PEAPEAUIUnknown@@PEAK@Z
; class CRNumber * __ptr64 __cdecl CRGetRed(class CRColor * __ptr64)
?CRGetRed@@YAPEAVCRNumber@@PEAVCRColor@@@Z
; class CRNumber * __ptr64 __cdecl CRGetSaturation(class CRColor * __ptr64)
?CRGetSaturation@@YAPEAVCRNumber@@PEAVCRColor@@@Z
; struct IServiceProvider * __ptr64 __cdecl CRGetServiceProvider(class CRView * __ptr64)
?CRGetServiceProvider@@YAPEAUIServiceProvider@@PEAVCRView@@@Z
; double __cdecl CRGetSimulationTime(class CRView * __ptr64)
?CRGetSimulationTime@@YANPEAVCRView@@@Z
; class CRViewSite * __ptr64 __cdecl CRGetSite(class CRView * __ptr64)
?CRGetSite@@YAPEAVCRViewSite@@PEAVCRView@@@Z
; class CRNumber * __ptr64 __cdecl CRGetSize(class CRImportationResult * __ptr64)
?CRGetSize@@YAPEAVCRNumber@@PEAVCRImportationResult@@@Z
; class CRSound * __ptr64 __cdecl CRGetSound(class CRImportationResult * __ptr64)
?CRGetSound@@YAPEAVCRSound@@PEAVCRImportationResult@@@Z
; struct IUnknown * __ptr64 __cdecl CRGetTransform(class CRDXTransformResult * __ptr64)
?CRGetTransform@@YAPEAUIUnknown@@PEAVCRDXTransformResult@@@Z
; enum CR_BVR_TYPEID  __cdecl CRGetTypeId(class CRBvr * __ptr64)
?CRGetTypeId@@YA?AW4CR_BVR_TYPEID@@PEAVCRBvr@@@Z
; struct HWND__ * __ptr64 __cdecl CRGetWindow(class CRView * __ptr64)
?CRGetWindow@@YAPEAUHWND__@@PEAVCRView@@@Z
; class CRNumber * __ptr64 __cdecl CRGetX(class CRPoint2 * __ptr64)
?CRGetX@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
; class CRNumber * __ptr64 __cdecl CRGetX(class CRPoint3 * __ptr64)
?CRGetX@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
; class CRNumber * __ptr64 __cdecl CRGetX(class CRVector2 * __ptr64)
?CRGetX@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
; class CRNumber * __ptr64 __cdecl CRGetX(class CRVector3 * __ptr64)
?CRGetX@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRNumber * __ptr64 __cdecl CRGetY(class CRPoint2 * __ptr64)
?CRGetY@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
; class CRNumber * __ptr64 __cdecl CRGetY(class CRPoint3 * __ptr64)
?CRGetY@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
; class CRNumber * __ptr64 __cdecl CRGetY(class CRVector2 * __ptr64)
?CRGetY@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
; class CRNumber * __ptr64 __cdecl CRGetY(class CRVector3 * __ptr64)
?CRGetY@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRNumber * __ptr64 __cdecl CRGetZ(class CRPoint3 * __ptr64)
?CRGetZ@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
; class CRNumber * __ptr64 __cdecl CRGetZ(class CRVector3 * __ptr64)
?CRGetZ@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRNumber * __ptr64 __cdecl CRGlobalTime(void)
?CRGlobalTime@@YAPEAVCRNumber@@XZ
; class CRImage * __ptr64 __cdecl CRGradientHorizontal(class CRColor * __ptr64,class CRColor * __ptr64,double)
?CRGradientHorizontal@@YAPEAVCRImage@@PEAVCRColor@@0N@Z
; class CRImage * __ptr64 __cdecl CRGradientHorizontal(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64)
?CRGradientHorizontal@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRGradientPolygon(class CRArray * __ptr64,class CRArray * __ptr64)
?CRGradientPolygon@@YAPEAVCRImage@@PEAVCRArray@@0@Z
; class CRImage * __ptr64 __cdecl CRGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,class CRColor * __ptr64,class CRColor * __ptr64)
?CRGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@000@Z
; class CRColor * __ptr64 __cdecl CRGray(void)
?CRGray@@YAPEAVCRColor@@XZ
; class CRColor * __ptr64 __cdecl CRGreen(void)
?CRGreen@@YAPEAVCRColor@@XZ
; class CRImage * __ptr64 __cdecl CRHatchBackwardDiagonal(class CRColor * __ptr64,double)
?CRHatchBackwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
; class CRImage * __ptr64 __cdecl CRHatchBackwardDiagonal(class CRColor * __ptr64,class CRNumber * __ptr64)
?CRHatchBackwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRHatchCross(class CRColor * __ptr64,double)
?CRHatchCross@@YAPEAVCRImage@@PEAVCRColor@@N@Z
; class CRImage * __ptr64 __cdecl CRHatchCross(class CRColor * __ptr64,class CRNumber * __ptr64)
?CRHatchCross@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRHatchDiagonalCross(class CRColor * __ptr64,double)
?CRHatchDiagonalCross@@YAPEAVCRImage@@PEAVCRColor@@N@Z
; class CRImage * __ptr64 __cdecl CRHatchDiagonalCross(class CRColor * __ptr64,class CRNumber * __ptr64)
?CRHatchDiagonalCross@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRHatchForwardDiagonal(class CRColor * __ptr64,double)
?CRHatchForwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
; class CRImage * __ptr64 __cdecl CRHatchForwardDiagonal(class CRColor * __ptr64,class CRNumber * __ptr64)
?CRHatchForwardDiagonal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRHatchHorizontal(class CRColor * __ptr64,double)
?CRHatchHorizontal@@YAPEAVCRImage@@PEAVCRColor@@N@Z
; class CRImage * __ptr64 __cdecl CRHatchHorizontal(class CRColor * __ptr64,class CRNumber * __ptr64)
?CRHatchHorizontal@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRHatchVertical(class CRColor * __ptr64,double)
?CRHatchVertical@@YAPEAVCRImage@@PEAVCRColor@@N@Z
; class CRImage * __ptr64 __cdecl CRHatchVertical(class CRColor * __ptr64,class CRNumber * __ptr64)
?CRHatchVertical@@YAPEAVCRImage@@PEAVCRColor@@PEAVCRNumber@@@Z
; class CRBvr * __ptr64 __cdecl CRHook(class CRBvr * __ptr64,class CRBvrHook * __ptr64)
?CRHook@@YAPEAVCRBvr@@PEAV1@PEAVCRBvrHook@@@Z
; class CRTransform2 * __ptr64 __cdecl CRIdentityTransform2(void)
?CRIdentityTransform2@@YAPEAVCRTransform2@@XZ
; class CRTransform3 * __ptr64 __cdecl CRIdentityTransform3(void)
?CRIdentityTransform3@@YAPEAVCRTransform3@@XZ
; class CRMontage * __ptr64 __cdecl CRImageMontage(class CRImage * __ptr64,double)
?CRImageMontage@@YAPEAVCRMontage@@PEAVCRImage@@N@Z
; class CRMontage * __ptr64 __cdecl CRImageMontageAnim(class CRImage * __ptr64,class CRNumber * __ptr64)
?CRImageMontageAnim@@YAPEAVCRMontage@@PEAVCRImage@@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRImageQuality(class CRImage * __ptr64,unsigned long)
?CRImageQuality@@YAPEAVCRImage@@PEAV1@K@Z
; bool __cdecl CRImportCancel(class CRBvr * __ptr64)
?CRImportCancel@@YA_NPEAVCRBvr@@@Z
; class CRGeometry * __ptr64 __cdecl CRImportDirect3DRMVisual(struct IUnknown * __ptr64)
?CRImportDirect3DRMVisual@@YAPEAVCRGeometry@@PEAUIUnknown@@@Z
; class CRGeometry * __ptr64 __cdecl CRImportDirect3DRMVisualWrapped(struct IUnknown * __ptr64,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
?CRImportDirect3DRMVisualWrapped@@YAPEAVCRGeometry@@PEAUIUnknown@@JNNNNNNNNNNNNNK@Z
; class CRImage * __ptr64 __cdecl CRImportDirectDrawSurface(struct IUnknown * __ptr64,class CREvent * __ptr64)
?CRImportDirectDrawSurface@@YAPEAVCRImage@@PEAUIUnknown@@PEAVCREvent@@@Z
; unsigned long __cdecl CRImportGeometry(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,class CRGeometry * __ptr64,class CRGeometry * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
?CRImportGeometry@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@PEAVCRGeometry@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@6@Z
; unsigned long __cdecl CRImportGeometryWrapped(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,class CRGeometry * __ptr64,class CRGeometry * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,long,double,double,double,double,double,double,double,double,double,double,double,double,double,unsigned long)
?CRImportGeometryWrapped@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@PEAVCRGeometry@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@6JNNNNNNNNNNNNNK@Z
; unsigned long __cdecl CRImportImage(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,unsigned char,unsigned char,unsigned char,class CRImage * __ptr64,class CRImage * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
?CRImportImage@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NEEEPEAVCRImage@@PEAPEAV3@PEAPEAVCREvent@@PEAPEAVCRNumber@@7@Z
; class CRImportationResult * __ptr64 __cdecl CRImportMedia(unsigned short * __ptr64,void * __ptr64,enum CR_MEDIA_SOURCE,void * __ptr64 * __ptr64 const,unsigned long,class CRImportSite * __ptr64)
?CRImportMedia@@YAPEAVCRImportationResult@@PEAGPEAXW4CR_MEDIA_SOURCE@@QEAPEAXKPEAVCRImportSite@@@Z
; unsigned long __cdecl CRImportMovie(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,class CRImage * __ptr64,class CRSound * __ptr64,class CRImage * __ptr64 * __ptr64,class CRSound * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
?CRImportMovie@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NPEAVCRImage@@PEAVCRSound@@PEAPEAV3@PEAPEAV4@PEAPEAVCRNumber@@PEAPEAVCREvent@@88@Z
; unsigned long __cdecl CRImportSound(unsigned short const * __ptr64,unsigned short const * __ptr64,class CRImportSite * __ptr64,struct IBindHost * __ptr64,bool,class CRSound * __ptr64,class CRSound * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CREvent * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64,class CRNumber * __ptr64 * __ptr64)
?CRImportSound@@YAKPEBG0PEAVCRImportSite@@PEAUIBindHost@@_NPEAVCRSound@@PEAPEAV3@PEAPEAVCRNumber@@PEAPEAVCREvent@@66@Z
; long __cdecl CRImportStatus(class CRBvr * __ptr64)
?CRImportStatus@@YAJPEAVCRBvr@@@Z
; class CRBvr * __ptr64 __cdecl CRImportance(class CRBvr * __ptr64,double)
?CRImportance@@YAPEAVCRBvr@@PEAV1@N@Z
; bool __cdecl CRInit(class CRBvr * __ptr64,class CRBvr * __ptr64)
?CRInit@@YA_NPEAVCRBvr@@0@Z
; class CRNumber * __ptr64 __cdecl CRIntegral(class CRNumber * __ptr64)
?CRIntegral@@YAPEAVCRNumber@@PEAV1@@Z
; class CRVector2 * __ptr64 __cdecl CRIntegral(class CRVector2 * __ptr64)
?CRIntegral@@YAPEAVCRVector2@@PEAV1@@Z
; class CRVector3 * __ptr64 __cdecl CRIntegral(class CRVector3 * __ptr64)
?CRIntegral@@YAPEAVCRVector3@@PEAV1@@Z
; class CRNumber * __ptr64 __cdecl CRInterpolate(double,double,double)
?CRInterpolate@@YAPEAVCRNumber@@NNN@Z
; class CRNumber * __ptr64 __cdecl CRInterpolate(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRInterpolate@@YAPEAVCRNumber@@PEAV1@00@Z
; class CRMatte * __ptr64 __cdecl CRIntersectMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
?CRIntersectMatte@@YAPEAVCRMatte@@PEAV1@0@Z
; class CRTransform2 * __ptr64 __cdecl CRInverse(class CRTransform2 * __ptr64)
?CRInverse@@YAPEAVCRTransform2@@PEAV1@@Z
; class CRTransform3 * __ptr64 __cdecl CRInverse(class CRTransform3 * __ptr64)
?CRInverse@@YAPEAVCRTransform3@@PEAV1@@Z
; bool __cdecl CRIsConnected(struct HINSTANCE__ * __ptr64)
?CRIsConnected@@YA_NPEAUHINSTANCE__@@@Z
; bool __cdecl CRIsConstantBvr(class CRBvr * __ptr64)
?CRIsConstantBvr@@YA_NPEAVCRBvr@@@Z
; bool __cdecl CRIsImport(class CRBvr * __ptr64)
?CRIsImport@@YA_NPEAVCRBvr@@@Z
; bool __cdecl CRIsModifiableBvr(class CRBvr * __ptr64)
?CRIsModifiableBvr@@YA_NPEAVCRBvr@@@Z
; bool __cdecl CRIsReady(class CRBvr * __ptr64,bool)
?CRIsReady@@YA_NPEAVCRBvr@@_N@Z
; class CRBoolean * __ptr64 __cdecl CRIsSingular(class CRTransform2 * __ptr64)
?CRIsSingular@@YAPEAVCRBoolean@@PEAVCRTransform2@@@Z
; class CRBoolean * __ptr64 __cdecl CRIsSingular(class CRTransform3 * __ptr64)
?CRIsSingular@@YAPEAVCRBoolean@@PEAVCRTransform3@@@Z
; class CRFontStyle * __ptr64 __cdecl CRItalic(class CRFontStyle * __ptr64)
?CRItalic@@YAPEAVCRFontStyle@@PEAV1@@Z
; class CRLineStyle * __ptr64 __cdecl CRJoin(class CRLineStyle * __ptr64,class CRJoinStyle * __ptr64)
?CRJoin@@YAPEAVCRLineStyle@@PEAV1@PEAVCRJoinStyle@@@Z
; class CRLineStyle * __ptr64 __cdecl CRJoinEx(class CRLineStyle * __ptr64,unsigned long)
?CRJoinEx@@YAPEAVCRLineStyle@@PEAV1@K@Z
; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleBevel(void)
?CRJoinStyleBevel@@YAPEAVCRJoinStyle@@XZ
; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleMiter(void)
?CRJoinStyleMiter@@YAPEAVCRJoinStyle@@XZ
; class CRJoinStyle * __ptr64 __cdecl CRJoinStyleRound(void)
?CRJoinStyleRound@@YAPEAVCRJoinStyle@@XZ
; class CREvent * __ptr64 __cdecl CRKeyDown(long)
?CRKeyDown@@YAPEAVCREvent@@J@Z
; class CRBoolean * __ptr64 __cdecl CRKeyState(class CRNumber * __ptr64)
?CRKeyState@@YAPEAVCRBoolean@@PEAVCRNumber@@@Z
; class CREvent * __ptr64 __cdecl CRKeyUp(long)
?CRKeyUp@@YAPEAVCREvent@@J@Z
; class CRBoolean * __ptr64 __cdecl CRLT(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRLT@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
; class CRBoolean * __ptr64 __cdecl CRLTE(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRLTE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
; class CREvent * __ptr64 __cdecl CRLeftButtonDown(void)
?CRLeftButtonDown@@YAPEAVCREvent@@XZ
; class CRBoolean * __ptr64 __cdecl CRLeftButtonState(void)
?CRLeftButtonState@@YAPEAVCRBoolean@@XZ
; class CREvent * __ptr64 __cdecl CRLeftButtonUp(void)
?CRLeftButtonUp@@YAPEAVCREvent@@XZ
; long __cdecl CRLength(class CRTuple * __ptr64)
?CRLength@@YAJPEAVCRTuple@@@Z
; class CRNumber * __ptr64 __cdecl CRLength(class CRArray * __ptr64)
?CRLength@@YAPEAVCRNumber@@PEAVCRArray@@@Z
; class CRNumber * __ptr64 __cdecl CRLength(class CRVector2 * __ptr64)
?CRLength@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
; class CRNumber * __ptr64 __cdecl CRLength(class CRVector3 * __ptr64)
?CRLength@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRNumber * __ptr64 __cdecl CRLengthSquared(class CRVector2 * __ptr64)
?CRLengthSquared@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
; class CRNumber * __ptr64 __cdecl CRLengthSquared(class CRVector3 * __ptr64)
?CRLengthSquared@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRGeometry * __ptr64 __cdecl CRLightAttenuation(class CRGeometry * __ptr64,double,double,double)
?CRLightAttenuation@@YAPEAVCRGeometry@@PEAV1@NNN@Z
; class CRGeometry * __ptr64 __cdecl CRLightAttenuation(class CRGeometry * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRLightAttenuation@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@11@Z
; class CRGeometry * __ptr64 __cdecl CRLightColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
?CRLightColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
; class CRGeometry * __ptr64 __cdecl CRLightRange(class CRGeometry * __ptr64,double)
?CRLightRange@@YAPEAVCRGeometry@@PEAV1@N@Z
; class CRGeometry * __ptr64 __cdecl CRLightRange(class CRGeometry * __ptr64,class CRNumber * __ptr64)
?CRLightRange@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
; class CRGeometry * __ptr64 __cdecl CRLighting(class CRGeometry * __ptr64,class CRBoolean * __ptr64)
?CRLighting@@YAPEAVCRGeometry@@PEAV1@PEAVCRBoolean@@@Z
; class CRColor * __ptr64 __cdecl CRLime(void)
?CRLime@@YAPEAVCRColor@@XZ
; class CRPath2 * __ptr64 __cdecl CRLine(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
?CRLine@@YAPEAVCRPath2@@PEAVCRPoint2@@0@Z
; class CRLineStyle * __ptr64 __cdecl CRLineColor(class CRLineStyle * __ptr64,class CRColor * __ptr64)
?CRLineColor@@YAPEAVCRLineStyle@@PEAV1@PEAVCRColor@@@Z
; class CRImage * __ptr64 __cdecl CRLinearGradientMulticolor(class CRArray * __ptr64,class CRArray * __ptr64)
?CRLinearGradientMulticolor@@YAPEAVCRImage@@PEAVCRArray@@0@Z
; class CRNumber * __ptr64 __cdecl CRLn(class CRNumber * __ptr64)
?CRLn@@YAPEAVCRNumber@@PEAV1@@Z
; class CRNumber * __ptr64 __cdecl CRLocalTime(void)
?CRLocalTime@@YAPEAVCRNumber@@XZ
; class CRNumber * __ptr64 __cdecl CRLog10(class CRNumber * __ptr64)
?CRLog10@@YAPEAVCRNumber@@PEAV1@@Z
; class CRTransform3 * __ptr64 __cdecl CRLookAtFrom(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
?CRLookAtFrom@@YAPEAVCRTransform3@@PEAVCRPoint3@@0PEAVCRVector3@@@Z
; class CRSound * __ptr64 __cdecl CRLoop(class CRSound * __ptr64)
?CRLoop@@YAPEAVCRSound@@PEAV1@@Z
; class CRColor * __ptr64 __cdecl CRMagenta(void)
?CRMagenta@@YAPEAVCRColor@@XZ
; class CRImage * __ptr64 __cdecl CRMapToUnitSquare(class CRImage * __ptr64)
?CRMapToUnitSquare@@YAPEAVCRImage@@PEAV1@@Z
; class CRColor * __ptr64 __cdecl CRMaroon(void)
?CRMaroon@@YAPEAVCRColor@@XZ
; class CRPoint2 * __ptr64 __cdecl CRMax(class CRBbox2 * __ptr64)
?CRMax@@YAPEAVCRPoint2@@PEAVCRBbox2@@@Z
; class CRPoint3 * __ptr64 __cdecl CRMax(class CRBbox3 * __ptr64)
?CRMax@@YAPEAVCRPoint3@@PEAVCRBbox3@@@Z
; class CRPoint2 * __ptr64 __cdecl CRMin(class CRBbox2 * __ptr64)
?CRMin@@YAPEAVCRPoint2@@PEAVCRBbox2@@@Z
; class CRPoint3 * __ptr64 __cdecl CRMin(class CRBbox3 * __ptr64)
?CRMin@@YAPEAVCRPoint3@@PEAVCRBbox3@@@Z
; class CRLineStyle * __ptr64 __cdecl CRMiterLimit(class CRLineStyle * __ptr64,double)
?CRMiterLimit@@YAPEAVCRLineStyle@@PEAV1@N@Z
; class CRLineStyle * __ptr64 __cdecl CRMiterLimit(class CRLineStyle * __ptr64,class CRNumber * __ptr64)
?CRMiterLimit@@YAPEAVCRLineStyle@@PEAV1@PEAVCRNumber@@@Z
; class CRSound * __ptr64 __cdecl CRMix(class CRSound * __ptr64,class CRSound * __ptr64)
?CRMix@@YAPEAVCRSound@@PEAV1@0@Z
; class CRSound * __ptr64 __cdecl CRMix(class CRArray * __ptr64)
?CRMix@@YAPEAVCRSound@@PEAVCRArray@@@Z
; class CRNumber * __ptr64 __cdecl CRMod(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRMod@@YAPEAVCRNumber@@PEAV1@0@Z
; class CRGeometry * __ptr64 __cdecl CRModelClip(class CRGeometry * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
?CRModelClip@@YAPEAVCRGeometry@@PEAV1@PEAVCRPoint3@@PEAVCRVector3@@@Z
; class CRBvr * __ptr64 __cdecl CRModifiableBvr(class CRBvr * __ptr64,unsigned long)
?CRModifiableBvr@@YAPEAVCRBvr@@PEAV1@K@Z
; class CRNumber * __ptr64 __cdecl CRModifiableNumber(double)
?CRModifiableNumber@@YAPEAVCRNumber@@N@Z
; class CRString * __ptr64 __cdecl CRModifiableString(unsigned short * __ptr64)
?CRModifiableString@@YAPEAVCRString@@PEAG@Z
; class CRPoint2 * __ptr64 __cdecl CRMousePosition(void)
?CRMousePosition@@YAPEAVCRPoint2@@XZ
; class CRNumber * __ptr64 __cdecl CRMul(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRMul@@YAPEAVCRNumber@@PEAV1@0@Z
; class CRVector2 * __ptr64 __cdecl CRMul(class CRVector2 * __ptr64,double)
?CRMul@@YAPEAVCRVector2@@PEAV1@N@Z
; class CRVector2 * __ptr64 __cdecl CRMul(class CRVector2 * __ptr64,class CRNumber * __ptr64)
?CRMul@@YAPEAVCRVector2@@PEAV1@PEAVCRNumber@@@Z
; class CRVector3 * __ptr64 __cdecl CRMul(class CRVector3 * __ptr64,double)
?CRMul@@YAPEAVCRVector3@@PEAV1@N@Z
; class CRVector3 * __ptr64 __cdecl CRMul(class CRVector3 * __ptr64,class CRNumber * __ptr64)
?CRMul@@YAPEAVCRVector3@@PEAV1@PEAVCRNumber@@@Z
; class CRBoolean * __ptr64 __cdecl CRNE(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRNE@@YAPEAVCRBoolean@@PEAVCRNumber@@0@Z
; class CRColor * __ptr64 __cdecl CRNavy(void)
?CRNavy@@YAPEAVCRColor@@XZ
; class CRNumber * __ptr64 __cdecl CRNeg(class CRNumber * __ptr64)
?CRNeg@@YAPEAVCRNumber@@PEAV1@@Z
; class CRVector2 * __ptr64 __cdecl CRNeg(class CRVector2 * __ptr64)
?CRNeg@@YAPEAVCRVector2@@PEAV1@@Z
; class CRVector3 * __ptr64 __cdecl CRNeg(class CRVector3 * __ptr64)
?CRNeg@@YAPEAVCRVector3@@PEAV1@@Z
; class CREvent * __ptr64 __cdecl CRNever(void)
?CRNever@@YAPEAVCREvent@@XZ
; class CRVector2 * __ptr64 __cdecl CRNormalize(class CRVector2 * __ptr64)
?CRNormalize@@YAPEAVCRVector2@@PEAV1@@Z
; class CRVector3 * __ptr64 __cdecl CRNormalize(class CRVector3 * __ptr64)
?CRNormalize@@YAPEAVCRVector3@@PEAV1@@Z
; class CRBoolean * __ptr64 __cdecl CRNot(class CRBoolean * __ptr64)
?CRNot@@YAPEAVCRBoolean@@PEAV1@@Z
; class CREvent * __ptr64 __cdecl CRNotEvent(class CREvent * __ptr64)
?CRNotEvent@@YAPEAVCREvent@@PEAV1@@Z
; class CREvent * __ptr64 __cdecl CRNotify(class CREvent * __ptr64,class CRUntilNotifier * __ptr64)
?CRNotify@@YAPEAVCREvent@@PEAV1@PEAVCRUntilNotifier@@@Z
; class CRBvr * __ptr64 __cdecl CRNth(class CRArray * __ptr64,class CRNumber * __ptr64)
?CRNth@@YAPEAVCRBvr@@PEAVCRArray@@PEAVCRNumber@@@Z
; class CRBvr * __ptr64 __cdecl CRNth(class CRTuple * __ptr64,long)
?CRNth@@YAPEAVCRBvr@@PEAVCRTuple@@J@Z
; class CRColor * __ptr64 __cdecl CROlive(void)
?CROlive@@YAPEAVCRColor@@XZ
; bool __cdecl CROnFocus(class CRView * __ptr64,bool)
?CROnFocus@@YA_NPEAVCRView@@_N@Z
; bool __cdecl CROnKey(class CRView * __ptr64,double,long,bool,unsigned char)
?CROnKey@@YA_NPEAVCRView@@NJ_NE@Z
; bool __cdecl CROnMouseButton(class CRView * __ptr64,double,long,long,unsigned char,bool,unsigned char)
?CROnMouseButton@@YA_NPEAVCRView@@NJJE_NE@Z
; bool __cdecl CROnMouseLeave(class CRView * __ptr64,double)
?CROnMouseLeave@@YA_NPEAVCRView@@N@Z
; bool __cdecl CROnMouseMove(class CRView * __ptr64,double,long,long,unsigned char)
?CROnMouseMove@@YA_NPEAVCRView@@NJJE@Z
; class CRGeometry * __ptr64 __cdecl CROpacity(class CRGeometry * __ptr64,double)
?CROpacity@@YAPEAVCRGeometry@@PEAV1@N@Z
; class CRGeometry * __ptr64 __cdecl CROpacity(class CRGeometry * __ptr64,class CRNumber * __ptr64)
?CROpacity@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CROpacity(class CRImage * __ptr64,double)
?CROpacity@@YAPEAVCRImage@@PEAV1@N@Z
; class CRImage * __ptr64 __cdecl CROpacity(class CRImage * __ptr64,class CRNumber * __ptr64)
?CROpacity@@YAPEAVCRImage@@PEAV1@PEAVCRNumber@@@Z
; class CRMatte * __ptr64 __cdecl CROpaqueMatte(void)
?CROpaqueMatte@@YAPEAVCRMatte@@XZ
; class CRBoolean * __ptr64 __cdecl CROr(class CRBoolean * __ptr64,class CRBoolean * __ptr64)
?CROr@@YAPEAVCRBoolean@@PEAV1@0@Z
; class CREvent * __ptr64 __cdecl CROrEvent(class CREvent * __ptr64,class CREvent * __ptr64)
?CROrEvent@@YAPEAVCREvent@@PEAV1@0@Z
; class CRPoint2 * __ptr64 __cdecl CROrigin2(void)
?CROrigin2@@YAPEAVCRPoint2@@XZ
; class CRPoint3 * __ptr64 __cdecl CROrigin3(void)
?CROrigin3@@YAPEAVCRPoint3@@XZ
; class CRPath2 * __ptr64 __cdecl CROval(double,double)
?CROval@@YAPEAVCRPath2@@NN@Z
; class CRPath2 * __ptr64 __cdecl CROval(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CROval@@YAPEAVCRPath2@@PEAVCRNumber@@0@Z
; class CRImage * __ptr64 __cdecl CROverlay(class CRImage * __ptr64,class CRImage * __ptr64)
?CROverlay@@YAPEAVCRImage@@PEAV1@0@Z
; class CRImage * __ptr64 __cdecl CROverlay(class CRArray * __ptr64)
?CROverlay@@YAPEAVCRImage@@PEAVCRArray@@@Z
; class CRSound * __ptr64 __cdecl CRPan(class CRSound * __ptr64,double)
?CRPan@@YAPEAVCRSound@@PEAV1@N@Z
; class CRSound * __ptr64 __cdecl CRPan(class CRSound * __ptr64,class CRNumber * __ptr64)
?CRPan@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
; class CRCamera * __ptr64 __cdecl CRParallelCamera(double)
?CRParallelCamera@@YAPEAVCRCamera@@N@Z
; class CRCamera * __ptr64 __cdecl CRParallelCameraAnim(class CRNumber * __ptr64)
?CRParallelCameraAnim@@YAPEAVCRCamera@@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRParallelTransform2(class CRTransform3 * __ptr64)
?CRParallelTransform2@@YAPEAVCRTransform2@@PEAVCRTransform3@@@Z
; bool __cdecl CRPauseModel(class CRView * __ptr64)
?CRPauseModel@@YA_NPEAVCRView@@@Z
; class CRCamera * __ptr64 __cdecl CRPerspectiveCamera(double,double)
?CRPerspectiveCamera@@YAPEAVCRCamera@@NN@Z
; class CRCamera * __ptr64 __cdecl CRPerspectiveCameraAnim(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRPerspectiveCameraAnim@@YAPEAVCRCamera@@PEAVCRNumber@@0@Z
; class CRSound * __ptr64 __cdecl CRPhase(class CRSound * __ptr64,double)
?CRPhase@@YAPEAVCRSound@@PEAV1@N@Z
; class CRSound * __ptr64 __cdecl CRPhase(class CRSound * __ptr64,class CRNumber * __ptr64)
?CRPhase@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
; class CRPickableResult * __ptr64 __cdecl CRPickable(class CRGeometry * __ptr64)
?CRPickable@@YAPEAVCRPickableResult@@PEAVCRGeometry@@@Z
; class CRPickableResult * __ptr64 __cdecl CRPickable(class CRImage * __ptr64)
?CRPickable@@YAPEAVCRPickableResult@@PEAVCRImage@@@Z
; class CRPickableResult * __ptr64 __cdecl CRPickableOccluded(class CRGeometry * __ptr64)
?CRPickableOccluded@@YAPEAVCRPickableResult@@PEAVCRGeometry@@@Z
; class CRPickableResult * __ptr64 __cdecl CRPickableOccluded(class CRImage * __ptr64)
?CRPickableOccluded@@YAPEAVCRPickableResult@@PEAVCRImage@@@Z
; class CRPath2 * __ptr64 __cdecl CRPie(double,double,double,double)
?CRPie@@YAPEAVCRPath2@@NNNN@Z
; class CRPath2 * __ptr64 __cdecl CRPieRadians(double,double,double,double)
?CRPieRadians@@YAPEAVCRPath2@@NNNN@Z
; class CRPath2 * __ptr64 __cdecl CRPieRadians(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRPieRadians@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
; class CRNumber * __ptr64 __cdecl CRPixel(void)
?CRPixel@@YAPEAVCRNumber@@XZ
; class CRPoint2 * __ptr64 __cdecl CRPoint2Polar(double,double)
?CRPoint2Polar@@YAPEAVCRPoint2@@NN@Z
; class CRPoint2 * __ptr64 __cdecl CRPoint2Polar(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRPoint2Polar@@YAPEAVCRPoint2@@PEAVCRNumber@@0@Z
; class CRPoint3 * __ptr64 __cdecl CRPoint3Spherical(double,double,double)
?CRPoint3Spherical@@YAPEAVCRPoint3@@NNN@Z
; class CRPoint3 * __ptr64 __cdecl CRPoint3Spherical(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRPoint3Spherical@@YAPEAVCRPoint3@@PEAVCRNumber@@00@Z
; class CRGeometry * __ptr64 __cdecl CRPointLight(void)
?CRPointLight@@YAPEAVCRGeometry@@XZ
; class CRNumber * __ptr64 __cdecl CRPolarCoordAngle(class CRPoint2 * __ptr64)
?CRPolarCoordAngle@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
; class CRNumber * __ptr64 __cdecl CRPolarCoordAngle(class CRVector2 * __ptr64)
?CRPolarCoordAngle@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
; class CRNumber * __ptr64 __cdecl CRPolarCoordLength(class CRPoint2 * __ptr64)
?CRPolarCoordLength@@YAPEAVCRNumber@@PEAVCRPoint2@@@Z
; class CRNumber * __ptr64 __cdecl CRPolarCoordLength(class CRVector2 * __ptr64)
?CRPolarCoordLength@@YAPEAVCRNumber@@PEAVCRVector2@@@Z
; class CRPath2 * __ptr64 __cdecl CRPolydrawPath(double * __ptr64,unsigned int,double * __ptr64,unsigned int)
?CRPolydrawPath@@YAPEAVCRPath2@@PEANI0I@Z
; class CRPath2 * __ptr64 __cdecl CRPolydrawPath(class CRArray * __ptr64,class CRArray * __ptr64)
?CRPolydrawPath@@YAPEAVCRPath2@@PEAVCRArray@@0@Z
; class CRPath2 * __ptr64 __cdecl CRPolyline(class CRArray * __ptr64)
?CRPolyline@@YAPEAVCRPath2@@PEAVCRArray@@@Z
; class CRNumber * __ptr64 __cdecl CRPow(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRPow@@YAPEAVCRNumber@@PEAV1@0@Z
; class CREvent * __ptr64 __cdecl CRPredicate(class CRBoolean * __ptr64)
?CRPredicate@@YAPEAVCREvent@@PEAVCRBoolean@@@Z
; class CRPoint2 * __ptr64 __cdecl CRProject(class CRPoint3 * __ptr64,class CRCamera * __ptr64)
?CRProject@@YAPEAVCRPoint2@@PEAVCRPoint3@@PEAVCRCamera@@@Z
; bool __cdecl CRPropagate(class CRView * __ptr64)
?CRPropagate@@YA_NPEAVCRView@@@Z
; class CRColor * __ptr64 __cdecl CRPurple(void)
?CRPurple@@YAPEAVCRColor@@XZ
; bool __cdecl CRPutPreference(class CRView * __ptr64,unsigned short * __ptr64,struct tagVARIANT)
?CRPutPreference@@YA_NPEAVCRView@@PEAGUtagVARIANT@@@Z
; unsigned long __cdecl CRQueryHitPoint(class CRView * __ptr64,unsigned long,struct tagRECT const * __ptr64,struct tagPOINT,long)
?CRQueryHitPoint@@YAKPEAVCRView@@KPEBUtagRECT@@UtagPOINT@@J@Z
; long __cdecl CRQueryHitPointEx(class CRView * __ptr64,long,unsigned __int64 * __ptr64,double * __ptr64,struct tagRECT const * __ptr64,struct tagPOINT)
?CRQueryHitPointEx@@YAJPEAVCRView@@JPEA_KPEANPEBUtagRECT@@UtagPOINT@@@Z
; class CRImage * __ptr64 __cdecl CRRadialGradientMulticolor(class CRArray * __ptr64,class CRArray * __ptr64)
?CRRadialGradientMulticolor@@YAPEAVCRImage@@PEAVCRArray@@0@Z
; class CRImage * __ptr64 __cdecl CRRadialGradientPolygon(class CRColor * __ptr64,class CRColor * __ptr64,class CRArray * __ptr64,double)
?CRRadialGradientPolygon@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRArray@@N@Z
; class CRImage * __ptr64 __cdecl CRRadialGradientPolygon(class CRColor * __ptr64,class CRColor * __ptr64,class CRArray * __ptr64,class CRNumber * __ptr64)
?CRRadialGradientPolygon@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRArray@@PEAVCRNumber@@@Z
; class CRImage * __ptr64 __cdecl CRRadialGradientRegularPoly(class CRColor * __ptr64,class CRColor * __ptr64,double,double)
?CRRadialGradientRegularPoly@@YAPEAVCRImage@@PEAVCRColor@@0NN@Z
; class CRImage * __ptr64 __cdecl CRRadialGradientRegularPoly(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRRadialGradientRegularPoly@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@1@Z
; class CRImage * __ptr64 __cdecl CRRadialGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,double)
?CRRadialGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@0N@Z
; class CRImage * __ptr64 __cdecl CRRadialGradientSquare(class CRColor * __ptr64,class CRColor * __ptr64,class CRNumber * __ptr64)
?CRRadialGradientSquare@@YAPEAVCRImage@@PEAVCRColor@@0PEAVCRNumber@@@Z
; class CRSound * __ptr64 __cdecl CRRate(class CRSound * __ptr64,double)
?CRRate@@YAPEAVCRSound@@PEAV1@N@Z
; class CRSound * __ptr64 __cdecl CRRate(class CRSound * __ptr64,class CRNumber * __ptr64)
?CRRate@@YAPEAVCRSound@@PEAV1@PEAVCRNumber@@@Z
; class CRPath2 * __ptr64 __cdecl CRRay(class CRPoint2 * __ptr64)
?CRRay@@YAPEAVCRPath2@@PEAVCRPoint2@@@Z
; class CRPath2 * __ptr64 __cdecl CRRect(double,double)
?CRRect@@YAPEAVCRPath2@@NN@Z
; class CRPath2 * __ptr64 __cdecl CRRect(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRRect@@YAPEAVCRPath2@@PEAVCRNumber@@0@Z
; class CRColor * __ptr64 __cdecl CRRed(void)
?CRRed@@YAPEAVCRColor@@XZ
; bool __cdecl CRReleaseGC(void * __ptr64)
?CRReleaseGC@@YA_NPEAX@Z
; bool __cdecl CRReleaseGCLock(void)
?CRReleaseGCLock@@YA_NXZ
; bool __cdecl CRRemoveElement(class CRArray * __ptr64,long)
?CRRemoveElement@@YA_NPEAVCRArray@@J@Z
; bool __cdecl CRRemoveRunningBvr(class CRView * __ptr64,long)
?CRRemoveRunningBvr@@YA_NPEAVCRView@@J@Z
; bool __cdecl CRRemoveSite(class CRSite * __ptr64)
?CRRemoveSite@@YA_NPEAVCRSite@@@Z
; class CRImage * __ptr64 __cdecl CRRender(class CRGeometry * __ptr64,class CRCamera * __ptr64)
?CRRender@@YAPEAVCRImage@@PEAVCRGeometry@@PEAVCRCamera@@@Z
; class CRImage * __ptr64 __cdecl CRRender(class CRMontage * __ptr64)
?CRRender@@YAPEAVCRImage@@PEAVCRMontage@@@Z
; bool __cdecl CRRender(class CRView * __ptr64)
?CRRender@@YA_NPEAVCRView@@@Z
; class CRImage * __ptr64 __cdecl CRRenderResolution(class CRImage * __ptr64,long,long)
?CRRenderResolution@@YAPEAVCRImage@@PEAV1@JJ@Z
; class CRSound * __ptr64 __cdecl CRRenderSound(class CRGeometry * __ptr64,class CRMicrophone * __ptr64)
?CRRenderSound@@YAPEAVCRSound@@PEAVCRGeometry@@PEAVCRMicrophone@@@Z
; bool __cdecl CRRepaint(class CRView * __ptr64,long,long,long,long)
?CRRepaint@@YA_NPEAVCRView@@JJJJ@Z
; class CRBvr * __ptr64 __cdecl CRRepeat(class CRBvr * __ptr64,long)
?CRRepeat@@YAPEAVCRBvr@@PEAV1@J@Z
; class CRBvr * __ptr64 __cdecl CRRepeatForever(class CRBvr * __ptr64)
?CRRepeatForever@@YAPEAVCRBvr@@PEAV1@@Z
; bool __cdecl CRResumeModel(class CRView * __ptr64)
?CRResumeModel@@YA_NPEAVCRView@@@Z
; class CREvent * __ptr64 __cdecl CRRightButtonDown(void)
?CRRightButtonDown@@YAPEAVCREvent@@XZ
; class CRBoolean * __ptr64 __cdecl CRRightButtonState(void)
?CRRightButtonState@@YAPEAVCRBoolean@@XZ
; class CREvent * __ptr64 __cdecl CRRightButtonUp(void)
?CRRightButtonUp@@YAPEAVCREvent@@XZ
; class CRTransform2 * __ptr64 __cdecl CRRotate2(double)
?CRRotate2@@YAPEAVCRTransform2@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRRotate2(class CRNumber * __ptr64)
?CRRotate2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRRotate2Degrees(double)
?CRRotate2Degrees@@YAPEAVCRTransform2@@N@Z
; class CRTransform3 * __ptr64 __cdecl CRRotate3(class CRVector3 * __ptr64,double)
?CRRotate3@@YAPEAVCRTransform3@@PEAVCRVector3@@N@Z
; class CRTransform3 * __ptr64 __cdecl CRRotate3(class CRVector3 * __ptr64,class CRNumber * __ptr64)
?CRRotate3@@YAPEAVCRTransform3@@PEAVCRVector3@@PEAVCRNumber@@@Z
; class CRNumber * __ptr64 __cdecl CRRound(class CRNumber * __ptr64)
?CRRound@@YAPEAVCRNumber@@PEAV1@@Z
; class CRPath2 * __ptr64 __cdecl CRRoundRect(double,double,double,double)
?CRRoundRect@@YAPEAVCRPath2@@NNNN@Z
; class CRPath2 * __ptr64 __cdecl CRRoundRect(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRRoundRect@@YAPEAVCRPath2@@PEAVCRNumber@@000@Z
; class CRBvr * __ptr64 __cdecl CRRunOnce(class CRBvr * __ptr64)
?CRRunOnce@@YAPEAVCRBvr@@PEAV1@@Z
; class CRBvr * __ptr64 __cdecl CRSampleAtLocalTime(class CRBvr * __ptr64,double)
?CRSampleAtLocalTime@@YAPEAVCRBvr@@PEAV1@N@Z
; class CRTransform2 * __ptr64 __cdecl CRScale2(double,double)
?CRScale2@@YAPEAVCRTransform2@@NN@Z
; class CRTransform2 * __ptr64 __cdecl CRScale2(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRScale2@@YAPEAVCRTransform2@@PEAVCRNumber@@0@Z
; class CRTransform2 * __ptr64 __cdecl CRScale2(class CRVector2 * __ptr64)
?CRScale2@@YAPEAVCRTransform2@@PEAVCRVector2@@@Z
; class CRTransform2 * __ptr64 __cdecl CRScale2Uniform(double)
?CRScale2Uniform@@YAPEAVCRTransform2@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRScale2Uniform(class CRNumber * __ptr64)
?CRScale2Uniform@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
; class CRTransform3 * __ptr64 __cdecl CRScale3(double,double,double)
?CRScale3@@YAPEAVCRTransform3@@NNN@Z
; class CRTransform3 * __ptr64 __cdecl CRScale3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRScale3@@YAPEAVCRTransform3@@PEAVCRNumber@@00@Z
; class CRTransform3 * __ptr64 __cdecl CRScale3(class CRVector3 * __ptr64)
?CRScale3@@YAPEAVCRTransform3@@PEAVCRVector3@@@Z
; class CRTransform3 * __ptr64 __cdecl CRScale3Uniform(double)
?CRScale3Uniform@@YAPEAVCRTransform3@@N@Z
; class CRTransform3 * __ptr64 __cdecl CRScale3Uniform(class CRNumber * __ptr64)
?CRScale3Uniform@@YAPEAVCRTransform3@@PEAVCRNumber@@@Z
; class CRBvr * __ptr64 __cdecl CRSecond(class CRPair * __ptr64)
?CRSecond@@YAPEAVCRBvr@@PEAVCRPair@@@Z
; class CRNumber * __ptr64 __cdecl CRSeededRandom(double)
?CRSeededRandom@@YAPEAVCRNumber@@N@Z
; class CRBvr * __ptr64 __cdecl CRSequence(class CRBvr * __ptr64,class CRBvr * __ptr64)
?CRSequence@@YAPEAVCRBvr@@PEAV1@0@Z
; class CRBvr * __ptr64 __cdecl CRSequenceArray(long,class CRBvr * __ptr64 * __ptr64 const)
?CRSequenceArray@@YAPEAVCRBvr@@JQEAPEAV1@@Z
; bool __cdecl CRSetBvrAsProperty(class CRDXTransformResult * __ptr64,unsigned short const * __ptr64,class CRBvr * __ptr64)
?CRSetBvrAsProperty@@YA_NPEAVCRDXTransformResult@@PEBGPEAVCRBvr@@@Z
; bool __cdecl CRSetClipRect(class CRView * __ptr64,long,long,long,long)
?CRSetClipRect@@YA_NPEAVCRView@@JJJJ@Z
; bool __cdecl CRSetCompositeDirectlyToTarget(class CRView * __ptr64,bool)
?CRSetCompositeDirectlyToTarget@@YA_NPEAVCRView@@_N@Z
; bool __cdecl CRSetDC(class CRView * __ptr64,struct HDC__ * __ptr64)
?CRSetDC@@YA_NPEAVCRView@@PEAUHDC__@@@Z
; bool __cdecl CRSetDirectDrawSurface(class CRView * __ptr64,struct IUnknown * __ptr64)
?CRSetDirectDrawSurface@@YA_NPEAVCRView@@PEAUIUnknown@@@Z
; bool __cdecl CRSetElement(class CRArray * __ptr64,long,class CRBvr * __ptr64,long)
?CRSetElement@@YA_NPEAVCRArray@@JPEAVCRBvr@@J@Z
; bool __cdecl CRSetImportPriority(class CRBvr * __ptr64,float)
?CRSetImportPriority@@YA_NPEAVCRBvr@@M@Z
; void __cdecl CRSetLastError(long,unsigned short const * __ptr64)
?CRSetLastError@@YAXJPEBG@Z
; bool __cdecl CRSetServiceProvider(class CRView * __ptr64,struct IServiceProvider * __ptr64)
?CRSetServiceProvider@@YA_NPEAVCRView@@PEAUIServiceProvider@@@Z
; bool __cdecl CRSetSite(class CRView * __ptr64,class CRViewSite * __ptr64)
?CRSetSite@@YA_NPEAVCRView@@PEAVCRViewSite@@@Z
; bool __cdecl CRSetViewport(class CRView * __ptr64,long,long,long,long)
?CRSetViewport@@YA_NPEAVCRView@@JJJJ@Z
; bool __cdecl CRSetWindow(class CRView * __ptr64,struct HWND__ * __ptr64)
?CRSetWindow@@YA_NPEAVCRView@@PEAUHWND__@@@Z
; class CRGeometry * __ptr64 __cdecl CRShadow(class CRGeometry * __ptr64,class CRGeometry * __ptr64,class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
?CRShadow@@YAPEAVCRGeometry@@PEAV1@0PEAVCRPoint3@@PEAVCRVector3@@@Z
; class CRSound * __ptr64 __cdecl CRSilence(void)
?CRSilence@@YAPEAVCRSound@@XZ
; class CRColor * __ptr64 __cdecl CRSilver(void)
?CRSilver@@YAPEAVCRColor@@XZ
; class CRNumber * __ptr64 __cdecl CRSin(class CRNumber * __ptr64)
?CRSin@@YAPEAVCRNumber@@PEAV1@@Z
; class CRSound * __ptr64 __cdecl CRSinSynth(void)
?CRSinSynth@@YAPEAVCRSound@@XZ
; class CRFontStyle * __ptr64 __cdecl CRSize(class CRFontStyle * __ptr64,double)
?CRSize@@YAPEAVCRFontStyle@@PEAV1@N@Z
; class CRFontStyle * __ptr64 __cdecl CRSize(class CRFontStyle * __ptr64,class CRNumber * __ptr64)
?CRSize@@YAPEAVCRFontStyle@@PEAV1@PEAVCRNumber@@@Z
; class CRNumber * __ptr64 __cdecl CRSlowInSlowOut(double,double,double,double)
?CRSlowInSlowOut@@YAPEAVCRNumber@@NNNN@Z
; class CRNumber * __ptr64 __cdecl CRSlowInSlowOut(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRSlowInSlowOut@@YAPEAVCRNumber@@PEAV1@000@Z
; class CREvent * __ptr64 __cdecl CRSnapshot(class CREvent * __ptr64,class CRBvr * __ptr64)
?CRSnapshot@@YAPEAVCREvent@@PEAV1@PEAVCRBvr@@@Z
; class CRImage * __ptr64 __cdecl CRSolidColorImage(class CRColor * __ptr64)
?CRSolidColorImage@@YAPEAVCRImage@@PEAVCRColor@@@Z
; class CRGeometry * __ptr64 __cdecl CRSoundSource(class CRSound * __ptr64)
?CRSoundSource@@YAPEAVCRGeometry@@PEAVCRSound@@@Z
; class CRGeometry * __ptr64 __cdecl CRSpecularColor(class CRGeometry * __ptr64,class CRColor * __ptr64)
?CRSpecularColor@@YAPEAVCRGeometry@@PEAV1@PEAVCRColor@@@Z
; class CRGeometry * __ptr64 __cdecl CRSpecularExponent(class CRGeometry * __ptr64,double)
?CRSpecularExponent@@YAPEAVCRGeometry@@PEAV1@N@Z
; class CRGeometry * __ptr64 __cdecl CRSpecularExponentAnim(class CRGeometry * __ptr64,class CRNumber * __ptr64)
?CRSpecularExponentAnim@@YAPEAVCRGeometry@@PEAV1@PEAVCRNumber@@@Z
; class CRNumber * __ptr64 __cdecl CRSphericalCoordLength(class CRPoint3 * __ptr64)
?CRSphericalCoordLength@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
; class CRNumber * __ptr64 __cdecl CRSphericalCoordLength(class CRVector3 * __ptr64)
?CRSphericalCoordLength@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRNumber * __ptr64 __cdecl CRSphericalCoordXYAngle(class CRPoint3 * __ptr64)
?CRSphericalCoordXYAngle@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
; class CRNumber * __ptr64 __cdecl CRSphericalCoordXYAngle(class CRVector3 * __ptr64)
?CRSphericalCoordXYAngle@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRNumber * __ptr64 __cdecl CRSphericalCoordYZAngle(class CRPoint3 * __ptr64)
?CRSphericalCoordYZAngle@@YAPEAVCRNumber@@PEAVCRPoint3@@@Z
; class CRNumber * __ptr64 __cdecl CRSphericalCoordYZAngle(class CRVector3 * __ptr64)
?CRSphericalCoordYZAngle@@YAPEAVCRNumber@@PEAVCRVector3@@@Z
; class CRGeometry * __ptr64 __cdecl CRSpotLight(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRSpotLight@@YAPEAVCRGeometry@@PEAVCRNumber@@0@Z
; class CRGeometry * __ptr64 __cdecl CRSpotLight(class CRNumber * __ptr64,double)
?CRSpotLight@@YAPEAVCRGeometry@@PEAVCRNumber@@N@Z
; class CRNumber * __ptr64 __cdecl CRSqrt(class CRNumber * __ptr64)
?CRSqrt@@YAPEAVCRNumber@@PEAV1@@Z
; bool __cdecl CRStartModel(class CRView * __ptr64,class CRImage * __ptr64,class CRSound * __ptr64,double,unsigned long,bool * __ptr64)
?CRStartModel@@YA_NPEAVCRView@@PEAVCRImage@@PEAVCRSound@@NKPEA_N@Z
; bool __cdecl CRStopModel(class CRView * __ptr64)
?CRStopModel@@YA_NPEAVCRView@@@Z
; class CRFontStyle * __ptr64 __cdecl CRStrikethrough(class CRFontStyle * __ptr64)
?CRStrikethrough@@YAPEAVCRFontStyle@@PEAV1@@Z
; class CRImage * __ptr64 __cdecl CRStringImage(unsigned short * __ptr64,class CRFontStyle * __ptr64)
?CRStringImage@@YAPEAVCRImage@@PEAGPEAVCRFontStyle@@@Z
; class CRImage * __ptr64 __cdecl CRStringImage(class CRString * __ptr64,class CRFontStyle * __ptr64)
?CRStringImage@@YAPEAVCRImage@@PEAVCRString@@PEAVCRFontStyle@@@Z
; class CRPath2 * __ptr64 __cdecl CRStringPath(unsigned short * __ptr64,class CRFontStyle * __ptr64)
?CRStringPath@@YAPEAVCRPath2@@PEAGPEAVCRFontStyle@@@Z
; class CRPath2 * __ptr64 __cdecl CRStringPath(class CRString * __ptr64,class CRFontStyle * __ptr64)
?CRStringPath@@YAPEAVCRPath2@@PEAVCRString@@PEAVCRFontStyle@@@Z
; class CRNumber * __ptr64 __cdecl CRSub(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRSub@@YAPEAVCRNumber@@PEAV1@0@Z
; class CRPoint2 * __ptr64 __cdecl CRSub(class CRPoint2 * __ptr64,class CRVector2 * __ptr64)
?CRSub@@YAPEAVCRPoint2@@PEAV1@PEAVCRVector2@@@Z
; class CRPoint3 * __ptr64 __cdecl CRSub(class CRPoint3 * __ptr64,class CRVector3 * __ptr64)
?CRSub@@YAPEAVCRPoint3@@PEAV1@PEAVCRVector3@@@Z
; class CRVector2 * __ptr64 __cdecl CRSub(class CRVector2 * __ptr64,class CRVector2 * __ptr64)
?CRSub@@YAPEAVCRVector2@@PEAV1@0@Z
; class CRVector2 * __ptr64 __cdecl CRSub(class CRPoint2 * __ptr64,class CRPoint2 * __ptr64)
?CRSub@@YAPEAVCRVector2@@PEAVCRPoint2@@0@Z
; class CRVector3 * __ptr64 __cdecl CRSub(class CRVector3 * __ptr64,class CRVector3 * __ptr64)
?CRSub@@YAPEAVCRVector3@@PEAV1@0@Z
; class CRVector3 * __ptr64 __cdecl CRSub(class CRPoint3 * __ptr64,class CRPoint3 * __ptr64)
?CRSub@@YAPEAVCRVector3@@PEAVCRPoint3@@0@Z
; class CRBvr * __ptr64 __cdecl CRSubstituteTime(class CRBvr * __ptr64,class CRNumber * __ptr64)
?CRSubstituteTime@@YAPEAVCRBvr@@PEAV1@PEAVCRNumber@@@Z
; bool __cdecl CRSwitchTo(class CRBvr * __ptr64,class CRBvr * __ptr64,bool,unsigned long,double)
?CRSwitchTo@@YA_NPEAVCRBvr@@0_NKN@Z
; bool __cdecl CRSwitchToBool(class CRBoolean * __ptr64,bool)
?CRSwitchToBool@@YA_NPEAVCRBoolean@@_N@Z
; bool __cdecl CRSwitchToNumber(class CRNumber * __ptr64,double)
?CRSwitchToNumber@@YA_NPEAVCRNumber@@N@Z
; bool __cdecl CRSwitchToString(class CRString * __ptr64,unsigned short * __ptr64)
?CRSwitchToString@@YA_NPEAVCRString@@PEAG@Z
; class CRNumber * __ptr64 __cdecl CRTan(class CRNumber * __ptr64)
?CRTan@@YAPEAVCRNumber@@PEAV1@@Z
; class CRColor * __ptr64 __cdecl CRTeal(void)
?CRTeal@@YAPEAVCRColor@@XZ
; class CRFontStyle * __ptr64 __cdecl CRTextColor(class CRFontStyle * __ptr64,class CRColor * __ptr64)
?CRTextColor@@YAPEAVCRFontStyle@@PEAV1@PEAVCRColor@@@Z
; class CRImage * __ptr64 __cdecl CRTextImage(unsigned short * __ptr64,class CRFontStyle * __ptr64)
?CRTextImage@@YAPEAVCRImage@@PEAGPEAVCRFontStyle@@@Z
; class CRImage * __ptr64 __cdecl CRTextImage(class CRString * __ptr64,class CRFontStyle * __ptr64)
?CRTextImage@@YAPEAVCRImage@@PEAVCRString@@PEAVCRFontStyle@@@Z
; class CRMatte * __ptr64 __cdecl CRTextMatte(class CRString * __ptr64,class CRFontStyle * __ptr64)
?CRTextMatte@@YAPEAVCRMatte@@PEAVCRString@@PEAVCRFontStyle@@@Z
; class CRPath2 * __ptr64 __cdecl CRTextPath(class CRString * __ptr64,class CRFontStyle * __ptr64)
?CRTextPath@@YAPEAVCRPath2@@PEAVCRString@@PEAVCRFontStyle@@@Z
; class CRGeometry * __ptr64 __cdecl CRTexture(class CRGeometry * __ptr64,class CRImage * __ptr64)
?CRTexture@@YAPEAVCRGeometry@@PEAV1@PEAVCRImage@@@Z
; class CRGeometry * __ptr64 __cdecl CRTextureImage(class CRGeometry * __ptr64,class CRImage * __ptr64)
?CRTextureImage@@YAPEAVCRGeometry@@PEAV1@PEAVCRImage@@@Z
; class CREvent * __ptr64 __cdecl CRThenEvent(class CREvent * __ptr64,class CREvent * __ptr64)
?CRThenEvent@@YAPEAVCREvent@@PEAV1@0@Z
; bool __cdecl CRTick(class CRView * __ptr64,double,bool * __ptr64)
?CRTick@@YA_NPEAVCRView@@NPEA_N@Z
; class CRImage * __ptr64 __cdecl CRTile(class CRImage * __ptr64)
?CRTile@@YAPEAVCRImage@@PEAV1@@Z
; class CREvent * __ptr64 __cdecl CRTimer(double)
?CRTimer@@YAPEAVCREvent@@N@Z
; class CREvent * __ptr64 __cdecl CRTimer(class CRNumber * __ptr64)
?CRTimer@@YAPEAVCREvent@@PEAVCRNumber@@@Z
; class CRNumber * __ptr64 __cdecl CRToDegrees(class CRNumber * __ptr64)
?CRToDegrees@@YAPEAVCRNumber@@PEAV1@@Z
; class CRNumber * __ptr64 __cdecl CRToRadians(class CRNumber * __ptr64)
?CRToRadians@@YAPEAVCRNumber@@PEAV1@@Z
; class CRString * __ptr64 __cdecl CRToString(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRToString@@YAPEAVCRString@@PEAVCRNumber@@0@Z
; class CRString * __ptr64 __cdecl CRToString(class CRNumber * __ptr64,double)
?CRToString@@YAPEAVCRString@@PEAVCRNumber@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRTransform3x2(double * __ptr64,unsigned int)
?CRTransform3x2@@YAPEAVCRTransform2@@PEANI@Z
; class CRTransform2 * __ptr64 __cdecl CRTransform3x2(class CRArray * __ptr64)
?CRTransform3x2@@YAPEAVCRTransform2@@PEAVCRArray@@@Z
; class CRTransform3 * __ptr64 __cdecl CRTransform4x4(class CRArray * __ptr64)
?CRTransform4x4@@YAPEAVCRTransform3@@PEAVCRArray@@@Z
; class CRCamera * __ptr64 __cdecl CRTransform(class CRCamera * __ptr64,class CRTransform3 * __ptr64)
?CRTransform@@YAPEAVCRCamera@@PEAV1@PEAVCRTransform3@@@Z
; class CRGeometry * __ptr64 __cdecl CRTransform(class CRGeometry * __ptr64,class CRTransform3 * __ptr64)
?CRTransform@@YAPEAVCRGeometry@@PEAV1@PEAVCRTransform3@@@Z
; class CRImage * __ptr64 __cdecl CRTransform(class CRImage * __ptr64,class CRTransform2 * __ptr64)
?CRTransform@@YAPEAVCRImage@@PEAV1@PEAVCRTransform2@@@Z
; class CRMatte * __ptr64 __cdecl CRTransform(class CRMatte * __ptr64,class CRTransform2 * __ptr64)
?CRTransform@@YAPEAVCRMatte@@PEAV1@PEAVCRTransform2@@@Z
; class CRMicrophone * __ptr64 __cdecl CRTransform(class CRMicrophone * __ptr64,class CRTransform3 * __ptr64)
?CRTransform@@YAPEAVCRMicrophone@@PEAV1@PEAVCRTransform3@@@Z
; class CRPath2 * __ptr64 __cdecl CRTransform(class CRPath2 * __ptr64,class CRTransform2 * __ptr64)
?CRTransform@@YAPEAVCRPath2@@PEAV1@PEAVCRTransform2@@@Z
; class CRPoint2 * __ptr64 __cdecl CRTransform(class CRPoint2 * __ptr64,class CRTransform2 * __ptr64)
?CRTransform@@YAPEAVCRPoint2@@PEAV1@PEAVCRTransform2@@@Z
; class CRPoint3 * __ptr64 __cdecl CRTransform(class CRPoint3 * __ptr64,class CRTransform3 * __ptr64)
?CRTransform@@YAPEAVCRPoint3@@PEAV1@PEAVCRTransform3@@@Z
; class CRVector2 * __ptr64 __cdecl CRTransform(class CRVector2 * __ptr64,class CRTransform2 * __ptr64)
?CRTransform@@YAPEAVCRVector2@@PEAV1@PEAVCRTransform2@@@Z
; class CRVector3 * __ptr64 __cdecl CRTransform(class CRVector3 * __ptr64,class CRTransform3 * __ptr64)
?CRTransform@@YAPEAVCRVector3@@PEAV1@PEAVCRTransform3@@@Z
; class CRFontStyle * __ptr64 __cdecl CRTransformCharacters(class CRFontStyle * __ptr64,class CRTransform2 * __ptr64)
?CRTransformCharacters@@YAPEAVCRFontStyle@@PEAV1@PEAVCRTransform2@@@Z
; class CRImage * __ptr64 __cdecl CRTransformColorRGB(class CRImage * __ptr64,class CRTransform3 * __ptr64)
?CRTransformColorRGB@@YAPEAVCRImage@@PEAV1@PEAVCRTransform3@@@Z
; class CRTransform2 * __ptr64 __cdecl CRTranslate2(double,double)
?CRTranslate2@@YAPEAVCRTransform2@@NN@Z
; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRNumber@@0@Z
; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRPoint2 * __ptr64)
?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRPoint2@@@Z
; class CRTransform2 * __ptr64 __cdecl CRTranslate2(class CRVector2 * __ptr64)
?CRTranslate2@@YAPEAVCRTransform2@@PEAVCRVector2@@@Z
; class CRTransform3 * __ptr64 __cdecl CRTranslate3(double,double,double)
?CRTranslate3@@YAPEAVCRTransform3@@NNN@Z
; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRNumber@@00@Z
; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRPoint3 * __ptr64)
?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRPoint3@@@Z
; class CRTransform3 * __ptr64 __cdecl CRTranslate3(class CRVector3 * __ptr64)
?CRTranslate3@@YAPEAVCRTransform3@@PEAVCRVector3@@@Z
; class CRGeometry * __ptr64 __cdecl CRTriMesh(class TriMeshData & __ptr64)
?CRTriMesh@@YAPEAVCRGeometry@@AEAVTriMeshData@@@Z
; bool __cdecl CRTriggerEvent(class CREvent * __ptr64,class CRBvr * __ptr64)
?CRTriggerEvent@@YA_NPEAVCREvent@@PEAVCRBvr@@@Z
; class CRBoolean * __ptr64 __cdecl CRTrue(void)
?CRTrue@@YAPEAVCRBoolean@@XZ
; class CRFontStyle * __ptr64 __cdecl CRUnderline(class CRFontStyle * __ptr64)
?CRUnderline@@YAPEAVCRFontStyle@@PEAV1@@Z
; class CRGeometry * __ptr64 __cdecl CRUndetectable(class CRGeometry * __ptr64)
?CRUndetectable@@YAPEAVCRGeometry@@PEAV1@@Z
; class CRImage * __ptr64 __cdecl CRUndetectable(class CRImage * __ptr64)
?CRUndetectable@@YAPEAVCRImage@@PEAV1@@Z
; class CRArray * __ptr64 __cdecl CRUninitializedArray(class CRArray * __ptr64)
?CRUninitializedArray@@YAPEAVCRArray@@PEAV1@@Z
; class CRBvr * __ptr64 __cdecl CRUninitializedBvr(enum CR_BVR_TYPEID)
?CRUninitializedBvr@@YAPEAVCRBvr@@W4CR_BVR_TYPEID@@@Z
; class CRTuple * __ptr64 __cdecl CRUninitializedTuple(class CRTuple * __ptr64)
?CRUninitializedTuple@@YAPEAVCRTuple@@PEAV1@@Z
; class CRGeometry * __ptr64 __cdecl CRUnionGeometry(class CRGeometry * __ptr64,class CRGeometry * __ptr64)
?CRUnionGeometry@@YAPEAVCRGeometry@@PEAV1@0@Z
; class CRGeometry * __ptr64 __cdecl CRUnionGeometry(class CRArray * __ptr64)
?CRUnionGeometry@@YAPEAVCRGeometry@@PEAVCRArray@@@Z
; class CRMatte * __ptr64 __cdecl CRUnionMatte(class CRMatte * __ptr64,class CRMatte * __ptr64)
?CRUnionMatte@@YAPEAVCRMatte@@PEAV1@0@Z
; class CRMontage * __ptr64 __cdecl CRUnionMontage(class CRMontage * __ptr64,class CRMontage * __ptr64)
?CRUnionMontage@@YAPEAVCRMontage@@PEAV1@0@Z
; class CRMontage * __ptr64 __cdecl CRUnionMontageArray(class CRArray * __ptr64)
?CRUnionMontageArray@@YAPEAVCRMontage@@PEAVCRArray@@@Z
; class CRBvr * __ptr64 __cdecl CRUntil(class CRBvr * __ptr64,class CREvent * __ptr64,class CRBvr * __ptr64)
?CRUntil@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@0@Z
; class CRBvr * __ptr64 __cdecl CRUntilEx(class CRBvr * __ptr64,class CREvent * __ptr64)
?CRUntilEx@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@@Z
; class CRBvr * __ptr64 __cdecl CRUntilNotify(class CRBvr * __ptr64,class CREvent * __ptr64,class CRUntilNotifier * __ptr64)
?CRUntilNotify@@YAPEAVCRBvr@@PEAV1@PEAVCREvent@@PEAVCRUntilNotifier@@@Z
; class CRVector2 * __ptr64 __cdecl CRVector2Polar(double,double)
?CRVector2Polar@@YAPEAVCRVector2@@NN@Z
; class CRVector2 * __ptr64 __cdecl CRVector2Polar(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRVector2Polar@@YAPEAVCRVector2@@PEAVCRNumber@@0@Z
; class CRVector3 * __ptr64 __cdecl CRVector3Spherical(double,double,double)
?CRVector3Spherical@@YAPEAVCRVector3@@NNN@Z
; class CRVector3 * __ptr64 __cdecl CRVector3Spherical(class CRNumber * __ptr64,class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRVector3Spherical@@YAPEAVCRVector3@@PEAVCRNumber@@00@Z
; unsigned short const * __ptr64 __cdecl CRVersionString(void)
?CRVersionString@@YAPEBGXZ
; class CRNumber * __ptr64 __cdecl CRViewFrameRate(void)
?CRViewFrameRate@@YAPEAVCRNumber@@XZ
; class CRNumber * __ptr64 __cdecl CRViewTimeDelta(void)
?CRViewTimeDelta@@YAPEAVCRNumber@@XZ
; class CRFontStyle * __ptr64 __cdecl CRWeight(class CRFontStyle * __ptr64,double)
?CRWeight@@YAPEAVCRFontStyle@@PEAV1@N@Z
; class CRFontStyle * __ptr64 __cdecl CRWeight(class CRFontStyle * __ptr64,class CRNumber * __ptr64)
?CRWeight@@YAPEAVCRFontStyle@@PEAV1@PEAVCRNumber@@@Z
; class CRColor * __ptr64 __cdecl CRWhite(void)
?CRWhite@@YAPEAVCRColor@@XZ
; class CRLineStyle * __ptr64 __cdecl CRWidth(class CRLineStyle * __ptr64,double)
?CRWidth@@YAPEAVCRLineStyle@@PEAV1@N@Z
; class CRLineStyle * __ptr64 __cdecl CRWidth(class CRLineStyle * __ptr64,class CRNumber * __ptr64)
?CRWidth@@YAPEAVCRLineStyle@@PEAV1@PEAVCRNumber@@@Z
; class CRTransform2 * __ptr64 __cdecl CRXShear2(double)
?CRXShear2@@YAPEAVCRTransform2@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRXShear2(class CRNumber * __ptr64)
?CRXShear2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
; class CRTransform3 * __ptr64 __cdecl CRXShear3(double,double)
?CRXShear3@@YAPEAVCRTransform3@@NN@Z
; class CRTransform3 * __ptr64 __cdecl CRXShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRXShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
; class CRVector2 * __ptr64 __cdecl CRXVector2(void)
?CRXVector2@@YAPEAVCRVector2@@XZ
; class CRVector3 * __ptr64 __cdecl CRXVector3(void)
?CRXVector3@@YAPEAVCRVector3@@XZ
; class CRTransform2 * __ptr64 __cdecl CRYShear2(double)
?CRYShear2@@YAPEAVCRTransform2@@N@Z
; class CRTransform2 * __ptr64 __cdecl CRYShear2(class CRNumber * __ptr64)
?CRYShear2@@YAPEAVCRTransform2@@PEAVCRNumber@@@Z
; class CRTransform3 * __ptr64 __cdecl CRYShear3(double,double)
?CRYShear3@@YAPEAVCRTransform3@@NN@Z
; class CRTransform3 * __ptr64 __cdecl CRYShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRYShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
; class CRVector2 * __ptr64 __cdecl CRYVector2(void)
?CRYVector2@@YAPEAVCRVector2@@XZ
; class CRVector3 * __ptr64 __cdecl CRYVector3(void)
?CRYVector3@@YAPEAVCRVector3@@XZ
; class CRColor * __ptr64 __cdecl CRYellow(void)
?CRYellow@@YAPEAVCRColor@@XZ
; class CRTransform3 * __ptr64 __cdecl CRZShear3(double,double)
?CRZShear3@@YAPEAVCRTransform3@@NN@Z
; class CRTransform3 * __ptr64 __cdecl CRZShear3(class CRNumber * __ptr64,class CRNumber * __ptr64)
?CRZShear3@@YAPEAVCRTransform3@@PEAVCRNumber@@0@Z
; class CRVector3 * __ptr64 __cdecl CRZVector3(void)
?CRZVector3@@YAPEAVCRVector3@@XZ
; class CRVector2 * __ptr64 __cdecl CRZeroVector2(void)
?CRZeroVector2@@YAPEAVCRVector2@@XZ
; class CRVector3 * __ptr64 __cdecl CRZeroVector3(void)
?CRZeroVector3@@YAPEAVCRVector3@@XZ
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
