DI-Guy SDK Documentation  13.8
diguyLinkController.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2024 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
6 /*********************************************************************/
13 #pragma once
14 
15 #ifdef SWIG
16 %module diguyLinkController
17 #else
18 #define CPLUSPLUS_ONLY
19 #endif
20 
21 #ifdef CPLUSPLUS_ONLY
22 #include <diguy_constants.h>
23 
24 class bdiLink;
25 class bdiLinkController;
26 class diguyCharacter;
28 class diguyGraphicsShape;
30 
31 #endif
32 
33 #include <declspec_diguy.h>
34 
35 //------------------------------------------------------------------------------
44 class BDI_DECLSPEC_diguy diguyLinkController
45 {
46 
47 public:
48 
49 /*****************************************************************************/
62  /*l
63  *b Description:
64  **
65  ** Returns the name of the link. This pointer will never be NULL.
66  **
67  *b Returns:
68  **
69  ** name of the link that this controller modifies
70  */
71  const char* get_name();
72 
75  int set_translation_override(float x, float y, float z, float ramp_time = .25f);
76 
78  int set_translation_override(float x, float y, float z, float vx, float vy, float vz, float ramp_time = .25f);
79 
81  int set_translation_velocity(float vx, float vy, float vz, float ramp_time = .25f);
82 
84  int end_translation_override(float ramp_time = .25f);
85 
87  int set_translation_additive(int additive);
88 
91  int set_translation_post_rotation(int post_rotation);
92 
95  int set_translation_restore_time(float snap_back_time);
96 
99  int set_rotation_override(float rz, float rx, float ry, float ramp_time = .25f);
100 
102  int set_rotation_override(float rz, float rx, float ry, float vrz, float vrx, float vry, float ramp_time = .25f);
103 
105  int set_rotation_velocity(float vrz, float vrx, float vry, float ramp_time = .25f);
106 
108  int end_rotation_override(float ramp_time = .25f);
109 
111  int set_rotation_additive(int additive);
112 
115  int set_rotation_restore_time(float time);
116 
117 
122 #ifdef CPLUSPLUS_ONLY
123 
124  bdiLinkController* get_scripted_object() {return m_scripted_object;}
125 
126 protected:
127 
128  /*l
129  ** A protected constructor. Constructors are called automatically
130  ** by DI-Guy.
131  */
132  diguyLinkController(bdiLinkController* internal_data);
133 
134  /*l
135  ** A protected destructor. Destructors are called automatically
136  ** by DI-Guy.
137  */
138  virtual ~diguyLinkController();
139 
140 private:
141 
142  /*l
143  ** A pointer to internal data.
144  */
145  bdiLinkController* m_scripted_object;
147  friend class bdiLink;
148  friend class bdiLinkController;
149 
150 #endif
151 
152 };
A class that represents the unique per-character shader object.
Definition: diguyGraphicsShaderInstance.h:54
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:81
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:49