Files
2025-12-15 22:10:55 +08:00

169 lines
6.8 KiB
C++

/***********************************************************************************************************************
*
* Copyright (c) 2010 - 2022 by Tech Soft 3D, Inc.
* The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret
* as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event
* of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized
* employees of Tech Soft 3D, Inc. is granted only under a written non-disclosure agreement, expressly prescribing the
* scope and manner of such use.
*
***********************************************************************************************************************/
/**
\file AnimDef.hpp
***********************************************************************************************************************/
#ifndef __A3DANIMDEF_H__
#define __A3DANIMDEF_H__
#define HOOPS_PRODUCT_PUBLISH_ADVANCED
#include <A3DSDKIncludes.h>
#include "../common.hpp"
void AddKeyFrameAppearance(A3DPDFAnimKeyFrame**& ppKeyFrame, int& idxkeyframe,
A3DDouble dTime,
int iInterpolationMask,
double dR, double dG, double dB,
double dOpacity,
A3DPDFERenderingStyle eRenderingStyle);
A3DStatus CreateMotionAppearInit(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
A3DPDFTargetEntity** ppTargets, int idxTargets,
double dColInitR, double dColInitG, double dColInitB,
double dOpacInit,
A3DPDFERenderingStyle eRenderingStyle,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMotionFlash(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
A3DPDFTargetEntity** ppTargets, int idxTarget,
double dColInitR, double dColInitG, double dColInitB,
double dColBlinkR, double dColBlinkG, double dColBlinkB,
A3DPDFERenderingStyle eRenderingStyle,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMoveBackward(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
A3DPDFTargetEntity** ppTargets, int idxTargets,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMotionMoveAndHide(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
A3DPDFTargetEntity** ppTargets, int idxTargets,
double dInitValueX, double dInitValueY, double dInitValueZ,
double dApplyTranslateValueX, double dApplyTranslateY, double dApplyTranslateZ,
double dColInitR, double dColInitG, double dColInitB,
bool bHide,
A3DPDFERenderingStyle eRenderingStyle,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMotionMoveRotateAndHide(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
A3DPDFTargetEntity** ppTargets, int idxTargets,
double dInitValueX, double dInitValueY, double dInitValueZ,
double dApplyTranslateValueX, double dApplyTranslateY, double dApplyTranslateZ,
double dColInitR, double dColInitG, double dColInitB,
bool bHide,
A3DPDFERenderingStyle eRenderingStyle,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMotionMoveInitTransfo(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
A3DPDFTargetEntity** ppTargets, int idxTargets,
double dApplyTranslateX, double dApplyTranslateY, double dApplyTranslateZ,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMoveTranslationBackward(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
A3DPDFTargetEntity** ppTargets, int idxTargets,
double dApplyTranslateX, double dApplyTranslateY, double dApplyTranslateZ,
double dColInitR, double dColInitG, double dColInitB,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMotionCameraInit(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
double dPosX0, double dPosY0, double dPosZ0,
double dTargetX0, double dTargetY0, double dTargetZ0,
double dUpX0, double dUpY0, double dUpZ0,
double dFov0, A3DPDFEProjectionMode eMode0, double dZoomFactor0,
double dPosX, double dPosY, double dPosZ,
double dTargetX, double dTargetY, double dTargetZ,
double dUpX, double dUpY, double dUpZ,
double dFov, A3DPDFEProjectionMode eMode, double dZoomFactor,
double dTimeOffset,
double& dTimeDuration);
A3DStatus CreateMotionsInitState(A3DPDFAnimMotion**& ppMotion, int& idxMotion,
int iMaxStep,
double dStepInitTimeOffset,
double& dStepTimeDuration);
A3DStatus CreateView(A3DPDFDocument* pDoc, A3DPDF3DArtwork* p3DArtwork,
A3DDouble dPosX, A3DDouble dPosY, A3DDouble dPosZ,
A3DDouble dTargetX, A3DDouble dTargetY, A3DDouble dTargetZ,
A3DDouble dUpX, A3DDouble dUpY, A3DDouble dUpZ,
A3DPDFEProjectionMode eProjectionMode,
A3DDouble dZoomFactor, A3DDouble dFieldOfView,
A3DBool bIsDefault, const A3DUTF8Char* pcViewName,
A3DPDFView** ppView);
//######################################################################################################################
// GLOBAL VARIABLES
#ifdef DEFINE_TARGETS_GLOBALS
#define EXTERN
#else
#define EXTERN extern
#endif
EXTERN A3DPDFTargetEntity** ppTargetsWasher;
EXTERN int idxTargetsWasher;
EXTERN A3DPDFTargetEntity** ppTargetsAllModel;
EXTERN int idxTargetsAllModel;
EXTERN A3DPDFTargetEntity** ppTargetsAllExceptWasher;
EXTERN int idxTargetsAllExceptWasher;
EXTERN A3DPDFTargetEntity** ppTargetsScrew1;
EXTERN int idxTargetsScrew1;
EXTERN A3DPDFTargetEntity** ppTargetsScrew2To4;
EXTERN int idxTargetsScrew2To4;
EXTERN A3DPDFTargetEntity** ppTargetsCarbu;
EXTERN int idxTargetsCarbu;
EXTERN A3DPDFTargetEntity** ppTargetsHousingFront;
EXTERN int idxTargetsHousingFront;
EXTERN A3DPDFTargetEntity** ppTargetsCasingFront;
EXTERN int idxTargetsCasingFront;
EXTERN A3DPDFTargetEntity** ppTargetsScrews;
EXTERN int idxTargetsScrews;
EXTERN A3DPDFTargetEntity** ppTargetsMobilePart;
EXTERN int idxTargetsMobilePart;
#define PAUSE1SEC 1.0
#define PAUSEDEMISEC 0.5
A3DStatus BuildAnimationStep1(A3DPDFAnimation **ppAnim, double dTimeOffset, double& dTimeDuration);
A3DStatus BuildAnimationStep2(A3DPDFAnimation **ppAnim, double dTimeOffset, double& dTimeDuration);
A3DStatus BuildAnimationStep3(A3DPDFAnimation **ppAnim, double dTimeOffset, double& dTimeDuration);
A3DStatus BuildAnimationStep4(A3DPDFAnimation **ppAnim, double dTimeOffset, double& dTimeDuration);
A3DStatus BuildAnimationStep5(A3DPDFAnimation **ppAnim, double dTimeOffset, double& dTimeDuration);
A3DStatus BuildAnimationStep6(A3DPDFAnimation **ppAnim, double dTimeOffset, double& dTimeDuration);
A3DStatus BuildAnimationStep7(A3DPDFAnimation **ppAnim, double dTimeOffset, double& dTimeDuration);
void CreateAllTargetsSet(A3DAsmModelFile* pModelFile);
#endif /* __A3DANIMDEF_H__ */