Ocean
JSRenderingObject.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_INTERACTION_JS_RENDERING_OBJECT_H
9 #define META_OCEAN_INTERACTION_JS_RENDERING_OBJECT_H
10 
13 
14 namespace Ocean
15 {
16 
17 namespace Interaction
18 {
19 
20 namespace JavaScript
21 {
22 
23 /**
24  * This class implements a wrapper for a JavaScript RenderingObject object.
25  * @ingroup interactionjs
26  */
27 class OCEAN_INTERACTION_JS_EXPORT JSRenderingObject : public JSObject<JSRenderingObject, Rendering::ObjectRef>
28 {
29  friend class JSObject<JSRenderingObject, Rendering::ObjectRef>;
30  friend class JSLibrary;
31 
32  public:
33 
34  /**
35  * Definition of ids for individual accessors.
36  */
37  enum AccessorId : unsigned int
38  {
39  /// The accessor for the name property, a String value.
41  /// The accessor for the type property, a String value.
42  AI_TYPE
43  };
44 
45  /**
46  * Definition of ids for individual functions.
47  */
48  enum FunctionId : unsigned int
49  {
52 
55 
58 
112 
163  FI_SET_WIDTH
164  };
165 
166  public:
167 
168  /**
169  * Returns the JavaScript name of this object.
170  * @return The object's JavaScript name
171  */
172  static inline const char* objectName();
173 
174  protected:
175 
176  /**
177  * Creates the function template and object template for this object.
178  */
179  static void createFunctionTemplate();
180 };
181 
182 inline const char* JSRenderingObject::objectName()
183 {
184  return "RenderingObject";
185 }
186 
187 }
188 
189 }
190 
191 }
192 
193 #endif // META_OCEAN_INTERACTION_JS_RENDERING_OBJECT_H
This class implements the java script interaction library object.
Definition: JSLibrary.h:32
This class implements the base class for all native wrapper of JavaScript objects.
Definition: JSObject.h:31
This class implements a wrapper for a JavaScript RenderingObject object.
Definition: JSRenderingObject.h:28
static const char * objectName()
Returns the JavaScript name of this object.
Definition: JSRenderingObject.h:182
static void createFunctionTemplate()
Creates the function template and object template for this object.
FunctionId
Definition of ids for individual functions.
Definition: JSRenderingObject.h:49
@ FI_SET_RADIUS
Definition: JSRenderingObject.h:146
@ FI_TRANSLATION
Definition: JSRenderingObject.h:103
@ FI_CULLING_MODE
Definition: JSRenderingObject.h:69
@ FI_ADD
Definition: JSRenderingObject.h:53
@ FI_AMBIENT_COLOR
Definition: JSRenderingObject.h:60
@ FI_ENABLED
Definition: JSRenderingObject.h:74
@ FI_SET_POSITION
Definition: JSRenderingObject.h:144
@ FI_SET_VERTICES
Definition: JSRenderingObject.h:160
@ FI_ATTENUATION
Definition: JSRenderingObject.h:62
@ FI_DIFFUSE_COLOR
Definition: JSRenderingObject.h:72
@ FI_SET_CONE_ANGLE
Definition: JSRenderingObject.h:121
@ FI_SET_CODE_FILE
Definition: JSRenderingObject.h:123
@ FI_VERTICES
Definition: JSRenderingObject.h:107
@ FI_SET_INTENSITY
Definition: JSRenderingObject.h:135
@ FI_RADIUS
Definition: JSRenderingObject.h:94
@ FI_SET_LEFT_PROJECTION_MATRIX
Definition: JSRenderingObject.h:136
@ FI_SPECULAR_COLOR
Definition: JSRenderingObject.h:99
@ FI_SET_MINIFICATION_FILTER_MODE
Definition: JSRenderingObject.h:140
@ FI_SET_VISIBLE
Definition: JSRenderingObject.h:162
@ FI_SET_DEPTH
Definition: JSRenderingObject.h:125
@ FI_CHILD
Definition: JSRenderingObject.h:66
@ FI_DIRECTION
Definition: JSRenderingObject.h:71
@ FI_VERTEX_SET
Definition: JSRenderingObject.h:108
@ FI_WIDTH
Definition: JSRenderingObject.h:110
@ FI_SET_COLORS
Definition: JSRenderingObject.h:120
@ FI_SET_NORMALS
Definition: JSRenderingObject.h:142
@ FI_SET_PROJECTION_MATRIX
Definition: JSRenderingObject.h:145
@ FI_SET_SAMPLER
Definition: JSRenderingObject.h:151
@ FI_WORLD_TRANSFORMATION
Definition: JSRenderingObject.h:111
@ FI_PARENTS
Definition: JSRenderingObject.h:57
@ FI_SET_ASPECT_RATIO
Definition: JSRenderingObject.h:115
@ FI_SET_CULLING_MODE
Definition: JSRenderingObject.h:124
@ FI_SET_LEFT_TRANSFORMATION
Definition: JSRenderingObject.h:137
@ FI_PARAMETER_TYPE
Definition: JSRenderingObject.h:92
@ FI_SET_MEDIUM
Definition: JSRenderingObject.h:139
@ FI_PARAMETER
Definition: JSRenderingObject.h:90
@ FI_MINIFICATION_FILTER_MODE
Definition: JSRenderingObject.h:85
@ FI_NUMBER_CHILDREN
Definition: JSRenderingObject.h:89
@ FI_SET_VERTEX_SET
Definition: JSRenderingObject.h:161
@ FI_IS_COMPILED
Definition: JSRenderingObject.h:82
@ FI_SET_TRANSLATION
Definition: JSRenderingObject.h:157
@ FI_SET_SPECULAR_EXPONENT
Definition: JSRenderingObject.h:154
@ FI_SET_ATTENUATION
Definition: JSRenderingObject.h:116
@ FI_SET_BACKGROUND_COLOR
Definition: JSRenderingObject.h:119
@ FI_BACKGROUND_COLOR
Definition: JSRenderingObject.h:65
@ FI_SET_ENABLED
Definition: JSRenderingObject.h:129
@ FI_SET_ROTATION
Definition: JSRenderingObject.h:150
@ FI_IS_VALID
Definition: JSRenderingObject.h:50
@ FI_SET_TEXTURE_COORDINATES
Definition: JSRenderingObject.h:156
@ FI_USE_HEADLIGHT
Definition: JSRenderingObject.h:106
@ FI_INTENSITY
Definition: JSRenderingObject.h:81
@ FI_SET_NEAR_DISTANCE
Definition: JSRenderingObject.h:141
@ FI_POSITION
Definition: JSRenderingObject.h:93
@ FI_ROTATION
Definition: JSRenderingObject.h:96
@ FI_SET_TRANSPARENCY
Definition: JSRenderingObject.h:159
@ FI_EXIST_PARAMETER
Definition: JSRenderingObject.h:76
@ FI_SET_TRANSFORMATION
Definition: JSRenderingObject.h:158
@ FI_FACE_MODE
Definition: JSRenderingObject.h:77
@ FI_SET_HEIGHT
Definition: JSRenderingObject.h:134
@ FI_SET_SIZE
Definition: JSRenderingObject.h:152
@ FI_VISIBLE
Definition: JSRenderingObject.h:109
@ FI_SET_AMBIENT_COLOR
Definition: JSRenderingObject.h:114
@ FI_ASPECT_RATIO
Definition: JSRenderingObject.h:61
@ FI_TRANSFORMATION
Definition: JSRenderingObject.h:104
@ FI_MAGNIFICATION_FILTER_MODE
Definition: JSRenderingObject.h:83
@ FI_FAR_DISTANCE
Definition: JSRenderingObject.h:78
@ FI_SET_FAR_DISTANCE
Definition: JSRenderingObject.h:132
@ FI_ACTIVE_NODE
Definition: JSRenderingObject.h:59
@ FI_SET_ENVIRONMENT_MODE
Definition: JSRenderingObject.h:130
@ FI_REMOVE
Definition: JSRenderingObject.h:54
@ FI_SPECULAR_EXPONENT
Definition: JSRenderingObject.h:100
@ FI_SET_MAGNIFICATION_FILTER_MODE
Definition: JSRenderingObject.h:138
@ FI_SET_DIFFUSE_COLOR
Definition: JSRenderingObject.h:127
@ FI_ADD_BACKGROUND
Definition: JSRenderingObject.h:117
@ FI_BACKGROUND
Definition: JSRenderingObject.h:64
@ FI_EMISSIVE_COLOR
Definition: JSRenderingObject.h:73
@ FI_ENVIRONMENT_MODE
Definition: JSRenderingObject.h:75
@ FI_NUMBER_ATTRIBUTES
Definition: JSRenderingObject.h:88
@ FI_REMOVE_BACKGROUND
Definition: JSRenderingObject.h:118
@ FI_SET_PARAMETER
Definition: JSRenderingObject.h:143
@ FI_SIZE
Definition: JSRenderingObject.h:98
@ FI_HEIGHT
Definition: JSRenderingObject.h:80
@ FI_HEADLIGHT
Definition: JSRenderingObject.h:79
@ FI_SCALE
Definition: JSRenderingObject.h:97
@ FI_NORMALS
Definition: JSRenderingObject.h:87
@ FI_SET_DIRECTION
Definition: JSRenderingObject.h:126
@ FI_SET_EMISSIVE_COLOR
Definition: JSRenderingObject.h:128
@ FI_SET_ACTIVE_NODE
Definition: JSRenderingObject.h:113
@ FI_SET_FACE_MODE
Definition: JSRenderingObject.h:131
@ FI_SET_SPECULAR_COLOR
Definition: JSRenderingObject.h:153
@ FI_TRANSPARENCY
Definition: JSRenderingObject.h:105
@ FI_SET_CODE
Definition: JSRenderingObject.h:122
@ FI_NEAR_DISTANCE
Definition: JSRenderingObject.h:86
@ FI_REFLECTIVITY
Definition: JSRenderingObject.h:95
@ FI_CONE_ANGLE
Definition: JSRenderingObject.h:68
@ FI_SET_USE_HEADLIGHT
Definition: JSRenderingObject.h:133
@ FI_SPOT_EXPONENT
Definition: JSRenderingObject.h:101
@ FI_SET_SPOT_EXPONENT
Definition: JSRenderingObject.h:155
@ FI_TEXTURE_COORDINATES
Definition: JSRenderingObject.h:102
@ FI_PARAMETER_ELEMENTS
Definition: JSRenderingObject.h:91
@ FI_MEDIUM
Definition: JSRenderingObject.h:84
@ FI_IS_INVALID
Definition: JSRenderingObject.h:51
@ FI_SET_RIGHT_TRANSFORMATION
Definition: JSRenderingObject.h:149
@ FI_SET_RIGHT_PROJECTION_MATRIX
Definition: JSRenderingObject.h:148
@ FI_SET_REFLECTIVITY
Definition: JSRenderingObject.h:147
@ FI_COLORS
Definition: JSRenderingObject.h:67
@ FI_DEPTH
Definition: JSRenderingObject.h:70
@ FI_ATTRIBUTE
Definition: JSRenderingObject.h:63
@ FI_PARENT
Definition: JSRenderingObject.h:56
AccessorId
Definition of ids for individual accessors.
Definition: JSRenderingObject.h:38
@ AI_NAME
The accessor for the name property, a String value.
Definition: JSRenderingObject.h:40
This template class implements a object reference with an internal reference counter.
Definition: base/ObjectRef.h:58
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15