AnimatedElement.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 
31 #include <AnimCore\Envelopes.h>
32 #include <AnimCore\Modifiers.h>
33 
35 
37 
38 //=======================================================================================
41 //=======================================================================================
43 {
44 public:
45 
46  //=======================================================================================
49  //=======================================================================================
51  {
52  MODIFIERTYPE_Transform = 0,
56  };
57 
58 public:
59 
61 
69  ANIMATOR_EXPORTED TransformP GetTransformation (TransformP pTrans);
70 
78  ANIMATOR_EXPORTED void SetTransformation (Transform *pTrans, StackPriority priority, double blend = 1.0);
79 
88  ANIMATOR_EXPORTED MSElementDescrCP GetCurrentElementRepresentation ();
89 
96  ANIMATOR_EXPORTED void SetCurrentElementRepresentation (MSElementDescrP pEd);
97 
102  ANIMATOR_EXPORTED ActorElementP GetActor ();
103 
107  ANIMATOR_EXPORTED void SetActor (ActorElementP pActor);
108 
112  ANIMATOR_EXPORTED ElementId GetElementID ();
113 
117  ANIMATOR_EXPORTED ElementRefP GetElementRef ();
118 
123  ANIMATOR_EXPORTED bool ToElementColor ();
124 
129  ANIMATOR_EXPORTED bool FromElementColor ();
130 
135  ANIMATOR_EXPORTED void SetToElementColor (bool toElementColor);
136 
141  ANIMATOR_EXPORTED void SetFromElementColor (bool fromElementColor);
142 
146  ANIMATOR_EXPORTED void SetColorInterParam (double colorInterParam);
147 
151  ANIMATOR_EXPORTED double GetColorInterParam ();
152 
156  ANIMATOR_EXPORTED bool Invisible ();
157 
163  ANIMATOR_EXPORTED void SetInvisible (bool invisible, StackPriority priority, double blend = 1.0);
164 
170  ANIMATOR_EXPORTED bool UseColor ();
171 
176  ANIMATOR_EXPORTED void SetUseColor (bool bVal);
177 
182  ANIMATOR_EXPORTED UInt32 GetColor ();
183 
190  ANIMATOR_EXPORTED void SetColor (UInt32 color, StackPriority priority, double blend = 1.0);
191 
196  ANIMATOR_EXPORTED bool UseTransparency ();
197 
202  ANIMATOR_EXPORTED void SetUseTransparency (bool bVal);
203 
207  ANIMATOR_EXPORTED double GetTransparency ();
208 
214  ANIMATOR_EXPORTED void SetTransparency (double transparency, StackPriority priority, double blend = 1.0);
215 
218  ANIMATOR_EXPORTED bool RepresentsAllReferencesOfThisInstance ();
219 
222  ANIMATOR_EXPORTED DgnModelRefP GetModelRef ();
223 
226  ANIMATOR_EXPORTED ActorElementVector* GetStationaryActors ();
227 
230  ANIMATOR_EXPORTED void AddStationaryActor (ActorElementP actor);
231 
235  ANIMATOR_EXPORTED bool IsColorChangeInterference ();
236 
240  ANIMATOR_EXPORTED void SetColorChangeInterference (bool colorChangeInterference);
241 
245  ANIMATOR_EXPORTED UInt32 GetLastUsedColor () ;
246 
250  ANIMATOR_EXPORTED void SetLastUsedColor (UInt32 color);
251 
254  ANIMATOR_EXPORTED DgnModelRefP GetStoredModelRef ();
255 
259  ANIMATOR_EXPORTED bool IsInfiniteMotionTransition ();
260 
264  ANIMATOR_EXPORTED void SetIsInfiniteMotionTransition (bool infiniteMotionTransition);
265 
270  ANIMATOR_EXPORTED BentleyStatus SetBlendValueForType (ModifierType type, StackPriority priority, double blend);
271 
273  ANIMATOR_EXPORTED void ResetAnimation ();
274 
277  ANIMATOR_EXPORTED bool IsTransformed ();
278 };
279 
280 //=======================================================================================
283 //=======================================================================================
285 {
286 
287 public:
289 
294  ANIMATOR_EXPORTED ActorElementP GetCurrentTarget ();
295 
300  ANIMATOR_EXPORTED void SetCurrentTarget (ActorElementP target);
301 
306  ANIMATOR_EXPORTED void TransformActorHierarchy (TransformP pTrans, StackPriority priority, DgnModelP cache = NULL);
307 
312  ANIMATOR_EXPORTED void TransformActorChildren (TransformP pTrans, StackPriority priority, DgnModelP cache = NULL) ;
313 
317  ANIMATOR_EXPORTED void TransformActor (TransformP pTrans, StackPriority priority);
318 
321  ANIMATOR_EXPORTED ActorElementMapP GetChildren ();
322 
327  ANIMATOR_EXPORTED StatusInt AttachActor (ActorElementP child);
328 
333  ANIMATOR_EXPORTED StatusInt DetachActor (ActorElementP child);
334 
338  ANIMATOR_EXPORTED Bentley::DgnPlatform::ElementId GetCoordSysElementID();
339 
346  ANIMATOR_EXPORTED void Display (Bentley::DgnPlatform::DgnDrawMode displayMode, Bentley::DgnPlatform::DrawPurpose drawPurpose, int viewMask, bool bIncludeChildren, DgnModelRefP modelRef = NULL);
347 
351  ANIMATOR_EXPORTED StatusInt DropActor ();
352 
355  ANIMATOR_EXPORTED StatusInt DropHierarchy();
356 
360  ANIMATOR_EXPORTED ActorElementP FindChild(Bentley::DgnPlatform::ElementId elID) ;
361 
364  ANIMATOR_EXPORTED bool ContainsCamera();
365 
370  ANIMATOR_EXPORTED StatusInt GetName (WCharP pBuf,UInt32 bufChars);
371 
376  ANIMATOR_EXPORTED StatusInt GetNamedGroup (NamedGroupP* actorGroupP, DgnModelRefP modelRef = NULL);
377 
378 
381  ANIMATOR_EXPORTED UInt32 GetMoveableMask ();
382 
385  ANIMATOR_EXPORTED ActorElementP GetParent ();
386 
391  ANIMATOR_EXPORTED void GetForwardInverseTransform (TransformP pForward, TransformP pInverse);
392 
396  ANIMATOR_EXPORTED Bentley::DgnPlatform::ElementId GetCameraCellElementID ();
397 
401  ANIMATOR_EXPORTED ElementRefP GetCameraCellElementRef ();
402 
404  ANIMATOR_EXPORTED ElementRefP GetCoordSysRef ();
405 
409  ANIMATOR_EXPORTED void GetActorElements (AnimatedElementMapP pMap);
410 
416  ANIMATOR_EXPORTED double GetTargetInterpolationParameter ();
417 
421  ANIMATOR_EXPORTED void SetTargetInterpolationParameter (double interp);
422 
426  ANIMATOR_EXPORTED void GetOriginAndRotation (DPoint3dP origin, RotMatrixP rMatrix);
427 
432  ANIMATOR_EXPORTED bool IsAncestorOf (ActorElementP parent);
433 
437  ANIMATOR_EXPORTED Bentley::DgnPlatform::ElementAgenda GetAgenda (bool includeChildren);
438 
444  ANIMATOR_EXPORTED StatusInt FindChildByElementRef (int *memberIndex, ElementRefP ref, DgnModelRefP modelRef = NULL) ;
445 
448  ANIMATOR_EXPORTED bool IsStationaryActor ();
449 
452  ANIMATOR_EXPORTED bool IsTaskActor ();
453 
456  ANIMATOR_EXPORTED UInt32 GetTaskId ();
457 
458 
459 };
460 
465 
Defines the struct of animated element which will be used for Animation module.
Definition: AnimatedElement.h:42
3x3 matrix commonly used for pure rotations, but in general may also have scales and non-perpendicula...
Definition: rotmatrix.h:21
#define ANIMATOR_EXPORTED
Definition: AnimatedElement.h:25
#define USING_NAMESPACE_BENTLEY_DGNPLATFORM
Definition: DgnPlatform.h:27
#define END_BENTLEY_MSTNPLATFORM_NAMESPACE
Definition: DgnPlatform.h:30
wchar_t * WCharP
Definition: Bentley.h:225
Definition: NamedGroup.h:449
ModifierType
Defines the types of modifier.
Definition: AnimatedElement.h:50
#define BEGIN_BENTLEY_MSTNPLATFORM_NAMESPACE
Definition: DgnPlatform.h:29
DrawPurpose
Definition: DgnPlatform.h:1548
StackPriority
Defines an enumerator for the priority of stack.
Definition: Modifiers.h:38
virtual ~ActorElement()
Definition: AnimatedElement.h:288
uint32_t UInt32
Definition: Bentley.r.h:128
#define NULL
Definition: Bentley.h:157
struct DgnPlatform::MSElementDescr const * MSElementDescrCP
Definition: DgnPlatform.h:390
Definition: MSElementDescr.h:28
A DgnModel represents a DgnModel in memory.
Definition: DgnModel.h:236
ActorElementMap * ActorElementMapP
Definition: AnimationCollections.h:288
3d point coordinates.
Definition: dpoint3d.h:19
BentleyStatus
Definition: Bentley.h:208
A DgnModelRef provides access to a model in a Bentley::DgnPlatform::DgnFile.
Definition: DgnModelRef.h:172
A bvector of EditElementHandle entries to be used for operating on groups of elements.
Definition: ElementAgenda.h:257
Base class to make a class non-copyable.
Definition: NonCopyableClass.h:23
AnimatedElementMap * AnimatedElementMapP
Definition: AnimationCollections.h:270
Interface that provides direct and efficient access to element data.
Definition: ElementRefBase.h:120
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
Defines the struct of actor element which will be used for Animation module.
Definition: AnimatedElement.h:284
DgnDrawMode
Draw modes for displaying information in viewports.
Definition: DgnPlatform.h:1536
bvector< ActorElement * > ActorElementVector
Definition: AnimationCollections.h:305

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