; 
; 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
