AnimationModel.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------------------+
2 |
3 | Supplied under applicable software license agreement.
4 |
5 | Copyright (c) 2018 Bentley Systems, Incorporated. All rights reserved.
6 |
7 +---------------------------------------------------------------------------------------*/
8 #pragma once
9 
13 #ifndef DOCUMENTATION_GENERATOR
14 
15 #if defined (__ANIMATOR_BUILD__)
16 # define __ANIMATOR_DECLSPEC__ __declspec(dllexport)
17 #else
18 # define __ANIMATOR_DECLSPEC__ __declspec(dllimport)
19 #endif
20 
21 #define ANIMATOR_EXPORTED __ANIMATOR_DECLSPEC__
22 
23 #else
24 
25 #define ANIMATOR_EXPORTED
26 
27 #endif
28 
29 #include <AnimCore\Relationship.h>
33 
34 
36 
37 
38 #include <Mstn\MdlApi\mssystem.fdf>
39 
40 #include <AnimCore\Timeinterval.h>
41 #include <Mstn\MdlApi\mstmatrx.fdf>
43 #include <DgnPlatform\Material.h>
44 #include <DgnPlatform\Light.h>
45 
46 
47 
49 
51 typedef enum
52  {
61 
64 typedef enum
65  {
75 
76 
78 typedef enum
79  {
84 
99  }TimeCode;
100 
102 typedef enum
103  {
161 
162 
163  } TimeDisplay;
164 
165 
167 typedef enum
168  {
176  } PreviewMode;
177 
180 typedef enum
181  {
183  Calculate_Normal = 0x00000000,
191  Caclulate_Actor = 0x00000008,
193  Caclulate_NonActors = 0x00000010,
195  Calculate_Materials = 0x00000020,
197  Calculate_Lights = 0x00000040,
199  Calculate_View = 0x00000080,
205  Caclulate_ActorMotion = 0x00000400,
207 
208 
209 struct AnimatorValueDescr;
210 
211 
212 /*=================================================================================**/
217  {
223  double m_size;
224  double m_frontClip;
225  double m_backClip;
228 
229  AnimationCamera () {Reset ();}
230 
233  ANIMATOR_EXPORTED void GetCameraPosition (DPoint3dP position) {*position = m_position;}
234 
237  ANIMATOR_EXPORTED void GetOrientation (RotMatrixP rMatrix) {*rMatrix = m_rMatrix;}
238 
241  ANIMATOR_EXPORTED void GetOffset (DPoint2dP offset) {*offset = m_offset;}
242 
245  ANIMATOR_EXPORTED double GetViewSize () {return m_size;}
246 
249  ANIMATOR_EXPORTED double GetFocalLength () {return m_focalLength;}
250 
253  ANIMATOR_EXPORTED double GetFrontClip () {return m_frontClip;}
254 
257  ANIMATOR_EXPORTED double GetBackClip () {return m_backClip;}
258 
261  ANIMATOR_EXPORTED double GetCameraAngle () {return m_cameraAngle;}
262 
265  ANIMATOR_EXPORTED void GetOrigin (DPoint3dP origin) {*origin = m_origin;}
266 
269  ANIMATOR_EXPORTED void GetDelta (DPoint3dP delta) {*delta = m_delta;}
270 
273  {
274  memset (&m_position, 0, sizeof (m_position));
275  memset (&m_origin, 0, sizeof (m_origin));
276  memset (&m_delta, 0, sizeof (m_delta));
277  memset (&m_rMatrix, 0, sizeof (m_rMatrix));
278  memset (&m_offset, 0, sizeof (m_offset));
279  m_size = 0.0;
280  m_frontClip = 0.0;
281  m_backClip = 0.0;
282  m_cameraAngle = 0.0;
283  m_focalLength = 0.0;
284  }
285  };
286 
287 /*=================================================================================**/
292  {
295  };
296 
297 
299 
300 /*=================================================================================**/
306  {
307 private:
308 public:
311 
318  ANIMATOR_EXPORTED void PushActiveContextTime (TimeVal time, ElementRefP timeRef);
319 
320  // Pop the current context from the stack. This must be paired with a push of the active context.
321  ANIMATOR_EXPORTED void PopActiveContextTime ();
325  ANIMATOR_EXPORTED TimeVal GetTime (ElementRefP timeRef) const;
326 
332  ANIMATOR_EXPORTED AnimatedElementP GetAnimatedElement (ElementRefP ref, DgnModelRefP modelRef = NULL);
333 
337 
342 
345  ANIMATOR_EXPORTED AnimationCalculationOptions GetCalculationOptions ();
346 
349  ANIMATOR_EXPORTED void SetCalculationOptions (AnimationCalculationOptions options);
350 
353  ANIMATOR_EXPORTED void SetParameters (ElementRefP timeRef);
354 
357  ANIMATOR_EXPORTED AnimatedElementMapR GetRootMap () const;
358 
363  ANIMATOR_EXPORTED static AnimationEvaluationContextPtr Create (AnimationR animation, AnimationModelR model, TimeVal time);
364  };
365 
366 /*=================================================================================**/
371 {
372 public:
376  void OnAnimationModelChanged (DgnModelRefP oldModelRef, DgnModelRefP newModelRef);
377 
380  void OnAnimationModelWrite (AnimationModelR model);
381 
384  void OnAnimationModelLoaded (AnimationModelR model);
385 
386 };
387 
388 
391 
392 
393 /*=================================================================================**/
398  {
399 
400 private:
401 public:
402 
405  ANIMATOR_EXPORTED DgnModelRefP GetModelRef () const;
406 
409  ANIMATOR_EXPORTED DgnModelRefP GetTargetDesignModelRef ();
410 
413  ANIMATOR_EXPORTED DgnModelRefP GetAnimationModelToDesignModel () const;
414 
417  ANIMATOR_EXPORTED ElementRefP GetCurrentTimeRef () const;
418 
421  ANIMATOR_EXPORTED ElementRefP GetCurrentTimeActionRef () const;
422 
426  ANIMATOR_EXPORTED TimeVal GetStartTime () const;
427 
431  ANIMATOR_EXPORTED void SetStartTime (TimeVal beginTime);
432 
436  ANIMATOR_EXPORTED TimeVal GetEndTime () const;
437 
441  ANIMATOR_EXPORTED void SetEndTime (TimeVal endTime);
442 
446  ANIMATOR_EXPORTED TimeVal GetTickIncrementPerFrame () const;
447 
452  ANIMATOR_EXPORTED void SetTickIncrementPerFrame (TimeVal time, bool bWriteToFile = true);
453 
457  ANIMATOR_EXPORTED TimeCode GetTimeCode () const;
458 
463  ANIMATOR_EXPORTED void SetTimeCode (TimeCode code, bool bWriteToFile = true);
464 
467  ANIMATOR_EXPORTED void SetTimeFromFrameNumber (double frameNumber);
468 
472  ANIMATOR_EXPORTED TimeDisplay GetTimeDisplayFormat () const;
473 
477  ANIMATOR_EXPORTED void SetTimeDisplayFormat (TimeDisplay timeFormat);
478 
482  ANIMATOR_EXPORTED void GetTimeDisplayFormatString (WChar *pString) const;
483 
487  ANIMATOR_EXPORTED void SetTimeDisplayFormatString (WCharCP pString);
488 
492  ANIMATOR_EXPORTED int GetCameraView () const;
493 
497  ANIMATOR_EXPORTED void SetCameraView (int view);
498 
502  ANIMATOR_EXPORTED double GetCameraViewAspectRatio () const;
503 
507  ANIMATOR_EXPORTED void SetCameraViewAspectRatio (double aspectRatio);
508 
513  ANIMATOR_EXPORTED StatusInt WriteCameraViewAspectRatio (double aspectRatio);
514 
518  ANIMATOR_EXPORTED void GetViewMask (int views[Bentley::DgnPlatform::MAX_VIEWS]) const;
519 
523  ANIMATOR_EXPORTED void SetViewMask (int views[Bentley::DgnPlatform::MAX_VIEWS]) ;
524 
529  ANIMATOR_EXPORTED StatusInt WriteViewMask (int views[Bentley::DgnPlatform::MAX_VIEWS]);
530 
534  ANIMATOR_EXPORTED AnimationCalculationOptions GetAnimationCalculationOption () const;
535 
539  ANIMATOR_EXPORTED void SetAnimationCalculationOption (AnimationCalculationOptions option);
540 
543  ANIMATOR_EXPORTED AnimationCameraP GetAnimatedCamera ();
544 
548 
551  ANIMATOR_EXPORTED TimeValueMap* GetTimeMap ();
552 
556 
560  ANIMATOR_EXPORTED StatusInt GetTimeActionDuration (TimeIntervalP pDuration);
561 
565  ANIMATOR_EXPORTED ElementRefP GetTimeRef (DgnModelRefP modelRef = NULL);
566 
570  ANIMATOR_EXPORTED ElementRefP GetTimeActionRef (DgnModelRefP modelRef);
571 
577  ANIMATOR_EXPORTED double GetNFrames (TimeVal startTime,TimeVal endTime,TimeVal startFrameTimeIncrement) const;
578 
584  ANIMATOR_EXPORTED TimeVal FramesToTicks (double nFrames,TimeVal startTime,TimeVal startFrameTimeIncrement) const;
585 
590  ANIMATOR_EXPORTED StatusInt WriteTimeDisplayFormat (TimeDisplay format,WCharCP pFormatString);
591 
595  ANIMATOR_EXPORTED StatusInt SetActiveAnimationView (int view);
596 
599  ANIMATOR_EXPORTED void DoAnimation (AnimationEvaluationContextR aeContext);
600 
605  ANIMATOR_EXPORTED TimeVal GetTime (ElementRefP timeElRef);
606 
611  ANIMATOR_EXPORTED void SetTime (TimeVal time, ElementRefP timeElRef);
612 
618  ANIMATOR_EXPORTED void GetTimeInNewStringFormat (WCharP pString, WCharCP pFormatString, TimeVal time, TimeVal animationStartTime) const;
619 
626  ANIMATOR_EXPORTED StatusInt GetTimeFromNewFormattedString (TimeVal *pTime, WCharCP pString, WCharCP pFormatString, TimeVal animationStartTime) const;
627 
631  ANIMATOR_EXPORTED void GetTimeInDisplayFormat (WCharP pBuffer, TimeVal time) const;
632 
637  ANIMATOR_EXPORTED StatusInt GetTimeFromFormattedString (TimeValP pTime, WCharCP pString) const;
638 
641  ANIMATOR_EXPORTED void InitializeParametersForPreview (PreviewMode mode);
642 
645  ANIMATOR_EXPORTED void SetParameters (ElementRefP timeRef = NULL);
646 
653  ANIMATOR_EXPORTED StatusInt AddExpressionToModel (WCharP pName, WCharP pDescription,WCharP pValue);
654 
661  ANIMATOR_EXPORTED StatusInt GetExpressionFromModel (WCharP pDescription, WCharP pValue,WCharP pName) const;
662 
667  ANIMATOR_EXPORTED StatusInt DeleteExpressionFromModel (WCharP pName);
668 
676  ANIMATOR_EXPORTED StatusInt UpdateExpression (WCharCP pNewName, WCharCP pDescription, WCharCP pValue, WCharCP pOldName);
677 
682  ANIMATOR_EXPORTED StatusInt GetExpressionListModel (ListModel **ppListModel);
683 
692  ANIMATOR_EXPORTED StatusInt SetActionNameDescriptionAndType (WCharCP pName, WCharCP pDescription, WCharCP pType, Bentley::DgnPlatform::ElementId elID, Int32 propBlockIndex = -1);
693 
703  ANIMATOR_EXPORTED StatusInt GetActionNameDescriptionAndType (WCharP pName, WCharP pDescription, WCharP pType, Bentley::DgnPlatform::ElementId elID, DgnModelRefP modelRef, Int32 propBlockIndex = -1);
704 
710  ANIMATOR_EXPORTED StatusInt DeleteActionNameDescriptionAndType (Bentley::DgnPlatform::ElementId elID, Int32 propBlockIndex = -1);
711 
713  ANIMATOR_EXPORTED void ClearModel ();
714 
717  ANIMATOR_EXPORTED void ScaleModel (double scaleFactor);
718 
722  ANIMATOR_EXPORTED bool IsAnimationModel (DgnModelP cache);
723 
733  ANIMATOR_EXPORTED static StatusInt ImportScript (AnimationModelP& animationModel, TimeIntervalP pInterval, WCharCP fileNameP, DgnModelRefP activeModel, TimeVal previewSkipTime, TimeCode timeCode, bool alwaysCreateNewModel = true);
734 
741  ANIMATOR_EXPORTED StatusInt CreateTimeAction (TimeIntervalP pInterval, TimeVal previewSkipTime, TimeCode timeCode, bool bEnabled);
742 
751  ANIMATOR_EXPORTED StatusInt CreateIncludeAction (DgnModelRefP modelRef, TimeVal startTime, int repeatCount, double scale, bool bEnabled, DgnModelRefP modelRefAnimationModelIsFor = NULL);
752 
763  ANIMATOR_EXPORTED StatusInt CreateCollisionAction (DisplayPathSet* pDynamicDisplayPathSet, DisplayPathSet* pStaticDisplayPathSet, TimeInterval* pInterval,bool bEnabled,int collisionType, RgbFactor* pDynamicColor, RgbFactor* pStaticColor, WChar* pwCharName);
764 
776  ANIMATOR_EXPORTED StatusInt CreateSavedViewAction (ElementRefP viewRef, TimeVal time, bool bEnabled, AnimatorVelocity velocity, AnimatorInterpolation interpolation, DPoint3d* customPosCurvePts, int customPosCurvePtCount, DPoint3d* customRotCurvePts, int customRotCurvePtCount);
777 
793  ANIMATOR_EXPORTED StatusInt CreateCameraScriptAction (ActorElementP camera, TimeVal time, AnimatorVelocity velocity, AnimatorInterpolation interpolation, bool enabled, bool interpolatePos, bool interpolateViewPlane, bool interpolateAngle, bool cameraUseWorldUp, DPoint3d* customPosCurvePts, int customPosCurvePtCount, DPoint3d* customRotCurvePts, int customRotCurvePtCount);
794 
806  ANIMATOR_EXPORTED StatusInt CreateTargetAction (ActorElementP targetActor, ActorElementP *pSourceActors, Int32 numActors, TimeVal startTime, bool bOn, bool bEnabled, AnimatorVelocity velocity, DPoint3d* customRotCurvePts, int customRotCurvePtCount);
807 
823  ANIMATOR_EXPORTED StatusInt CreateCameraTransformScriptAction (WChar* cameraName, int count, TimeVal* time, AnimatorInterpolation interpolation, Int32 bEnabled, DPoint3d* viewOrigins, RotMatrix* viewRotations, double* viewSizes, DPoint3d* viewOffsets, double* focalLengths, double* frontClips, double* backClips, double* cameraAngles);
824 
834  ANIMATOR_EXPORTED StatusInt AddTargetDataBlockToTargetAction (Bentley::MstnPlatform::Relationship::Relation* pTargetAction, TimeVal startTime, bool bOn, bool bEnabled, AnimatorVelocity velocity, DPoint3d* customRotCurvePts, int customRotCurvePtCount);
835 
841  ANIMATOR_EXPORTED StatusInt AddViewActionRelationToViewController (ElementRefP viewActionRef, Bentley::DgnPlatform::ElementId *pRefAttachElID, Bentley::DgnPlatform::ElementId *pActorCoordSysID);
842 
845  ANIMATOR_EXPORTED ViewControllerCP GetViewController () const;
846 
850  ANIMATOR_EXPORTED KeyFrameP AddKeyFrame (ElementRefP ref);
851 
856  ANIMATOR_EXPORTED KeyFrameP FindKeyFrame (WCharCP pName,DgnModelRefP modelRef = NULL);
857 
861  ANIMATOR_EXPORTED KeyFrameP GetKeyFrame (ElementRefP ref);
862 
866  ANIMATOR_EXPORTED StatusInt DeleteKeyFrame (KeyFrameP pKeyFrame);
867 
871  ANIMATOR_EXPORTED StatusInt DeleteKeyFrame (WCharCP pName);
872 
886  ANIMATOR_EXPORTED StatusInt ScriptKeyFrame (KeyFrame *pKeyFrame, TimeVal time, AnimatorVelocity velocity, AnimatorInterpolation interpolation, bool enabled, DPoint3d *customPosCurvePts, int customPosCurvePtCount, DPoint3d *customRotCurvePts, int customRotCurvePtCount, DPoint3d *customScaleCurvePts, int customScaleCurvePtCount);
887 
903  ANIMATOR_EXPORTED StatusInt CreateScriptAction (ActorElementP actor, TimeInterval* pInterval, bool bEnabled, WCharCP pXPosExpression, WCharCP pYPosExpression, WCharCP pZPosExpression, WCharCP pXRotExpression, WCharCP pYRotExpression, WCharCP pZRotExpression, WCharCP pXScaleExpression, WCharCP pYScaleExpression, WCharCP pZScaleExpression, DisplayPathCP actorPath);
904 
920  ANIMATOR_EXPORTED StatusInt CreatePathAction (ActorElementP actor, MSElementDescrP pathEd, TimeIntervalP pInterval, bool bEnabled, AnimatorVelocity velocity, DPoint3d* customCurvePts, int customCurvePtCount, Transform *pTrans, double startParam, double endParam, WCharCP pDistanceExpression, bool maintainActorOrientation, DisplayPathCP actorPath);
921 
930  ANIMATOR_EXPORTED StatusInt CreateAttachActorAction (ActorElementP parentActor, ActorElementP actorToAttach, TimeVal time, bool bEnabled, DisplayPathCP parentActorPath, DisplayPathCP actorToAttachPath);
931 
940  ANIMATOR_EXPORTED StatusInt CreateDetachActorAction (ActorElementP parentActor, ActorElementP actorToDetach, TimeVal time, bool bEnabled, DisplayPathCP parentActorPath, DisplayPathCP actorToDetachPath);
941 
957  ANIMATOR_EXPORTED StatusInt CreateElementAttributeAction (DisplayPathSet* pDisplayPathSet, TimeVal time, bool bEnabled, AnimatorVelocity vel, AnimatorInterpolation interp, bool* pVisibility, RgbFactor* pColor, double* pTransparency, UInt32* pTaskId, bool bTaskStart, DPoint3d* customCurvePts, int customCurvePtCount, bool undoable);
958 
965  ANIMATOR_EXPORTED ElementRefP AddAnimatedElementController (ElementRefP aRef, DgnModelRefP modelRefFromActiveModel = NULL,Bentley::DgnPlatform::ElementId refAttachID = 0, DisplayPathCP path = NULL);
966 
973  ANIMATOR_EXPORTED ElementRefP FindAnimatedElementController (Bentley::DgnPlatform::ElementId elID,Bentley::DgnPlatform::ElementId refAttachID = 0,DgnModelRefP animationModelRef = NULL, DisplayPathCP path = NULL);
974 
980  ANIMATOR_EXPORTED StatusInt AddAnimatedElementRelationToAnimatedElementController (ElementRefP actionRef, ElementRefP subjectRef,DisplayPathCP pathToSubject = NULL);
981 
987  ANIMATOR_EXPORTED StatusInt DeleteAnimatedElementRelationFromAnimatedElementController (ElementRefP actionRef, ElementRefP subjectRef, DisplayPathCP pathToSubject = NULL);
988 
1000  ANIMATOR_EXPORTED StatusInt CreateSourceLightAction (LightElementR light, TimeVal time, bool bEnabled, AnimatorVelocity vel, AnimatorInterpolation interp, WCharCP pSettingName, AnimatorValueDescr* pValue, DPoint3d* customCurvePts, int customCurvePtCount);
1001 
1006  ANIMATOR_EXPORTED StatusInt AddLightActionRelationToLightController (ElementRefP lightActionRef, ElementRefP lightRef);
1007 
1011  ANIMATOR_EXPORTED LightControllerCP GetLightController (ElementRefP lightRef);
1012 
1016  ANIMATOR_EXPORTED void AddLightController (ElementRefP lightRef, ElementRefP lightControllerRef);
1017 
1029  ANIMATOR_EXPORTED StatusInt CreateMaterialAction (WCharCP materialName, TimeVal time, bool bEnabled, AnimatorVelocity vel, AnimatorInterpolation interp, WChar *pSettingName, AnimatorValueDescr *pValue, DPoint3d* customCurvePts, int customCurvePtCount);
1030 
1035  ANIMATOR_EXPORTED StatusInt AddMaterialActionRelationToMaterialContoller (ElementRefP materialActionRef, WCharCP materialName);
1036 
1040  ANIMATOR_EXPORTED void AddMaterialController (WStringCR name, ElementRefP ref);
1041 
1044  ANIMATOR_EXPORTED void RemoveMaterialController (WStringCR name);
1045 
1048  ANIMATOR_EXPORTED MaterialControllerMapCR GetMaterialControllerMap ();
1049 
1053  ANIMATOR_EXPORTED MaterialControllerCP GetMaterialController (WStringCR materialName) const;
1054 
1065  ANIMATOR_EXPORTED StatusInt CreateRenderAction (TimeVal time, bool bEnabled, AnimatorVelocity vel, AnimatorInterpolation interp, WChar *pSettingName, AnimatorValueDescr *pValue, DPoint3d* customCurvePts, int customCurvePtCount);
1066 
1070  ANIMATOR_EXPORTED StatusInt AddRenderActionRelationToRenderController (ElementRefP renderActionRef);
1071 
1074  ANIMATOR_EXPORTED RenderControllerCP GetRenderController () const;
1075 
1083  ANIMATOR_EXPORTED StatusInt CreateTimeTransformAction (TimeTransformArrayCR transforms, DisplayPathSetCR elements, WStringCR scriptName, WStringCP description, bool addToAnimatedElementController);
1084 
1088  ANIMATOR_EXPORTED AnimatedElementControllerCP GetAnimatedElementContoller (ElementRefP animElRef);
1089 
1094  ANIMATOR_EXPORTED AnimatedElementControllerCP GetAnimatedElementContoller (ElementRefP subjectRef,DgnModelRefP modelRef);
1095 
1100  ANIMATOR_EXPORTED StatusInt RenameKeyFrame (KeyFrameP keyframe, WCharP newName);
1101 
1106  ANIMATOR_EXPORTED StatusInt RenameActor (ActorElementP actor, WCharP newName);
1107 
1112  ANIMATOR_EXPORTED bool IsValidRelationForModel (Bentley::MstnPlatform::Relationship::Relation* pRel);
1113 
1120  ANIMATOR_EXPORTED bool IsValidAttachmentForTime (ActorElementP parentActor, ActorElementP actorToAttach, TimeVal time);
1121 
1127  ANIMATOR_EXPORTED bool IsValidDetachmentForTime (ActorElementP parentActor, ActorElementP actorToDetach, TimeVal time);
1128 
1132  ANIMATOR_EXPORTED ElementRefP FindControllerRefForAction (ElementRefP action);
1133 
1137  ANIMATOR_EXPORTED ControllerActionQueryCP GetControllerActionQueryForAction (ElementRefP action);
1138 
1142  ANIMATOR_EXPORTED StatusInt ImportParametersFromMSA (WCharCP fileNameP);
1143 
1147  ANIMATOR_EXPORTED StatusInt ImportParametersFromDGN (WCharCP fileNameP);
1148 
1153  ANIMATOR_EXPORTED StatusInt GetTaskIdsForAnimatedElement (UInt32SetP pUInt32SetOut, AnimatedElementP pAnimEl);
1154 
1158  ANIMATOR_EXPORTED DgnPlatform::MaterialPtr GetAnimatedMaterial (MaterialCR material);
1159 
1163  ANIMATOR_EXPORTED DgnPlatform::LightElementPtr ApplyAnimatedSourceLightSettings (LightElementCR light);
1164 
1168  ANIMATOR_EXPORTED DgnPlatform::SolarLightPtr ApplyAnimatedSolarLightSettings (SolarLightCR light);
1169 
1173  ANIMATOR_EXPORTED DgnPlatform::FlashLightPtr ApplyAnimatedFlashLightSettings (FlashLightCR light);
1174 
1178  ANIMATOR_EXPORTED DgnPlatform::AmbientLightPtr ApplyAnimatedAmbientLightSettings (AmbientLightCR light);
1179 
1180 
1181 
1182  }; //AnimationModel
1183 
1184 
1185 /*=================================================================================**/
1190 {
1191 public:
1196  ANIMATOR_EXPORTED StatusInt GetInitialValueForAction (AnimatorValueDescr* pDescr, UInt32 parameterId) const;
1197 
1203  ANIMATOR_EXPORTED StatusInt GetCurrentValueForAction (AnimatorValueDescr& descr, bool& hasChanged, UInt32 parameterId) const;
1204 
1209  ANIMATOR_EXPORTED ElementRefP FindSettingForTime (TimeVal time, WCharCP pSetting = NULL) const;
1210 
1219  ANIMATOR_EXPORTED bool WillScriptEntryConflict (ElementRefP* conflictElement, TimeVal startTime, TimeVal endTime, UInt32 relationPrivID, WCharP propertyName, ElementRefP currentEntryRef ) const;
1220 
1221 }; // ControllerActionQuery
1222 
1223 
1224 
1225 /*=================================================================================**/
1230  {
1243  };
1244 
1245 
1246 /*=================================================================================**/
1251  {
1256  ANIMFMT_LOCALESTRING = 4, // Should never be used, but other values must remain the same.
1262  };
1263 
1264 /*=================================================================================**/
1269  {
1273  int dateFormat[6];
1279  };
1280 
1281 /*=================================================================================**/
1286  {
1287 public:
1289 
1290  ANIMATOR_EXPORTED ~AnimatorValueDescr ();
1291 
1294  ANIMATOR_EXPORTED void SetWCharString (WCharCP pString);
1295 
1298  ANIMATOR_EXPORTED WCharCP GetWCharCP () const;
1299 
1302  ANIMATOR_EXPORTED void SetDouble (double value);
1303 
1306  ANIMATOR_EXPORTED double GetDouble () const;
1307 
1310  ANIMATOR_EXPORTED double* GetDoubleP ();
1311 
1314  ANIMATOR_EXPORTED double const * GetDoubleCP () const;
1315 
1318  ANIMATOR_EXPORTED void SetInt (int value);
1319 
1322  ANIMATOR_EXPORTED int GetInt () const;
1323 
1326  ANIMATOR_EXPORTED void SetInt64 (Int64 value);
1327 
1330  ANIMATOR_EXPORTED Int64 GetInt64 () const;
1331 
1334  ANIMATOR_EXPORTED Int64* GetInt64P ();
1335 
1338  ANIMATOR_EXPORTED void SetDPoint (DPoint3dCR value);
1339 
1342  ANIMATOR_EXPORTED void SetDPoint (RgbFactor const & value);
1343 
1346  ANIMATOR_EXPORTED void SetRgbFactor (RgbFactor const & value);
1347 
1350  ANIMATOR_EXPORTED void GetRgbFactor (RgbFactor& value) const;
1351 
1354  ANIMATOR_EXPORTED void GetDPoint (DPoint3d& value) const;
1355 
1358  ANIMATOR_EXPORTED DPoint3dCP GetDPoint3dCP () const;
1359 
1362  ANIMATOR_EXPORTED DPoint3dP GetDPoint3dP ();
1363 
1366  ANIMATOR_EXPORTED void SetRotMatrix (RotMatrix& value);
1367 
1370  ANIMATOR_EXPORTED void GetRotMatrix (RotMatrix& value) const;
1371 
1374  ANIMATOR_EXPORTED RotMatrixCP GetRotMatrixCP () const;
1375 
1378  ANIMATOR_EXPORTED void SetBoolean (bool value);
1379 
1382  ANIMATOR_EXPORTED bool GetBoolean () const;
1383 
1386  ANIMATOR_EXPORTED bool* GetBooleanP ();
1387 
1390  ANIMATOR_EXPORTED AnimatorValueType GetFormatType() const;
1391 
1394  ANIMATOR_EXPORTED void Copy (AnimatorValueDescr& descr);
1395 
1399  ANIMATOR_EXPORTED bool Equals (AnimatorValueDescr const& other) const;
1400 
1404  ANIMATOR_EXPORTED void SetFromParameterQuery (Bentley::MstnPlatform::Relationship::ParameterQuery& aRQuery, AnimatorValueType formatType);
1405 
1406  };
1407 
1408 
double GetCameraAngle()
Gets the angle of current camera.
Definition: AnimationModel.h:261
struct RotMatrix const * RotMatrixCP
Definition: msgeomstructs_typedefs.h:135
Transform transform
Definition: AnimationModel.h:294
Definition: RelationshipCollections.h:37
3x3 matrix commonly used for pure rotations, but in general may also have scales and non-perpendicula...
Definition: rotmatrix.h:21
Definition: AnimationModel.h:80
#define ANIMATOR_EXPORTED
Definition: AnimationModel.h:25
DPoint2d m_offset
Definition: AnimationModel.h:222
Defines the parameters of script animation.
Definition: AnimationModel.h:1229
Definition: AnimationModel.h:1252
Time entries will be displayed as a number of Frames eg.
Definition: AnimationModel.h:105
struct DgnPlatform::FlashLight const & FlashLightCR
Definition: Light.h:26
void GetOffset(DPoint2dP offset)
Gets the offset value of current camera.
Definition: AnimationModel.h:241
double m_sequenceLengthParameter
Definition: AnimationModel.h:1242
void GetDelta(DPoint3dP delta)
Gets delta value for current camera.
Definition: AnimationModel.h:269
Definition: AnimationModel.h:1261
Definition: AnimationModel.h:1259
Date entry will be displayed as per windows regional option.
Definition: AnimationModel.h:156
Definition: AnimationModel.h:169
Definition: AnimationModel.h:175
struct Bentley::WString const * WStringCP
Definition: Bentley.h:239
#define END_BENTLEY_MSTNPLATFORM_NAMESPACE
Definition: DgnPlatform.h:30
TimeCode
Defines the frequent normal time code for animation.
Definition: AnimationModel.h:78
struct DPoint3d const * DPoint3dCP
Definition: msgeomstructs_typedefs.h:79
ScriptEntryAttributes
Defines the attributes of the script entry.
Definition: AnimationModel.h:51
Only elements in the animated vector are evaluated.
Definition: AnimationModel.h:185
The SMPTE time code for double speed film 48 fps.
Definition: AnimationModel.h:94
Int64 TimeVal
Definition: TimeInterval.h:11
wchar_t * WCharP
Definition: Bentley.h:225
All animated elements are evaluated.
Definition: AnimationModel.h:189
only actor motion not settings such as transparency, colour etc
Definition: AnimationModel.h:205
double m_cameraAngle
Definition: AnimationModel.h:226
wchar_t WChar
Definition: Bentley.h:223
Definition: AnimationModel.h:1255
Definition: AnimationModel.h:1258
Does script entry preview.
Definition: AnimationModel.h:55
Defines frequent query for controller action.
Definition: AnimationModel.h:1189
AnimationCamera()
Definition: AnimationModel.h:229
bmap< ElementRefP, UInt64 > TimeValueMap
Definition: AnimationCollections.h:329
struct Bentley::WString const & WStringCR
Definition: Bentley.h:239
double m_endFrameParameter
Definition: AnimationModel.h:1232
ValueDescr for animation based parameters.
Definition: AnimationModel.h:1285
Time entries will be displayed based on a format string.
Definition: AnimationModel.h:152
double m_tSecondsParameter
Definition: AnimationModel.h:1234
#define BEGIN_BENTLEY_MSTNPLATFORM_NAMESPACE
Definition: DgnPlatform.h:29
RotMatrix rMatrixFormat
Definition: AnimationModel.h:1275
This is a convenience class.
Definition: RelationshipRelation.h:89
double m_piParameter
Definition: AnimationModel.h:1236
double m_frontClip
Definition: AnimationModel.h:224
double GetFocalLength()
Gets the focal length of current camera.
Definition: AnimationModel.h:249
size_type count(const key_type &__x) const
Definition: stdcxx/bstdmap.h:277
Interpolation value has no meaning in the instance of its use.
Definition: AnimationModel.h:67
MaterialControllerMap const & MaterialControllerMapCR
Definition: AnimationCollections.h:418
The SMPTE time code for NTSC double scan - HDTV 480P (Progressive Scan)
Definition: AnimationModel.h:98
The SMPTE time code for PAL television 25 frames per second.
Definition: AnimationModel.h:90
void GetOrientation(RotMatrixP rMatrix)
Gets the orientation of current camera.
Definition: AnimationModel.h:237
Definition: AnimationModel.h:82
wchar_t const * WCharCP
Definition: Bentley.h:224
Definition: AnimationModel.h:1253
struct DgnPlatform::SolarLight const & SolarLightCR
Definition: Light.h:24
Is script entry previewable backwards.
Definition: AnimationModel.h:59
TimeVal time
Definition: AnimationModel.h:293
DPoint3d pntFormat
Definition: AnimationModel.h:1272
double GetBackClip()
Gets the back clip of current camera.
Definition: AnimationModel.h:257
uint32_t UInt32
Definition: Bentley.r.h:128
#define NULL
Definition: Bentley.h:157
AnimatedElementMap & AnimatedElementMapR
Definition: AnimationCollections.h:272
Red, green, blue color data as doubles.
Definition: GeomApi.r.h:85
RefCountedPtr< struct AnimationEvaluationContext > AnimationEvaluationContextPtr
Definition: AnimationModel.h:298
Linear interpolation (2 Point) is used when calculating the resulting interpolated value based on the...
Definition: AnimationModel.h:70
Time entries will be displayed as yyyy:mm:dd.
Definition: AnimationModel.h:160
AnimationEventHandler * AnimationEventHandlerP
Definition: AnimationModel.h:389
Definition: AnimationModel.h:83
Definition: AnimationModel.h:1254
Definition: AnimationModel.h:172
A "relationship" is a set of "parameters." A parameter has a unique ID within a relationship.
Definition: RelationshipRelation.h:219
TimeVal * TimeValP
Definition: TimeInterval.h:12
double m_beginSequenceParameter
Definition: AnimationModel.h:1240
bool boolFormat
Definition: AnimationModel.h:1278
only the rendering settings are evaluated
Definition: AnimationModel.h:203
struct DgnPlatform::DisplayPath const * DisplayPathCP
Definition: DgnPlatform.h:236
Definition: MSElementDescr.h:28
A DgnModel represents a DgnModel in memory.
Definition: DgnModel.h:236
Definition: AnimationModel.h:1256
RotMatrix m_rMatrix
Definition: AnimationModel.h:221
struct DgnPlatform::Material const & MaterialCR
Definition: DgnPlatform.h:391
3d point coordinates.
Definition: dpoint3d.h:19
Set if all script entries are to be animated.
Definition: AnimationModel.h:183
Definition: AnimationModel.h:1260
void GetCameraPosition(DPoint3dP position)
Gets the position of current camera.
Definition: AnimationModel.h:233
DPoint2d pnt2dFormat
Definition: AnimationModel.h:1276
double m_maxFrameParameter
Definition: AnimationModel.h:1237
PreviewMode
The different types of preview option available.
Definition: AnimationModel.h:167
DPoint3d m_position
Definition: AnimationModel.h:218
ScriptAnimationParameterMap * ScriptAnimationParameterMapP
Definition: AnimationCollections.h:401
Time & Date entries will be displayed as per windows regional option.
Definition: AnimationModel.h:158
A DgnModelRef provides access to a model in a Bentley::DgnPlatform::DgnFile.
Definition: DgnModelRef.h:172
int32_t Int32
Definition: Bentley.r.h:119
double GetViewSize()
Gets the view size.
Definition: AnimationModel.h:245
AnimatorVelocity
Anything which is animatable can have a velocity.
Definition: Envelopes.h:48
This class defines the events of animation.
Definition: AnimationModel.h:370
Int64 longIntFormat
Definition: AnimationModel.h:1274
A structure defines the relationship between time and transform.
Definition: AnimationModel.h:291
Definition: AnimationModel.h:171
double m_backClip
Definition: AnimationModel.h:225
A shared pointer template for reference-counted objects.
Definition: RefCounted.h:119
double m_minFrameParameter
Definition: AnimationModel.h:1238
void GetOrigin(DPoint3dP origin)
Gets the original point.
Definition: AnimationModel.h:265
A context used for evaluating an animation.
Definition: AnimationModel.h:305
DisplayPathSet const & DisplayPathSetCR
Definition: AnimationCollections.h:375
Definition: AnimationModel.h:1257
double m_size
Definition: AnimationModel.h:223
Base class to make a class non-copyable.
Definition: NonCopyableClass.h:23
int sIntFormat
Definition: AnimationModel.h:1271
void Reset()
Resets current camera parameters.
Definition: AnimationModel.h:272
Defines key frame structure with relative operations.
Definition: Keyframe.h:36
Interface that provides direct and efficient access to element data.
Definition: ElementRefBase.h:120
DPoint3d m_origin
Definition: AnimationModel.h:219
TimeTransformArray const & TimeTransformArrayCR
Definition: AnimationCollections.h:432
double m_tSecondsSequenceParameter
Definition: AnimationModel.h:1235
This class defines the camera of animation and how to create and use it.
Definition: AnimationModel.h:216
Definition: DgnPlatform.h:794
A bi-partite graph of Relationship<->Element dependencies and the current state of reevaluation...
Definition: Relationship.h:774
AnimatorValueType
Formats specifiers for AnimatorValueUnion structure.
Definition: AnimationModel.h:1250
Defines the struct of time interval which will be used for Animation module.
Definition: TimeInterval.h:45
This class defines animation model which all data will be related to.
Definition: AnimationModel.h:397
int StatusInt
Definition: Bentley.h:222
3x4 matrix for defining coordinate frames and affine transformations.
Definition: transform.h:22
Concrete class that can be used to implement the reference-counting pattern.
Definition: RefCounted.h:109
UInt64 ElementId
Definition: DgnPlatformBaseType.r.h:83
Represents for light element, which has the common properties of source lights.
Definition: Light.h:1048
only the view information is evaluated however view data is not set in the view its set in a camera m...
Definition: AnimationModel.h:201
double m_focalLength
Definition: AnimationModel.h:227
The SMPTE time code for Film 24 frames per second.
Definition: AnimationModel.h:92
Cubic interpolation (4 Point) is used when calculating the resulting interpolated value based on the ...
Definition: AnimationModel.h:73
AnimatorInterpolation
A sequence of motion applied to a single animateable entity has an interpolation value to describe ho...
Definition: AnimationModel.h:64
WCharP wCharPFormat
Definition: AnimationModel.h:1277
The SMPTE time code for PAL progressive scan.
Definition: AnimationModel.h:96
Time entries will be displayed as HH:MM:SS:FF eg.
Definition: AnimationModel.h:107
double GetFrontClip()
Gets the front clip of current camera.
Definition: AnimationModel.h:253
DPoint3d m_delta
Definition: AnimationModel.h:220
bset< DisplayPathCP > DisplayPathSet
Definition: AnimationCollections.h:371
int64_t Int64
Definition: Bentley.r.h:130
struct DPoint3d const & DPoint3dCR
Definition: msgeomstructs_typedefs.h:79
only materials are evaluated
Definition: AnimationModel.h:195
Defines an union of animator value.
Definition: AnimationModel.h:1268
Definition: AnimationModel.h:173
UInt32Set * UInt32SetP
Definition: AnimationCollections.h:366
double m_pathLengthParameter
Definition: AnimationModel.h:1239
double doubleFormat
Definition: AnimationModel.h:1270
struct DgnPlatform::LightElement const & LightElementCR
Definition: Light.h:29
only lights are evaluated
Definition: AnimationModel.h:197
Definition: AnimationModel.h:170
SMPTE is the Society of Motion Picture and Television Engineers.
Definition: AnimationModel.h:88
struct DgnPlatform::AmbientLight const & AmbientLightCR
Definition: Light.h:25
Time entry will be displayed as per windows regional option.
Definition: AnimationModel.h:154
only the view information is evaluated
Definition: AnimationModel.h:199
AnimationCalculationOptions
Animation calculation options OR together options to give final resulting animation.
Definition: AnimationModel.h:180
Definition: AnimationModel.h:174
double m_frameParameter
Definition: AnimationModel.h:1233
AnimationEventHandler & AnimationEventHandlerR
Definition: AnimationModel.h:390
double m_endSequenceParameter
Definition: AnimationModel.h:1241
Only elements in the animated vector and their parents are evaluated.
Definition: AnimationModel.h:187
TimeDisplay
How the time is displayed on the user interface.
Definition: AnimationModel.h:102
Only non actor elements are evaluated.
Definition: AnimationModel.h:193
2d point coordinates.
Definition: dpoint2d.h:23
Only actor elements are evaluated.
Definition: AnimationModel.h:191
Definition: AnimationModel.h:81
double m_beginFrameParameter
Definition: AnimationModel.h:1231

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.