historical/toontown-classic.git/panda/pandac/input/libp3pgraph.in
2024-01-16 11:20:27 -06:00

26897 lines
1 MiB

1565844154
3 3
11 libp3pgraph 4 w0Cq 12 panda3d.core
1696
1884 11 operator != 0 4 3580 27 TransformState::operator != 0 1 1 0
75
inline bool TransformState::operator !=(TransformState const &other) const;
1885 10 compare_to 0 4 3580 26 TransformState::compare_to 0 2 2 3 847
/**
* Provides an arbitrary ordering among all unique TransformStates, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* Note that if this returns 0, it doesn't necessarily imply that operator ==
* returns true; it uses a very slightly different comparison threshold.
*/
/**
* Provides an arbitrary ordering among all unique TransformStates, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* Note that if this returns 0, it doesn't necessarily imply that operator ==
* returns true; it uses a very slightly different comparison threshold.
*
* If uniquify_matrix is true, then matrix-defined TransformStates are also
* uniqified. If uniquify_matrix is false, then only component-defined
* TransformStates are uniquified, which is less expensive.
*/
162
inline int TransformState::compare_to(TransformState const &other) const;
int TransformState::compare_to(TransformState const &other, bool uniquify_matrix) const;
1886 11 operator == 0 4 3580 27 TransformState::operator == 0 1 4 0
68
bool TransformState::operator ==(TransformState const &other) const;
1887 8 get_hash 0 4 3580 24 TransformState::get_hash 0 1 5 55
/**
* Returns a suitable hash value for phash_map.
*/
56
inline std::size_t TransformState::get_hash(void) const;
1888 13 make_identity 0 4 3580 29 TransformState::make_identity 0 1 6 44
/**
* Constructs an identity transform.
*/
76
static ConstPointerTo< TransformState > TransformState::make_identity(void);
1889 12 make_invalid 0 4 3580 28 TransformState::make_invalid 0 1 7 103
/**
* Constructs an invalid transform; for instance, the result of inverting a
* singular matrix.
*/
75
static ConstPointerTo< TransformState > TransformState::make_invalid(void);
1890 8 make_pos 0 4 3580 24 TransformState::make_pos 0 1 8 68
/**
* Makes a new TransformState with the specified components.
*/
94
static inline ConstPointerTo< TransformState > TransformState::make_pos(LVecBase3 const &pos);
1891 8 make_hpr 0 4 3580 24 TransformState::make_hpr 0 1 9 68
/**
* Makes a new TransformState with the specified components.
*/
94
static inline ConstPointerTo< TransformState > TransformState::make_hpr(LVecBase3 const &hpr);
1892 9 make_quat 0 4 3580 25 TransformState::make_quat 0 1 10 68
/**
* Makes a new TransformState with the specified components.
*/
98
static inline ConstPointerTo< TransformState > TransformState::make_quat(LQuaternion const &quat);
1893 12 make_pos_hpr 0 4 3580 28 TransformState::make_pos_hpr 0 1 11 68
/**
* Makes a new TransformState with the specified components.
*/
120
static inline ConstPointerTo< TransformState > TransformState::make_pos_hpr(LVecBase3 const &pos, LVecBase3 const &hpr);
1894 10 make_scale 0 4 3580 26 TransformState::make_scale 0 2 12 13 138
/**
* Makes a new TransformState with the specified components.
*/
/**
* Makes a new TransformState with the specified components.
*/
192
static inline ConstPointerTo< TransformState > TransformState::make_scale(PN_stdfloat scale);
static inline ConstPointerTo< TransformState > TransformState::make_scale(LVecBase3 const &scale);
1895 10 make_shear 0 4 3580 26 TransformState::make_shear 0 1 14 68
/**
* Makes a new TransformState with the specified components.
*/
98
static inline ConstPointerTo< TransformState > TransformState::make_shear(LVecBase3 const &shear);
1896 18 make_pos_hpr_scale 0 4 3580 34 TransformState::make_pos_hpr_scale 0 1 15 68
/**
* Makes a new TransformState with the specified components.
*/
150
static inline ConstPointerTo< TransformState > TransformState::make_pos_hpr_scale(LVecBase3 const &pos, LVecBase3 const &hpr, LVecBase3 const &scale);
1897 19 make_pos_quat_scale 0 4 3580 35 TransformState::make_pos_quat_scale 0 1 16 68
/**
* Makes a new TransformState with the specified components.
*/
154
static inline ConstPointerTo< TransformState > TransformState::make_pos_quat_scale(LVecBase3 const &pos, LQuaternion const &quat, LVecBase3 const &scale);
1898 24 make_pos_hpr_scale_shear 0 4 3580 40 TransformState::make_pos_hpr_scale_shear 0 1 17 68
/**
* Makes a new TransformState with the specified components.
*/
173
static ConstPointerTo< TransformState > TransformState::make_pos_hpr_scale_shear(LVecBase3 const &pos, LVecBase3 const &hpr, LVecBase3 const &scale, LVecBase3 const &shear);
1899 25 make_pos_quat_scale_shear 0 4 3580 41 TransformState::make_pos_quat_scale_shear 0 1 18 68
/**
* Makes a new TransformState with the specified components.
*/
177
static ConstPointerTo< TransformState > TransformState::make_pos_quat_scale_shear(LVecBase3 const &pos, LQuaternion const &quat, LVecBase3 const &scale, LVecBase3 const &shear);
1900 8 make_mat 0 4 3580 24 TransformState::make_mat 0 1 19 79
/**
* Makes a new TransformState with the specified transformation matrix.
*/
86
static ConstPointerTo< TransformState > TransformState::make_mat(LMatrix4 const &mat);
1901 10 make_pos2d 0 4 3580 26 TransformState::make_pos2d 0 1 20 72
/**
* Makes a new 2-d TransformState with the specified components.
*/
96
static inline ConstPointerTo< TransformState > TransformState::make_pos2d(LVecBase2 const &pos);
1902 13 make_rotate2d 0 4 3580 29 TransformState::make_rotate2d 0 1 21 72
/**
* Makes a new 2-d TransformState with the specified components.
*/
97
static inline ConstPointerTo< TransformState > TransformState::make_rotate2d(PN_stdfloat rotate);
1903 17 make_pos_rotate2d 0 4 3580 33 TransformState::make_pos_rotate2d 0 1 22 72
/**
* Makes a new 2-d TransformState with the specified components.
*/
123
static inline ConstPointerTo< TransformState > TransformState::make_pos_rotate2d(LVecBase2 const &pos, PN_stdfloat rotate);
1904 12 make_scale2d 0 4 3580 28 TransformState::make_scale2d 0 2 23 24 146
/**
* Makes a new 2-d TransformState with the specified components.
*/
/**
* Makes a new 2-d TransformState with the specified components.
*/
196
static inline ConstPointerTo< TransformState > TransformState::make_scale2d(PN_stdfloat scale);
static inline ConstPointerTo< TransformState > TransformState::make_scale2d(LVecBase2 const &scale);
1905 12 make_shear2d 0 4 3580 28 TransformState::make_shear2d 0 1 25 72
/**
* Makes a new 2-d TransformState with the specified components.
*/
95
static inline ConstPointerTo< TransformState > TransformState::make_shear2d(PN_stdfloat shear);
1906 23 make_pos_rotate_scale2d 0 4 3580 39 TransformState::make_pos_rotate_scale2d 0 1 26 72
/**
* Makes a new 2-d TransformState with the specified components.
*/
153
static inline ConstPointerTo< TransformState > TransformState::make_pos_rotate_scale2d(LVecBase2 const &pos, PN_stdfloat rotate, LVecBase2 const &scale);
1907 29 make_pos_rotate_scale_shear2d 0 4 3580 45 TransformState::make_pos_rotate_scale_shear2d 0 1 27 84
/**
* Makes a new two-dimensional TransformState with the specified components.
*/
171
static ConstPointerTo< TransformState > TransformState::make_pos_rotate_scale_shear2d(LVecBase2 const &pos, PN_stdfloat rotate, LVecBase2 const &scale, PN_stdfloat shear);
1908 9 make_mat3 0 4 3580 25 TransformState::make_mat3 0 1 28 102
/**
* Makes a new two-dimensional TransformState with the specified 3x3
* transformation matrix.
*/
87
static ConstPointerTo< TransformState > TransformState::make_mat3(LMatrix3 const &mat);
1909 11 is_identity 0 4 3580 27 TransformState::is_identity 0 1 29 92
/**
* Returns true if the transform represents the identity matrix, false
* otherwise.
*/
52
inline bool TransformState::is_identity(void) const;
1910 10 is_invalid 0 4 3580 26 TransformState::is_invalid 0 1 30 168
/**
* Returns true if the transform represents an invalid matrix, for instance
* the result of inverting a singular matrix, or false if the transform is
* valid.
*/
51
inline bool TransformState::is_invalid(void) const;
1911 11 is_singular 0 4 3580 27 TransformState::is_singular 0 1 31 154
/**
* Returns true if the transform represents a singular transform (that is, it
* has a zero scale, and it cannot be inverted), or false otherwise.
*/
52
inline bool TransformState::is_singular(void) const;
1912 5 is_2d 0 4 3580 21 TransformState::is_2d 0 1 32 206
/**
* Returns true if the transform has been constructed entirely using the 2-d
* transform operations, e.g. make_pos2d(), and therefore operates strictly
* in two-dimensional space on X and Y only.
*/
46
inline bool TransformState::is_2d(void) const;
1913 14 has_components 0 4 3580 30 TransformState::has_components 0 1 33 654
/**
* Returns true if the transform can be described by separate pos, hpr, and
* scale components. Most transforms we use in everyday life can be so
* described, but some kinds of transforms (for instance, those involving a
* skew) cannot.
*
* This is not related to whether the transform was originally described
* componentwise. Even a transform that was constructed with a 4x4 may return
* true here if the matrix is a simple affine matrix with no skew.
*
* If this returns true, you may safely call get_hpr() and get_scale() to
* retrieve the components. (You may always safely call get_pos() whether
* this returns true or false.)
*/
55
inline bool TransformState::has_components(void) const;
1914 16 components_given 0 4 3580 32 TransformState::components_given 0 1 34 454
/**
* Returns true if the transform was specified componentwise, or false if it
* was specified with a general 4x4 matrix. If this is true, the components
* returned by get_pos() and get_scale() will be exactly those that were set;
* otherwise, these functions will return computed values. If this is true,
* the rotation may have been set either with a hpr trio or with a quaternion;
* hpr_given() or quat_given() can resolve the difference.
*/
57
inline bool TransformState::components_given(void) const;
1915 9 hpr_given 0 4 3580 25 TransformState::hpr_given 0 1 35 200
/**
* Returns true if the rotation was specified via a trio of Euler angles,
* false otherwise. If this is true, get_hpr() will be exactly as set;
* otherwise, it will return a computed value.
*/
50
inline bool TransformState::hpr_given(void) const;
1916 10 quat_given 0 4 3580 26 TransformState::quat_given 0 1 36 191
/**
* Returns true if the rotation was specified via a quaternion, false
* otherwise. If this is true, get_quat() will be exactly as set; otherwise,
* it will return a computed value.
*/
51
inline bool TransformState::quat_given(void) const;
1917 7 has_pos 0 4 3580 23 TransformState::has_pos 0 1 37 194
/**
* Returns true if the transform's pos component can be extracted out
* separately. This is generally always true, unless the transform is invalid
* (i.e. is_invalid() returns true).
*/
48
inline bool TransformState::has_pos(void) const;
1918 7 has_hpr 0 4 3580 23 TransformState::has_hpr 0 1 38 199
/**
* Returns true if the transform's rotation component can be extracted out
* separately and described as a set of Euler angles. This is generally true
* only when has_components() is true.
*/
48
inline bool TransformState::has_hpr(void) const;
1919 8 has_quat 0 4 3580 24 TransformState::has_quat 0 1 39 190
/**
* Returns true if the transform's rotation component can be extracted out
* separately and described as a quaternion. This is generally true only when
* has_components() is true.
*/
49
inline bool TransformState::has_quat(void) const;
1920 9 has_scale 0 4 3580 25 TransformState::has_scale 0 1 40 154
/**
* Returns true if the transform's scale component can be extracted out
* separately. This is generally true only when has_components() is true.
*/
50
inline bool TransformState::has_scale(void) const;
1921 18 has_identity_scale 0 4 3580 34 TransformState::has_identity_scale 0 1 41 98
/**
* Returns true if the scale is uniform 1.0, or false if the scale has some
* real value.
*/
59
inline bool TransformState::has_identity_scale(void) const;
1922 17 has_uniform_scale 0 4 3580 33 TransformState::has_uniform_scale 0 1 42 201
/**
* Returns true if the scale is uniform across all three axes (and therefore
* can be expressed as a single number), or false if the transform has a
* different scale in different dimensions.
*/
58
inline bool TransformState::has_uniform_scale(void) const;
1923 9 has_shear 0 4 3580 25 TransformState::has_shear 0 1 43 154
/**
* Returns true if the transform's shear component can be extracted out
* separately. This is generally true only when has_components() is true.
*/
50
inline bool TransformState::has_shear(void) const;
1924 17 has_nonzero_shear 0 4 3580 33 TransformState::has_nonzero_shear 0 1 44 121
/**
* Returns true if the shear component is non-zero, false if it is zero or if
* the matrix cannot be decomposed.
*/
58
inline bool TransformState::has_nonzero_shear(void) const;
1925 7 has_mat 0 4 3580 23 TransformState::has_mat 0 1 45 134
/**
* Returns true if the transform can be described as a matrix. This is
* generally always true, unless is_invalid() is true.
*/
48
inline bool TransformState::has_mat(void) const;
1926 7 get_pos 0 4 3580 23 TransformState::get_pos 0 1 46 115
/**
* Returns the pos component of the transform. It is an error to call this if
* has_pos() returned false.
*/
58
inline LPoint3 const &TransformState::get_pos(void) const;
1927 7 get_hpr 0 4 3580 23 TransformState::get_hpr 0 1 47 152
/**
* Returns the rotation component of the transform as a trio of Euler angles.
* It is an error to call this if has_components() returned false.
*/
60
inline LVecBase3 const &TransformState::get_hpr(void) const;
1928 8 get_quat 0 4 3580 24 TransformState::get_quat 0 1 48 412
/**
* Returns the rotation component of the transform as a quaternion. The
* return value will be normalized if a normalized quaternion was given to the
* constructor (or if the quaternion was computed implicitly); it will be non-
* normalized if a non-normalized quaternion was given to the constructor.
* See also get_norm_quat().
*
* It is an error to call this if has_components() returned false.
*/
63
inline LQuaternion const &TransformState::get_quat(void) const;
1929 13 get_norm_quat 0 4 3580 29 TransformState::get_norm_quat 0 1 49 247
/**
* Returns the rotation component of the transform as a quaternion. Unlike
* the result of get_quat(), the return value of this method is guaranteed to
* be normalized. It is an error to call this if has_components() returned
* false.
*/
68
inline LQuaternion const &TransformState::get_norm_quat(void) const;
1930 9 get_scale 0 4 3580 25 TransformState::get_scale 0 1 50 124
/**
* Returns the scale component of the transform. It is an error to call this
* if has_components() returned false.
*/
62
inline LVecBase3 const &TransformState::get_scale(void) const;
1931 17 get_uniform_scale 0 4 3580 33 TransformState::get_uniform_scale 0 1 51 147
/**
* Returns the scale component of the transform, as a single number. It is an
* error to call this if has_uniform_scale() returned false.
*/
65
inline PN_stdfloat TransformState::get_uniform_scale(void) const;
1932 9 get_shear 0 4 3580 25 TransformState::get_shear 0 1 52 124
/**
* Returns the shear component of the transform. It is an error to call this
* if has_components() returned false.
*/
62
inline LVecBase3 const &TransformState::get_shear(void) const;
1933 7 get_mat 0 4 3580 23 TransformState::get_mat 0 1 53 59
/**
* Returns the matrix that describes the transform.
*/
59
inline LMatrix4 const &TransformState::get_mat(void) const;
1934 9 get_pos2d 0 4 3580 25 TransformState::get_pos2d 0 1 54 130
/**
* Returns the pos component of the 2-d transform. It is an error to call
* this if has_pos() or is_2d() returned false.
*/
55
inline LVecBase2 TransformState::get_pos2d(void) const;
1935 12 get_rotate2d 0 4 3580 28 TransformState::get_rotate2d 0 1 55 195
/**
* Returns the rotation component of the 2-d transform as an angle in degrees
* clockwise about the origin. It is an error to call this if
* has_components() or is_2d() returned false.
*/
60
inline PN_stdfloat TransformState::get_rotate2d(void) const;
1936 11 get_scale2d 0 4 3580 27 TransformState::get_scale2d 0 1 56 139
/**
* Returns the scale component of the 2-d transform. It is an error to call
* this if has_components() or is_2d() returned false.
*/
57
inline LVecBase2 TransformState::get_scale2d(void) const;
1937 11 get_shear2d 0 4 3580 27 TransformState::get_shear2d 0 1 57 139
/**
* Returns the shear component of the 2-d transform. It is an error to call
* this if has_components() or is_2d() returned false.
*/
59
inline PN_stdfloat TransformState::get_shear2d(void) const;
1938 8 get_mat3 0 4 3580 24 TransformState::get_mat3 0 1 58 126
/**
* Returns the 3x3 matrix that describes the 2-d transform. It is an error to
* call this if is_2d() returned false.
*/
53
inline LMatrix3 TransformState::get_mat3(void) const;
1939 7 set_pos 0 4 3580 23 TransformState::set_pos 0 1 59 151
/**
* Returns a new TransformState object that represents the original
* TransformState with its pos component replaced with the indicated value.
*/
85
ConstPointerTo< TransformState > TransformState::set_pos(LVecBase3 const &pos) const;
1940 7 set_hpr 0 4 3580 23 TransformState::set_hpr 0 1 60 172
/**
* Returns a new TransformState object that represents the original
* TransformState with its rotation component replaced with the indicated
* value, if possible.
*/
85
ConstPointerTo< TransformState > TransformState::set_hpr(LVecBase3 const &hpr) const;
1941 8 set_quat 0 4 3580 24 TransformState::set_quat 0 1 61 172
/**
* Returns a new TransformState object that represents the original
* TransformState with its rotation component replaced with the indicated
* value, if possible.
*/
89
ConstPointerTo< TransformState > TransformState::set_quat(LQuaternion const &quat) const;
1942 9 set_scale 0 4 3580 25 TransformState::set_scale 0 1 62 169
/**
* Returns a new TransformState object that represents the original
* TransformState with its scale component replaced with the indicated value,
* if possible.
*/
89
ConstPointerTo< TransformState > TransformState::set_scale(LVecBase3 const &scale) const;
1943 9 set_shear 0 4 3580 25 TransformState::set_shear 0 1 63 169
/**
* Returns a new TransformState object that represents the original
* TransformState with its shear component replaced with the indicated value,
* if possible.
*/
89
ConstPointerTo< TransformState > TransformState::set_shear(LVecBase3 const &shear) const;
1944 9 set_pos2d 0 4 3580 25 TransformState::set_pos2d 0 1 64 155
/**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its pos component replaced with the indicated value.
*/
87
ConstPointerTo< TransformState > TransformState::set_pos2d(LVecBase2 const &pos) const;
1945 12 set_rotate2d 0 4 3580 28 TransformState::set_rotate2d 0 1 65 176
/**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its rotation component replaced with the indicated
* value, if possible.
*/
88
ConstPointerTo< TransformState > TransformState::set_rotate2d(PN_stdfloat rotate) const;
1946 11 set_scale2d 0 4 3580 27 TransformState::set_scale2d 0 1 66 173
/**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its scale component replaced with the indicated value,
* if possible.
*/
91
ConstPointerTo< TransformState > TransformState::set_scale2d(LVecBase2 const &scale) const;
1947 11 set_shear2d 0 4 3580 27 TransformState::set_shear2d 0 1 67 173
/**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its shear component replaced with the indicated value,
* if possible.
*/
86
ConstPointerTo< TransformState > TransformState::set_shear2d(PN_stdfloat shear) const;
1948 7 compose 0 4 3580 23 TransformState::compose 0 1 68 408
/**
* Returns a new TransformState object that represents the composition of this
* state with the other state.
*
* The result of this operation is cached, and will be retained as long as
* both this TransformState object and the other TransformState object
* continue to exist. Should one of them destruct, the cached entry will be
* removed, and its pointer will be allowed to destruct as well.
*/
92
ConstPointerTo< TransformState > TransformState::compose(TransformState const *other) const;
1949 14 invert_compose 0 4 3580 30 TransformState::invert_compose 0 1 69 268
/**
* Returns a new TransformState object that represents the composition of this
* state's inverse with the other state.
*
* This is similar to compose(), but is particularly useful for computing the
* relative state of a node as viewed from some other node.
*/
99
ConstPointerTo< TransformState > TransformState::invert_compose(TransformState const *other) const;
1950 11 get_inverse 0 4 3580 27 TransformState::get_inverse 0 1 70 199
/**
* Returns the inverse of this transform. If you are going to immediately
* compose this result with another TransformState, it is faster to do it in
* one operation with invert_compose().
*/
80
inline ConstPointerTo< TransformState > TransformState::get_inverse(void) const;
1951 10 get_unique 0 4 3580 26 TransformState::get_unique 0 1 71 331
/**
* Returns the pointer to the unique TransformState in the cache that is
* equivalent to this one. This may be the same pointer as this object, or it
* may be a different pointer; but it will be an equivalent object, and it
* will be a shared pointer. This may be called from time to time to improve
* cache benefits.
*/
79
inline ConstPointerTo< TransformState > TransformState::get_unique(void) const;
1952 18 get_geom_rendering 0 4 3580 34 TransformState::get_geom_rendering 0 1 72 261
/**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this TransformState is applied to a geom which includes the indicated
* geom_rendering bits. The RenderState's get_geom_rendering() should already
* have been applied.
*/
72
inline int TransformState::get_geom_rendering(int geom_rendering) const;
1953 9 cache_ref 0 4 3580 25 TransformState::cache_ref 0 1 73 64
/**
* Overrides this method to update PStats appropriately.
*/
50
inline void TransformState::cache_ref(void) const;
1954 11 cache_unref 0 4 3580 27 TransformState::cache_unref 0 1 74 64
/**
* Overrides this method to update PStats appropriately.
*/
52
inline bool TransformState::cache_unref(void) const;
1955 8 node_ref 0 4 3580 24 TransformState::node_ref 0 1 75 64
/**
* Overrides this method to update PStats appropriately.
*/
49
inline void TransformState::node_ref(void) const;
1956 10 node_unref 0 4 3580 26 TransformState::node_unref 0 1 76 64
/**
* Overrides this method to update PStats appropriately.
*/
51
inline bool TransformState::node_unref(void) const;
1957 33 get_composition_cache_num_entries 0 4 3580 49 TransformState::get_composition_cache_num_entries 0 1 77 278
/**
* Returns the number of entries in the composition cache for this
* TransformState. This is the number of other TransformStates whose
* composition with this one has been cached. This number is not useful for
* any practical reason other than performance analysis.
*/
81
inline std::size_t TransformState::get_composition_cache_num_entries(void) const;
1958 40 get_invert_composition_cache_num_entries 0 4 3580 56 TransformState::get_invert_composition_cache_num_entries 0 1 78 256
/**
* Returns the number of entries in the invert_composition cache for this
* TransformState. This is similar to the composition cache, but it records
* cache entries for the invert_compose() operation. See
* get_composition_cache_num_entries().
*/
88
inline std::size_t TransformState::get_invert_composition_cache_num_entries(void) const;
1959 26 get_composition_cache_size 0 4 3580 42 TransformState::get_composition_cache_size 0 1 79 337
/**
* Returns the number of slots in the composition cache for this
* TransformState. You may use this as an upper bound when walking through
* all of the composition cache results via get_composition_cache_source() or
* result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
74
inline std::size_t TransformState::get_composition_cache_size(void) const;
1960 28 get_composition_cache_source 0 4 3580 44 TransformState::get_composition_cache_source 0 1 80 303
/**
* Returns the source TransformState of the nth element in the composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element. See get_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
95
inline TransformState const *TransformState::get_composition_cache_source(std::size_t n) const;
1961 28 get_composition_cache_result 0 4 3580 44 TransformState::get_composition_cache_result 0 1 81 373
/**
* Returns the result TransformState of the nth element in the composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element.
*
* In general, a->compose(a->get_composition_cache_source(n)) ==
* a->get_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
95
inline TransformState const *TransformState::get_composition_cache_result(std::size_t n) const;
1962 33 get_invert_composition_cache_size 0 4 3580 49 TransformState::get_invert_composition_cache_size 0 1 82 344
/**
* Returns the number of slots in the composition cache for this
* TransformState. You may use this as an upper bound when walking through
* all of the composition cache results via
* get_invert_composition_cache_source() or result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
81
inline std::size_t TransformState::get_invert_composition_cache_size(void) const;
1963 35 get_invert_composition_cache_source 0 4 3580 51 TransformState::get_invert_composition_cache_source 0 1 83 317
/**
* Returns the source TransformState of the nth element in the invert
* composition cache. Returns NULL if there doesn't happen to be an entry in
* the nth element. See get_invert_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
102
inline TransformState const *TransformState::get_invert_composition_cache_source(std::size_t n) const;
1964 35 get_invert_composition_cache_result 0 4 3580 51 TransformState::get_invert_composition_cache_result 0 1 84 401
/**
* Returns the result TransformState of the nth element in the invert
* composition cache. Returns NULL if there doesn't happen to be an entry in
* the nth element.
*
* In general, a->invert_compose(a->get_invert_composition_cache_source(n)) ==
* a->get_invert_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
102
inline TransformState const *TransformState::get_invert_composition_cache_result(std::size_t n) const;
1965 26 validate_composition_cache 0 4 3580 42 TransformState::validate_composition_cache 0 1 85 163
/**
* Returns true if the composition cache and invert composition cache for this
* particular TransformState are self-consistent and valid, false otherwise.
*/
60
bool TransformState::validate_composition_cache(void) const;
1966 21 get_composition_cache 0 4 3580 37 TransformState::get_composition_cache 0 1 86 0
60
PyObject *TransformState::get_composition_cache(void) const;
1967 28 get_invert_composition_cache 0 4 3580 44 TransformState::get_invert_composition_cache 0 1 87 0
67
PyObject *TransformState::get_invert_composition_cache(void) const;
1968 6 output 0 4 3580 22 TransformState::output 0 1 88 10
/**
*
*/
53
void TransformState::output(std::ostream &out) const;
1969 5 write 0 4 3580 21 TransformState::write 0 1 89 10
/**
*
*/
70
void TransformState::write(std::ostream &out, int indent_level) const;
1970 23 write_composition_cache 0 4 3580 39 TransformState::write_composition_cache 0 1 90 208
/**
* Writes a brief description of the composition cache and invert composition
* cache to the indicated ostream. This is not useful except for performance
* analysis, to examine the cache structure.
*/
88
void TransformState::write_composition_cache(std::ostream &out, int indent_level) const;
1971 14 get_num_states 0 4 3580 30 TransformState::get_num_states 0 1 91 147
/**
* Returns the total number of unique TransformState objects allocated in the
* world. This will go up and down during normal operations.
*/
48
static int TransformState::get_num_states(void);
1972 21 get_num_unused_states 0 4 3580 37 TransformState::get_num_unused_states 0 1 92 612
/**
* Returns the total number of TransformState objects that have been allocated
* but have no references outside of the internal TransformState cache.
*
* A nonzero return value is not necessarily indicative of leaked references;
* it is normal for two TransformState objects, both of which have references
* held outside the cache, to have the result of their composition stored
* within the cache. This result will be retained within the cache until one
* of the base TransformStates is released.
*
* Use list_cycles() to get an idea of the number of actual "leaked"
* TransformState objects.
*/
55
static int TransformState::get_num_unused_states(void);
1973 11 clear_cache 0 4 3580 27 TransformState::clear_cache 0 1 93 617
/**
* Empties the cache of composed TransformStates. This makes every
* TransformState forget what results when it is composed with other
* TransformStates.
*
* This will eliminate any TransformState objects that have been allocated but
* have no references outside of the internal TransformState map. It will not
* eliminate TransformState objects that are still in use.
*
* Nowadays, this method should not be necessary, as reference-count cycles in
* the composition cache should be automatically detected and broken.
*
* The return value is the number of TransformStates freed by this operation.
*/
45
static int TransformState::clear_cache(void);
1974 15 garbage_collect 0 4 3580 31 TransformState::garbage_collect 0 1 94 297
/**
* Performs a garbage-collection cycle. This must be called periodically if
* garbage-collect-states is true to ensure that TransformStates get cleaned
* up appropriately. It does no harm to call it even if this variable is not
* true, but there is probably no advantage in that case.
*/
49
static int TransformState::garbage_collect(void);
1975 11 list_cycles 0 4 3580 27 TransformState::list_cycles 0 1 95 565
/**
* Detects all of the reference-count cycles in the cache and reports them to
* standard output.
*
* These cycles may be inadvertently created when state compositions cycle
* back to a starting point. Nowadays, these cycles should be automatically
* detected and broken, so this method should never list any cycles unless
* there is a bug in that detection logic.
*
* The cycles listed here are not leaks in the strictest sense of the word,
* since they can be reclaimed by a call to clear_cache(); but they will not
* be reclaimed automatically.
*/
59
static void TransformState::list_cycles(std::ostream &out);
1976 11 list_states 0 4 3580 27 TransformState::list_states 0 1 96 172
/**
* Lists all of the TransformStates in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/
59
static void TransformState::list_states(std::ostream &out);
1977 15 validate_states 0 4 3580 31 TransformState::validate_states 0 1 97 282
/**
* Ensures that the cache is still stored in sorted order, and that none of
* the cache elements have been inadvertently deleted. Returns true if so,
* false if there is a problem (which implies someone has modified one of the
* supposedly-const TransformState objects).
*/
50
static bool TransformState::validate_states(void);
1978 10 get_states 0 4 3580 26 TransformState::get_states 0 1 98 0
50
static PyObject *TransformState::get_states(void);
1979 17 get_unused_states 0 4 3580 33 TransformState::get_unused_states 0 1 99 0
57
static PyObject *TransformState::get_unused_states(void);
1980 14 get_class_type 0 4 3580 30 TransformState::get_class_type 0 1 100 0
55
static TypeHandle TransformState::get_class_type(void);
1981 8 get_slot 0 4 3594 30 RenderAttribRegistry::get_slot 0 1 101 117
/**
* Returns the slot number assigned to the indicated TypeHandle, or 0 if no
* slot number has been assigned.
*/
72
inline int RenderAttribRegistry::get_slot(TypeHandle type_handle) const;
1982 13 get_max_slots 0 4 3594 35 RenderAttribRegistry::get_max_slots 0 1 102 0
63
static constexpr int RenderAttribRegistry::get_max_slots(void);
1983 13 get_num_slots 0 4 3594 35 RenderAttribRegistry::get_num_slots 0 1 103 135
/**
* Returns the number of RenderAttrib slots that have been allocated. This is
* one more than the highest slot number in use.
*/
59
inline int RenderAttribRegistry::get_num_slots(void) const;
1984 13 get_slot_type 0 4 3594 35 RenderAttribRegistry::get_slot_type 0 1 104 57
/**
* Returns the TypeHandle associated with slot n.
*/
70
inline TypeHandle RenderAttribRegistry::get_slot_type(int slot) const;
1985 13 get_slot_sort 0 4 3594 35 RenderAttribRegistry::get_slot_sort 0 1 105 58
/**
* Returns the sort number associated with slot n.
*/
63
inline int RenderAttribRegistry::get_slot_sort(int slot) const;
1986 13 set_slot_sort 0 4 3594 35 RenderAttribRegistry::set_slot_sort 0 1 106 58
/**
* Changes the sort number associated with slot n.
*/
61
void RenderAttribRegistry::set_slot_sort(int slot, int sort);
1987 16 get_slot_default 0 4 3594 38 RenderAttribRegistry::get_slot_default 0 1 107 172
/**
* Returns the default RenderAttrib object associated with slot n. This is
* the attrib that should be applied in the absence of any other attrib of
* this type.
*/
82
inline RenderAttrib const *RenderAttribRegistry::get_slot_default(int slot) const;
1988 20 get_num_sorted_slots 0 4 3594 42 RenderAttribRegistry::get_num_sorted_slots 0 1 108 66
/**
* Returns the number of entries in the sorted_slots list.
*/
66
inline int RenderAttribRegistry::get_num_sorted_slots(void) const;
1989 15 get_sorted_slot 0 4 3594 37 RenderAttribRegistry::get_sorted_slot 0 1 109 170
/**
* Returns the nth slot in sorted order. By traversing this list, you will
* retrieve all the slot numbers in order according to their registered sort
* value.
*/
62
inline int RenderAttribRegistry::get_sorted_slot(int n) const;
1990 14 get_global_ptr 0 4 3594 36 RenderAttribRegistry::get_global_ptr 0 1 110 10
/**
*
*/
79
static inline RenderAttribRegistry *RenderAttribRegistry::get_global_ptr(void);
1991 7 compose 0 4 3595 21 RenderAttrib::compose 0 1 111 322
/**
* Returns a new RenderAttrib object that represents the composition of this
* attrib with the other attrib. In most cases, this is the same as the other
* attrib; a compose b produces b. Some kinds of attributes, like a
* TextureTransform, for instance, might produce a new result: a compose b
* produces c.
*/
93
inline ConstPointerTo< RenderAttrib > RenderAttrib::compose(RenderAttrib const *other) const;
1992 14 invert_compose 0 4 3595 28 RenderAttrib::invert_compose 0 1 112 583
/**
* Returns a new RenderAttrib object that represents the composition of the
* inverse of this attrib with the other attrib. In most cases, this is the
* same as the other attrib; !a compose b produces b. Some kinds of
* attributes, like a TextureTransform, for instance, might produce a new
* result: !a compose b produces c.
*
* This is similar to compose() except that the source attrib is inverted
* first. This is used to compute the relative attribute for one node as
* viewed from some other node, which is especially useful for transform-type
* attributes.
*/
100
inline ConstPointerTo< RenderAttrib > RenderAttrib::invert_compose(RenderAttrib const *other) const;
1993 25 lower_attrib_can_override 0 6 3595 39 RenderAttrib::lower_attrib_can_override 0 1 113 951
/**
* Intended to be overridden by derived RenderAttrib types to specify how two
* consecutive RenderAttrib objects of the same type interact.
*
* This should return false if a RenderAttrib on a higher node will compose
* into a RenderAttrib on a lower node that has a higher override value, or
* true if the lower RenderAttrib will completely replace the state.
*
* The default behavior is false: normally, a RenderAttrib in the graph cannot
* completely override a RenderAttrib above it, regardless of its override
* value--instead, the two attribs are composed. But for some kinds of
* RenderAttribs, it is useful to allow this kind of override.
*
* This method only handles the one special case of a lower RenderAttrib with
* a higher override value. If the higher RenderAttrib has a higher override
* value, it always completely overrides. And if both RenderAttribs have the
* same override value, they are always composed.
*/
65
virtual bool RenderAttrib::lower_attrib_can_override(void) const;
1994 10 compare_to 0 4 3595 24 RenderAttrib::compare_to 0 1 114 368
/**
* Provides an arbitrary ordering among all unique RenderAttribs, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* This method is not needed outside of the RenderAttrib class because all
* equivalent RenderAttrib objects are guaranteed to share the same pointer;
* thus, a pointer comparison is always sufficient.
*/
69
inline int RenderAttrib::compare_to(RenderAttrib const &other) const;
1995 8 get_hash 0 4 3595 22 RenderAttrib::get_hash 0 1 115 55
/**
* Returns a suitable hash value for phash_map.
*/
54
inline std::size_t RenderAttrib::get_hash(void) const;
1996 10 get_unique 0 4 3595 24 RenderAttrib::get_unique 0 1 116 329
/**
* Returns the pointer to the unique RenderAttrib in the cache that is
* equivalent to this one. This may be the same pointer as this object, or it
* may be a different pointer; but it will be an equivalent object, and it
* will be a shared pointer. This may be called from time to time to improve
* cache benefits.
*/
75
inline ConstPointerTo< RenderAttrib > RenderAttrib::get_unique(void) const;
1997 6 output 0 6 3595 20 RenderAttrib::output 0 1 117 10
/**
*
*/
59
virtual void RenderAttrib::output(std::ostream &out) const;
1998 5 write 0 6 3595 19 RenderAttrib::write 0 1 118 10
/**
*
*/
76
virtual void RenderAttrib::write(std::ostream &out, int indent_level) const;
1999 15 get_num_attribs 0 4 3595 29 RenderAttrib::get_num_attribs 0 1 119 145
/**
* Returns the total number of unique RenderAttrib objects allocated in the
* world. This will go up and down during normal operations.
*/
47
static int RenderAttrib::get_num_attribs(void);
2000 12 list_attribs 0 4 3595 26 RenderAttrib::list_attribs 0 1 120 170
/**
* Lists all of the RenderAttribs in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/
58
static void RenderAttrib::list_attribs(std::ostream &out);
2001 15 garbage_collect 0 4 3595 29 RenderAttrib::garbage_collect 0 1 121 155
/**
* Performs a garbage-collection cycle. This is called automatically from
* RenderState::garbage_collect(); see that method for more information.
*/
47
static int RenderAttrib::garbage_collect(void);
2002 16 validate_attribs 0 4 3595 30 RenderAttrib::validate_attribs 0 1 122 208
/**
* Ensures that the cache is still stored in sorted order. Returns true if
* so, false if there is a problem (which implies someone has modified one of
* the supposedly-const RenderAttrib objects).
*/
49
static bool RenderAttrib::validate_attribs(void);
2003 8 get_slot 0 6 3595 22 RenderAttrib::get_slot 0 1 123 0
51
virtual int RenderAttrib::get_slot(void) const = 0;
2004 14 get_class_type 0 4 3595 28 RenderAttrib::get_class_type 0 1 124 0
53
static TypeHandle RenderAttrib::get_class_type(void);
2005 4 make 0 4 3600 22 RenderModeAttrib::make 0 1 125 921
/**
* Constructs a new RenderModeAttrib object that specifies whether to draw
* polygons in the normal, filled mode, or wireframe mode, or in some other
* yet-to-be-defined mode.
*
* The thickness parameter specifies the thickness to be used for wireframe
* lines, as well as for ordinary linestrip lines; it also specifies the
* diameter of points. (Thick lines are presently only supported in OpenGL;
* but thick points are supported on either platform.)
*
* If perspective is true, the point thickness represented is actually a width
* in 3-d units, and the points should scale according to perspective. When
* it is false, the point thickness is actually a width in pixels, and points
* are a uniform screen size regardless of distance from the camera.
*
* In M_filled_wireframe mode, you should also specify the wireframe_color,
* indicating the flat color to assign to the overlayed wireframe.
*/
193
static ConstPointerTo< RenderAttrib > RenderModeAttrib::make(RenderModeAttrib::Mode mode, PN_stdfloat thickness = 1.0, bool perspective = false, LColor const &wireframe_color = LColor::zero());
2006 12 make_default 0 4 3600 30 RenderModeAttrib::make_default 0 1 126 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
75
static ConstPointerTo< RenderAttrib > RenderModeAttrib::make_default(void);
2007 8 get_mode 0 4 3600 26 RenderModeAttrib::get_mode 0 1 127 35
/**
* Returns the render mode.
*/
69
inline RenderModeAttrib::Mode RenderModeAttrib::get_mode(void) const;
2008 13 get_thickness 0 4 3600 31 RenderModeAttrib::get_thickness 0 1 128 235
/**
* Returns the line width or point thickness. This is only relevant when
* rendering points or lines, such as when the mode is M_wireframe or M_point
* (or when rendering actual points or lines primitives in M_polygon mode).
*/
63
inline PN_stdfloat RenderModeAttrib::get_thickness(void) const;
2009 15 get_perspective 0 4 3600 33 RenderModeAttrib::get_perspective 0 1 129 364
/**
* Returns the perspective flag. When this is true, the point thickness
* represented by get_thickness() is actually a width in 3-d units, and the
* points should scale according to perspective. When it is false, the
* default, the point thickness is actually a width in pixels, and points are
* a uniform size regardless of distance from the camera.
*/
58
inline bool RenderModeAttrib::get_perspective(void) const;
2010 19 get_wireframe_color 0 4 3600 37 RenderModeAttrib::get_wireframe_color 0 1 130 131
/**
* Returns the color that is used in M_filled_wireframe mode to distinguish
* the wireframe from the rest of the geometry.
*/
71
inline LColor const &RenderModeAttrib::get_wireframe_color(void) const;
2011 18 get_geom_rendering 0 4 3600 36 RenderModeAttrib::get_geom_rendering 0 1 131 186
/**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this RenderModeAttrib is applied to a geom which includes the
* indicated geom_rendering bits.
*/
74
inline int RenderModeAttrib::get_geom_rendering(int geom_rendering) const;
2012 14 get_class_slot 0 4 3600 32 RenderModeAttrib::get_class_slot 0 1 132 0
50
static int RenderModeAttrib::get_class_slot(void);
2013 14 get_class_type 0 4 3600 32 RenderModeAttrib::get_class_type 0 1 133 0
57
static TypeHandle RenderModeAttrib::get_class_type(void);
2014 17 ~RenderModeAttrib 0 4 3600 35 RenderModeAttrib::~RenderModeAttrib 0 0 0
42
RenderModeAttrib::~RenderModeAttrib(void);
2015 4 make 0 4 3609 21 TexMatrixAttrib::make 0 3 134 135 136 318
/**
* Constructs a TexMatrixAttrib that applies no stages at all.
*/
/**
* Constructs a TexMatrixAttrib that applies the indicated matrix to the
* default texture stage. This interface is deprecated.
*/
/**
* Constructs a TexMatrixAttrib that applies the indicated transform to the
* named texture stage.
*/
263
static ConstPointerTo< RenderAttrib > TexMatrixAttrib::make(void);
static ConstPointerTo< RenderAttrib > TexMatrixAttrib::make(LMatrix4 const &mat);
static ConstPointerTo< RenderAttrib > TexMatrixAttrib::make(TextureStage *stage, TransformState const *transform);
2016 12 make_default 0 4 3609 29 TexMatrixAttrib::make_default 0 1 137 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
74
static ConstPointerTo< RenderAttrib > TexMatrixAttrib::make_default(void);
2017 9 add_stage 0 4 3609 26 TexMatrixAttrib::add_stage 0 1 138 174
/**
* Returns a new TexMatrixAttrib just like this one, with the indicated
* transform for the given stage. If this stage already exists, its transform
* is replaced.
*/
136
ConstPointerTo< RenderAttrib > TexMatrixAttrib::add_stage(TextureStage *stage, TransformState const *transform, int override = 0) const;
2018 12 remove_stage 0 4 3609 29 TexMatrixAttrib::remove_stage 0 1 139 97
/**
* Returns a new TexMatrixAttrib just like this one, with the indicated stage
* removed.
*/
88
ConstPointerTo< RenderAttrib > TexMatrixAttrib::remove_stage(TextureStage *stage) const;
2019 8 is_empty 0 4 3609 25 TexMatrixAttrib::is_empty 0 1 140 101
/**
* Returns true if no stages are defined in the TexMatrixAttrib, false if at
* least one is.
*/
43
bool TexMatrixAttrib::is_empty(void) const;
2020 9 has_stage 0 4 3609 26 TexMatrixAttrib::has_stage 0 1 141 182
/**
* Returns true if there is a transform associated with the indicated stage,
* or false otherwise (in which case get_transform(stage) will return the
* identity transform).
*/
59
bool TexMatrixAttrib::has_stage(TextureStage *stage) const;
2021 14 get_num_stages 0 4 3609 31 TexMatrixAttrib::get_num_stages 0 1 142 76
/**
* Returns the number of stages that are represented by this attrib.
*/
48
int TexMatrixAttrib::get_num_stages(void) const;
2022 9 get_stage 0 4 3609 26 TexMatrixAttrib::get_stage 0 1 143 118
/**
* Returns the nth stage that is represented by this attrib. The
* TextureStages are in no particular order.
*/
54
TextureStage *TexMatrixAttrib::get_stage(int n) const;
2023 7 get_mat 0 4 3609 24 TexMatrixAttrib::get_mat 0 2 144 145 257
/**
* Returns the transformation matrix associated with the default texture
* stage.
*/
/**
* Returns the transformation matrix associated with the indicated texture
* stage, or identity matrix if nothing is associated with the indicated
* stage.
*/
122
LMatrix4 const &TexMatrixAttrib::get_mat(void) const;
LMatrix4 const &TexMatrixAttrib::get_mat(TextureStage *stage) const;
2024 13 get_transform 0 4 3609 30 TexMatrixAttrib::get_transform 0 1 146 155
/**
* Returns the transformation associated with the indicated texture stage, or
* identity matrix if nothing is associated with the indicated stage.
*/
91
ConstPointerTo< TransformState > TexMatrixAttrib::get_transform(TextureStage *stage) const;
2025 12 get_override 0 4 3609 29 TexMatrixAttrib::get_override 0 1 147 74
/**
* Returns the override value associated with the indicated stage.
*/
68
inline int TexMatrixAttrib::get_override(TextureStage *stage) const;
2026 18 get_geom_rendering 0 4 3609 35 TexMatrixAttrib::get_geom_rendering 0 1 148 185
/**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this TexMatrixAttrib is applied to a geom which includes the indicated
* geom_rendering bits.
*/
73
inline int TexMatrixAttrib::get_geom_rendering(int geom_rendering) const;
2027 14 get_class_slot 0 4 3609 31 TexMatrixAttrib::get_class_slot 0 1 149 0
49
static int TexMatrixAttrib::get_class_slot(void);
2028 14 get_class_type 0 4 3609 31 TexMatrixAttrib::get_class_type 0 1 150 0
56
static TypeHandle TexMatrixAttrib::get_class_type(void);
2029 10 compare_to 0 4 3610 23 RenderState::compare_to 0 1 151 365
/**
* Provides an arbitrary ordering among all unique RenderStates, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* This method is not needed outside of the RenderState class because all
* equivalent RenderState objects are guaranteed to share the same pointer;
* thus, a pointer comparison is always sufficient.
*/
60
int RenderState::compare_to(RenderState const &other) const;
2030 12 compare_sort 0 4 3610 25 RenderState::compare_sort 0 1 152 333
/**
* Returns -1, 0, or 1 according to the relative sorting of these two
* RenderStates, with regards to rendering performance, so that "heavier"
* RenderAttribs (as defined by RenderAttribRegistry::get_slot_sort()) are
* more likely to be grouped together. This is not related to the sorting
* order defined by compare_to.
*/
62
int RenderState::compare_sort(RenderState const &other) const;
2031 12 compare_mask 0 4 3610 25 RenderState::compare_mask 0 1 153 191
/**
* This version of compare_to takes a slot mask that indicates which
* attributes to include in the comparison. Unlike compare_to, this method
* compares the attributes by pointer.
*/
98
int RenderState::compare_mask(RenderState const &other, RenderState::SlotMask compare_mask) const;
2032 8 get_hash 0 4 3610 21 RenderState::get_hash 0 1 154 55
/**
* Returns a suitable hash value for phash_map.
*/
53
inline std::size_t RenderState::get_hash(void) const;
2033 8 is_empty 0 4 3610 21 RenderState::is_empty 0 1 155 63
/**
* Returns true if the state is empty, false otherwise.
*/
46
inline bool RenderState::is_empty(void) const;
2034 17 has_cull_callback 0 4 3610 30 RenderState::has_cull_callback 0 1 156 121
/**
* Returns true if any of the RenderAttribs in this state request a
* cull_callback(), false if none of them do.
*/
55
inline bool RenderState::has_cull_callback(void) const;
2035 13 cull_callback 0 4 3610 26 RenderState::cull_callback 0 1 157 183
/**
* Calls cull_callback() on each attrib. If any attrib returns false,
* interrupts the list and returns false immediately; otherwise, completes the
* list and returns true.
*/
90
bool RenderState::cull_callback(CullTraverser *trav, CullTraverserData const &data) const;
2036 10 make_empty 0 4 3610 23 RenderState::make_empty 0 1 158 56
/**
* Returns a RenderState with no attributes set.
*/
74
static inline ConstPointerTo< RenderState > RenderState::make_empty(void);
2037 4 make 0 4 3610 17 RenderState::make 0 5 159 160 161 162 163 353
/**
* Returns a RenderState with one attribute set.
*/
/**
* Returns a RenderState with two attributes set.
*/
/**
* Returns a RenderState with three attributes set.
*/
/**
* Returns a RenderState with four attributes set.
*/
/**
* Returns a RenderState with five attributes set.
*/
/**
* Returns a RenderState with n attributes set.
*/
929
static ConstPointerTo< RenderState > RenderState::make(RenderAttrib const *attrib, int override = 0);
static ConstPointerTo< RenderState > RenderState::make(RenderAttrib const *attrib1, RenderAttrib const *attrib2, int override = 0);
static ConstPointerTo< RenderState > RenderState::make(RenderAttrib const *attrib1, RenderAttrib const *attrib2, RenderAttrib const *attrib3, int override = 0);
static ConstPointerTo< RenderState > RenderState::make(RenderAttrib const *attrib1, RenderAttrib const *attrib2, RenderAttrib const *attrib3, RenderAttrib const *attrib4, int override = 0);
static ConstPointerTo< RenderState > RenderState::make(RenderAttrib const *attrib1, RenderAttrib const *attrib2, RenderAttrib const *attrib3, RenderAttrib const *attrib4, RenderAttrib const *attrib5, int override = 0);
static ConstPointerTo< RenderState > RenderState::make(RenderAttrib const *const *attrib, int num_attribs, int override = 0);
2038 7 compose 0 4 3610 20 RenderState::compose 0 1 164 399
/**
* Returns a new RenderState object that represents the composition of this
* state with the other state.
*
* The result of this operation is cached, and will be retained as long as
* both this RenderState object and the other RenderState object continue to
* exist. Should one of them destruct, the cached entry will be removed, and
* its pointer will be allowed to destruct as well.
*/
83
ConstPointerTo< RenderState > RenderState::compose(RenderState const *other) const;
2039 14 invert_compose 0 4 3610 27 RenderState::invert_compose 0 1 165 265
/**
* Returns a new RenderState object that represents the composition of this
* state's inverse with the other state.
*
* This is similar to compose(), but is particularly useful for computing the
* relative state of a node as viewed from some other node.
*/
90
ConstPointerTo< RenderState > RenderState::invert_compose(RenderState const *other) const;
2040 10 add_attrib 0 4 3610 23 RenderState::add_attrib 0 1 166 231
/**
* Returns a new RenderState object that represents the same as the source
* state, with the new RenderAttrib added. If there is already a RenderAttrib
* with the same type, it is replaced (unless the override is lower).
*/
106
ConstPointerTo< RenderState > RenderState::add_attrib(RenderAttrib const *attrib, int override = 0) const;
2041 10 set_attrib 0 4 3610 23 RenderState::set_attrib 0 2 167 168 518
/**
* Returns a new RenderState object that represents the same as the source
* state, with the new RenderAttrib added. If there is already a RenderAttrib
* with the same type, it is replaced unconditionally. The override is not
* changed.
*/
/**
* Returns a new RenderState object that represents the same as the source
* state, with the new RenderAttrib added. If there is already a RenderAttrib
* with the same type, it is replaced unconditionally. The override is also
* replaced unconditionally.
*/
191
ConstPointerTo< RenderState > RenderState::set_attrib(RenderAttrib const *attrib) const;
ConstPointerTo< RenderState > RenderState::set_attrib(RenderAttrib const *attrib, int override) const;
2042 13 remove_attrib 0 4 3610 26 RenderState::remove_attrib 0 2 169 170 268
/**
* Returns a new RenderState object that represents the same as the source
* state, with the indicated RenderAttrib removed.
*/
/**
* Returns a new RenderState object that represents the same as the source
* state, with the indicated RenderAttrib removed.
*/
161
inline ConstPointerTo< RenderState > RenderState::remove_attrib(TypeHandle type) const;
ConstPointerTo< RenderState > RenderState::remove_attrib(int slot) const;
2043 21 adjust_all_priorities 0 4 3610 34 RenderState::adjust_all_priorities 0 1 171 261
/**
* Returns a new RenderState object that represents the same as the source
* state, with all attributes' override values incremented (or decremented, if
* negative) by the indicated amount. If the override would drop below zero,
* it is set to zero.
*/
87
ConstPointerTo< RenderState > RenderState::adjust_all_priorities(int adjustment) const;
2044 10 has_attrib 0 4 3610 23 RenderState::has_attrib 0 2 172 173 182
/**
* Returns true if an attrib of the indicated type is present, false
* otherwise.
*/
/**
* Returns true if an attrib of the indicated type is present, false
* otherwise.
*/
112
inline bool RenderState::has_attrib(TypeHandle type) const;
inline bool RenderState::has_attrib(int slot) const;
2045 10 get_attrib 0 4 3610 23 RenderState::get_attrib 0 2 174 175 253
/**
* Looks for a RenderAttrib of the indicated type in the state, and returns it
* if it is found, or NULL if it is not.
*/
/**
* Returns the RenderAttrib with the indicated slot index, or NULL if there is
* no such RenderAttrib in the state.
*/
142
inline RenderAttrib const *RenderState::get_attrib(TypeHandle type) const;
inline RenderAttrib const *RenderState::get_attrib(int slot) const;
2046 14 get_attrib_def 0 4 3610 27 RenderState::get_attrib_def 0 1 176 152
/**
* Returns the RenderAttrib with the indicated slot index, or the default
* attrib for that slot if there is no such RenderAttrib in the state.
*/
71
inline RenderAttrib const *RenderState::get_attrib_def(int slot) const;
2047 12 get_override 0 4 3610 25 RenderState::get_override 0 2 177 178 282
/**
* Looks for a RenderAttrib of the indicated type in the state, and returns
* its override value if it is found, or 0 if it is not.
*/
/**
* Looks for a RenderAttrib of the indicated type in the state, and returns
* its override value if it is found, or 0 if it is not.
*/
114
inline int RenderState::get_override(TypeHandle type) const;
inline int RenderState::get_override(int slot) const;
2048 0 0 0 0 0 0 0 0
0
2049 10 get_unique 0 4 3610 23 RenderState::get_unique 0 1 179 328
/**
* Returns the pointer to the unique RenderState in the cache that is
* equivalent to this one. This may be the same pointer as this object, or it
* may be a different pointer; but it will be an equivalent object, and it
* will be a shared pointer. This may be called from time to time to improve
* cache benefits.
*/
73
inline ConstPointerTo< RenderState > RenderState::get_unique(void) const;
2050 9 cache_ref 0 4 3610 22 RenderState::cache_ref 0 1 180 64
/**
* Overrides this method to update PStats appropriately.
*/
47
inline void RenderState::cache_ref(void) const;
2051 11 cache_unref 0 4 3610 24 RenderState::cache_unref 0 1 181 64
/**
* Overrides this method to update PStats appropriately.
*/
49
inline bool RenderState::cache_unref(void) const;
2052 8 node_ref 0 4 3610 21 RenderState::node_ref 0 1 182 64
/**
* Overrides this method to update PStats appropriately.
*/
46
inline void RenderState::node_ref(void) const;
2053 10 node_unref 0 4 3610 23 RenderState::node_unref 0 1 183 64
/**
* Overrides this method to update PStats appropriately.
*/
48
inline bool RenderState::node_unref(void) const;
2054 33 get_composition_cache_num_entries 0 4 3610 46 RenderState::get_composition_cache_num_entries 0 1 184 272
/**
* Returns the number of entries in the composition cache for this
* RenderState. This is the number of other RenderStates whose composition
* with this one has been cached. This number is not useful for any practical
* reason other than performance analysis.
*/
78
inline std::size_t RenderState::get_composition_cache_num_entries(void) const;
2055 40 get_invert_composition_cache_num_entries 0 4 3610 53 RenderState::get_invert_composition_cache_num_entries 0 1 185 253
/**
* Returns the number of entries in the invert_composition cache for this
* RenderState. This is similar to the composition cache, but it records
* cache entries for the invert_compose() operation. See
* get_composition_cache_num_entries().
*/
85
inline std::size_t RenderState::get_invert_composition_cache_num_entries(void) const;
2056 26 get_composition_cache_size 0 4 3610 39 RenderState::get_composition_cache_size 0 1 186 330
/**
* Returns the number of slots in the composition cache for this RenderState.
* You may use this as an upper bound when walking through all of the
* composition cache results via get_composition_cache_source() or result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
71
inline std::size_t RenderState::get_composition_cache_size(void) const;
2057 28 get_composition_cache_source 0 4 3610 41 RenderState::get_composition_cache_source 0 1 187 298
/**
* Returns the source RenderState of the nth element in the composition cache.
* Returns NULL if there doesn't happen to be an entry in the nth element.
* See get_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
89
inline RenderState const *RenderState::get_composition_cache_source(std::size_t n) const;
2058 28 get_composition_cache_result 0 4 3610 41 RenderState::get_composition_cache_result 0 1 188 366
/**
* Returns the result RenderState of the nth element in the composition cache.
* Returns NULL if there doesn't happen to be an entry in the nth element.
*
* In general, a->compose(a->get_composition_cache_source(n)) ==
* a->get_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
89
inline RenderState const *RenderState::get_composition_cache_result(std::size_t n) const;
2059 33 get_invert_composition_cache_size 0 4 3610 46 RenderState::get_invert_composition_cache_size 0 1 189 340
/**
* Returns the number of slots in the composition cache for this RenderState.
* You may use this as an upper bound when walking through all of the
* composition cache results via get_invert_composition_cache_source() or
* result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
78
inline std::size_t RenderState::get_invert_composition_cache_size(void) const;
2060 35 get_invert_composition_cache_source 0 4 3610 48 RenderState::get_invert_composition_cache_source 0 1 190 314
/**
* Returns the source RenderState of the nth element in the invert composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element. See get_invert_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
96
inline RenderState const *RenderState::get_invert_composition_cache_source(std::size_t n) const;
2061 35 get_invert_composition_cache_result 0 4 3610 48 RenderState::get_invert_composition_cache_result 0 1 191 398
/**
* Returns the result RenderState of the nth element in the invert composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element.
*
* In general, a->invert_compose(a->get_invert_composition_cache_source(n)) ==
* a->get_invert_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/
96
inline RenderState const *RenderState::get_invert_composition_cache_result(std::size_t n) const;
2062 21 get_composition_cache 0 4 3610 34 RenderState::get_composition_cache 0 1 192 0
57
PyObject *RenderState::get_composition_cache(void) const;
2063 28 get_invert_composition_cache 0 4 3610 41 RenderState::get_invert_composition_cache 0 1 193 0
64
PyObject *RenderState::get_invert_composition_cache(void) const;
2064 6 output 0 4 3610 19 RenderState::output 0 1 194 10
/**
*
*/
50
void RenderState::output(std::ostream &out) const;
2065 5 write 0 4 3610 18 RenderState::write 0 1 195 10
/**
*
*/
67
void RenderState::write(std::ostream &out, int indent_level) const;
2066 16 get_max_priority 0 4 3610 29 RenderState::get_max_priority 0 1 196 297
/**
* Returns the maximum priority number (sometimes called override) that may be
* set on any node. This may or may not be enforced, but the scene graph code
* assumes that no priority numbers will be larger than this, and some effects
* may not work properly if you use a larger number.
*/
47
static int RenderState::get_max_priority(void);
2067 14 get_num_states 0 4 3610 27 RenderState::get_num_states 0 1 197 144
/**
* Returns the total number of unique RenderState objects allocated in the
* world. This will go up and down during normal operations.
*/
45
static int RenderState::get_num_states(void);
2068 21 get_num_unused_states 0 4 3610 34 RenderState::get_num_unused_states 0 1 198 596
/**
* Returns the total number of RenderState objects that have been allocated
* but have no references outside of the internal RenderState cache.
*
* A nonzero return value is not necessarily indicative of leaked references;
* it is normal for two RenderState objects, both of which have references
* held outside the cache, to have to result of their composition stored
* within the cache. This result will be retained within the cache until one
* of the base RenderStates is released.
*
* Use list_cycles() to get an idea of the number of actual "leaked"
* RenderState objects.
*/
52
static int RenderState::get_num_unused_states(void);
2069 11 clear_cache 0 4 3610 24 RenderState::clear_cache 0 1 199 593
/**
* Empties the cache of composed RenderStates. This makes every RenderState
* forget what results when it is composed with other RenderStates.
*
* This will eliminate any RenderState objects that have been allocated but
* have no references outside of the internal RenderState map. It will not
* eliminate RenderState objects that are still in use.
*
* Nowadays, this method should not be necessary, as reference-count cycles in
* the composition cache should be automatically detected and broken.
*
* The return value is the number of RenderStates freed by this operation.
*/
42
static int RenderState::clear_cache(void);
2070 18 clear_munger_cache 0 4 3610 31 RenderState::clear_munger_cache 0 1 200 146
/**
* Completely empties the cache of state + gsg -> munger, for all states and
* all gsg's. Normally there is no need to empty this cache.
*/
50
static void RenderState::clear_munger_cache(void);
2071 15 garbage_collect 0 4 3610 28 RenderState::garbage_collect 0 1 201 366
/**
* Performs a garbage-collection cycle. This must be called periodically if
* garbage-collect-states is true to ensure that RenderStates get cleaned up
* appropriately. It does no harm to call it even if this variable is not
* true, but there is probably no advantage in that case.
*
* This automatically calls RenderAttrib::garbage_collect() as well.
*/
46
static int RenderState::garbage_collect(void);
2072 11 list_cycles 0 4 3610 24 RenderState::list_cycles 0 1 202 565
/**
* Detects all of the reference-count cycles in the cache and reports them to
* standard output.
*
* These cycles may be inadvertently created when state compositions cycle
* back to a starting point. Nowadays, these cycles should be automatically
* detected and broken, so this method should never list any cycles unless
* there is a bug in that detection logic.
*
* The cycles listed here are not leaks in the strictest sense of the word,
* since they can be reclaimed by a call to clear_cache(); but they will not
* be reclaimed automatically.
*/
56
static void RenderState::list_cycles(std::ostream &out);
2073 11 list_states 0 4 3610 24 RenderState::list_states 0 1 203 169
/**
* Lists all of the RenderStates in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/
56
static void RenderState::list_states(std::ostream &out);
2074 15 validate_states 0 4 3610 28 RenderState::validate_states 0 1 204 279
/**
* Ensures that the cache is still stored in sorted order, and that none of
* the cache elements have been inadvertently deleted. Returns true if so,
* false if there is a problem (which implies someone has modified one of the
* supposedly-const RenderState objects).
*/
47
static bool RenderState::validate_states(void);
2075 10 get_states 0 4 3610 23 RenderState::get_states 0 1 205 0
47
static PyObject *RenderState::get_states(void);
2076 14 get_draw_order 0 4 3610 27 RenderState::get_draw_order 0 1 206 282
// These methods are intended for use by low-level code, but they're also
// handy enough to expose to high-level users.
/**
* Returns the draw order indicated by the CullBinAttrib, if any, associated
* by this state (or 0 if there is no CullBinAttrib). See get_bin_index().
*/
51
inline int RenderState::get_draw_order(void) const;
2077 13 get_bin_index 0 4 3610 26 RenderState::get_bin_index 0 1 207 246
/**
* Returns the bin index indicated by the CullBinAttrib, if any, associated by
* this state (or the default bin index if there is no CullBinAttrib). This
* function is provided as an optimization for determining this at render
* time.
*/
50
inline int RenderState::get_bin_index(void) const;
2078 18 get_geom_rendering 0 4 3610 31 RenderState::get_geom_rendering 0 1 208 181
/**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this RenderState is applied to a geom which includes the indicated
* geom_rendering bits.
*/
62
int RenderState::get_geom_rendering(int geom_rendering) const;
2079 14 get_class_type 0 4 3610 27 RenderState::get_class_type 0 1 209 0
52
static TypeHandle RenderState::get_class_type(void);
2080 4 make 0 4 3613 21 AlphaTestAttrib::make 0 1 210 51
/**
* Constructs a new AlphaTestAttrib object.
*/
126
static ConstPointerTo< RenderAttrib > AlphaTestAttrib::make(RenderAttrib::PandaCompareFunc mode, PN_stdfloat reference_alpha);
2081 12 make_default 0 4 3613 29 AlphaTestAttrib::make_default 0 1 211 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
74
static ConstPointerTo< RenderAttrib > AlphaTestAttrib::make_default(void);
2082 19 get_reference_alpha 0 4 3613 36 AlphaTestAttrib::get_reference_alpha 0 1 212 45
/**
* Returns the alpha reference value.
*/
68
inline PN_stdfloat AlphaTestAttrib::get_reference_alpha(void) const;
2083 8 get_mode 0 4 3613 25 AlphaTestAttrib::get_mode 0 1 213 40
/**
* Returns the alpha write mode.
*/
76
inline RenderAttrib::PandaCompareFunc AlphaTestAttrib::get_mode(void) const;
2084 14 get_class_slot 0 4 3613 31 AlphaTestAttrib::get_class_slot 0 1 214 0
49
static int AlphaTestAttrib::get_class_slot(void);
2085 14 get_class_type 0 4 3613 31 AlphaTestAttrib::get_class_type 0 1 215 0
56
static TypeHandle AlphaTestAttrib::get_class_type(void);
2086 16 ~AlphaTestAttrib 0 4 3613 33 AlphaTestAttrib::~AlphaTestAttrib 0 0 0
40
AlphaTestAttrib::~AlphaTestAttrib(void);
2087 4 make 0 4 3614 21 AntialiasAttrib::make 0 1 216 1313
/**
* Constructs a new AntialiasAttrib object.
*
* The mode should be either M_none, M_auto, or a union of any or all of
* M_point, M_line, M_polygon, and M_multisample. Also, in addition to the
* above choices, it may include either of M_better of M_faster to specify a
* performance/quality tradeoff hint.
*
* If M_none is specified, no antialiasing is performed.
*
* If M_multisample is specified, it means to use the special framebuffer
* multisample bits for antialiasing, if it is available. If so, the M_point,
* M_line, and M_polygon modes are ignored. This advanced antialiasing mode
* is only available on certain graphics hardware. If it is not available,
* the M_multisample bit is ignored (and the other modes may be used instead,
* if specified).
*
* M_point, M_line, and/or M_polygon specify per-primitive smoothing. When
* enabled, M_point and M_line may force transparency on. M_polygon requires
* a frame buffer that includes an alpha channel, and it works best if the
* primitives are sorted front-to-back.
*
* If M_auto is specified, M_multisample is selected if it is available,
* otherwise M_polygon is selected, unless drawing lines or points, in which
* case M_line or M_point is selected (these two generally produce better
* results than M_multisample)
*/
85
static ConstPointerTo< RenderAttrib > AntialiasAttrib::make(unsigned short int mode);
2088 12 make_default 0 4 3614 29 AntialiasAttrib::make_default 0 1 217 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
74
static ConstPointerTo< RenderAttrib > AntialiasAttrib::make_default(void);
2089 8 get_mode 0 4 3614 25 AntialiasAttrib::get_mode 0 1 218 48
/**
* Returns the specified antialias mode.
*/
64
inline unsigned short int AntialiasAttrib::get_mode(void) const;
2090 13 get_mode_type 0 4 3614 30 AntialiasAttrib::get_mode_type 0 1 219 200
/**
* Returns the specified antialias mode, with the quality bits masked out.
* This therefore indicates only the requested type of antialiasing: M_none,
* M_auto, or some specific combination.
*/
69
inline unsigned short int AntialiasAttrib::get_mode_type(void) const;
2091 16 get_mode_quality 0 4 3614 33 AntialiasAttrib::get_mode_quality 0 1 220 211
/**
* Returns the specified antialias mode, with the type bits masked out. This
* therefore indicates only the requested quality settings: one of M_faster,
* M_better, M_dont_care, or zero (unspecified).
*/
72
inline unsigned short int AntialiasAttrib::get_mode_quality(void) const;
2092 14 get_class_slot 0 4 3614 31 AntialiasAttrib::get_class_slot 0 1 221 0
49
static int AntialiasAttrib::get_class_slot(void);
2093 14 get_class_type 0 4 3614 31 AntialiasAttrib::get_class_type 0 1 222 0
56
static TypeHandle AntialiasAttrib::get_class_type(void);
2094 16 ~AntialiasAttrib 0 4 3614 33 AntialiasAttrib::~AntialiasAttrib 0 0 0
40
AntialiasAttrib::~AntialiasAttrib(void);
2095 10 compare_to 0 4 3617 24 RenderEffect::compare_to 0 1 223 368
/**
* Provides an arbitrary ordering among all unique RenderEffects, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* This method is not needed outside of the RenderEffect class because all
* equivalent RenderEffect objects are guaranteed to share the same pointer;
* thus, a pointer comparison is always sufficient.
*/
69
inline int RenderEffect::compare_to(RenderEffect const &other) const;
2096 6 output 0 6 3617 20 RenderEffect::output 0 1 224 10
/**
*
*/
59
virtual void RenderEffect::output(std::ostream &out) const;
2097 5 write 0 6 3617 19 RenderEffect::write 0 1 225 10
/**
*
*/
76
virtual void RenderEffect::write(std::ostream &out, int indent_level) const;
2098 15 get_num_effects 0 4 3617 29 RenderEffect::get_num_effects 0 1 226 145
/**
* Returns the total number of unique RenderEffect objects allocated in the
* world. This will go up and down during normal operations.
*/
47
static int RenderEffect::get_num_effects(void);
2099 12 list_effects 0 4 3617 26 RenderEffect::list_effects 0 1 227 170
/**
* Lists all of the RenderEffects in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/
58
static void RenderEffect::list_effects(std::ostream &out);
2100 16 validate_effects 0 4 3617 30 RenderEffect::validate_effects 0 1 228 208
/**
* Ensures that the cache is still stored in sorted order. Returns true if
* so, false if there is a problem (which implies someone has modified one of
* the supposedly-const RenderEffect objects).
*/
49
static bool RenderEffect::validate_effects(void);
2101 14 get_class_type 0 4 3617 28 RenderEffect::get_class_type 0 1 229 0
53
static TypeHandle RenderEffect::get_class_type(void);
2102 10 operator < 0 4 3618 25 RenderEffects::operator < 0 1 230 0
65
bool RenderEffects::operator <(RenderEffects const &other) const;
2103 8 is_empty 0 4 3618 23 RenderEffects::is_empty 0 1 231 63
/**
* Returns true if the state is empty, false otherwise.
*/
48
inline bool RenderEffects::is_empty(void) const;
2104 15 get_num_effects 0 4 3618 30 RenderEffects::get_num_effects 0 1 232 151
/**
* Returns the number of separate effects indicated in the state.
* @deprecated in Python, use len(effects) instead, or effects.size() in C++.
*/
62
inline std::size_t RenderEffects::get_num_effects(void) const;
2105 10 get_effect 0 4 3618 25 RenderEffects::get_effect 0 2 233 234 176
/**
* Returns the nth effect in the state.
*/
/**
* Looks for a RenderEffect of the indicated type in the state, and returns it
* if it is found, or NULL if it is not.
*/
144
inline RenderEffect const *RenderEffects::get_effect(std::size_t n) const;
RenderEffect const *RenderEffects::get_effect(TypeHandle type) const;
2106 4 size 0 4 3618 19 RenderEffects::size 0 1 235 73
/**
* Returns the number of separate effects indicated in the state.
*/
51
inline std::size_t RenderEffects::size(void) const;
2107 11 operator [] 0 4 3618 26 RenderEffects::operator [] 0 2 236 237 112
/**
* Returns the nth effect in the state.
*/
/**
* Returns the effect in the state with the given type.
*/
153
inline RenderEffect const *RenderEffects::operator [](std::size_t n) const;
inline RenderEffect const *RenderEffects::operator [](TypeHandle type) const;
2108 11 find_effect 0 4 3618 26 RenderEffects::find_effect 0 1 238 132
/**
* Searches for an effect with the indicated type in the state, and returns
* its index if it is found, or -1 if it is not.
*/
54
int RenderEffects::find_effect(TypeHandle type) const;
2109 10 make_empty 0 4 3618 25 RenderEffects::make_empty 0 1 239 55
/**
* Returns a RenderEffects with no effects set.
*/
71
static ConstPointerTo< RenderEffects > RenderEffects::make_empty(void);
2110 4 make 0 4 3618 19 RenderEffects::make 0 4 240 241 242 243 232
/**
* Returns a RenderEffects with one effect set.
*/
/**
* Returns a RenderEffects with two effects set.
*/
/**
* Returns a RenderEffects with three effects set.
*/
/**
* Returns a RenderEffects with four effects set.
*/
528
static ConstPointerTo< RenderEffects > RenderEffects::make(RenderEffect const *effect);
static ConstPointerTo< RenderEffects > RenderEffects::make(RenderEffect const *effect1, RenderEffect const *effect2);
static ConstPointerTo< RenderEffects > RenderEffects::make(RenderEffect const *effect1, RenderEffect const *effect2, RenderEffect const *effect3);
static ConstPointerTo< RenderEffects > RenderEffects::make(RenderEffect const *effect1, RenderEffect const *effect2, RenderEffect const *effect3, RenderEffect const *effect4);
2111 10 add_effect 0 4 3618 25 RenderEffects::add_effect 0 1 244 202
/**
* Returns a new RenderEffects object that represents the same as the source
* state, with the new RenderEffect added. If there is already a RenderEffect
* with the same type, it is replaced.
*/
92
ConstPointerTo< RenderEffects > RenderEffects::add_effect(RenderEffect const *effect) const;
2112 13 remove_effect 0 4 3618 28 RenderEffects::remove_effect 0 1 245 135
/**
* Returns a new RenderEffects object that represents the same as the source
* state, with the indicated RenderEffect removed.
*/
84
ConstPointerTo< RenderEffects > RenderEffects::remove_effect(TypeHandle type) const;
2113 6 output 0 4 3618 21 RenderEffects::output 0 1 246 10
/**
*
*/
52
void RenderEffects::output(std::ostream &out) const;
2114 5 write 0 4 3618 20 RenderEffects::write 0 1 247 10
/**
*
*/
69
void RenderEffects::write(std::ostream &out, int indent_level) const;
2115 14 get_num_states 0 4 3618 29 RenderEffects::get_num_states 0 1 248 146
/**
* Returns the total number of unique RenderEffects objects allocated in the
* world. This will go up and down during normal operations.
*/
47
static int RenderEffects::get_num_states(void);
2116 11 list_states 0 4 3618 26 RenderEffects::list_states 0 1 249 170
/**
* Lists all of the RenderEffects in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/
58
static void RenderEffects::list_states(std::ostream &out);
2117 15 validate_states 0 4 3618 30 RenderEffects::validate_states 0 1 250 209
/**
* Ensures that the cache is still stored in sorted order. Returns true if
* so, false if there is a problem (which implies someone has modified one of
* the supposedly-const RenderEffects objects).
*/
49
static bool RenderEffects::validate_states(void);
2118 14 get_class_type 0 4 3618 29 RenderEffects::get_class_type 0 1 251 0
54
static TypeHandle RenderEffects::get_class_type(void);
2119 37 upcast_to_TypedWritableReferenceCount 0 12 3619 48 PandaNode::upcast_to_TypedWritableReferenceCount 0 1 373 52
upcast from PandaNode to TypedWritableReferenceCount
84
TypedWritableReferenceCount *PandaNode::upcast_to_TypedWritableReferenceCount(void);
2120 21 downcast_to_PandaNode 0 12 3596 50 TypedWritableReferenceCount::downcast_to_PandaNode 0 0 54
downcast from TypedWritableReferenceCount to PandaNode
68
PandaNode *TypedWritableReferenceCount::downcast_to_PandaNode(void);
2121 17 upcast_to_Namable 0 12 3619 28 PandaNode::upcast_to_Namable 0 1 374 32
upcast from PandaNode to Namable
44
Namable *PandaNode::upcast_to_Namable(void);
2122 21 downcast_to_PandaNode 0 12 3620 30 Namable::downcast_to_PandaNode 0 0 34
downcast from Namable to PandaNode
48
PandaNode *Namable::downcast_to_PandaNode(void);
2123 24 upcast_to_LinkedListNode 0 12 3619 35 PandaNode::upcast_to_LinkedListNode 0 1 375 39
upcast from PandaNode to LinkedListNode
58
LinkedListNode *PandaNode::upcast_to_LinkedListNode(void);
2124 21 downcast_to_PandaNode 0 12 3621 37 LinkedListNode::downcast_to_PandaNode 0 0 41
downcast from LinkedListNode to PandaNode
55
PandaNode *LinkedListNode::downcast_to_PandaNode(void);
2125 9 PandaNode 0 4 3619 20 PandaNode::PandaNode 0 1 252 138
/**
*
*/
/**
* Do not call the copy constructor directly; instead, use make_copy() or
* copy_subgraph() to make a copy of a node.
*/
55
explicit PandaNode::PandaNode(std::string const &name);
2126 10 ~PandaNode 0 6 3619 21 PandaNode::~PandaNode 0 0 10
/**
*
*/
36
virtual PandaNode::~PandaNode(void);
2127 12 combine_with 0 6 3619 23 PandaNode::combine_with 0 1 253 525
// published so that characters can be combined.
/**
* Collapses this PandaNode with the other PandaNode, if possible, and returns
* a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot
* safely be combined.
*
* The return value may be this, other, or a new PandaNode altogether.
*
* This function is called from GraphReducer::flatten(), and need not deal
* with children; its job is just to decide whether to collapse the two
* PandaNodes and what the collapsed PandaNode should look like.
*/
61
virtual PandaNode *PandaNode::combine_with(PandaNode *other);
2128 9 make_copy 0 6 3619 20 PandaNode::make_copy 0 1 254 234
/**
* Returns a newly-allocated PandaNode that is a shallow copy of this one. It
* will be a different pointer, but its internal data may or may not be shared
* with that of the original PandaNode. No children will be copied.
*/
52
virtual PandaNode *PandaNode::make_copy(void) const;
2129 13 copy_subgraph 0 4 3619 24 PandaNode::copy_subgraph 0 1 255 264
/**
* Allocates and returns a complete copy of this PandaNode and the entire
* scene graph rooted at this PandaNode. Some data may still be shared from
* the original (e.g. vertex index tables), but nothing that will impede
* normal use of the PandaNode.
*/
109
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = Thread::get_current_thread()) const;
2130 8 __copy__ 0 4 3619 19 PandaNode::__copy__ 0 1 256 0
55
PointerTo< PandaNode > PandaNode::__copy__(void) const;
2131 12 __deepcopy__ 0 4 3619 23 PandaNode::__deepcopy__ 0 1 257 0
72
PyObject *PandaNode::__deepcopy__(PyObject *self, PyObject *memo) const;
2132 15 get_num_parents 0 4 3619 26 PandaNode::get_num_parents 0 1 258 264
/**
* Returns the number of parent nodes this node has. If this number is
* greater than 1, the node has been multiply instanced. The order of the
* parent nodes is not meaningful and is not related to the order in which the
* node was instanced to them.
*/
99
inline int PandaNode::get_num_parents(Thread *current_thread = Thread::get_current_thread()) const;
2133 10 get_parent 0 4 3619 21 PandaNode::get_parent 0 1 259 219
/**
* Returns the nth parent node of this node. See get_num_parents(). Also see
* get_parents(), if your intention is to iterate through the complete list of
* parents; get_parents() is preferable in this case.
*/
108
inline PandaNode *PandaNode::get_parent(int n, Thread *current_thread = Thread::get_current_thread()) const;
2134 11 find_parent 0 4 3619 22 PandaNode::find_parent 0 1 260 100
/**
* Returns the index of the indicated parent node, if it is a parent, or -1 if
* it is not.
*/
112
inline int PandaNode::find_parent(PandaNode *node, Thread *current_thread = Thread::get_current_thread()) const;
2135 16 get_num_children 0 4 3619 27 PandaNode::get_num_children 0 1 261 228
/**
* Returns the number of child nodes this node has. The order of the child
* nodes *is* meaningful and is based on the sort number that was passed to
* add_child(), and also on the order in which the nodes were added.
*/
100
inline int PandaNode::get_num_children(Thread *current_thread = Thread::get_current_thread()) const;
2136 9 get_child 0 4 3619 20 PandaNode::get_child 0 1 262 222
/**
* Returns the nth child node of this node. See get_num_children(). Also see
* get_children(), if your intention is to iterate through the complete list
* of children; get_children() is preferable in this case.
*/
107
inline PandaNode *PandaNode::get_child(int n, Thread *current_thread = Thread::get_current_thread()) const;
2137 14 get_child_sort 0 4 3619 25 PandaNode::get_child_sort 0 1 263 150
/**
* Returns the sort index of the nth child node of this node (that is, the
* number that was passed to add_child()). See get_num_children().
*/
105
inline int PandaNode::get_child_sort(int n, Thread *current_thread = Thread::get_current_thread()) const;
2138 10 find_child 0 4 3619 21 PandaNode::find_child 0 1 264 98
/**
* Returns the index of the indicated child node, if it is a child, or -1 if
* it is not.
*/
111
inline int PandaNode::find_child(PandaNode *node, Thread *current_thread = Thread::get_current_thread()) const;
2139 21 count_num_descendants 0 4 3619 32 PandaNode::count_num_descendants 0 1 265 63
/**
* Returns the number of nodes at and below this level.
*/
49
int PandaNode::count_num_descendants(void) const;
2140 9 add_child 0 4 3619 20 PandaNode::add_child 0 1 266 285
/**
* Adds a new child to the node. The child is added in the relative position
* indicated by sort; if all children have the same sort index, the child is
* added at the end.
*
* If the same child is added to a node more than once, the previous instance
* is first removed.
*/
118
void PandaNode::add_child(PandaNode *child_node, int sort = 0, Thread *current_thread = Thread::get_current_thread());
2141 12 remove_child 0 4 3619 23 PandaNode::remove_child 0 2 267 268 267
/**
* Removes the nth child from the node.
*/
/**
* Removes the indicated child from the node. Returns true if the child was
* removed, false if it was not already a child of the node. This will also
* successfully remove the child if it had been stashed.
*/
209
void PandaNode::remove_child(int child_index, Thread *current_thread = Thread::get_current_thread());
bool PandaNode::remove_child(PandaNode *child_node, Thread *current_thread = Thread::get_current_thread());
2142 13 replace_child 0 4 3619 24 PandaNode::replace_child 0 1 269 241
/**
* Searches for the orig_child node in the node's list of children, and
* replaces it with the new_child instead. Returns true if the replacement is
* made, or false if the node is not a child or if there is some other
* problem.
*/
130
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = Thread::get_current_thread());
2143 11 stash_child 0 4 3619 22 PandaNode::stash_child 0 2 270 271 1018
/**
* Stashes the indicated child node. This removes the child from the list of
* active children and puts it on a special list of stashed children. This
* child node no longer contributes to the bounding volume of the PandaNode,
* and is not visited in normal traversals. It is invisible and uncollidable.
* The child may later be restored by calling unstash_child().
*
* This function returns true if the child node was successfully stashed, or
* false if it was not a child of the node in the first place (e.g. it was
* previously stashed).
*/
/**
* Stashes the indicated child node. This removes the child from the list of
* active children and puts it on a special list of stashed children. This
* child node no longer contributes to the bounding volume of the PandaNode,
* and is not visited in normal traversals. It is invisible and uncollidable.
* The child may later be restored by calling unstash_child().
*
* This can only be called from the top pipeline stage (i.e. from App).
*/
214
inline bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = Thread::get_current_thread());
void PandaNode::stash_child(int child_index, Thread *current_thread = Thread::get_current_thread());
2144 13 unstash_child 0 4 3619 24 PandaNode::unstash_child 0 2 272 273 946
/**
* Returns the indicated stashed node to normal child status. This removes
* the child from the list of stashed children and puts it on the normal list
* of active children. This child node once again contributes to the bounding
* volume of the PandaNode, and will be visited in normal traversals. It is
* visible and collidable.
*
* This function returns true if the child node was successfully stashed, or
* false if it was not a child of the node in the first place (e.g. it was
* previously stashed).
*/
/**
* Returns the indicated stashed node to normal child status. This removes
* the child from the list of stashed children and puts it on the normal list
* of active children. This child node once again contributes to the bounding
* volume of the PandaNode, and will be visited in normal traversals. It is
* visible and collidable.
*
* This can only be called from the top pipeline stage (i.e. from App).
*/
220
inline bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = Thread::get_current_thread());
void PandaNode::unstash_child(int stashed_index, Thread *current_thread = Thread::get_current_thread());
2145 15 get_num_stashed 0 4 3619 26 PandaNode::get_num_stashed 0 1 274 174
/**
* Returns the number of stashed nodes this node has. These are former
* children of the node that have been moved to the special stashed list via
* stash_child().
*/
99
inline int PandaNode::get_num_stashed(Thread *current_thread = Thread::get_current_thread()) const;
2146 11 get_stashed 0 4 3619 22 PandaNode::get_stashed 0 2 275 276 856
/**
* Returns the nth stashed child of this node. See get_num_stashed(). Also
* see get_stashed(), if your intention is to iterate through the complete
* list of stashed children; get_stashed() is preferable in this case.
*/
/**
* Returns an object that can be used to walk through the list of children of
* the node. When you intend to visit multiple children, using this is
* slightly faster than calling get_stashed() directly on the PandaNode, since
* this object avoids reopening the PipelineCycler each time.
*
* This object also protects you from self-modifying loops (e.g. adding or
* removing children during traversal), since a virtual copy of the children
* is made ahead of time. The virtual copy is fast--it is a form of copy-on-
* write, so the list is not actually copied unless it is modified during the
* traversal.
*/
220
inline PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = Thread::get_current_thread()) const;
inline PandaNode::Stashed PandaNode::get_stashed(Thread *current_thread = Thread::get_current_thread()) const;
2147 16 get_stashed_sort 0 4 3619 27 PandaNode::get_stashed_sort 0 1 277 151
/**
* Returns the sort index of the nth stashed node of this node (that is, the
* number that was passed to add_child()). See get_num_stashed().
*/
107
inline int PandaNode::get_stashed_sort(int n, Thread *current_thread = Thread::get_current_thread()) const;
2148 12 find_stashed 0 4 3619 23 PandaNode::find_stashed 0 1 278 108
/**
* Returns the index of the indicated stashed node, if it is a stashed child,
* or -1 if it is not.
*/
113
inline int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = Thread::get_current_thread()) const;
2149 11 add_stashed 0 4 3619 22 PandaNode::add_stashed 0 1 279 361
/**
* Adds a new child to the node, directly as a stashed child. The child is
* not added in the normal sense, but will be revealed if unstash_child() is
* called on it later.
*
* If the same child is added to a node more than once, the previous instance
* is first removed.
*
* This can only be called from the top pipeline stage (i.e. from App).
*/
120
void PandaNode::add_stashed(PandaNode *child_node, int sort = 0, Thread *current_thread = Thread::get_current_thread());
2150 14 remove_stashed 0 4 3619 25 PandaNode::remove_stashed 0 1 280 55
/**
* Removes the nth stashed child from the node.
*/
103
void PandaNode::remove_stashed(int child_index, Thread *current_thread = Thread::get_current_thread());
2151 19 remove_all_children 0 4 3619 30 PandaNode::remove_all_children 0 1 281 162
/**
* Removes all the children from the node at once, including stashed children.
*
* This can only be called from the top pipeline stage (i.e. from App).
*/
91
void PandaNode::remove_all_children(Thread *current_thread = Thread::get_current_thread());
2152 14 steal_children 0 4 3619 25 PandaNode::steal_children 0 1 282 177
/**
* Moves all the children from the other node onto this node.
*
* Any NodePaths to child nodes of the other node are truncated, rather than
* moved to the new parent.
*/
104
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = Thread::get_current_thread());
2153 13 copy_children 0 4 3619 24 PandaNode::copy_children 0 1 283 102
/**
* Makes another instance of all the children of the other node, copying them
* to this node.
*/
103
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = Thread::get_current_thread());
2154 10 set_attrib 0 4 3619 21 PandaNode::set_attrib 0 1 284 220
/**
* Adds the indicated render attribute to the scene graph on this node. This
* attribute will now apply to this node and everything below. If there was
* already an attribute of the same type, it is replaced.
*/
73
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = 0);
2155 10 get_attrib 0 4 3619 21 PandaNode::get_attrib 0 2 285 286 542
/**
* Returns the render attribute of the indicated type, if it is defined on the
* node, or NULL if it is not. This checks only what is set on this
* particular node level, and has nothing to do with what render attributes
* may be inherited from parent nodes.
*/
/**
* Returns the render attribute of the indicated type, if it is defined on the
* node, or NULL if it is not. This checks only what is set on this
* particular node level, and has nothing to do with what render attributes
* may be inherited from parent nodes.
*/
160
inline ConstPointerTo< RenderAttrib > PandaNode::get_attrib(TypeHandle type) const;
inline ConstPointerTo< RenderAttrib > PandaNode::get_attrib(int slot) const;
2156 10 has_attrib 0 4 3619 21 PandaNode::has_attrib 0 2 287 288 256
/**
* Returns true if there is a render attribute of the indicated type defined
* on this node, or false if there is not.
*/
/**
* Returns true if there is a render attribute of the indicated type defined
* on this node, or false if there is not.
*/
108
inline bool PandaNode::has_attrib(TypeHandle type) const;
inline bool PandaNode::has_attrib(int slot) const;
2157 12 clear_attrib 0 4 3619 23 PandaNode::clear_attrib 0 2 289 290 390
/**
* Removes the render attribute of the given type from this node. This node,
* and the subgraph below, will now inherit the indicated render attribute
* from the nodes above this one.
*/
/**
* Removes the render attribute of the given type from this node. This node,
* and the subgraph below, will now inherit the indicated render attribute
* from the nodes above this one.
*/
93
inline void PandaNode::clear_attrib(TypeHandle type);
void PandaNode::clear_attrib(int slot);
2158 10 set_effect 0 4 3619 21 PandaNode::set_effect 0 1 291 145
/**
* Adds the indicated render effect to the scene graph on this node. If there
* was already an effect of the same type, it is replaced.
*/
55
void PandaNode::set_effect(RenderEffect const *effect);
2159 10 get_effect 0 4 3619 21 PandaNode::get_effect 0 1 292 114
/**
* Returns the render effect of the indicated type, if it is defined on the
* node, or NULL if it is not.
*/
83
inline ConstPointerTo< RenderEffect > PandaNode::get_effect(TypeHandle type) const;
2160 10 has_effect 0 4 3619 21 PandaNode::has_effect 0 1 293 124
/**
* Returns true if there is a render effect of the indicated type defined on
* this node, or false if there is not.
*/
57
inline bool PandaNode::has_effect(TypeHandle type) const;
2161 12 clear_effect 0 4 3619 23 PandaNode::clear_effect 0 1 294 70
/**
* Removes the render effect of the given type from this node.
*/
46
void PandaNode::clear_effect(TypeHandle type);
2162 9 set_state 0 4 3619 20 PandaNode::set_state 0 1 295 337
/**
* Sets the complete RenderState that will be applied to all nodes at this
* level and below. (The actual state that will be applied to lower nodes is
* based on the composition of RenderStates from above this node as well).
* This completely replaces whatever has been set on this node via repeated
* calls to set_attrib().
*/
107
void PandaNode::set_state(RenderState const *state, Thread *current_thread = Thread::get_current_thread());
2163 9 get_state 0 4 3619 20 PandaNode::get_state 0 1 296 265
/**
* Returns the complete RenderState that will be applied to all nodes at this
* level and below, as set on this node. This returns only the RenderState
* set on this particular node, and has nothing to do with state that might be
* inherited from above.
*/
119
inline ConstPointerTo< RenderState > PandaNode::get_state(Thread *current_thread = Thread::get_current_thread()) const;
2164 11 clear_state 0 4 3619 22 PandaNode::clear_state 0 1 297 183
/**
* Resets this node to leave the render state alone. Nodes at this level and
* below will once again inherit their render state unchanged from the nodes
* above this level.
*/
90
inline void PandaNode::clear_state(Thread *current_thread = Thread::get_current_thread());
2165 11 set_effects 0 4 3619 22 PandaNode::set_effects 0 1 298 177
/**
* Sets the complete RenderEffects that will be applied this node. This
* completely replaces whatever has been set on this node via repeated calls
* to set_attrib().
*/
113
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = Thread::get_current_thread());
2166 11 get_effects 0 4 3619 22 PandaNode::get_effects 0 1 299 80
/**
* Returns the complete RenderEffects that will be applied to this node.
*/
123
inline ConstPointerTo< RenderEffects > PandaNode::get_effects(Thread *current_thread = Thread::get_current_thread()) const;
2167 13 clear_effects 0 4 3619 24 PandaNode::clear_effects 0 1 300 54
/**
* Resets this node to have no render effects.
*/
92
inline void PandaNode::clear_effects(Thread *current_thread = Thread::get_current_thread());
2168 13 set_transform 0 4 3619 24 PandaNode::set_transform 0 1 301 158
/**
* Sets the transform that will be applied to this node and below. This
* defines a new coordinate space at this point in the scene graph and below.
*/
118
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = Thread::get_current_thread());
2169 13 get_transform 0 4 3619 24 PandaNode::get_transform 0 1 302 177
/**
* Returns the transform that has been set on this particular node. This is
* not the net transform from the root, but simply the transform on this
* particular node.
*/
126
inline ConstPointerTo< TransformState > PandaNode::get_transform(Thread *current_thread = Thread::get_current_thread()) const;
2170 15 clear_transform 0 4 3619 26 PandaNode::clear_transform 0 1 303 71
/**
* Resets the transform on this node to the identity transform.
*/
94
inline void PandaNode::clear_transform(Thread *current_thread = Thread::get_current_thread());
2171 18 set_prev_transform 0 4 3619 29 PandaNode::set_prev_transform 0 1 304 173
/**
* Sets the transform that represents this node's "previous" position, one
* frame ago, for the purposes of detecting motion for accurate collision
* calculations.
*/
123
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = Thread::get_current_thread());
2172 18 get_prev_transform 0 4 3619 29 PandaNode::get_prev_transform 0 1 305 115
/**
* Returns the transform that has been set as this node's "previous" position.
* See set_prev_transform().
*/
131
inline ConstPointerTo< TransformState > PandaNode::get_prev_transform(Thread *current_thread = Thread::get_current_thread()) const;
2173 20 reset_prev_transform 0 4 3619 31 PandaNode::reset_prev_transform 0 1 306 179
/**
* Resets the transform that represents this node's "previous" position to the
* same as the current transform. This is not the same thing as clearing it
* to identity.
*/
92
void PandaNode::reset_prev_transform(Thread *current_thread = Thread::get_current_thread());
2174 24 has_dirty_prev_transform 0 4 3619 35 PandaNode::has_dirty_prev_transform 0 1 307 250
/**
* Returns true if this node has the _dirty_prev_transform flag set, which
* indicates its _prev_transform is different from its _transform value (in
* pipeline stage 0). In this case, the node will be visited by
* reset_prev_transform().
*/
60
inline bool PandaNode::has_dirty_prev_transform(void) const;
2175 24 reset_all_prev_transform 0 4 3619 35 PandaNode::reset_all_prev_transform 0 1 308 242
/**
* Visits all nodes in the world with the _dirty_prev_transform flag--that is,
* all nodes whose _prev_transform is different from the _transform in
* pipeline stage 0--and resets the _prev_transform to be the same as
* _transform.
*/
103
static void PandaNode::reset_all_prev_transform(Thread *current_thread = Thread::get_current_thread());
2176 7 set_tag 0 4 3619 18 PandaNode::set_tag 0 1 309 391
/**
* Associates a user-defined value with a user-defined key which is stored on
* the node. This value has no meaning to Panda; but it is stored
* indefinitely on the node until it is requested again.
*
* Each unique key stores a different string value. There is no effective
* limit on the number of different keys that may be stored or on the length
* of any one key's value.
*/
129
void PandaNode::set_tag(std::string const &key, std::string const &value, Thread *current_thread = Thread::get_current_thread());
2177 7 get_tag 0 4 3619 18 PandaNode::get_tag 0 1 310 182
/**
* Retrieves the user-defined value that was previously set on this node for
* the particular key, if any. If no value has been previously set, returns
* the empty string.
*/
123
inline std::string PandaNode::get_tag(std::string const &key, Thread *current_thread = Thread::get_current_thread()) const;
2178 7 has_tag 0 4 3619 18 PandaNode::has_tag 0 1 311 170
/**
* Returns true if a value has been defined on this node for the particular
* key (even if that value is the empty string), or false if no value has been
* set.
*/
116
inline bool PandaNode::has_tag(std::string const &key, Thread *current_thread = Thread::get_current_thread()) const;
2179 9 clear_tag 0 4 3619 20 PandaNode::clear_tag 0 1 312 158
/**
* Removes the value defined for this key on this particular node. After a
* call to clear_tag(), has_tag() will return false for the indicated key.
*/
105
void PandaNode::clear_tag(std::string const &key, Thread *current_thread = Thread::get_current_thread());
2180 12 get_num_tags 0 4 3619 23 PandaNode::get_num_tags 0 1 376 59
/**
* Returns the number of tags applied to this node.
*/
55
inline std::size_t PandaNode::get_num_tags(void) const;
2181 0 0 0 0 0 0 0 0
0
2182 11 get_tag_key 0 4 3619 22 PandaNode::get_tag_key 0 1 377 63
/**
* Returns the key of the nth tag applied to this node.
*/
63
inline std::string PandaNode::get_tag_key(std::size_t i) const;
2183 12 get_tag_keys 0 4 3619 23 PandaNode::get_tag_keys 0 1 313 231
/**
* Fills the given vector up with the list of tags on this PandaNode.
*
* It is the user's responsibility to ensure that the keys vector is empty
* before making this call; otherwise, the new keys will be appended to it.
*/
46
PyObject *PandaNode::get_tag_keys(void) const;
2184 15 get_python_tags 0 4 3619 26 PandaNode::get_python_tags 0 1 314 0
43
PyObject *PandaNode::get_python_tags(void);
2185 14 set_python_tag 0 4 3619 25 PandaNode::set_python_tag 0 1 315 0
63
void PandaNode::set_python_tag(PyObject *key, PyObject *value);
2186 14 get_python_tag 0 4 3619 25 PandaNode::get_python_tag 0 1 316 0
57
PyObject *PandaNode::get_python_tag(PyObject *key) const;
2187 14 has_python_tag 0 4 3619 25 PandaNode::has_python_tag 0 1 317 0
52
bool PandaNode::has_python_tag(PyObject *key) const;
2188 16 clear_python_tag 0 4 3619 27 PandaNode::clear_python_tag 0 1 318 0
48
void PandaNode::clear_python_tag(PyObject *key);
2189 19 get_python_tag_keys 0 4 3619 30 PandaNode::get_python_tag_keys 0 1 319 0
53
PyObject *PandaNode::get_python_tag_keys(void) const;
2190 12 __traverse__ 0 4 3619 23 PandaNode::__traverse__ 0 1 320 0
56
int PandaNode::__traverse__(visitproc visit, void *arg);
2191 8 has_tags 0 4 3619 19 PandaNode::has_tags 0 1 321 102
/**
* Returns true if the node has any tags (or any Python tags) at all, false if
* it has none.
*/
44
inline bool PandaNode::has_tags(void) const;
2192 9 copy_tags 0 4 3619 20 PandaNode::copy_tags 0 1 322 191
/**
* Copies all of the tags stored on the other node onto this node. If a
* particular tag exists on both nodes, the contents of this node's value is
* replaced by that of the other.
*/
44
void PandaNode::copy_tags(PandaNode *other);
2193 9 list_tags 0 4 3619 20 PandaNode::list_tags 0 1 323 364
/**
* Writes a list of all the tag keys assigned to the node to the indicated
* stream. Writes one instance of the separator following each key (but does
* not write a terminal separator). The value associated with each key is not
* written.
*
* This is mainly for the benefit of the realtime user, to see the list of all
* of the associated tag keys.
*/
88
void PandaNode::list_tags(std::ostream &out, std::string const &separator = "\n") const;
2194 12 compare_tags 0 4 3619 23 PandaNode::compare_tags 0 1 324 341
/**
* Returns a number less than 0, 0, or greater than 0, to indicate the
* similarity of tags between this node and the other one. If this returns 0,
* the tags are identical. If it returns other than 0, then the tags are
* different; and the nodes may be sorted into a consistent (but arbitrary)
* ordering based on this number.
*/
58
int PandaNode::compare_tags(PandaNode const *other) const;
2195 19 copy_all_properties 0 4 3619 30 PandaNode::copy_all_properties 0 1 325 264
/**
* Copies the TransformState, RenderState, RenderEffects, tags, Python tags,
* and the show/hide state from the other node onto this one. Typically this
* is used to prepare a node to replace another node in the scene graph (also
* see replace_node()).
*/
54
void PandaNode::copy_all_properties(PandaNode *other);
2196 12 replace_node 0 4 3619 23 PandaNode::replace_node 0 1 326 602
/**
* Inserts this node into the scene graph in place of the other one, and
* removes the other node. All scene graph attributes (TransformState,
* RenderState, etc.) are copied to this node.
*
* All children are moved to this node, and removed from the old node. The
* new node is left in the same place in the old node's parent's list of
* children.
*
* Even NodePaths that reference the old node are updated in-place to
* reference the new node instead.
*
* This method is intended to be used to replace a node of a given type in the
* scene graph with a node of a different type.
*/
47
void PandaNode::replace_node(PandaNode *other);
2197 21 set_unexpected_change 0 4 3619 32 PandaNode::set_unexpected_change 0 1 327 627
/**
* Sets one or more of the PandaNode::UnexpectedChange bits on, indicating
* that the corresponding property should not change again on this node. Once
* one of these bits has been set, if the property changes, an assertion
* failure will be raised, which is designed to assist the developer in
* identifying the troublesome code that modified the property unexpectedly.
*
* The input parameter is the union of bits that are to be set. To clear
* these bits later, use clear_unexpected_change().
*
* Since this is a developer debugging tool only, this function does nothing
* in a production (NDEBUG) build.
*/
58
void PandaNode::set_unexpected_change(unsigned int flags);
2198 21 get_unexpected_change 0 4 3619 32 PandaNode::get_unexpected_change 0 1 328 409
/**
* Returns nonzero if any of the bits in the input parameter are set on this
* node, or zero if none of them are set. More specifically, this returns the
* particular set of bits (masked by the input parameter) that have been set
* on this node. See set_unexpected_change().
*
* Since this is a developer debugging tool only, this function always returns
* zero in a production (NDEBUG) build.
*/
72
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;
2199 23 clear_unexpected_change 0 4 3619 34 PandaNode::clear_unexpected_change 0 1 329 373
/**
* Sets one or more of the PandaNode::UnexpectedChange bits off, indicating
* that the corresponding property may once again change on this node. See
* set_unexpected_change().
*
* The input parameter is the union of bits that are to be cleared.
*
* Since this is a developer debugging tool only, this function does nothing
* in a production (NDEBUG) build.
*/
60
void PandaNode::clear_unexpected_change(unsigned int flags);
2200 15 get_overall_bit 0 4 3619 26 PandaNode::get_overall_bit 0 1 330 189
/**
* Returns the special bit that, when specifically cleared in the node's
* DrawMask, indicates that the node is hidden to all cameras, regardless of
* the remaining DrawMask bits.
*/
56
static inline DrawMask PandaNode::get_overall_bit(void);
2201 19 get_all_camera_mask 0 4 3619 30 PandaNode::get_all_camera_mask 0 1 331 79
/**
* Returns a DrawMask that is appropriate for rendering to all cameras.
*/
60
static inline DrawMask PandaNode::get_all_camera_mask(void);
2202 17 is_overall_hidden 0 4 3619 28 PandaNode::is_overall_hidden 0 1 332 98
/**
* Returns true if the node has been hidden to all cameras by clearing its
* overall bit.
*/
53
inline bool PandaNode::is_overall_hidden(void) const;
2203 18 set_overall_hidden 0 4 3619 29 PandaNode::set_overall_hidden 0 1 333 411
/**
* Sets or clears the hidden flag. When the hidden flag is true, the node and
* all of its children are invisible to all cameras, regardless of the setting
* of any draw masks. Setting the hidden flag to false restores the previous
* visibility as established by the draw masks.
*
* This actually works by twiddling the reserved _overall_bit in the node's
* draw mask, which has special meaning.
*/
63
inline void PandaNode::set_overall_hidden(bool overall_hidden);
2204 16 adjust_draw_mask 0 4 3619 27 PandaNode::adjust_draw_mask 0 1 334 1343
/**
* Adjusts the hide/show bits of this particular node.
*
* These three parameters can be used to adjust the _draw_control_mask and
* _draw_show_mask independently, which work together to provide per-camera
* visibility for the node and its descendents.
*
* _draw_control_mask indicates the bits in _draw_show_mask that are
* significant. Each different bit corresponds to a different camera (and
* these bits are assigned via Camera::set_camera_mask()).
*
* Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates
* the node is visible to that camera, and a 0 bit indicates the node is
* hidden to that camera. Where _draw_control_mask is 0, the node is hidden
* only if a parent node is hidden.
*
* The meaning of the three parameters is as follows:
*
* * Wherever show_mask is 1, _draw_show_mask and _draw_control_mask will be
* set 1. Thus, show_mask indicates the set of cameras to which the node
* should be shown.
*
* * Wherever hide_mask is 1, _draw_show_mask will be set 0 and
* _draw_control_mask will be set 1. Thus, hide_mask indicates the set of
* cameras from which the node should be hidden.
*
* * Wherever clear_mask is 1, _draw_control_mask will be set 0. Thus,
* clear_mask indicates the set of cameras from which the hidden state should
* be inherited from a parent.
*/
94
void PandaNode::adjust_draw_mask(DrawMask show_mask, DrawMask hide_mask, DrawMask clear_mask);
2205 21 get_draw_control_mask 0 4 3619 32 PandaNode::get_draw_control_mask 0 1 335 111
/**
* Returns the set of bits in draw_show_mask that are considered meaningful.
* See adjust_draw_mask().
*/
61
inline DrawMask PandaNode::get_draw_control_mask(void) const;
2206 18 get_draw_show_mask 0 4 3619 29 PandaNode::get_draw_show_mask 0 1 336 90
/**
* Returns the hide/show bits of this particular node. See
* adjust_draw_mask().
*/
58
inline DrawMask PandaNode::get_draw_show_mask(void) const;
2207 25 get_net_draw_control_mask 0 4 3619 36 PandaNode::get_net_draw_control_mask 0 1 337 366
/**
* Returns the set of bits in get_net_draw_show_mask() that have been
* explicitly set via adjust_draw_mask(), rather than implicitly inherited.
*
* A 1 bit in any position of this mask indicates that (a) this node has
* renderable children, and (b) some child of this node has made an explicit
* hide() or show_through() call for the corresponding bit.
*/
58
DrawMask PandaNode::get_net_draw_control_mask(void) const;
2208 22 get_net_draw_show_mask 0 4 3619 33 PandaNode::get_net_draw_show_mask 0 1 338 576
/**
* Returns the union of all draw_show_mask values--of renderable nodes only--
* at this level and below. If any bit in this mask is 0, there is no reason
* to traverse below this node for a camera with the corresponding
* camera_mask.
*
* The bits in this mask that do not correspond to a 1 bit in the
* net_draw_control_mask are meaningless (and will be set to 1). For bits
* that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit
* indicates that at least one child should be visible, while a 0 bit
* indicates that all children are hidden.
*/
55
DrawMask PandaNode::get_net_draw_show_mask(void) const;
2209 21 set_into_collide_mask 0 4 3619 32 PandaNode::set_into_collide_mask 0 1 339 510
/**
* Sets the "into" CollideMask.
*
* This specifies the set of bits that must be shared with a CollisionNode's
* "from" CollideMask in order for the CollisionNode to detect a collision
* with this particular node.
*
* The actual CollideMask that will be set is masked by the return value from
* get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to
* anything other than nonzero except for those types of nodes that can be
* collided into, such as CollisionNodes and GeomNodes.
*/
56
void PandaNode::set_into_collide_mask(CollideMask mask);
2210 21 get_into_collide_mask 0 4 3619 32 PandaNode::get_into_collide_mask 0 1 340 57
/**
* Returns the "into" collide mask for this node.
*/
64
inline CollideMask PandaNode::get_into_collide_mask(void) const;
2211 22 get_legal_collide_mask 0 6 3619 33 PandaNode::get_legal_collide_mask 0 1 341 314
/**
* Returns the subset of CollideMask bits that may be set for this particular
* type of PandaNode. For most nodes, this is 0; it doesn't make sense to set
* a CollideMask for most kinds of nodes.
*
* For nodes that can be collided with, such as GeomNode and CollisionNode,
* this returns all bits on.
*/
66
virtual CollideMask PandaNode::get_legal_collide_mask(void) const;
2212 20 get_net_collide_mask 0 4 3619 31 PandaNode::get_net_collide_mask 0 1 342 112
/**
* Returns the union of all into_collide_mask() values set at CollisionNodes
* at this level and below.
*/
105
CollideMask PandaNode::get_net_collide_mask(Thread *current_thread = Thread::get_current_thread()) const;
2213 19 get_off_clip_planes 0 4 3619 30 PandaNode::get_off_clip_planes 0 1 343 145
/**
* Returns a ClipPlaneAttrib which represents the union of all of the clip
* planes that have been turned *off* at this level and below.
*/
123
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = Thread::get_current_thread()) const;
2214 13 prepare_scene 0 4 3619 24 PandaNode::prepare_scene 0 1 344 470
/**
* Walks through the scene graph beginning at this node, and does whatever
* initialization is required to render the scene properly with the indicated
* GSG. It is not strictly necessary to call this, since the GSG will
* initialize itself when the scene is rendered, but this may take some of the
* overhead away from that process.
*
* In particular, this will ensure that textures and vertex buffers within the
* scene are loaded into graphics memory.
*/
93
void PandaNode::prepare_scene(GraphicsStateGuardianBase *gsg, RenderState const *node_state);
2215 13 is_scene_root 0 4 3619 24 PandaNode::is_scene_root 0 1 345 173
/**
* Returns true if this particular node is known to be the render root of some
* active DisplayRegion associated with the global GraphicsEngine, false
* otherwise.
*/
42
bool PandaNode::is_scene_root(void) const;
2216 19 is_under_scene_root 0 4 3619 30 PandaNode::is_under_scene_root 0 1 346 305
/**
* Returns true if this particular node is in a live scene graph: that is, it
* is a child or descendent of a node that is itself a scene root. If this is
* true, this node may potentially be traversed by the render traverser.
* Stashed nodes don't count for this purpose, but hidden nodes do.
*/
48
bool PandaNode::is_under_scene_root(void) const;
2217 6 output 0 6 3619 17 PandaNode::output 0 1 347 10
/**
*
*/
56
virtual void PandaNode::output(std::ostream &out) const;
2218 5 write 0 6 3619 16 PandaNode::write 0 1 348 10
/**
*
*/
73
virtual void PandaNode::write(std::ostream &out, int indent_level) const;
2219 2 ls 0 4 3619 13 PandaNode::ls 0 1 349 76
/**
* Lists all the nodes at and below the current path hierarchically.
*/
69
inline void PandaNode::ls(std::ostream &out, int indent_level) const;
2220 15 set_bounds_type 0 4 3619 26 PandaNode::set_bounds_type 0 1 350 966
// We define set_bounds() and get_bounds() functions so that set_bounds()
// sets the user bounding volume, while get_bounds() returns the external
// bounding volume. Although it might seem strange and confusing to do
// this, this is actually the natural way the user thinks about nodes and
// bounding volumes.
/**
* Specifies the desired type of bounding volume that will be created for this
* node. This is normally BoundingVolume::BT_default, which means to set the
* type according to the config variable "bounds-type".
*
* If this is BT_sphere or BT_box, a BoundingSphere or BoundingBox is
* explicitly created. If it is BT_best, the appropriate type to best enclose
* the node's children is created.
*
* This affects the bounding volume returned by get_bounds(), which is not
* exactly the same bounding volume modified by set_bounds(), because a new
* bounding volume has to be created that includes this node and all of its
* children.
*/
72
void PandaNode::set_bounds_type(BoundingVolume::BoundsType bounds_type);
2221 15 get_bounds_type 0 4 3619 26 PandaNode::get_bounds_type 0 1 351 71
/**
* Returns the bounding volume type set with set_bounds_type().
*/
66
BoundingVolume::BoundsType PandaNode::get_bounds_type(void) const;
2222 10 set_bounds 0 4 3619 21 PandaNode::set_bounds 0 1 352 478
/**
* Resets the bounding volume so that it is the indicated volume. When it is
* explicitly set, the bounding volume will no longer be automatically
* computed according to the contents of the node itself, for nodes like
* GeomNodes and TextNodes that contain substance (but the bounding volume
* will still be automatically expanded to include its children).
*
* Call clear_bounds() if you would like to return the bounding volume to its
* default behavior later.
*/
57
void PandaNode::set_bounds(BoundingVolume const *volume);
2223 9 set_bound 0 4 3619 20 PandaNode::set_bound 0 1 353 49
/**
* Deprecated. Use set_bounds() instead.
*/
56
void PandaNode::set_bound(BoundingVolume const *volume);
2224 12 clear_bounds 0 4 3619 23 PandaNode::clear_bounds 0 1 354 184
/**
* Reverses the effect of a previous call to set_bounds(), and allows the
* node's bounding volume to be automatically computed once more based on the
* contents of the node.
*/
42
inline void PandaNode::clear_bounds(void);
2225 10 get_bounds 0 4 3619 21 PandaNode::get_bounds 0 2 355 356 790
/**
* Returns the external bounding volume of this node: a bounding volume that
* contains the user bounding volume, the internal bounding volume, and all of
* the children's bounding volumes.
*/
/**
* This flavor of get_bounds() return the external bounding volume, and also
* fills in seq with the bounding volume's current sequence number. When this
* sequence number changes, it indicates that the bounding volume might have
* changed, e.g. because some nested child's bounding volume has changed.
*
* Although this might occasionally increment without changing the bounding
* volume, the bounding volume will never change without incrementing this
* counter, so as long as this counter remains unchanged you can be confident
* the bounding volume is also unchanged.
*/
249
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = Thread::get_current_thread()) const;
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(UpdateSeq &seq, Thread *current_thread = Thread::get_current_thread()) const;
2226 19 get_nested_vertices 0 4 3619 30 PandaNode::get_nested_vertices 0 1 357 422
/**
* Returns the total number of vertices that will be rendered by this node and
* all of its descendents.
*
* This is not necessarily an accurate count of vertices that will actually be
* rendered, since this will include all vertices of all LOD's, and it will
* also include hidden nodes. It may also omit or only approximate certain
* kinds of dynamic geometry. However, it will not include stashed nodes.
*/
96
int PandaNode::get_nested_vertices(Thread *current_thread = Thread::get_current_thread()) const;
2227 19 get_internal_bounds 0 4 3619 30 PandaNode::get_internal_bounds 0 1 358 361
/**
* Returns the node's internal bounding volume. This is the bounding volume
* around the node alone, without including children. If the user has called
* set_bounds(), it will be the specified bounding volume.
*/
/**
* Returns the node's internal bounding volume. This is the bounding volume
* around the node alone, without including children.
*/
132
inline ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = Thread::get_current_thread()) const;
2228 21 get_internal_vertices 0 4 3619 32 PandaNode::get_internal_vertices 0 1 359 412
/**
* Returns the total number of vertices that will be rendered by this
* particular node alone, not accounting for its children.
*
* This may not include all vertices for certain dynamic effects.
*/
/**
* Returns the total number of vertices that will be rendered by this
* particular node alone, not accounting for its children.
*
* This may not include all vertices for certain dynamic effects.
*/
105
inline int PandaNode::get_internal_vertices(Thread *current_thread = Thread::get_current_thread()) const;
2229 17 mark_bounds_stale 0 4 3619 28 PandaNode::mark_bounds_stale 0 1 360 786
/**
* Indicates that the bounding volume, or something that influences the
* bounding volume (or any of the other things stored in CData, like
* net_collide_mask), may have changed for this node, and that it must be
* recomputed.
*/
/**
* Indicates that the bounding volume, or something that influences the
* bounding volume (or any of the other things stored in CData, like
* net_collide_mask), may have changed for this node, and that it must be
* recomputed.
*
* With no parameters, this means to iterate through all stages including and
* upstream of the current pipeline stage.
*
* This method is intended for internal use; usually it is not necessary for a
* user to call this directly. It will be called automatically by derived
* classes when appropriate.
*/
95
void PandaNode::mark_bounds_stale(Thread *current_thread = Thread::get_current_thread()) const;
2230 26 mark_internal_bounds_stale 0 4 3619 37 PandaNode::mark_internal_bounds_stale 0 1 361 654
/**
* Should be called by a derived class to mark the internal bounding volume
* stale, so that recompute_internal_bounds() will be called when the bounding
* volume is next requested.
*/
/**
* Should be called by a derived class to mark the internal bounding volume
* stale, so that compute_internal_bounds() will be called when the bounding
* volume is next requested.
*
* With no parameters, this means to iterate through all stages including and
* upstream of the current pipeline stage.
*
* It is normally not necessary to call this method directly; each node should
* be responsible for calling it when its internals have changed.
*/
98
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = Thread::get_current_thread());
2231 15 is_bounds_stale 0 4 3619 26 PandaNode::is_bounds_stale 0 1 362 194
/**
* Returns true if the bounding volume of this node is stale and will be
* implicitly recomputed at the next call to get_bounds(), or false if it is
* fresh and need not be recomputed.
*/
51
inline bool PandaNode::is_bounds_stale(void) const;
2232 9 set_final 0 4 3619 20 PandaNode::set_final 0 1 363 623
/**
* Sets the "final" flag on this PandaNode. If this is true, than no bounding
* volume need be tested below it; a positive intersection with this node's
* bounding volume is deemed to be a positive intersection with all geometry
* inside.
*
* This is useful to quickly force a larger bounding volume around a node when
* the GeomNodes themselves are inaccurate for some reason, without forcing a
* recompute of every nested bounding volume. It's also helpful when the
* bounding volume is tricked by some special properties, like billboards,
* that may move geometry out of its bounding volume otherwise.
*/
44
inline void PandaNode::set_final(bool flag);
2233 8 is_final 0 4 3619 19 PandaNode::is_final 0 1 364 177
/**
* Returns the current state of the "final" flag. Initially, this flag is off
* (false), but it may be changed by an explicit call to set_final(). See
* set_final().
*/
93
inline bool PandaNode::is_final(Thread *current_thread = Thread::get_current_thread()) const;
2234 12 is_geom_node 0 6 3619 23 PandaNode::is_geom_node 0 1 365 276
/**
* A simple downcast check. Returns true if this kind of node happens to
* inherit from GeomNode, false otherwise.
*
* This is provided as a a faster alternative to calling
* is_of_type(GeomNode::get_class_type()), since this test is so important to
* rendering.
*/
49
virtual bool PandaNode::is_geom_node(void) const;
2235 11 is_lod_node 0 6 3619 22 PandaNode::is_lod_node 0 1 366 225
/**
* A simple downcast check. Returns true if this kind of node happens to
* inherit from LODNode, false otherwise.
*
* This is provided as a a faster alternative to calling
* is_of_type(LODNode::get_class_type()).
*/
48
virtual bool PandaNode::is_lod_node(void) const;
2236 17 is_collision_node 0 6 3619 28 PandaNode::is_collision_node 0 1 367 237
/**
* A simple downcast check. Returns true if this kind of node happens to
* inherit from CollisionNode, false otherwise.
*
* This is provided as a a faster alternative to calling
* is_of_type(CollisionNode::get_class_type()).
*/
54
virtual bool PandaNode::is_collision_node(void) const;
2237 8 as_light 0 6 3619 19 PandaNode::as_light 0 1 368 131
/**
* Cross-casts the node to a Light pointer, if it is one of the four kinds of
* Light nodes, or returns NULL if it is not.
*/
41
virtual Light *PandaNode::as_light(void);
2238 16 is_ambient_light 0 6 3619 27 PandaNode::is_ambient_light 0 1 369 117
/**
* Returns true if this is an AmbientLight, false if it is not a light, or it
* is some other kind of light.
*/
53
virtual bool PandaNode::is_ambient_light(void) const;
2239 14 get_fancy_bits 0 4 3619 25 PandaNode::get_fancy_bits 0 1 370 330
/**
* Returns the union of all of the enum FancyBits values corresponding to the
* various "fancy" attributes that are set on the node. If this returns 0,
* the node has nothing interesting about it. This is intended to speed
* traversal by quickly skipping past nodes that don't particularly affect the
* render state.
*/
98
inline int PandaNode::get_fancy_bits(Thread *current_thread = Thread::get_current_thread()) const;
2240 22 decode_from_bam_stream 0 4 3619 33 PandaNode::decode_from_bam_stream 0 1 371 470
/**
* Reads the bytes created by a previous call to encode_to_bam_stream(), and
* extracts and returns the single object on those bytes. Returns NULL on
* error.
*
* This method is intended to replace decode_raw_from_bam_stream() when you
* know the stream in question returns an object of type PandaNode, allowing
* for easier reference count management. Note that the caller is still
* responsible for maintaining the reference count on the return value.
*/
112
static PointerTo< PandaNode > PandaNode::decode_from_bam_stream(vector_uchar data, BamReader *reader = nullptr);
2241 11 operator [] 0 4 3639 32 PandaNode::Children::operator [] 0 1 378 0
72
inline PandaNode *PandaNode::Children::operator [](std::size_t n) const;
2242 4 size 0 4 3639 25 PandaNode::Children::size 0 1 379 0
57
inline std::size_t PandaNode::Children::size(void) const;
2243 9 ~Children 0 4 3639 30 PandaNode::Children::~Children 0 0 0
37
PandaNode::Children::~Children(void);
2244 11 operator [] 0 4 3640 31 PandaNode::Stashed::operator [] 0 1 380 0
71
inline PandaNode *PandaNode::Stashed::operator [](std::size_t n) const;
2245 4 size 0 4 3640 24 PandaNode::Stashed::size 0 1 381 0
56
inline std::size_t PandaNode::Stashed::size(void) const;
2246 8 ~Stashed 0 4 3640 28 PandaNode::Stashed::~Stashed 0 0 0
35
PandaNode::Stashed::~Stashed(void);
2247 11 operator [] 0 4 3641 31 PandaNode::Parents::operator [] 0 1 382 0
71
inline PandaNode *PandaNode::Parents::operator [](std::size_t n) const;
2248 4 size 0 4 3641 24 PandaNode::Parents::size 0 1 383 0
56
inline std::size_t PandaNode::Parents::size(void) const;
2249 8 ~Parents 0 4 3641 28 PandaNode::Parents::~Parents 0 0 0
35
PandaNode::Parents::~Parents(void);
2250 12 get_children 0 4 3619 23 PandaNode::get_children 0 0 622
/**
* Returns an object that can be used to walk through the list of children of
* the node. When you intend to visit multiple children, using this is
* slightly faster than calling get_child() directly on the PandaNode, since
* this object avoids reopening the PipelineCycler each time.
*
* This object also protects you from self-modifying loops (e.g. adding or
* removing children during traversal), since a virtual copy of the children
* is made ahead of time. The virtual copy is fast--it is a form of copy-on-
* write, so the list is not actually copied unless it is modified during the
* traversal.
*/
112
inline PandaNode::Children PandaNode::get_children(Thread *current_thread = Thread::get_current_thread()) const;
2251 11 get_parents 0 4 3619 22 PandaNode::get_parents 0 0 142
/**
* Returns an object that can be used to walk through the list of parents of
* the node, similar to get_children() and get_stashed().
*/
110
inline PandaNode::Parents PandaNode::get_parents(Thread *current_thread = Thread::get_current_thread()) const;
2252 14 get_class_type 0 4 3619 25 PandaNode::get_class_type 0 1 372 0
50
static TypeHandle PandaNode::get_class_type(void);
2253 4 make 0 4 3642 24 TransparencyAttrib::make 0 1 384 54
/**
* Constructs a new TransparencyAttrib object.
*/
94
static ConstPointerTo< RenderAttrib > TransparencyAttrib::make(TransparencyAttrib::Mode mode);
2254 12 make_default 0 4 3642 32 TransparencyAttrib::make_default 0 1 385 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
77
static ConstPointerTo< RenderAttrib > TransparencyAttrib::make_default(void);
2255 8 get_mode 0 4 3642 28 TransparencyAttrib::get_mode 0 1 386 41
/**
* Returns the transparency mode.
*/
73
inline TransparencyAttrib::Mode TransparencyAttrib::get_mode(void) const;
2256 14 get_class_slot 0 4 3642 34 TransparencyAttrib::get_class_slot 0 1 387 0
52
static int TransparencyAttrib::get_class_slot(void);
2257 14 get_class_type 0 4 3642 34 TransparencyAttrib::get_class_type 0 1 388 0
59
static TypeHandle TransparencyAttrib::get_class_type(void);
2258 19 ~TransparencyAttrib 0 4 3642 39 TransparencyAttrib::~TransparencyAttrib 0 0 0
46
TransparencyAttrib::~TransparencyAttrib(void);
2259 8 make_off 0 4 3644 23 LogicOpAttrib::make_off 0 1 389 139
/**
* Constructs a new LogicOpAttrib object that disables special-effect
* blending, allowing normal transparency to be used instead.
*/
68
static ConstPointerTo< RenderAttrib > LogicOpAttrib::make_off(void);
2260 4 make 0 4 3644 19 LogicOpAttrib::make 0 1 390 80
/**
* Constructs a new LogicOpAttrib object with the given logic operation.
*/
87
static ConstPointerTo< RenderAttrib > LogicOpAttrib::make(LogicOpAttrib::Operation op);
2261 12 make_default 0 4 3644 27 LogicOpAttrib::make_default 0 1 391 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
72
static ConstPointerTo< RenderAttrib > LogicOpAttrib::make_default(void);
2262 13 get_operation 0 4 3644 28 LogicOpAttrib::get_operation 0 1 392 67
/**
* Returns the logic operation specified by this attribute.
*/
73
inline LogicOpAttrib::Operation LogicOpAttrib::get_operation(void) const;
2263 14 get_class_slot 0 4 3644 29 LogicOpAttrib::get_class_slot 0 1 393 0
47
static int LogicOpAttrib::get_class_slot(void);
2264 14 get_class_type 0 4 3644 29 LogicOpAttrib::get_class_type 0 1 394 0
54
static TypeHandle LogicOpAttrib::get_class_type(void);
2265 14 ~LogicOpAttrib 0 4 3644 29 LogicOpAttrib::~LogicOpAttrib 0 0 0
36
LogicOpAttrib::~LogicOpAttrib(void);
2266 9 get_blank 0 4 3646 22 ShaderInput::get_blank 0 1 400 124
/**
* Returns a static ShaderInput object with name NULL, priority zero, type
* INVALID, and all value-fields cleared.
*/
55
static ShaderInput const &ShaderInput::get_blank(void);
2267 11 ShaderInput 0 4 3646 24 ShaderInput::ShaderInput 0 5 395 396 397 398 399 430
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
494
inline explicit ShaderInput::ShaderInput(CPT_InternalName name, int priority = 0);
explicit ShaderInput::ShaderInput(CPT_InternalName name, PyObject *value, int priority = 0);
explicit ShaderInput::ShaderInput(CPT_InternalName name, Texture *tex, bool read, bool write, int z = -1, int n = 0, int priority = 0);
explicit ShaderInput::ShaderInput(CPT_InternalName name, Texture *tex, SamplerState const &sampler, int priority = 0);
inline ShaderInput::ShaderInput(ShaderInput const &) = default;
2268 22 operator typecast bool 0 132 3646 35 ShaderInput::operator typecast bool 0 1 413 0
34
inline operator bool (void) const;
2269 11 operator == 0 4 3646 24 ShaderInput::operator == 0 1 401 0
69
inline bool ShaderInput::operator ==(ShaderInput const &other) const;
2270 11 operator != 0 4 3646 24 ShaderInput::operator != 0 1 402 0
69
inline bool ShaderInput::operator !=(ShaderInput const &other) const;
2271 10 operator < 0 4 3646 23 ShaderInput::operator < 0 1 403 0
68
inline bool ShaderInput::operator <(ShaderInput const &other) const;
2272 8 add_hash 0 4 3646 21 ShaderInput::add_hash 0 1 404 10
/**
*
*/
58
std::size_t ShaderInput::add_hash(std::size_t hash) const;
2273 8 get_name 0 4 3646 21 ShaderInput::get_name 0 1 405 10
/**
*
*/
61
inline InternalName const *ShaderInput::get_name(void) const;
2274 14 get_value_type 0 4 3646 27 ShaderInput::get_value_type 0 1 406 10
/**
*
*/
51
inline int ShaderInput::get_value_type(void) const;
2275 12 get_priority 0 4 3646 25 ShaderInput::get_priority 0 1 407 10
/**
*
*/
49
inline int ShaderInput::get_priority(void) const;
2276 10 get_vector 0 4 3646 23 ShaderInput::get_vector 0 1 408 10
/**
*
*/
60
inline LVecBase4 const &ShaderInput::get_vector(void) const;
2277 7 get_ptr 0 4 3646 20 ShaderInput::get_ptr 0 1 409 10
/**
*
*/
69
inline Shader::ShaderPtrData const &ShaderInput::get_ptr(void) const;
2278 12 get_nodepath 0 4 3646 25 ShaderInput::get_nodepath 0 1 410 107
/**
* Warning: no error checking is done. This *will* crash if get_value_type()
* is not M_nodepath.
*/
47
NodePath ShaderInput::get_nodepath(void) const;
2279 11 get_texture 0 4 3646 24 ShaderInput::get_texture 0 1 411 10
/**
*
*/
46
Texture *ShaderInput::get_texture(void) const;
2280 11 get_sampler 0 4 3646 24 ShaderInput::get_sampler 0 1 412 46
/**
* Warning: no error checking is done.
*/
57
SamplerState const &ShaderInput::get_sampler(void) const;
2281 12 ~ShaderInput 0 4 3646 25 ShaderInput::~ShaderInput 0 0 0
32
ShaderInput::~ShaderInput(void);
2282 22 TextureStageCollection 0 4 3649 46 TextureStageCollection::TextureStageCollection 0 2 414 415 22
/**
*
*/
/**
*
*/
137
TextureStageCollection::TextureStageCollection(void);
TextureStageCollection::TextureStageCollection(TextureStageCollection const &copy);
2283 10 operator = 0 4 3649 34 TextureStageCollection::operator = 0 1 416 0
76
void TextureStageCollection::operator =(TextureStageCollection const &copy);
2284 23 ~TextureStageCollection 0 4 3649 47 TextureStageCollection::~TextureStageCollection 0 0 10
/**
*
*/
61
inline TextureStageCollection::~TextureStageCollection(void);
2285 17 add_texture_stage 0 4 3649 41 TextureStageCollection::add_texture_stage 0 1 417 53
/**
* Adds a new TextureStage to the collection.
*/
81
void TextureStageCollection::add_texture_stage(TextureStage *node_texture_stage);
2286 20 remove_texture_stage 0 4 3649 44 TextureStageCollection::remove_texture_stage 0 1 418 168
/**
* Removes the indicated TextureStage from the collection. Returns true if
* the texture_stage was removed, false if it was not a member of the
* collection.
*/
84
bool TextureStageCollection::remove_texture_stage(TextureStage *node_texture_stage);
2287 23 add_texture_stages_from 0 4 3649 47 TextureStageCollection::add_texture_stages_from 0 1 419 235
/**
* Adds all the TextureStages indicated in the other collection to this
* texture_stage. The other texture_stages are simply appended to the end of
* the texture_stages in this list; duplicates are not automatically removed.
*/
90
void TextureStageCollection::add_texture_stages_from(TextureStageCollection const &other);
2288 26 remove_texture_stages_from 0 4 3649 50 TextureStageCollection::remove_texture_stages_from 0 1 420 99
/**
* Removes from this collection all of the TextureStages listed in the other
* collection.
*/
93
void TextureStageCollection::remove_texture_stages_from(TextureStageCollection const &other);
2289 31 remove_duplicate_texture_stages 0 4 3649 55 TextureStageCollection::remove_duplicate_texture_stages 0 1 421 204
/**
* Removes any duplicate entries of the same TextureStages on this collection.
* If a TextureStage appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/
67
void TextureStageCollection::remove_duplicate_texture_stages(void);
2290 17 has_texture_stage 0 4 3649 41 TextureStageCollection::has_texture_stage 0 1 422 101
/**
* Returns true if the indicated TextureStage appears in this collection,
* false otherwise.
*/
82
bool TextureStageCollection::has_texture_stage(TextureStage *texture_stage) const;
2291 5 clear 0 4 3649 29 TextureStageCollection::clear 0 1 423 57
/**
* Removes all TextureStages from the collection.
*/
41
void TextureStageCollection::clear(void);
2292 18 find_texture_stage 0 4 3649 42 TextureStageCollection::find_texture_stage 0 1 424 133
/**
* Returns the texture_stage in the collection with the indicated name, if
* any, or NULL if no texture_stage has that name.
*/
88
TextureStage *TextureStageCollection::find_texture_stage(std::string const &name) const;
2293 22 get_num_texture_stages 0 4 3649 46 TextureStageCollection::get_num_texture_stages 0 1 425 65
/**
* Returns the number of TextureStages in the collection.
*/
63
int TextureStageCollection::get_num_texture_stages(void) const;
2294 17 get_texture_stage 0 4 3649 41 TextureStageCollection::get_texture_stage 0 1 426 58
/**
* Returns the nth TextureStage in the collection.
*/
73
TextureStage *TextureStageCollection::get_texture_stage(int index) const;
2295 11 operator [] 0 4 3649 35 TextureStageCollection::operator [] 0 1 427 153
/**
* Returns the nth TextureStage in the collection. This is the same as
* get_texture_stage(), but it may be a more convenient way to access it.
*/
67
TextureStage *TextureStageCollection::operator [](int index) const;
2296 4 size 0 4 3649 28 TextureStageCollection::size 0 1 428 122
/**
* Returns the number of texture stages in the collection. This is the same
* thing as get_num_texture_stages().
*/
45
int TextureStageCollection::size(void) const;
2297 11 operator += 0 4 3649 35 TextureStageCollection::operator += 0 1 429 0
85
inline void TextureStageCollection::operator +=(TextureStageCollection const &other);
2298 10 operator + 0 4 3649 34 TextureStageCollection::operator + 0 1 430 0
108
inline TextureStageCollection TextureStageCollection::operator +(TextureStageCollection const &other) const;
2299 4 sort 0 4 3649 28 TextureStageCollection::sort 0 1 431 116
/**
* Sorts the TextureStages in this collection into order by
* TextureStage::sort(), from lowest to highest.
*/
40
void TextureStageCollection::sort(void);
2300 6 output 0 4 3649 30 TextureStageCollection::output 0 1 432 111
/**
* Writes a brief one-line description of the TextureStageCollection to the
* indicated output stream.
*/
61
void TextureStageCollection::output(std::ostream &out) const;
2301 5 write 0 4 3649 29 TextureStageCollection::write 0 1 433 116
/**
* Writes a complete multi-line description of the TextureStageCollection to
* the indicated output stream.
*/
82
void TextureStageCollection::write(std::ostream &out, int indent_level = 0) const;
2302 8 NodePath 0 4 3650 18 NodePath::NodePath 0 6 434 435 436 437 438 439 748
/**
* This constructs an empty NodePath with no nodes.
*/
/**
* This constructs a new NodePath with a single node. An ordinary, unattached
* PandaNode is created with the indicated name.
*/
/**
* This constructs a NodePath for the indicated node. If the node does not
* have any parents, this creates a singleton NodePath; otherwise, it
* automatically finds the path from the node to the root. If the node has
* multiple paths to the root, one path is chosen arbitrarily and a warning
* message is printed (but see also NodePath::any_path(), below).
*/
/**
*
*/
/**
*
*/
/**
* Constructs a NodePath with the indicated parent NodePath and child node;
* the child node must be a stashed or unstashed child of the parent.
*/
498
inline NodePath::NodePath(void);
inline explicit NodePath::NodePath(std::string const &top_node_name, Thread *current_thread = Thread::get_current_thread());
inline explicit NodePath::NodePath(PandaNode *node, Thread *current_thread = Thread::get_current_thread());
explicit NodePath::NodePath(NodePath const &parent, PandaNode *child_node, Thread *current_thread = Thread::get_current_thread());
inline NodePath::NodePath(NodePath const &copy);
inline NodePath::NodePath(NodePath &&from) noexcept;
2303 8 any_path 0 4 3650 18 NodePath::any_path 0 1 440 236
/**
* Returns a new NodePath that represents any arbitrary path from the root to
* the indicated node. This is the same thing that would be returned by
* NodePath(node), except that no warning is issued if the path is ambiguous.
*/
114
static inline NodePath NodePath::any_path(PandaNode *node, Thread *current_thread = Thread::get_current_thread());
2304 10 operator = 0 4 3650 20 NodePath::operator = 0 2 441 442 0
115
inline void NodePath::operator =(NodePath const &copy);
inline void NodePath::operator =(NodePath &&from) noexcept;
2305 5 clear 0 4 3650 15 NodePath::clear 0 1 443 93
/**
* Sets this NodePath to the empty NodePath. It will no longer point to any
* node.
*/
34
inline void NodePath::clear(void);
2306 8 __copy__ 0 4 3650 18 NodePath::__copy__ 0 1 444 0
40
NodePath NodePath::__copy__(void) const;
2307 12 __deepcopy__ 0 4 3650 22 NodePath::__deepcopy__ 0 1 445 0
71
PyObject *NodePath::__deepcopy__(PyObject *self, PyObject *memo) const;
2308 10 __reduce__ 0 4 3650 20 NodePath::__reduce__ 0 1 446 0
53
PyObject *NodePath::__reduce__(PyObject *self) const;
2309 18 __reduce_persist__ 0 4 3650 28 NodePath::__reduce_persist__ 0 1 447 0
80
PyObject *NodePath::__reduce_persist__(PyObject *self, PyObject *pickler) const;
2310 9 not_found 0 4 3650 19 NodePath::not_found 0 1 448 67
/**
* Creates a NodePath with the ET_not_found error type set.
*/
49
static inline NodePath NodePath::not_found(void);
2311 7 removed 0 4 3650 17 NodePath::removed 0 1 449 65
/**
* Creates a NodePath with the ET_removed error type set.
*/
47
static inline NodePath NodePath::removed(void);
2312 4 fail 0 4 3650 14 NodePath::fail 0 1 450 62
/**
* Creates a NodePath with the ET_fail error type set.
*/
44
static inline NodePath NodePath::fail(void);
2313 20 set_max_search_depth 0 4 3650 30 NodePath::set_max_search_depth 0 1 451 798
/**
* Certain operations, such as find() or find_all_matches(), require a
* traversal of the scene graph to search for the target node or nodes. This
* traversal does not attempt to detect cycles, so an arbitrary cap is set on
* the depth of the traversal as a poor man's cycle detection, in the event
* that a cycle has inadvertently been introduced into the scene graph.
*
* There may be other reasons you'd want to truncate a search before the
* bottom of the scene graph has been reached. In any event, this function
* sets the limit on the number of levels that a traversal will continue, and
* hence the maximum length of a path that may be returned by a traversal.
*
* This is a static method, and so changing this parameter affects all of the
* NodePaths in the universe.
*/
72
static inline void NodePath::set_max_search_depth(int max_search_depth);
2314 20 get_max_search_depth 0 4 3650 30 NodePath::get_max_search_depth 0 1 452 95
/**
* Returns the current setting of the search depth limit. See
* set_max_search_depth.
*/
55
static inline int NodePath::get_max_search_depth(void);
2315 8 is_empty 0 4 3650 18 NodePath::is_empty 0 1 453 102
// Methods to query a NodePath's contents.
/**
* Returns true if the NodePath contains no nodes.
*/
43
inline bool NodePath::is_empty(void) const;
2316 22 operator typecast bool 0 132 3650 32 NodePath::operator typecast bool 0 1 956 0
27
operator bool (void) const;
2317 12 is_singleton 0 4 3650 22 NodePath::is_singleton 0 1 454 66
/**
* Returns true if the NodePath contains exactly one node.
*/
96
inline bool NodePath::is_singleton(Thread *current_thread = Thread::get_current_thread()) const;
2318 13 get_num_nodes 0 4 3650 23 NodePath::get_num_nodes 0 1 455 51
/**
* Returns the number of nodes in the path.
*/
89
int NodePath::get_num_nodes(Thread *current_thread = Thread::get_current_thread()) const;
2319 8 get_node 0 4 3650 18 NodePath::get_node 0 1 456 473
/**
* Returns the nth node of the path, where 0 is the referenced (bottom) node
* and get_num_nodes() - 1 is the top node. This requires iterating through
* the path.
*
* Also see node(), which is a convenience function to return the same thing
* as get_node(0) (since the bottom node is the most important node in the
* NodePath, and is the one most frequently referenced).
*
* Note that this function returns the same thing as
* get_ancestor(index).node().
*/
102
PandaNode *NodePath::get_node(int index, Thread *current_thread = Thread::get_current_thread()) const;
2320 0 0 0 0 0 0 0 0
0
2321 12 get_ancestor 0 4 3650 22 NodePath::get_ancestor 0 1 457 261
/**
* Returns the nth ancestor of the path, where 0 is the NodePath itself and
* get_num_nodes() - 1 is get_top(). This requires iterating through the path.
*
* Also see get_node(), which returns the same thing as a PandaNode pointer,
* not a NodePath.
*/
104
NodePath NodePath::get_ancestor(int index, Thread *current_thread = Thread::get_current_thread()) const;
2322 0 0 0 0 0 0 0 0
0
2323 14 get_error_type 0 4 3650 24 NodePath::get_error_type 0 1 458 110
/**
* If is_empty() is true, this returns a code that represents the reason why
* the NodePath is empty.
*/
64
inline NodePath::ErrorType NodePath::get_error_type(void) const;
2324 12 get_top_node 0 4 3650 22 NodePath::get_top_node 0 1 459 120
/**
* Returns the top node of the path, or NULL if the path is empty. This
* requires iterating through the path.
*/
102
inline PandaNode *NodePath::get_top_node(Thread *current_thread = Thread::get_current_thread()) const;
2325 7 get_top 0 4 3650 17 NodePath::get_top 0 1 460 120
/**
* Returns a singleton NodePath that represents the top of the path, or empty
* NodePath if this path is empty.
*/
88
NodePath NodePath::get_top(Thread *current_thread = Thread::get_current_thread()) const;
2326 4 node 0 4 3650 14 NodePath::node 0 1 461 51
/**
* Returns the referenced node of the path.
*/
45
inline PandaNode *NodePath::node(void) const;
2327 7 get_key 0 4 3650 17 NodePath::get_key 0 1 462 617
/**
* Returns an integer that is guaranteed to be the same for all NodePaths that
* represent the same node instance, and different for all NodePaths that
* represent a different node instance.
*
* The same key will be returned for a particular instance as long as at least
* one NodePath exists that represents that instance; if all NodePaths for a
* particular instance destruct and a new one is later created, it may have a
* different index. However, a given key will never be reused for a different
* instance (unless the app has been running long enough that we overflow the
* integer key value).
*/
41
inline int NodePath::get_key(void) const;
2328 8 add_hash 0 4 3650 18 NodePath::add_hash 0 1 463 528
/**
* Adds the NodePath into the running hash. This is intended to be used by
* lower-level code that computes a hash for each NodePath. It modifies the
* hash value passed in by a unique adjustment for each NodePath, and returns
* the modified hash.
*
* This is similar to the unique integer returned by get_key(), but it is not
* guaranteed to remain unique beyond the lifetime of this particular
* NodePath. Once this NodePath destructs, a different NodePath may be
* created which shares the same hash value.
*/
62
inline std::size_t NodePath::add_hash(std::size_t hash) const;
2329 13 is_same_graph 0 4 3650 23 NodePath::is_same_graph 0 1 464 255
/**
* Returns true if the node represented by this NodePath is parented within
* the same graph as that of the other NodePath. This is essentially the same
* thing as asking whether get_top() of both NodePaths is the same (e.g., both
* "render").
*/
120
inline bool NodePath::is_same_graph(NodePath const &other, Thread *current_thread = Thread::get_current_thread()) const;
2330 14 is_ancestor_of 0 4 3650 24 NodePath::is_ancestor_of 0 1 465 143
/**
* Returns true if the node represented by this NodePath is a parent or other
* ancestor of the other NodePath, or false if it is not.
*/
121
inline bool NodePath::is_ancestor_of(NodePath const &other, Thread *current_thread = Thread::get_current_thread()) const;
2331 19 get_common_ancestor 0 4 3650 29 NodePath::get_common_ancestor 0 1 466 205
/**
* Returns the lowest NodePath that both of these two NodePaths have in
* common: the first ancestor that both of them share. If the two NodePaths
* are unrelated, returns NodePath::not_found().
*/
130
inline NodePath NodePath::get_common_ancestor(NodePath const &other, Thread *current_thread = Thread::get_current_thread()) const;
2332 12 get_children 0 4 3650 22 NodePath::get_children 0 1 467 69
/**
* Returns the set of all child nodes of the referenced node.
*/
103
NodePathCollection NodePath::get_children(Thread *current_thread = Thread::get_current_thread()) const;
2333 16 get_num_children 0 4 3650 26 NodePath::get_num_children 0 1 468 65
/**
* Returns the number of children of the referenced node.
*/
99
inline int NodePath::get_num_children(Thread *current_thread = Thread::get_current_thread()) const;
2334 9 get_child 0 4 3650 19 NodePath::get_child 0 1 469 80
/**
* Returns a NodePath representing the nth child of the referenced node.
*/
104
inline NodePath NodePath::get_child(int n, Thread *current_thread = Thread::get_current_thread()) const;
2335 20 get_stashed_children 0 4 3650 30 NodePath::get_stashed_children 0 1 470 210
/**
* Returns the set of all child nodes of the referenced node that have been
* stashed. These children are not normally visible on the node, and do not
* appear in the list returned by get_children().
*/
111
NodePathCollection NodePath::get_stashed_children(Thread *current_thread = Thread::get_current_thread()) const;
2336 18 NodePathCollection 0 4 3653 38 NodePathCollection::NodePathCollection 0 3 957 958 959 0
216
NodePathCollection::NodePathCollection(void) = default;
NodePathCollection::NodePathCollection(PyObject *self, PyObject *sequence);
inline NodePathCollection::NodePathCollection(NodePathCollection const &) = default;
2337 10 __reduce__ 0 4 3653 30 NodePathCollection::__reduce__ 0 1 960 0
63
PyObject *NodePathCollection::__reduce__(PyObject *self) const;
2338 8 add_path 0 4 3653 28 NodePathCollection::add_path 0 1 961 49
/**
* Adds a new NodePath to the collection.
*/
61
void NodePathCollection::add_path(NodePath const &node_path);
2339 11 remove_path 0 4 3653 31 NodePathCollection::remove_path 0 1 962 152
/**
* Removes the indicated NodePath from the collection. Returns true if the
* path was removed, false if it was not a member of the collection.
*/
64
bool NodePathCollection::remove_path(NodePath const &node_path);
2340 14 add_paths_from 0 4 3653 34 NodePathCollection::add_paths_from 0 1 963 204
/**
* Adds all the NodePaths indicated in the other collection to this path. The
* other paths are simply appended to the end of the paths in this list;
* duplicates are not automatically removed.
*/
73
void NodePathCollection::add_paths_from(NodePathCollection const &other);
2341 17 remove_paths_from 0 4 3653 37 NodePathCollection::remove_paths_from 0 1 964 95
/**
* Removes from this collection all of the NodePaths listed in the other
* collection.
*/
76
void NodePathCollection::remove_paths_from(NodePathCollection const &other);
2342 22 remove_duplicate_paths 0 4 3653 42 NodePathCollection::remove_duplicate_paths 0 1 965 197
/**
* Removes any duplicate entries of the same NodePaths on this collection. If
* a NodePath appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/
54
void NodePathCollection::remove_duplicate_paths(void);
2343 8 has_path 0 4 3653 28 NodePathCollection::has_path 0 1 966 97
/**
* Returns true if the indicated NodePath appears in this collection, false
* otherwise.
*/
62
bool NodePathCollection::has_path(NodePath const &path) const;
2344 5 clear 0 4 3653 25 NodePathCollection::clear 0 1 967 53
/**
* Removes all NodePaths from the collection.
*/
37
void NodePathCollection::clear(void);
2345 7 reserve 0 4 3653 27 NodePathCollection::reserve 0 1 968 157
/**
* This is a hint to Panda to allocate enough memory to hold the given number
* of NodePaths, if you know ahead of time how many you will be adding.
*/
50
void NodePathCollection::reserve(std::size_t num);
2346 8 is_empty 0 4 3653 28 NodePathCollection::is_empty 0 1 969 85
/**
* Returns true if there are no NodePaths in the collection, false otherwise.
*/
46
bool NodePathCollection::is_empty(void) const;
2347 13 get_num_paths 0 4 3653 33 NodePathCollection::get_num_paths 0 1 970 61
/**
* Returns the number of NodePaths in the collection.
*/
50
int NodePathCollection::get_num_paths(void) const;
2348 8 get_path 0 4 3653 28 NodePathCollection::get_path 0 1 971 54
/**
* Returns the nth NodePath in the collection.
*/
55
NodePath NodePathCollection::get_path(int index) const;
2349 11 operator [] 0 4 3653 31 NodePathCollection::operator [] 0 1 972 0
66
NodePath NodePathCollection::operator [](std::size_t index) const;
2350 4 size 0 4 3653 24 NodePathCollection::size 0 1 973 104
/**
* Returns the number of paths in the collection. This is the same thing as
* get_num_paths().
*/
49
std::size_t NodePathCollection::size(void) const;
2351 11 operator += 0 4 3653 31 NodePathCollection::operator += 0 1 974 0
77
inline void NodePathCollection::operator +=(NodePathCollection const &other);
2352 10 operator + 0 4 3653 30 NodePathCollection::operator + 0 1 975 0
96
inline NodePathCollection NodePathCollection::operator +(NodePathCollection const &other) const;
2353 6 append 0 4 3653 26 NodePathCollection::append 0 1 976 203
// Method names to satisfy Python's conventions.
/**
* Adds a new NodePath to the collection. This method duplicates the
* add_path() method; it is provided to satisfy Python's naming convention.
*/
66
inline void NodePathCollection::append(NodePath const &node_path);
2354 6 extend 0 4 3653 26 NodePathCollection::extend 0 1 977 157
/**
* Appends the other list onto the end of this one. This method duplicates
* the += operator; it is provided to satisfy Python's naming convention.
*/
72
inline void NodePathCollection::extend(NodePathCollection const &other);
2355 2 ls 0 4 3653 22 NodePathCollection::ls 0 2 978 979 230
// Handy operations on many NodePaths at once.
/**
* Lists all the nodes at and below each node in the collection
* hierarchically.
*/
/**
* Lists all the nodes at and below each node in the collection
* hierarchically.
*/
123
inline void NodePathCollection::ls(void) const;
void NodePathCollection::ls(std::ostream &out, int indent_level = 0) const;
2356 16 find_all_matches 0 4 3653 36 NodePathCollection::find_all_matches 0 1 980 177
/**
* Returns the complete set of all NodePaths that begin with any NodePath in
* this collection and can be extended by path. The shortest paths will be
* listed first.
*/
87
NodePathCollection NodePathCollection::find_all_matches(std::string const &path) const;
2357 11 reparent_to 0 4 3653 31 NodePathCollection::reparent_to 0 1 981 79
/**
* Reparents all the NodePaths in the collection to the indicated node.
*/
60
void NodePathCollection::reparent_to(NodePath const &other);
2358 15 wrt_reparent_to 0 4 3653 35 NodePathCollection::wrt_reparent_to 0 1 982 147
/**
* Reparents all the NodePaths in the collection to the indicated node,
* adjusting each transform so as not to move in world coordinates.
*/
64
void NodePathCollection::wrt_reparent_to(NodePath const &other);
2359 4 show 0 4 3653 24 NodePathCollection::show 0 1 983 49
/**
* Shows all NodePaths in the collection.
*/
36
void NodePathCollection::show(void);
2360 4 hide 0 4 3653 24 NodePathCollection::hide 0 1 984 49
/**
* Hides all NodePaths in the collection.
*/
36
void NodePathCollection::hide(void);
2361 5 stash 0 4 3653 25 NodePathCollection::stash 0 1 985 51
/**
* Stashes all NodePaths in the collection.
*/
37
void NodePathCollection::stash(void);
2362 7 unstash 0 4 3653 27 NodePathCollection::unstash 0 1 986 53
/**
* Unstashes all NodePaths in the collection.
*/
39
void NodePathCollection::unstash(void);
2363 6 detach 0 4 3653 26 NodePathCollection::detach 0 1 987 52
/**
* Detaches all NodePaths in the collection.
*/
38
void NodePathCollection::detach(void);
2364 16 get_collide_mask 0 4 3653 36 NodePathCollection::get_collide_mask 0 1 988 309
/**
* Returns the union of all of the into_collide_masks for nodes at this level
* and below. This is the same thing as node()->get_net_collide_mask().
*
* If you want to return what the into_collide_mask of this node itself is,
* without regard to its children, use node()->get_into_collide_mask().
*/
61
CollideMask NodePathCollection::get_collide_mask(void) const;
2365 16 set_collide_mask 0 4 3653 36 NodePathCollection::set_collide_mask 0 1 989 349
/**
* Recursively applies the indicated CollideMask to the into_collide_masks for
* all nodes at this level and below.
*
* The default is to change all bits, but if bits_to_change is not all bits
* on, then only the bits that are set in bits_to_change are modified,
* allowing this call to change only a subset of the bits in the subgraph.
*/
159
void NodePathCollection::set_collide_mask(CollideMask new_mask, CollideMask bits_to_change = CollideMask::all_on(), TypeHandle node_type = TypeHandle::none());
2366 17 calc_tight_bounds 0 4 3653 37 NodePathCollection::calc_tight_bounds 0 1 990 369
/**
* Calculates the minimum and maximum vertices of all Geoms at these
* NodePath's bottom nodes and below This is a tight bounding box; it will
* generally be tighter than the bounding volume returned by get_bounds() (but
* it is more expensive to compute).
*
* The return value is true if any points are within the bounding volume, or
* false if none are.
*/
89
bool NodePathCollection::calc_tight_bounds(LPoint3 &min_point, LPoint3 &max_point) const;
2367 16 get_tight_bounds 0 4 3653 36 NodePathCollection::get_tight_bounds 0 1 991 0
59
PyObject *NodePathCollection::get_tight_bounds(void) const;
2368 11 set_texture 0 4 3653 31 NodePathCollection::set_texture 0 2 992 993 738
/**
* Adds the indicated texture to the list of textures that will be rendered on
* the default texture stage.
*
* This is the deprecated single-texture variant of this method; it is now
* superceded by set_texture() that accepts a stage and texture. However,
* this method may be used in the presence of multitexture if you just want to
* adjust the default stage.
*/
/**
* Adds the indicated texture to the list of textures that will be rendered on
* the indicated multitexture stage. If there are multiple texture stages
* specified (possibly on multiple different nodes at different levels), they
* will all be applied to geometry together, according to the stage
* specification set up in the TextureStage object.
*/
160
void NodePathCollection::set_texture(Texture *tex, int priority = 0);
void NodePathCollection::set_texture(TextureStage *stage, Texture *tex, int priority = 0);
2369 15 set_texture_off 0 4 3653 35 NodePathCollection::set_texture_off 0 2 994 995 602
/**
* Sets the geometry at this level and below to render using no texture, on
* any stage. This is different from not specifying a texture; rather, this
* specifically contradicts set_texture() at a higher node level (or, with a
* priority, overrides a set_texture() at a lower level).
*/
/**
* Sets the geometry at this level and below to render using no texture, on
* the indicated stage. This is different from not specifying a texture;
* rather, this specifically contradicts set_texture() at a higher node level
* (or, with a priority, overrides a set_texture() at a lower level).
*/
140
void NodePathCollection::set_texture_off(int priority = 0);
void NodePathCollection::set_texture_off(TextureStage *stage, int priority = 0);
2370 9 set_color 0 4 3653 29 NodePathCollection::set_color 0 2 996 997 100
/**
* Colors all NodePaths in the collection
*/
/**
* Colors all NodePaths in the collection
*/
201
inline void NodePathCollection::set_color(PN_stdfloat r, PN_stdfloat g, PN_stdfloat b, PN_stdfloat a = 1.0, int priority = 0);
void NodePathCollection::set_color(LColor const &color, int priority = 0);
2371 15 set_color_scale 0 4 3653 35 NodePathCollection::set_color_scale 0 2 998 999 220
/**
* Applies color scales to all NodePaths in the collection. The existing
* color scale is replaced.
*/
/**
* Applies color scales to all NodePaths in the collection. The existing
* color scale is replaced.
*/
216
inline void NodePathCollection::set_color_scale(PN_stdfloat r, PN_stdfloat g, PN_stdfloat b, PN_stdfloat a = 1.0, int priority = 0);
void NodePathCollection::set_color_scale(LVecBase4 const &scale, int priority = 0);
2372 19 compose_color_scale 0 4 3653 39 NodePathCollection::compose_color_scale 0 2 1000 1001 300
/**
* Applies color scales to all NodePaths in the collection. The existing
* color scale, if any, is multiplied by the specified color scale.
*/
/**
* Applies color scales to all NodePaths in the collection. The existing
* color scale, if any, is multiplied by the specified color scale.
*/
224
inline void NodePathCollection::compose_color_scale(PN_stdfloat r, PN_stdfloat g, PN_stdfloat b, PN_stdfloat a = 1.0, int priority = 0);
void NodePathCollection::compose_color_scale(LVecBase4 const &scale, int priority = 0);
2373 10 set_attrib 0 4 3653 30 NodePathCollection::set_attrib 0 1 1002 223
/**
* Applies the indicated RenderAttrib to all NodePaths in the collection. An
* effort is made to apply the attrib to many NodePaths as quickly as
* possible; redundant RenderState compositions are not duplicated.
*/
82
void NodePathCollection::set_attrib(RenderAttrib const *attrib, int priority = 0);
2374 6 output 0 4 3653 26 NodePathCollection::output 0 1 1003 107
/**
* Writes a brief one-line description of the NodePathCollection to the
* indicated output stream.
*/
57
void NodePathCollection::output(std::ostream &out) const;
2375 5 write 0 4 3653 25 NodePathCollection::write 0 1 1004 112
/**
* Writes a complete multi-line description of the NodePathCollection to the
* indicated output stream.
*/
78
void NodePathCollection::write(std::ostream &out, int indent_level = 0) const;
2376 19 ~NodePathCollection 0 4 3653 39 NodePathCollection::~NodePathCollection 0 0 0
46
NodePathCollection::~NodePathCollection(void);
2377 21 count_num_descendants 0 4 3650 31 NodePath::count_num_descendants 0 1 471 63
/**
* Returns the number of nodes at and below this level.
*/
55
inline int NodePath::count_num_descendants(void) const;
2378 10 has_parent 0 4 3650 20 NodePath::has_parent 0 1 472 117
/**
* Returns true if the referenced node has a parent; i.e. the NodePath chain
* contains at least two nodes.
*/
94
inline bool NodePath::has_parent(Thread *current_thread = Thread::get_current_thread()) const;
2379 10 get_parent 0 4 3650 20 NodePath::get_parent 0 1 473 195
/**
* Returns the NodePath to the parent of the referenced node: that is, this
* NodePath, shortened by one node. The parent of a singleton NodePath is
* defined to be the empty NodePath.
*/
98
inline NodePath NodePath::get_parent(Thread *current_thread = Thread::get_current_thread()) const;
2380 8 get_sort 0 4 3650 18 NodePath::get_sort 0 1 474 246
/**
* Returns the sort value of the referenced node within its parent; that is,
* the sort number passed on the last reparenting operation for this node.
* This will control the position of the node within its parent's list of
* children.
*/
84
int NodePath::get_sort(Thread *current_thread = Thread::get_current_thread()) const;
2381 4 find 0 4 3650 14 NodePath::find 0 1 475 187
/**
* Searches for a node below the referenced node that matches the indicated
* string. Returns the shortest match found, if any, or an empty NodePath if
* no match can be found.
*/
55
NodePath NodePath::find(std::string const &path) const;
2382 12 find_path_to 0 4 3650 22 NodePath::find_path_to 0 1 476 115
/**
* Searches for the indicated node below this node and returns the shortest
* NodePath that connects them.
*/
55
NodePath NodePath::find_path_to(PandaNode *node) const;
2383 16 find_all_matches 0 4 3650 26 NodePath::find_all_matches 0 1 477 156
/**
* Returns the complete set of all NodePaths that begin with this NodePath and
* can be extended by path. The shortest paths will be listed first.
*/
77
NodePathCollection NodePath::find_all_matches(std::string const &path) const;
2384 17 find_all_paths_to 0 4 3650 27 NodePath::find_all_paths_to 0 1 478 147
/**
* Returns the set of all NodePaths that extend from this NodePath down to the
* indicated node. The shortest paths will be listed first.
*/
70
NodePathCollection NodePath::find_all_paths_to(PandaNode *node) const;
2385 11 reparent_to 0 4 3650 21 NodePath::reparent_to 0 1 479 711
// Methods that actually move nodes around in the scene graph. The optional
// "sort" parameter can be used to force a particular ordering between
// sibling nodes, useful when dealing with LOD's and similar switch nodes.
// If the sort value is the same, nodes will be arranged in the order they
// were added.
/**
* Removes the referenced node of the NodePath from its current parent and
* attaches it to the referenced node of the indicated NodePath.
*
* If the destination NodePath is empty, this is the same thing as
* detach_node().
*
* If the referenced node is already a child of the indicated NodePath (via
* some other instance), this operation fails and leaves the NodePath
* detached.
*/
119
void NodePath::reparent_to(NodePath const &other, int sort = 0, Thread *current_thread = Thread::get_current_thread());
2386 8 stash_to 0 4 3650 18 NodePath::stash_to 0 1 480 189
/**
* Similar to reparent_to(), but the node is added to its new parent's stashed
* list, so that the result is equivalent to calling reparent_to() immediately
* followed by stash().
*/
116
void NodePath::stash_to(NodePath const &other, int sort = 0, Thread *current_thread = Thread::get_current_thread());
2387 15 wrt_reparent_to 0 4 3650 25 NodePath::wrt_reparent_to 0 1 481 238
/**
* This functions identically to reparent_to(), except the transform on this
* node is also adjusted so that the node remains in the same place in world
* coordinates, even if it is reparented into a different coordinate system.
*/
123
void NodePath::wrt_reparent_to(NodePath const &other, int sort = 0, Thread *current_thread = Thread::get_current_thread());
2388 11 instance_to 0 4 3650 21 NodePath::instance_to 0 1 482 962
/**
* Adds the referenced node of the NodePath as a child of the referenced node
* of the indicated other NodePath. Any other parent-child relations of the
* node are unchanged; in particular, the node is not removed from its
* existing parent, if any.
*
* If the node already had an existing parent, this method will create a new
* instance of the node within the scene graph.
*
* This does not change the NodePath itself, but does return a new NodePath
* that reflects the new instance node.
*
* If the destination NodePath is empty, this creates a new instance which is
* not yet parented to any node. A new instance of this sort cannot easily be
* differentiated from other similar instances, but it is nevertheless a
* different instance and it will return a different get_id() value.
*
* If the referenced node is already a child of the indicated NodePath,
* returns that already-existing instance, unstashing it first if necessary.
*/
129
NodePath NodePath::instance_to(NodePath const &other, int sort = 0, Thread *current_thread = Thread::get_current_thread()) const;
2389 19 instance_under_node 0 4 3650 29 NodePath::instance_under_node 0 1 483 236
/**
* Behaves like instance_to(), but implicitly creates a new node to instance
* the geometry under, and returns a NodePath to that new node. This allows
* the programmer to set a unique state and/or transform on this instance.
*/
162
NodePath NodePath::instance_under_node(NodePath const &other, std::string const &name, int sort = 0, Thread *current_thread = Thread::get_current_thread()) const;
2390 7 copy_to 0 4 3650 17 NodePath::copy_to 0 1 484 221
/**
* Functions like instance_to(), except a deep copy is made of the referenced
* node and all of its descendents, which is then parented to the indicated
* node. A NodePath to the newly created copy is returned.
*/
125
NodePath NodePath::copy_to(NodePath const &other, int sort = 0, Thread *current_thread = Thread::get_current_thread()) const;
2391 15 attach_new_node 0 4 3650 25 NodePath::attach_new_node 0 2 485 486 588
/**
* Creates an ordinary PandaNode and attaches it below the current NodePath,
* returning a new NodePath that references it.
*/
/**
* Attaches a new node, with or without existing parents, to the scene graph
* below the referenced node of this NodePath. This is the preferred way to
* add nodes to the graph.
*
* If the node was already a child of the parent, this returns a NodePath to
* the existing child.
*
* This does *not* automatically extend the current NodePath to reflect the
* attachment; however, a NodePath that does reflect this extension is
* returned.
*/
270
NodePath NodePath::attach_new_node(PandaNode *node, int sort = 0, Thread *current_thread = Thread::get_current_thread()) const;
inline NodePath NodePath::attach_new_node(std::string const &name, int sort = 0, Thread *current_thread = Thread::get_current_thread()) const;
2392 11 remove_node 0 4 3650 21 NodePath::remove_node 0 1 487 754
/**
* Disconnects the referenced node from the scene graph. This will also
* delete the node if there are no other pointers to it.
*
* Normally, this should be called only when you are really done with the
* node. If you want to remove a node from the scene graph but keep it around
* for later, you should probably use detach_node() instead.
*
* In practice, the only difference between remove_node() and detach_node() is
* that remove_node() also resets the NodePath to empty, which will cause the
* node to be deleted immediately if there are no other references. On the
* other hand, detach_node() leaves the NodePath referencing the node, which
* will keep at least one reference to the node for as long as the NodePath
* exists.
*/
82
void NodePath::remove_node(Thread *current_thread = Thread::get_current_thread());
2393 11 detach_node 0 4 3650 21 NodePath::detach_node 0 1 488 735
/**
* Disconnects the referenced node from its parent, but does not immediately
* delete it. The NodePath retains a pointer to the node, and becomes a
* singleton NodePath.
*
* This should be called to detach a node from the scene graph, with the
* option of reattaching it later to the same parent or to a different parent.
*
* In practice, the only difference between remove_node() and detach_node() is
* that remove_node() also resets the NodePath to empty, which will cause the
* node to be deleted immediately if there are no other references. On the
* other hand, detach_node() leaves the NodePath referencing the node, which
* will keep at least one reference to the node for as long as the NodePath
* exists.
*/
82
void NodePath::detach_node(Thread *current_thread = Thread::get_current_thread());
2394 6 output 0 4 3650 16 NodePath::output 0 1 489 91
/**
* Writes a sensible description of the NodePath to the indicated output
* stream.
*/
47
void NodePath::output(std::ostream &out) const;
2395 2 ls 0 4 3650 12 NodePath::ls 0 2 490 491 130
/**
* Lists the hierarchy at and below the referenced node.
*/
/**
* Lists the hierarchy at and below the referenced node.
*/
110
inline void NodePath::ls(void) const;
inline void NodePath::ls(std::ostream &out, int indent_level = 0) const;
2396 10 reverse_ls 0 4 3650 20 NodePath::reverse_ls 0 2 492 493 130
/**
* Lists the hierarchy at and above the referenced node.
*/
/**
* Lists the hierarchy at and above the referenced node.
*/
118
inline void NodePath::reverse_ls(void) const;
int NodePath::reverse_ls(std::ostream &out, int indent_level = 0) const;
2397 9 get_state 0 4 3650 19 NodePath::get_state 0 2 494 495 256
// Aggregate transform and state information.
/**
* Returns the complete state object set on this node.
*/
/**
* Returns the state changes that must be made to transition to the render
* state of this node from the render state of the other node.
*/
235
RenderState const *NodePath::get_state(Thread *current_thread = Thread::get_current_thread()) const;
ConstPointerTo< RenderState > NodePath::get_state(NodePath const &other, Thread *current_thread = Thread::get_current_thread()) const;
2398 9 set_state 0 4 3650 19 NodePath::set_state 0 2 496 497 240
/**
* Changes the complete state object on this node.
*/
/**
* Sets the state object on this node, relative to the other node. This
* computes a new state object that will have the indicated value when seen
* from the other node.
*/
243
inline void NodePath::set_state(RenderState const *state, Thread *current_thread = Thread::get_current_thread());
void NodePath::set_state(NodePath const &other, RenderState const *state, Thread *current_thread = Thread::get_current_thread());
2399 13 get_net_state 0 4 3650 23 NodePath::get_net_state 0 1 498 60
/**
* Returns the net state on this node from the root.
*/
122
inline ConstPointerTo< RenderState > NodePath::get_net_state(Thread *current_thread = Thread::get_current_thread()) const;
2400 10 set_attrib 0 4 3650 20 NodePath::set_attrib 0 1 499 220
/**
* Adds the indicated render attribute to the scene graph on this node. This
* attribute will now apply to this node and everything below. If there was
* already an attribute of the same type, it is replaced.
*/
79
inline void NodePath::set_attrib(RenderAttrib const *attrib, int priority = 0);
2401 10 get_attrib 0 4 3650 20 NodePath::get_attrib 0 1 500 270
/**
* Returns the render attribute of the indicated type, if it is defined on the
* node, or NULL if it is not. This checks only what is set on this
* particular node level, and has nothing to do with what render attributes
* may be inherited from parent nodes.
*/
71
inline RenderAttrib const *NodePath::get_attrib(TypeHandle type) const;
2402 10 has_attrib 0 4 3650 20 NodePath::has_attrib 0 1 501 127
/**
* Returns true if there is a render attribute of the indicated type defined
* on this node, or false if there is not.
*/
56
inline bool NodePath::has_attrib(TypeHandle type) const;
2403 12 clear_attrib 0 4 3650 22 NodePath::clear_attrib 0 1 502 194
/**
* Removes the render attribute of the given type from this node. This node,
* and the subgraph below, will now inherit the indicated render attribute
* from the nodes above this one.
*/
52
inline void NodePath::clear_attrib(TypeHandle type);
2404 10 set_effect 0 4 3650 20 NodePath::set_effect 0 1 503 145
/**
* Adds the indicated render effect to the scene graph on this node. If there
* was already an effect of the same type, it is replaced.
*/
61
inline void NodePath::set_effect(RenderEffect const *effect);
2405 10 get_effect 0 4 3650 20 NodePath::get_effect 0 1 504 114
/**
* Returns the render effect of the indicated type, if it is defined on the
* node, or NULL if it is not.
*/
71
inline RenderEffect const *NodePath::get_effect(TypeHandle type) const;
2406 10 has_effect 0 4 3650 20 NodePath::has_effect 0 1 505 124
/**
* Returns true if there is a render effect of the indicated type defined on
* this node, or false if there is not.
*/
56
inline bool NodePath::has_effect(TypeHandle type) const;
2407 12 clear_effect 0 4 3650 22 NodePath::clear_effect 0 1 506 70
/**
* Removes the render effect of the given type from this node.
*/
52
inline void NodePath::clear_effect(TypeHandle type);
2408 11 set_effects 0 4 3650 21 NodePath::set_effects 0 1 507 177
/**
* Sets the complete RenderEffects that will be applied this node. This
* completely replaces whatever has been set on this node via repeated calls
* to set_attrib().
*/
64
inline void NodePath::set_effects(RenderEffects const *effects);
2409 11 get_effects 0 4 3650 21 NodePath::get_effects 0 1 508 80
/**
* Returns the complete RenderEffects that will be applied to this node.
*/
62
inline RenderEffects const *NodePath::get_effects(void) const;
2410 13 clear_effects 0 4 3650 23 NodePath::clear_effects 0 1 509 54
/**
* Resets this node to have no render effects.
*/
42
inline void NodePath::clear_effects(void);
2411 13 get_transform 0 4 3650 23 NodePath::get_transform 0 2 510 511 213
/**
* Returns the complete transform object set on this node.
*/
/**
* Returns the relative transform to this node from the other node; i.e. the
* transformation of this node as seen from the other node.
*/
249
TransformState const *NodePath::get_transform(Thread *current_thread = Thread::get_current_thread()) const;
ConstPointerTo< TransformState > NodePath::get_transform(NodePath const &other, Thread *current_thread = Thread::get_current_thread()) const;
2412 15 clear_transform 0 4 3650 25 NodePath::clear_transform 0 2 512 513 235
/**
* Sets the transform object on this node to identity.
*/
/**
* Sets the transform object on this node to identity, relative to the other
* node. This effectively places this node at the same position as the other
* node.
*/
210
inline void NodePath::clear_transform(Thread *current_thread = Thread::get_current_thread());
inline void NodePath::clear_transform(NodePath const &other, Thread *current_thread = Thread::get_current_thread());
2413 13 set_transform 0 4 3650 23 NodePath::set_transform 0 2 514 515 252
/**
* Changes the complete transform object on this node.
*/
/**
* Sets the transform object on this node, relative to the other node. This
* computes a new transform object that will have the indicated value when
* seen from the other node.
*/
265
inline void NodePath::set_transform(TransformState const *transform, Thread *current_thread = Thread::get_current_thread());
void NodePath::set_transform(NodePath const &other, TransformState const *transform, Thread *current_thread = Thread::get_current_thread());
2414 17 get_net_transform 0 4 3650 27 NodePath::get_net_transform 0 1 516 64
/**
* Returns the net transform on this node from the root.
*/
129
inline ConstPointerTo< TransformState > NodePath::get_net_transform(Thread *current_thread = Thread::get_current_thread()) const;
2415 18 get_prev_transform 0 4 3650 28 NodePath::get_prev_transform 0 2 517 518 313
/**
* Returns the transform that has been set as this node's "previous" position.
* See set_prev_transform().
*/
/**
* Returns the relative "previous" transform to this node from the other node;
* i.e. the position of this node in the previous frame, as seen by the other
* node in the previous frame.
*/
259
TransformState const *NodePath::get_prev_transform(Thread *current_thread = Thread::get_current_thread()) const;
ConstPointerTo< TransformState > NodePath::get_prev_transform(NodePath const &other, Thread *current_thread = Thread::get_current_thread()) const;
2416 18 set_prev_transform 0 4 3650 28 NodePath::set_prev_transform 0 2 519 520 374
/**
* Sets the transform that represents this node's "previous" position, one
* frame ago, for the purposes of detecting motion for accurate collision
* calculations.
*/
/**
* Sets the "previous" transform object on this node, relative to the other
* node. This computes a new transform object that will have the indicated
* value when seen from the other node.
*/
275
inline void NodePath::set_prev_transform(TransformState const *transform, Thread *current_thread = Thread::get_current_thread());
void NodePath::set_prev_transform(NodePath const &other, TransformState const *transform, Thread *current_thread = Thread::get_current_thread());
2417 22 get_net_prev_transform 0 4 3650 32 NodePath::get_net_prev_transform 0 1 521 105
/**
* Returns the net "previous" transform on this node from the root. See
* set_prev_transform().
*/
134
inline ConstPointerTo< TransformState > NodePath::get_net_prev_transform(Thread *current_thread = Thread::get_current_thread()) const;
2418 7 set_pos 0 4 3650 17 NodePath::set_pos 0 4 522 523 524 525 806
/**
* Sets the translation component of the transform, leaving rotation and scale
* untouched. This also resets the node's "previous" position, so that the
* collision system will see the node as having suddenly appeared in the new
* position, without passing any points in between.
*/
/**
* Sets the translation component of the transform, relative to the other
* node.
*/
/**
* Sets the translation component of the transform, leaving rotation and scale
* untouched. This also resets the node's "previous" position, so that the
* collision system will see the node as having suddenly appeared in the new
* position, without passing any points in between. See Also:
* NodePath::set_fluid_pos
*/
/**
* Sets the translation component of the transform, relative to the other
* node.
*/
289
inline void NodePath::set_pos(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::set_pos(LVecBase3 const &pos);
inline void NodePath::set_pos(NodePath const &other, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::set_pos(NodePath const &other, LVecBase3 const &pos);
2419 5 set_x 0 4 3650 15 NodePath::set_x 0 2 526 527 0
96
void NodePath::set_x(PN_stdfloat x);
void NodePath::set_x(NodePath const &other, PN_stdfloat x);
2420 5 set_y 0 4 3650 15 NodePath::set_y 0 2 528 529 0
96
void NodePath::set_y(PN_stdfloat y);
void NodePath::set_y(NodePath const &other, PN_stdfloat y);
2421 5 set_z 0 4 3650 15 NodePath::set_z 0 2 530 531 0
96
void NodePath::set_z(PN_stdfloat z);
void NodePath::set_z(NodePath const &other, PN_stdfloat z);
2422 13 set_fluid_pos 0 4 3650 23 NodePath::set_fluid_pos 0 4 532 533 534 535 734
/**
* Sets the translation component, without changing the "previous" position,
* so that the collision system will see the node as moving fluidly from its
* previous position to its new position.
*/
/**
* Sets the translation component, without changing the "previous" position,
* so that the collision system will see the node as moving fluidly from its
* previous position to its new position.
*/
/**
* Sets the translation component, without changing the "previous" position,
* so that the collision system will see the node as moving fluidly from its
* previous position to its new position. See Also: NodePath::set_pos
*/
/**
* Sets the translation component of the transform, relative to the other
* node.
*/
313
inline void NodePath::set_fluid_pos(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::set_fluid_pos(LVecBase3 const &pos);
inline void NodePath::set_fluid_pos(NodePath const &other, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::set_fluid_pos(NodePath const &other, LVecBase3 const &pos);
2423 11 set_fluid_x 0 4 3650 21 NodePath::set_fluid_x 0 2 536 537 0
108
void NodePath::set_fluid_x(PN_stdfloat x);
void NodePath::set_fluid_x(NodePath const &other, PN_stdfloat x);
2424 11 set_fluid_y 0 4 3650 21 NodePath::set_fluid_y 0 2 538 539 0
108
void NodePath::set_fluid_y(PN_stdfloat y);
void NodePath::set_fluid_y(NodePath const &other, PN_stdfloat y);
2425 11 set_fluid_z 0 4 3650 21 NodePath::set_fluid_z 0 2 540 541 0
108
void NodePath::set_fluid_z(PN_stdfloat z);
void NodePath::set_fluid_z(NodePath const &other, PN_stdfloat z);
2426 7 get_pos 0 4 3650 17 NodePath::get_pos 0 2 542 543 161
/**
* Retrieves the translation component of the transform.
*/
/**
* Returns the relative position of the referenced node as seen from the other
* node.
*/
94
LPoint3 NodePath::get_pos(void) const;
LPoint3 NodePath::get_pos(NodePath const &other) const;
2427 5 get_x 0 4 3650 15 NodePath::get_x 0 2 544 545 0
112
inline PN_stdfloat NodePath::get_x(void) const;
inline PN_stdfloat NodePath::get_x(NodePath const &other) const;
2428 5 get_y 0 4 3650 15 NodePath::get_y 0 2 546 547 0
112
inline PN_stdfloat NodePath::get_y(void) const;
inline PN_stdfloat NodePath::get_y(NodePath const &other) const;
2429 5 get_z 0 4 3650 15 NodePath::get_z 0 2 548 549 0
112
inline PN_stdfloat NodePath::get_z(void) const;
inline PN_stdfloat NodePath::get_z(NodePath const &other) const;
2430 13 get_pos_delta 0 4 3650 23 NodePath::get_pos_delta 0 2 550 551 990
/**
* Returns the delta vector from this node's position in the previous frame
* (according to set_prev_transform(), typically set via the use of
* set_fluid_pos()) and its position in the current frame. This is the vector
* used to determine collisions. Generally, if the node was last repositioned
* via set_pos(), the delta will be zero; if it was adjusted via
* set_fluid_pos(), the delta will represent the change from the previous
* frame's position.
*/
/**
* Returns the delta vector from this node's position in the previous frame
* (according to set_prev_transform(), typically set via the use of
* set_fluid_pos()) and its position in the current frame, as seen in the
* indicated node's coordinate space. This is the vector used to determine
* collisions. Generally, if the node was last repositioned via set_pos(),
* the delta will be zero; if it was adjusted via set_fluid_pos(), the delta
* will represent the change from the previous frame's position.
*/
108
LVector3 NodePath::get_pos_delta(void) const;
LVector3 NodePath::get_pos_delta(NodePath const &other) const;
2431 7 set_hpr 0 4 3650 17 NodePath::set_hpr 0 4 552 553 554 555 374
/**
* Sets the rotation component of the transform, leaving translation and scale
* untouched.
*/
/**
* Sets the rotation component of the transform, relative to the other node.
*/
/**
* Sets the rotation component of the transform, leaving translation and scale
* untouched.
*/
/**
* Sets the rotation component of the transform, relative to the other node.
*/
289
inline void NodePath::set_hpr(PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
void NodePath::set_hpr(LVecBase3 const &hpr);
inline void NodePath::set_hpr(NodePath const &other, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
void NodePath::set_hpr(NodePath const &other, LVecBase3 const &hpr);
2432 5 set_h 0 4 3650 15 NodePath::set_h 0 2 556 557 0
96
void NodePath::set_h(PN_stdfloat h);
void NodePath::set_h(NodePath const &other, PN_stdfloat h);
2433 5 set_p 0 4 3650 15 NodePath::set_p 0 2 558 559 0
96
void NodePath::set_p(PN_stdfloat p);
void NodePath::set_p(NodePath const &other, PN_stdfloat p);
2434 5 set_r 0 4 3650 15 NodePath::set_r 0 2 560 561 0
96
void NodePath::set_r(PN_stdfloat r);
void NodePath::set_r(NodePath const &other, PN_stdfloat r);
2435 7 get_hpr 0 4 3650 17 NodePath::get_hpr 0 2 562 563 157
/**
* Retrieves the rotation component of the transform.
*/
/**
* Returns the relative orientation of the bottom node as seen from the other
* node.
*/
98
LVecBase3 NodePath::get_hpr(void) const;
LVecBase3 NodePath::get_hpr(NodePath const &other) const;
2436 5 get_h 0 4 3650 15 NodePath::get_h 0 2 564 565 0
112
inline PN_stdfloat NodePath::get_h(void) const;
inline PN_stdfloat NodePath::get_h(NodePath const &other) const;
2437 5 get_p 0 4 3650 15 NodePath::get_p 0 2 566 567 0
112
inline PN_stdfloat NodePath::get_p(void) const;
inline PN_stdfloat NodePath::get_p(NodePath const &other) const;
2438 5 get_r 0 4 3650 15 NodePath::get_r 0 2 568 569 0
112
inline PN_stdfloat NodePath::get_r(void) const;
inline PN_stdfloat NodePath::get_r(NodePath const &other) const;
2439 8 set_quat 0 4 3650 18 NodePath::set_quat 0 2 570 571 186
/**
* Sets the rotation component of the transform, leaving translation and scale
* untouched.
*/
/**
* Sets the rotation component of the transform, relative to the other node.
*/
122
void NodePath::set_quat(LQuaternion const &quat);
void NodePath::set_quat(NodePath const &other, LQuaternion const &quat);
2440 8 get_quat 0 4 3650 18 NodePath::get_quat 0 2 572 573 157
/**
* Retrieves the rotation component of the transform.
*/
/**
* Returns the relative orientation of the bottom node as seen from the other
* node.
*/
104
LQuaternion NodePath::get_quat(void) const;
LQuaternion NodePath::get_quat(NodePath const &other) const;
2441 9 set_scale 0 4 3650 19 NodePath::set_scale 0 6 574 575 576 577 578 579 451
/**
* Sets the scale component of the transform, leaving translation and rotation
* untouched.
*/
/**
* Sets the scale component of the transform, relative to the other node.
*/
/**
* Sets the scale component of the transform, relative to the other node.
*/
/**
* Sets the scale component of the transform, leaving translation and rotation
* untouched.
*/
/**
* Sets the scale component of the transform, relative to the other node.
*/
434
inline void NodePath::set_scale(PN_stdfloat scale);
inline void NodePath::set_scale(PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz);
void NodePath::set_scale(LVecBase3 const &scale);
inline void NodePath::set_scale(NodePath const &other, PN_stdfloat scale);
inline void NodePath::set_scale(NodePath const &other, PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz);
void NodePath::set_scale(NodePath const &other, LVecBase3 const &scale);
2442 6 set_sx 0 4 3650 16 NodePath::set_sx 0 2 580 581 0
100
void NodePath::set_sx(PN_stdfloat sx);
void NodePath::set_sx(NodePath const &other, PN_stdfloat sx);
2443 6 set_sy 0 4 3650 16 NodePath::set_sy 0 2 582 583 0
100
void NodePath::set_sy(PN_stdfloat sy);
void NodePath::set_sy(NodePath const &other, PN_stdfloat sy);
2444 6 set_sz 0 4 3650 16 NodePath::set_sz 0 2 584 585 0
100
void NodePath::set_sz(PN_stdfloat sz);
void NodePath::set_sz(NodePath const &other, PN_stdfloat sz);
2445 9 get_scale 0 4 3650 19 NodePath::get_scale 0 2 586 587 145
/**
* Retrieves the scale component of the transform.
*/
/**
* Returns the relative scale of the bottom node as seen from the other node.
*/
102
LVecBase3 NodePath::get_scale(void) const;
LVecBase3 NodePath::get_scale(NodePath const &other) const;
2446 6 get_sx 0 4 3650 16 NodePath::get_sx 0 2 588 589 92
/**
* Returns the relative scale of the referenced node as seen from the other
* node.
*/
114
inline PN_stdfloat NodePath::get_sx(void) const;
inline PN_stdfloat NodePath::get_sx(NodePath const &other) const;
2447 6 get_sy 0 4 3650 16 NodePath::get_sy 0 2 590 591 0
114
inline PN_stdfloat NodePath::get_sy(void) const;
inline PN_stdfloat NodePath::get_sy(NodePath const &other) const;
2448 6 get_sz 0 4 3650 16 NodePath::get_sz 0 2 592 593 0
114
inline PN_stdfloat NodePath::get_sz(void) const;
inline PN_stdfloat NodePath::get_sz(NodePath const &other) const;
2449 9 set_shear 0 4 3650 19 NodePath::set_shear 0 4 594 595 596 597 376
/**
* Sets the shear component of the transform, leaving translation, rotation,
* and scale untouched.
*/
/**
* Sets the shear component of the transform, relative to the other node.
*/
/**
* Sets the shear component of the transform, leaving translation and rotation
* untouched.
*/
/**
* Sets the shear component of the transform, relative to the other node.
*/
319
inline void NodePath::set_shear(PN_stdfloat shxy, PN_stdfloat shxz, PN_stdfloat shyz);
void NodePath::set_shear(LVecBase3 const &shear);
inline void NodePath::set_shear(NodePath const &other, PN_stdfloat shxy, PN_stdfloat shxz, PN_stdfloat shyz);
void NodePath::set_shear(NodePath const &other, LVecBase3 const &shear);
2450 8 set_shxy 0 4 3650 18 NodePath::set_shxy 0 2 598 599 0
108
void NodePath::set_shxy(PN_stdfloat shxy);
void NodePath::set_shxy(NodePath const &other, PN_stdfloat shxy);
2451 8 set_shxz 0 4 3650 18 NodePath::set_shxz 0 2 600 601 0
108
void NodePath::set_shxz(PN_stdfloat shxz);
void NodePath::set_shxz(NodePath const &other, PN_stdfloat shxz);
2452 8 set_shyz 0 4 3650 18 NodePath::set_shyz 0 2 602 603 0
108
void NodePath::set_shyz(PN_stdfloat shyz);
void NodePath::set_shyz(NodePath const &other, PN_stdfloat shyz);
2453 9 get_shear 0 4 3650 19 NodePath::get_shear 0 2 604 605 145
/**
* Retrieves the shear component of the transform.
*/
/**
* Returns the relative shear of the bottom node as seen from the other node.
*/
102
LVecBase3 NodePath::get_shear(void) const;
LVecBase3 NodePath::get_shear(NodePath const &other) const;
2454 8 get_shxy 0 4 3650 18 NodePath::get_shxy 0 2 606 607 92
/**
* Returns the relative shear of the referenced node as seen from the other
* node.
*/
118
inline PN_stdfloat NodePath::get_shxy(void) const;
inline PN_stdfloat NodePath::get_shxy(NodePath const &other) const;
2455 8 get_shxz 0 4 3650 18 NodePath::get_shxz 0 2 608 609 0
118
inline PN_stdfloat NodePath::get_shxz(void) const;
inline PN_stdfloat NodePath::get_shxz(NodePath const &other) const;
2456 8 get_shyz 0 4 3650 18 NodePath::get_shyz 0 2 610 611 0
118
inline PN_stdfloat NodePath::get_shyz(void) const;
inline PN_stdfloat NodePath::get_shyz(NodePath const &other) const;
2457 11 set_pos_hpr 0 4 3650 21 NodePath::set_pos_hpr 0 4 612 613 614 615 412
/**
* Sets the translation and rotation component of the transform, leaving scale
* untouched.
*/
/**
* Sets the translation and rotation component of the transform, relative to
* the other node.
*/
/**
* Sets the translation and rotation component of the transform, leaving scale
* untouched.
*/
/**
* Sets the translation and rotation component of the transform, relative to
* the other node.
*/
439
inline void NodePath::set_pos_hpr(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
void NodePath::set_pos_hpr(LVecBase3 const &pos, LVecBase3 const &hpr);
inline void NodePath::set_pos_hpr(NodePath const &other, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
void NodePath::set_pos_hpr(NodePath const &other, LVecBase3 const &pos, LVecBase3 const &hpr);
2458 12 set_pos_quat 0 4 3650 22 NodePath::set_pos_quat 0 2 616 617 205
/**
* Sets the translation and rotation component of the transform, leaving scale
* untouched.
*/
/**
* Sets the translation and rotation component of the transform, relative to
* the other node.
*/
174
void NodePath::set_pos_quat(LVecBase3 const &pos, LQuaternion const &quat);
void NodePath::set_pos_quat(NodePath const &other, LVecBase3 const &pos, LQuaternion const &quat);
2459 13 set_hpr_scale 0 4 3650 23 NodePath::set_hpr_scale 0 4 618 619 620 621 646
/**
* Sets the rotation and scale components of the transform, leaving
* translation untouched.
*/
/**
* Sets the rotation and scale components of the transform, leaving
* translation untouched. This, or set_pos_hpr_scale, is the preferred way to
* update a transform when both hpr and scale are to be changed.
*/
/**
* Sets the rotation and scale components of the transform, leaving
* translation untouched.
*/
/**
* Sets the rotation and scale components of the transform, leaving
* translation untouched. This, or set_pos_hpr_scale, is the preferred way to
* update a transform when both hpr and scale are to be changed.
*/
457
inline void NodePath::set_hpr_scale(PN_stdfloat h, PN_stdfloat p, PN_stdfloat r, PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz);
void NodePath::set_hpr_scale(LVecBase3 const &hpr, LVecBase3 const &scale);
inline void NodePath::set_hpr_scale(NodePath const &other, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r, PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz);
void NodePath::set_hpr_scale(NodePath const &other, LVecBase3 const &hpr, LVecBase3 const &scale);
2460 14 set_quat_scale 0 4 3650 24 NodePath::set_quat_scale 0 2 622 623 324
/**
* Sets the rotation and scale components of the transform, leaving
* translation untouched.
*/
/**
* Sets the rotation and scale components of the transform, leaving
* translation untouched. This, or set_pos_quat_scale, is the preferred way
* to update a transform when both quat and scale are to be changed.
*/
182
void NodePath::set_quat_scale(LQuaternion const &quat, LVecBase3 const &scale);
void NodePath::set_quat_scale(NodePath const &other, LQuaternion const &quat, LVecBase3 const &scale);
2461 17 set_pos_hpr_scale 0 4 3650 27 NodePath::set_pos_hpr_scale 0 4 624 625 626 627 498
/**
* Completely replaces the transform with new translation, rotation, and scale
* components.
*/
/**
* Completely replaces the transform with new translation, rotation, and scale
* components, relative to the other node.
*/
/**
* Replaces the translation, rotation, and scale components, implicitly
* setting shear to 0.
*/
/**
* Completely replaces the transform with new translation, rotation, and scale
* components, relative to the other node, implicitly setting shear to 0.
*/
607
inline void NodePath::set_pos_hpr_scale(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r, PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz);
void NodePath::set_pos_hpr_scale(LVecBase3 const &pos, LVecBase3 const &hpr, LVecBase3 const &scale);
inline void NodePath::set_pos_hpr_scale(NodePath const &other, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r, PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz);
void NodePath::set_pos_hpr_scale(NodePath const &other, LVecBase3 const &pos, LVecBase3 const &hpr, LVecBase3 const &scale);
2462 18 set_pos_quat_scale 0 4 3650 28 NodePath::set_pos_quat_scale 0 2 628 629 264
/**
* Replaces the translation, rotation, and scale components, implicitly
* setting shear to 0.
*/
/**
* Completely replaces the transform with new translation, rotation, and scale
* components, relative to the other node, implicitly setting shear to 0.
*/
234
void NodePath::set_pos_quat_scale(LVecBase3 const &pos, LQuaternion const &quat, LVecBase3 const &scale);
void NodePath::set_pos_quat_scale(NodePath const &other, LVecBase3 const &pos, LQuaternion const &quat, LVecBase3 const &scale);
2463 23 set_pos_hpr_scale_shear 0 4 3650 33 NodePath::set_pos_hpr_scale_shear 0 2 630 631 246
/**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components.
*/
/**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components, relative to the other node.
*/
286
void NodePath::set_pos_hpr_scale_shear(LVecBase3 const &pos, LVecBase3 const &hpr, LVecBase3 const &scale, LVecBase3 const &shear);
void NodePath::set_pos_hpr_scale_shear(NodePath const &other, LVecBase3 const &pos, LVecBase3 const &hpr, LVecBase3 const &scale, LVecBase3 const &shear);
2464 24 set_pos_quat_scale_shear 0 4 3650 34 NodePath::set_pos_quat_scale_shear 0 2 632 633 246
/**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components.
*/
/**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components, relative to the other node.
*/
294
void NodePath::set_pos_quat_scale_shear(LVecBase3 const &pos, LQuaternion const &quat, LVecBase3 const &scale, LVecBase3 const &shear);
void NodePath::set_pos_quat_scale_shear(NodePath const &other, LVecBase3 const &pos, LQuaternion const &quat, LVecBase3 const &scale, LVecBase3 const &shear);
2465 7 set_mat 0 4 3650 17 NodePath::set_mat 0 2 634 635 197
/**
* Directly sets an arbitrary 4x4 transform matrix.
*/
/**
* Converts the indicated matrix from the other's coordinate space to the
* local coordinate space, and applies it to the node.
*/
112
void NodePath::set_mat(LMatrix4 const &mat);
void NodePath::set_mat(NodePath const &other, LMatrix4 const &mat);
2466 9 clear_mat 0 4 3650 19 NodePath::clear_mat 0 1 636 69
/**
* Completely removes any transform from the referenced node.
*/
38
inline void NodePath::clear_mat(void);
2467 7 has_mat 0 4 3650 17 NodePath::has_mat 0 1 637 119
/**
* Returns true if a non-identity transform matrix has been applied to the
* referenced node, false otherwise.
*/
42
inline bool NodePath::has_mat(void) const;
2468 7 get_mat 0 4 3650 17 NodePath::get_mat 0 2 638 639 293
/**
* Returns the transform matrix that has been applied to the referenced node,
* or the identity matrix if no matrix has been applied.
*/
/**
* Returns the matrix that describes the coordinate space of the bottom node,
* relative to the other path's bottom node's coordinate space.
*/
110
inline LMatrix4 const &NodePath::get_mat(void) const;
LMatrix4 NodePath::get_mat(NodePath const &other) const;
2469 7 look_at 0 4 3650 17 NodePath::look_at 0 4 640 641 642 643 610
/**
* Sets the transform on this NodePath so that it rotates to face the
* indicated point in space. This will overwrite any previously existing
* scale on the node, although it will preserve any translation.
*/
/**
* Sets the hpr on this NodePath so that it rotates to face the indicated
* point in space, which is relative to the other NodePath.
*/
/**
* Sets the hpr on this NodePath so that it rotates to face the indicated
* point in space.
*/
/**
* Sets the transform on this NodePath so that it rotates to face the
* indicated point in space, which is relative to the other NodePath.
*/
388
inline void NodePath::look_at(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::look_at(LPoint3 const &point, LVector3 const &up = LVector3::up());
inline void NodePath::look_at(NodePath const &other, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::look_at(NodePath const &other, LPoint3 const &point = LPoint3(0.0, 0.0, 0.0), LVector3 const &up = LVector3::up());
2470 8 heads_up 0 4 3650 18 NodePath::heads_up 0 4 644 645 646 647 538
/**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/
/**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/
/**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/
/**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/
392
inline void NodePath::heads_up(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::heads_up(LPoint3 const &point, LVector3 const &up = LVector3::up());
inline void NodePath::heads_up(NodePath const &other, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
void NodePath::heads_up(NodePath const &other, LPoint3 const &point = LPoint3(0.0, 0.0, 0.0), LVector3 const &up = LVector3::up());
2471 18 get_relative_point 0 4 3650 28 NodePath::get_relative_point 0 1 648 148
/**
* Given that the indicated point is in the coordinate system of the other
* node, returns the same point in this node's coordinate system.
*/
90
LPoint3 NodePath::get_relative_point(NodePath const &other, LVecBase3 const &point) const;
2472 19 get_relative_vector 0 4 3650 29 NodePath::get_relative_vector 0 1 649 150
/**
* Given that the indicated vector is in the coordinate system of the other
* node, returns the same vector in this node's coordinate system.
*/
90
LVector3 NodePath::get_relative_vector(NodePath const &other, LVecBase3 const &vec) const;
2473 12 get_distance 0 4 3650 22 NodePath::get_distance 0 1 650 143
/**
* Returns the straight-line distance between this referenced node's
* coordinate frame's origin, and that of the other node's origin.
*/
71
inline PN_stdfloat NodePath::get_distance(NodePath const &other) const;
2474 9 set_color 0 4 3650 19 NodePath::set_color 0 2 651 652 380
/**
* Applies a scene-graph color to the referenced node. This color will apply
* to all geometry at this level and below (that does not specify a new color
* or a set_color_off()).
*/
/**
* Applies a scene-graph color to the referenced node. This color will apply
* to all geometry at this level and below (that does not specify a new color
* or a set_color_off()).
*/
174
void NodePath::set_color(PN_stdfloat r, PN_stdfloat g, PN_stdfloat b, PN_stdfloat a = 1.0, int priority = 0);
void NodePath::set_color(LColor const &color, int priority = 0);
2475 13 set_color_off 0 4 3650 23 NodePath::set_color_off 0 1 653 277
/**
* Sets the geometry at this level and below to render using the geometry
* color. This is normally the default, but it may be useful to use this to
* contradict set_color() at a higher node level (or, with a priority, to
* override a set_color() at a lower level).
*/
47
void NodePath::set_color_off(int priority = 0);
2476 11 clear_color 0 4 3650 21 NodePath::clear_color 0 1 654 209
/**
* Completely removes any color adjustment from the node. This allows the
* natural color of the geometry, or whatever color transitions might be
* otherwise affecting the geometry, to show instead.
*/
33
void NodePath::clear_color(void);
2477 9 has_color 0 4 3650 19 NodePath::has_color 0 1 655 90
/**
* Returns true if a color has been applied to the given node, false
* otherwise.
*/
37
bool NodePath::has_color(void) const;
2478 9 get_color 0 4 3650 19 NodePath::get_color 0 1 656 107
/**
* Returns the color that has been assigned to the node, or black if no color
* has been assigned.
*/
39
LColor NodePath::get_color(void) const;
2479 15 has_color_scale 0 4 3650 25 NodePath::has_color_scale 0 1 657 194
/**
* Returns true if a color scale has been applied to the referenced node,
* false otherwise. It is still possible that color at this node might have
* been scaled by an ancestor node.
*/
43
bool NodePath::has_color_scale(void) const;
2480 17 clear_color_scale 0 4 3650 27 NodePath::clear_color_scale 0 1 658 221
/**
* Completely removes any color scale from the referenced node. This is
* preferable to simply setting the color scale to identity, as it also
* removes the overhead associated with having a color scale at all.
*/
39
void NodePath::clear_color_scale(void);
2481 15 set_color_scale 0 4 3650 25 NodePath::set_color_scale 0 2 659 660 166
/**
* Sets the color scale component of the transform
*/
/**
* Sets the color scale component of the transform, leaving translation and
* rotation untouched.
*/
194
void NodePath::set_color_scale(LVecBase4 const &scale, int priority = 0);
inline void NodePath::set_color_scale(PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz, PN_stdfloat sa, int priority = 0);
2482 19 compose_color_scale 0 4 3650 29 NodePath::compose_color_scale 0 2 661 662 198
/**
* Sets the color scale component of the transform
*/
/**
* multiplies the color scale component of the transform, with previous color
* scale leaving translation and rotation untouched.
*/
202
void NodePath::compose_color_scale(LVecBase4 const &scale, int priority = 0);
inline void NodePath::compose_color_scale(PN_stdfloat sx, PN_stdfloat sy, PN_stdfloat sz, PN_stdfloat sa, int priority = 0);
2483 19 set_color_scale_off 0 4 3650 29 NodePath::set_color_scale_off 0 1 663 533
/**
* Disables any color scale attribute inherited from above. This is not the
* same thing as clear_color_scale(), which undoes any previous
* set_color_scale() operation on this node; rather, this actively disables
* any set_color_scale() that might be inherited from a parent node. This
* also disables set_alpha_scale() at the same time.
*
* It is legal to specify a new color scale on the same node with a subsequent
* call to set_color_scale() or set_alpha_scale(); this new scale will apply
* to lower geometry.
*/
53
void NodePath::set_color_scale_off(int priority = 0);
2484 15 set_alpha_scale 0 4 3650 25 NodePath::set_alpha_scale 0 1 664 176
/**
* Sets the alpha scale component of the transform without (much) affecting
* the color scale. Note that any priority specified will also apply to the
* color scale.
*/
68
void NodePath::set_alpha_scale(PN_stdfloat scale, int priority = 0);
2485 19 set_all_color_scale 0 4 3650 29 NodePath::set_all_color_scale 0 1 665 206
/**
* Scales all the color components of the object by the same amount, darkening
* the object, without (much) affecting alpha. Note that any priority
* specified will also apply to the alpha scale.
*/
72
void NodePath::set_all_color_scale(PN_stdfloat scale, int priority = 0);
2486 6 set_sr 0 4 3650 16 NodePath::set_sr 0 1 666 56
/**
* Sets the red scale component of the transform
*/
45
inline void NodePath::set_sr(PN_stdfloat sr);
2487 6 set_sg 0 4 3650 16 NodePath::set_sg 0 1 667 58
/**
* Sets the alpha scale component of the transform
*/
45
inline void NodePath::set_sg(PN_stdfloat sg);
2488 6 set_sb 0 4 3650 16 NodePath::set_sb 0 1 668 57
/**
* Sets the blue scale component of the transform
*/
45
inline void NodePath::set_sb(PN_stdfloat sb);
2489 6 set_sa 0 4 3650 16 NodePath::set_sa 0 1 669 58
/**
* Sets the alpha scale component of the transform
*/
45
inline void NodePath::set_sa(PN_stdfloat sa);
2490 15 get_color_scale 0 4 3650 25 NodePath::get_color_scale 0 1 670 234
/**
* Returns the complete color scale vector that has been applied to this node
* via a previous call to set_color_scale() and/or set_alpha_scale(), or all
* 1's (identity) if no scale has been applied to this particular node.
*/
55
LVecBase4 const &NodePath::get_color_scale(void) const;
2491 6 get_sr 0 4 3650 16 NodePath::get_sr 0 1 671 56
/**
* Gets the red scale component of the transform
*/
48
inline PN_stdfloat NodePath::get_sr(void) const;
2492 6 get_sg 0 4 3650 16 NodePath::get_sg 0 1 672 58
/**
* Gets the green scale component of the transform
*/
48
inline PN_stdfloat NodePath::get_sg(void) const;
2493 6 get_sb 0 4 3650 16 NodePath::get_sb 0 1 673 57
/**
* Gets the blue scale component of the transform
*/
48
inline PN_stdfloat NodePath::get_sb(void) const;
2494 6 get_sa 0 4 3650 16 NodePath::get_sa 0 1 674 58
/**
* Gets the alpha scale component of the transform
*/
48
inline PN_stdfloat NodePath::get_sa(void) const;
2495 9 set_light 0 4 3650 19 NodePath::set_light 0 1 675 309
/**
* Adds the indicated Light or PolylightNode to the list of lights that
* illuminate geometry at this node and below. The light itself should be
* parented into the scene graph elsewhere, to represent the light's position
* in space; but until set_light() is called it will illuminate no geometry.
*/
66
void NodePath::set_light(NodePath const &light, int priority = 0);
2496 13 set_light_off 0 4 3650 23 NodePath::set_light_off 0 2 676 677 799
/**
* Sets the geometry at this level and below to render using no lights at all.
* This is different from not specifying a light; rather, this specifically
* contradicts set_light() at a higher node level (or, with a priority,
* overrides a set_light() at a lower level).
*
* If no lights are in effect on a particular piece of geometry, that geometry
* is rendered with lighting disabled.
*/
/**
* Sets the geometry at this level and below to render without using the
* indicated Light. This is different from not specifying the Light; rather,
* this specifically contradicts set_light() at a higher node level (or, with
* a priority, overrides a set_light() at a lower level).
*
* This interface does not support PolylightNodes, which cannot be turned off
* at a lower level.
*/
118
void NodePath::set_light_off(int priority = 0);
void NodePath::set_light_off(NodePath const &light, int priority = 0);
2497 11 clear_light 0 4 3650 21 NodePath::clear_light 0 2 678 679 237
/**
* Completely removes any lighting operations that may have been set via
* set_light() or set_light_off() from this particular node.
*/
/**
* Removes any reference to the indicated Light or PolylightNode from the
* NodePath.
*/
84
void NodePath::clear_light(void);
void NodePath::clear_light(NodePath const &light);
2498 9 has_light 0 4 3650 19 NodePath::has_light 0 1 680 207
/**
* Returns true if the indicated Light or PolylightNode has been specifically
* enabled on this particular node. This means that someone called
* set_light() on this node with the indicated light.
*/
54
bool NodePath::has_light(NodePath const &light) const;
2499 13 has_light_off 0 4 3650 23 NodePath::has_light_off 0 2 681 682 480
/**
* Returns true if all Lights have been specifically disabled on this
* particular node. This means that someone called set_light_off() on this
* node with no parameters.
*/
/**
* Returns true if the indicated Light has been specifically disabled on this
* particular node. This means that someone called set_light_off() on this
* node with the indicated light.
*
* This interface does not support PolylightNodes, which cannot be turned off
* at a lower level.
*/
100
bool NodePath::has_light_off(void) const;
bool NodePath::has_light_off(NodePath const &light) const;
2500 14 set_clip_plane 0 4 3650 24 NodePath::set_clip_plane 0 1 683 324
/**
* Adds the indicated clipping plane to the list of planes that apply to
* geometry at this node and below. The clipping plane itself, a PlaneNode,
* should be parented into the scene graph elsewhere, to represent the plane's
* position in space; but until set_clip_plane() is called it will clip no
* geometry.
*/
76
void NodePath::set_clip_plane(NodePath const &clip_plane, int priority = 0);
2501 18 set_clip_plane_off 0 4 3650 28 NodePath::set_clip_plane_off 0 2 684 685 793
/**
* Sets the geometry at this level and below to render using no clip_planes at
* all. This is different from not specifying a clip_plane; rather, this
* specifically contradicts set_clip_plane() at a higher node level (or, with
* a priority, overrides a set_clip_plane() at a lower level).
*
* If no clip_planes are in effect on a particular piece of geometry, that
* geometry is rendered without being clipped (other than by the viewing
* frustum).
*/
/**
* Sets the geometry at this level and below to render without being clipped
* by the indicated PlaneNode. This is different from not specifying the
* PlaneNode; rather, this specifically contradicts set_clip_plane() at a
* higher node level (or, with a priority, overrides a set_clip_plane() at a
* lower level).
*/
133
void NodePath::set_clip_plane_off(int priority = 0);
void NodePath::set_clip_plane_off(NodePath const &clip_plane, int priority = 0);
2502 16 clear_clip_plane 0 4 3650 26 NodePath::clear_clip_plane 0 2 686 687 228
/**
* Completely removes any clip planes that may have been set via
* set_clip_plane() or set_clip_plane_off() from this particular node.
*/
/**
* Removes any reference to the indicated clipping plane from the NodePath.
*/
99
void NodePath::clear_clip_plane(void);
void NodePath::clear_clip_plane(NodePath const &clip_plane);
2503 14 has_clip_plane 0 4 3650 24 NodePath::has_clip_plane 0 1 688 209
/**
* Returns true if the indicated clipping plane has been specifically applied
* to this particular node. This means that someone called set_clip_plane()
* on this node with the indicated clip_plane.
*/
64
bool NodePath::has_clip_plane(NodePath const &clip_plane) const;
2504 18 has_clip_plane_off 0 4 3650 28 NodePath::has_clip_plane_off 0 2 689 690 411
/**
* Returns true if all clipping planes have been specifically disabled on this
* particular node. This means that someone called set_clip_plane_off() on
* this node with no parameters.
*/
/**
* Returns true if the indicated clipping plane has been specifically disabled
* on this particular node. This means that someone called
* set_clip_plane_off() on this node with the indicated clip_plane.
*/
115
bool NodePath::has_clip_plane_off(void) const;
bool NodePath::has_clip_plane_off(NodePath const &clip_plane) const;
2505 11 set_scissor 0 4 3650 21 NodePath::set_scissor 0 5 691 692 693 694 695 1612
/**
* Sets up a scissor region on the nodes rendered at this level and below.
* The four coordinates are understood to define a rectangle in screen space.
* These numbers are relative to the current DisplayRegion, where (0,0) is the
* lower-left corner of the DisplayRegion, and (1,1) is the upper-right
* corner.
*/
/**
* Sets up a scissor region on the nodes rendered at this level and below.
* The two points are understood to be relative to this node. When these
* points are projected into screen space, they define the diagonally-opposite
* points that determine the scissor region.
*/
/**
* Sets up a scissor region on the nodes rendered at this level and below.
* The four points are understood to be relative to this node. When these
* points are projected into screen space, they define the bounding volume of
* the scissor region (the scissor region is the smallest onscreen rectangle
* that encloses all four points).
*/
/**
* Sets up a scissor region on the nodes rendered at this level and below.
* The two points are understood to be relative to the indicated other node.
* When these points are projected into screen space, they define the
* diagonally-opposite points that determine the scissor region.
*/
/**
* Sets up a scissor region on the nodes rendered at this level and below.
* The four points are understood to be relative to the indicated other node.
* When these points are projected into screen space, they define the bounding
* volume of the scissor region (the scissor region is the smallest onscreen
* rectangle that encloses all four points).
*/
475
void NodePath::set_scissor(PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top);
void NodePath::set_scissor(LPoint3 const &a, LPoint3 const &b);
void NodePath::set_scissor(LPoint3 const &a, LPoint3 const &b, LPoint3 const &c, LPoint3 const &d);
void NodePath::set_scissor(NodePath const &other, LPoint3 const &a, LPoint3 const &b);
void NodePath::set_scissor(NodePath const &other, LPoint3 const &a, LPoint3 const &b, LPoint3 const &c, LPoint3 const &d);
2506 13 clear_scissor 0 4 3650 23 NodePath::clear_scissor 0 1 696 113
/**
* Removes the scissor region that was defined at this node level by a
* previous call to set_scissor().
*/
35
void NodePath::clear_scissor(void);
2507 11 has_scissor 0 4 3650 21 NodePath::has_scissor 0 1 697 325
/**
* Returns true if a scissor region was defined at this node by a previous
* call to set_scissor(). This does not check for scissor regions inherited
* from a parent class. It also does not check for the presence of a low-
* level ScissorAttrib, which is different from the ScissorEffect added by
* set_scissor.
*/
39
bool NodePath::has_scissor(void) const;
2508 12 set_occluder 0 4 3650 22 NodePath::set_occluder 0 1 698 320
/**
* Adds the indicated occluder to the list of occluders that apply to geometry
* at this node and below. The occluder itself, an OccluderNode, should be
* parented into the scene graph elsewhere, to represent the occluder's
* position in space; but until set_occluder() is called it will clip no
* geometry.
*/
54
void NodePath::set_occluder(NodePath const &occluder);
2509 14 clear_occluder 0 4 3650 24 NodePath::clear_occluder 0 2 699 700 194
/**
* Completely removes any occluders that may have been set via set_occluder()
* from this particular node.
*/
/**
* Removes any reference to the indicated occluder from the NodePath.
*/
93
void NodePath::clear_occluder(void);
void NodePath::clear_occluder(NodePath const &occluder);
2510 12 has_occluder 0 4 3650 22 NodePath::has_occluder 0 1 701 199
/**
* Returns true if the indicated occluder has been specifically applied to
* this particular node. This means that someone called set_occluder() on
* this node with the indicated occluder.
*/
60
bool NodePath::has_occluder(NodePath const &occluder) const;
2511 7 set_bin 0 4 3650 17 NodePath::set_bin 0 1 702 884
/**
* Assigns the geometry at this level and below to the named rendering bin.
* It is the user's responsibility to ensure that such a bin already exists,
* either via the cull-bin Configrc variable, or by explicitly creating a
* GeomBin of the appropriate type at runtime.
*
* There are two default bins created when Panda is started: "default" and
* "fixed". Normally, all geometry is assigned to "default" unless specified
* otherwise. This bin renders opaque geometry in state-sorted order,
* followed by transparent geometry sorted back-to-front. If any geometry is
* assigned to "fixed", this will be rendered following all the geometry in
* "default", in the order specified by draw_order for each piece of geometry
* so assigned.
*
* The draw_order parameter is meaningful only for GeomBinFixed type bins,
* e.g. "fixed". Other kinds of bins ignore it.
*/
86
void NodePath::set_bin(std::string const &bin_name, int draw_order, int priority = 0);
2512 9 clear_bin 0 4 3650 19 NodePath::clear_bin 0 1 703 115
/**
* Completely removes any bin adjustment that may have been set via set_bin()
* from this particular node.
*/
31
void NodePath::clear_bin(void);
2513 7 has_bin 0 4 3650 17 NodePath::has_bin 0 1 704 122
/**
* Returns true if the node has been assigned to the a particular rendering
* bin via set_bin(), false otherwise.
*/
35
bool NodePath::has_bin(void) const;
2514 12 get_bin_name 0 4 3650 22 NodePath::get_bin_name 0 1 705 175
/**
* Returns the name of the bin that this particular node was assigned to via
* set_bin(), or the empty string if no bin was assigned. See set_bin() and
* has_bin().
*/
47
std::string NodePath::get_bin_name(void) const;
2515 18 get_bin_draw_order 0 4 3650 28 NodePath::get_bin_draw_order 0 1 706 182
/**
* Returns the drawing order associated with the bin that this particular node
* was assigned to via set_bin(), or 0 if no bin was assigned. See set_bin()
* and has_bin().
*/
45
int NodePath::get_bin_draw_order(void) const;
2516 11 set_texture 0 4 3650 21 NodePath::set_texture 0 4 707 708 709 710 1840
/**
* Adds the indicated texture to the list of textures that will be rendered on
* the default texture stage.
*
* This is the convenience single-texture variant of this method; it is now
* superceded by set_texture() that accepts a stage and texture. You may use
* this method if you just want to adjust the default stage.
*/
/**
* Adds the indicated texture to the list of textures that will be rendered on
* the indicated multitexture stage. If there are multiple texture stages
* specified (possibly on multiple different nodes at different levels), they
* will all be applied to geometry together, according to the stage
* specification set up in the TextureStage object.
*/
/**
* Adds the indicated texture to the list of textures that will be rendered on
* the default texture stage.
*
* The given sampler state will override the sampling settings on the texture
* itself. Note that this method makes a copy of the sampler settings that
* you give; further changes to this object will not be reflected.
*
* This is the convenience single-texture variant of this method; it is now
* superceded by set_texture() that accepts a stage and texture. You may use
* this method if you just want to adjust the default stage.
*/
/**
* Adds the indicated texture to the list of textures that will be rendered on
* the indicated multitexture stage. If there are multiple texture stages
* specified (possibly on multiple different nodes at different levels), they
* will all be applied to geometry together, according to the stage
* specification set up in the TextureStage object.
*
* The given sampler state will override the sampling settings on the texture
* itself. Note that this method makes a copy of the sampler settings that
* you give; further changes to this object will not be reflected.
*/
339
void NodePath::set_texture(Texture *tex, int priority = 0);
void NodePath::set_texture(TextureStage *stage, Texture *tex, int priority = 0);
void NodePath::set_texture(Texture *tex, SamplerState const &sampler, int priority = 0);
void NodePath::set_texture(TextureStage *stage, Texture *tex, SamplerState const &sampler, int priority = 0);
2517 15 set_texture_off 0 4 3650 25 NodePath::set_texture_off 0 2 711 712 602
/**
* Sets the geometry at this level and below to render using no texture, on
* any stage. This is different from not specifying a texture; rather, this
* specifically contradicts set_texture() at a higher node level (or, with a
* priority, overrides a set_texture() at a lower level).
*/
/**
* Sets the geometry at this level and below to render using no texture, on
* the indicated stage. This is different from not specifying a texture;
* rather, this specifically contradicts set_texture() at a higher node level
* (or, with a priority, overrides a set_texture() at a lower level).
*/
120
void NodePath::set_texture_off(int priority = 0);
void NodePath::set_texture_off(TextureStage *stage, int priority = 0);
2518 13 clear_texture 0 4 3650 23 NodePath::clear_texture 0 2 713 714 324
/**
* Completely removes any texture adjustment that may have been set via
* set_texture() or set_texture_off() from this particular node. This allows
* whatever textures might be otherwise affecting the geometry to show
* instead.
*/
/**
* Removes any reference to the indicated texture stage from the NodePath.
*/
86
void NodePath::clear_texture(void);
void NodePath::clear_texture(TextureStage *stage);
2519 11 has_texture 0 4 3650 21 NodePath::has_texture 0 2 715 716 601
/**
* Returns true if a texture has been applied to this particular node via
* set_texture(), false otherwise. This is not the same thing as asking
* whether the geometry at this node will be rendered with texturing, as there
* may be a texture in effect from a higher or lower level.
*/
/**
* Returns true if texturing has been specifically enabled on this particular
* node for the indicated stage. This means that someone called set_texture()
* on this node with the indicated stage name, or the stage_name is the
* default stage_name, and someone called set_texture() on this node.
*/
94
bool NodePath::has_texture(void) const;
bool NodePath::has_texture(TextureStage *stage) const;
2520 15 has_texture_off 0 4 3650 25 NodePath::has_texture_off 0 2 717 718 604
/**
* Returns true if texturing has been specifically disabled on this particular
* node via set_texture_off(), false otherwise. This is not the same thing as
* asking whether the geometry at this node will be rendered untextured, as
* there may be a texture in effect from a higher or lower level.
*/
/**
* Returns true if texturing has been specifically disabled on this particular
* node for the indicated stage. This means that someone called
* set_texture_off() on this node with the indicated stage name, or that
* someone called set_texture_off() on this node to remove all stages.
*/
102
bool NodePath::has_texture_off(void) const;
bool NodePath::has_texture_off(TextureStage *stage) const;
2521 11 get_texture 0 4 3650 21 NodePath::get_texture 0 2 719 720 471
/**
* Returns the base-level texture that has been set on this particular node,
* or NULL if no texture has been set. This is not necessarily the texture
* that will be applied to the geometry at or below this level, as another
* texture at a higher or lower level may override.
*
* See also find_texture().
*/
/**
* Returns the texture that has been set on the indicated stage for this
* particular node, or NULL if no texture has been set for this stage.
*/
102
Texture *NodePath::get_texture(void) const;
Texture *NodePath::get_texture(TextureStage *stage) const;
2522 19 get_texture_sampler 0 4 3650 29 NodePath::get_texture_sampler 0 2 721 722 649
/**
* Returns the sampler state that has been given for the base-level texture
* that has been set on this particular node. If no sampler state was given,
* this returns the texture's default sampler settings.
*
* It is an error to call this if there is no base-level texture applied to
* this particular node.
*/
/**
* Returns the sampler state that has been given for the indicated texture
* stage that has been set on this particular node. If no sampler state was
* given, this returns the texture's default sampler settings.
*
* It is an error to call this if there is no texture set for this stage on
* this particular node.
*/
140
SamplerState const &NodePath::get_texture_sampler(void) const;
SamplerState const &NodePath::get_texture_sampler(TextureStage *stage) const;
2523 10 set_shader 0 4 3650 20 NodePath::set_shader 0 1 723 10
/**
*
*/
63
void NodePath::set_shader(Shader const *sha, int priority = 0);
2524 14 set_shader_off 0 4 3650 24 NodePath::set_shader_off 0 1 724 10
/**
*
*/
48
void NodePath::set_shader_off(int priority = 0);
2525 15 set_shader_auto 0 4 3650 25 NodePath::set_shader_auto 0 2 725 726 63
/**
*
*/
/**
* overloaded for auto shader customization
*/
124
void NodePath::set_shader_auto(int priority = 0);
void NodePath::set_shader_auto(BitMask32 shader_switch, int priority = 0);
2526 12 clear_shader 0 4 3650 22 NodePath::clear_shader 0 1 727 10
/**
*
*/
34
void NodePath::clear_shader(void);
2527 16 set_shader_input 0 4 3650 26 NodePath::set_shader_input 0 7 728 729 730 731 732 733 734 334
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
725
void NodePath::set_shader_input(ShaderInput const &input);
void NodePath::set_shader_input(ShaderInput &&input);
inline void NodePath::set_shader_input(CPT_InternalName id, Texture *tex, SamplerState const &sampler, int priority = 0);
inline void NodePath::set_shader_input(CPT_InternalName id, Texture *tex, bool read, bool write, int z = -1, int n = 0, int priority = 0);
inline void NodePath::set_shader_input(CPT_InternalName id, int n1, int n2, int n3 = 0, int n4 = 0, int priority = 0);
inline void NodePath::set_shader_input(CPT_InternalName id, PN_stdfloat n1, PN_stdfloat n2, PN_stdfloat n3 = 0, PN_stdfloat n4 = 0, int priority = 0);
void NodePath::set_shader_input(CPT_InternalName , PyObject *, int priority = 0);
2528 17 set_shader_inputs 0 4 3650 27 NodePath::set_shader_inputs 0 1 735 0
67
void NodePath::set_shader_inputs(PyObject *args, PyObject *kwargs);
2529 18 clear_shader_input 0 4 3650 28 NodePath::clear_shader_input 0 1 736 10
/**
*
*/
55
void NodePath::clear_shader_input(CPT_InternalName id);
2530 18 set_instance_count 0 4 3650 28 NodePath::set_instance_count 0 1 737 174
/**
* Sets the geometry instance count, or 0 if geometry instancing should be
* disabled. Do not confuse with instanceTo which only applies to animation
* instancing.
*/
54
void NodePath::set_instance_count(int instance_count);
2531 10 get_shader 0 4 3650 20 NodePath::get_shader 0 1 738 10
/**
*
*/
47
Shader const *NodePath::get_shader(void) const;
2532 16 get_shader_input 0 4 3650 26 NodePath::get_shader_input 0 1 739 10
/**
*
*/
66
ShaderInput NodePath::get_shader_input(CPT_InternalName id) const;
2533 18 get_instance_count 0 4 3650 28 NodePath::get_instance_count 0 1 740 93
/**
* Returns the geometry instance count, or 0 if disabled. See
* set_instance_count.
*/
45
int NodePath::get_instance_count(void) const;
2534 17 set_tex_transform 0 4 3650 27 NodePath::set_tex_transform 0 2 741 742 212
/**
* Sets the texture matrix on the current node to the indicated transform for
* the given stage.
*/
/**
* Sets the texture matrix on the current node to the indicated transform for
* the given stage.
*/
198
void NodePath::set_tex_transform(TextureStage *stage, TransformState const *transform);
void NodePath::set_tex_transform(NodePath const &other, TextureStage *stage, TransformState const *transform);
2535 19 clear_tex_transform 0 4 3650 29 NodePath::clear_tex_transform 0 2 743 744 142
/**
* Removes all texture matrices from the current node.
*/
/**
* Removes the texture matrix on the current node for the given stage.
*/
98
void NodePath::clear_tex_transform(void);
void NodePath::clear_tex_transform(TextureStage *stage);
2536 17 has_tex_transform 0 4 3650 27 NodePath::has_tex_transform 0 1 745 106
/**
* Returns true if there is an explicit texture matrix on the current node for
* the given stage.
*/
60
bool NodePath::has_tex_transform(TextureStage *stage) const;
2537 17 get_tex_transform 0 4 3650 27 NodePath::get_tex_transform 0 2 746 747 276
/**
* Returns the texture matrix on the current node for the given stage, or
* identity transform if there is no explicit transform set for the given
* stage.
*/
/**
* Returns the texture matrix on the current node for the given stage,
* relative to the other node.
*/
200
ConstPointerTo< TransformState > NodePath::get_tex_transform(TextureStage *stage) const;
ConstPointerTo< TransformState > NodePath::get_tex_transform(NodePath const &other, TextureStage *stage) const;
2538 14 set_tex_offset 0 4 3650 24 NodePath::set_tex_offset 0 4 748 749 750 751 738
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
383
inline void NodePath::set_tex_offset(TextureStage *stage, PN_stdfloat u, PN_stdfloat v);
inline void NodePath::set_tex_offset(TextureStage *stage, LVecBase2 const &uv);
inline void NodePath::set_tex_offset(NodePath const &other, TextureStage *stage, PN_stdfloat u, PN_stdfloat v);
inline void NodePath::set_tex_offset(NodePath const &other, TextureStage *stage, LVecBase2 const &uv);
2539 14 set_tex_rotate 0 4 3650 24 NodePath::set_tex_rotate 0 2 752 753 418
/**
* Sets a texture matrix on the current node to apply the indicated rotation,
* clockwise in degrees, to UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated rotation,
* clockwise in degrees, to UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
170
inline void NodePath::set_tex_rotate(TextureStage *stage, PN_stdfloat r);
inline void NodePath::set_tex_rotate(NodePath const &other, TextureStage *stage, PN_stdfloat r);
2540 13 set_tex_scale 0 4 3650 23 NodePath::set_tex_scale 0 10 754 755 756 757 758 759 760 761 762 763 1803
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 2-d or 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for 2-d or 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
988
inline void NodePath::set_tex_scale(TextureStage *stage, PN_stdfloat scale);
inline void NodePath::set_tex_scale(TextureStage *stage, PN_stdfloat su, PN_stdfloat sv);
inline void NodePath::set_tex_scale(TextureStage *stage, LVecBase2 const &scale);
inline void NodePath::set_tex_scale(TextureStage *stage, PN_stdfloat su, PN_stdfloat sv, PN_stdfloat sw);
inline void NodePath::set_tex_scale(TextureStage *stage, LVecBase3 const &scale);
inline void NodePath::set_tex_scale(NodePath const &other, TextureStage *stage, PN_stdfloat scale);
inline void NodePath::set_tex_scale(NodePath const &other, TextureStage *stage, PN_stdfloat su, PN_stdfloat sv);
inline void NodePath::set_tex_scale(NodePath const &other, TextureStage *stage, LVecBase2 const &scale);
inline void NodePath::set_tex_scale(NodePath const &other, TextureStage *stage, PN_stdfloat su, PN_stdfloat sv, PN_stdfloat sw);
inline void NodePath::set_tex_scale(NodePath const &other, TextureStage *stage, LVecBase3 const &scale);
2541 14 get_tex_offset 0 4 3650 24 NodePath::get_tex_offset 0 2 764 765 320
/**
* Returns the offset set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Returns the offset set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
162
inline LVecBase2 NodePath::get_tex_offset(TextureStage *stage) const;
inline LVecBase2 NodePath::get_tex_offset(NodePath const &other, TextureStage *stage) const;
2542 14 get_tex_rotate 0 4 3650 24 NodePath::get_tex_rotate 0 2 766 767 324
/**
* Returns the rotation set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Returns the rotation set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
166
inline PN_stdfloat NodePath::get_tex_rotate(TextureStage *stage) const;
inline PN_stdfloat NodePath::get_tex_rotate(NodePath const &other, TextureStage *stage) const;
2543 13 get_tex_scale 0 4 3650 23 NodePath::get_tex_scale 0 2 768 769 312
/**
* Returns the scale set for the UV's for the given stage on the current node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
/**
* Returns the scale set for the UV's for the given stage on the current node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/
160
inline LVecBase2 NodePath::get_tex_scale(TextureStage *stage) const;
inline LVecBase2 NodePath::get_tex_scale(NodePath const &other, TextureStage *stage) const;
2544 11 set_tex_pos 0 4 3650 21 NodePath::set_tex_pos 0 4 770 771 772 773 706
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
403
inline void NodePath::set_tex_pos(TextureStage *stage, PN_stdfloat u, PN_stdfloat v, PN_stdfloat w);
inline void NodePath::set_tex_pos(TextureStage *stage, LVecBase3 const &uvw);
inline void NodePath::set_tex_pos(NodePath const &other, TextureStage *stage, PN_stdfloat u, PN_stdfloat v, PN_stdfloat w);
inline void NodePath::set_tex_pos(NodePath const &other, TextureStage *stage, LVecBase3 const &uvw);
2545 11 set_tex_hpr 0 4 3650 21 NodePath::set_tex_hpr 0 4 774 775 776 777 774
/**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/
403
inline void NodePath::set_tex_hpr(TextureStage *stage, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
inline void NodePath::set_tex_hpr(TextureStage *stage, LVecBase3 const &hpr);
inline void NodePath::set_tex_hpr(NodePath const &other, TextureStage *stage, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
inline void NodePath::set_tex_hpr(NodePath const &other, TextureStage *stage, LVecBase3 const &hpr);
2546 11 get_tex_pos 0 4 3650 21 NodePath::get_tex_pos 0 2 778 779 304
/**
* Returns the offset set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Returns the offset set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/
156
inline LVecBase3 NodePath::get_tex_pos(TextureStage *stage) const;
inline LVecBase3 NodePath::get_tex_pos(NodePath const &other, TextureStage *stage) const;
2547 11 get_tex_hpr 0 4 3650 21 NodePath::get_tex_hpr 0 2 780 781 306
/**
* Returns the 3-D HPR set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Returns the 3-D HPR set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/
156
inline LVecBase3 NodePath::get_tex_hpr(TextureStage *stage) const;
inline LVecBase3 NodePath::get_tex_hpr(NodePath const &other, TextureStage *stage) const;
2548 16 get_tex_scale_3d 0 4 3650 26 NodePath::get_tex_scale_3d 0 2 782 783 302
/**
* Returns the scale set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/
/**
* Returns the scale set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/
166
inline LVecBase3 NodePath::get_tex_scale_3d(TextureStage *stage) const;
inline LVecBase3 NodePath::get_tex_scale_3d(NodePath const &other, TextureStage *stage) const;
2549 11 set_tex_gen 0 4 3650 21 NodePath::set_tex_gen 0 2 784 785 309
/**
* Enables automatic texture coordinate generation for the indicated texture
* stage.
*/
/**
* Enables automatic texture coordinate generation for the indicated texture
* stage. This version of this method is useful when setting M_constant,
* which requires a constant texture coordinate value.
*/
229
void NodePath::set_tex_gen(TextureStage *stage, RenderAttrib::TexGenMode mode, int priority = 0);
void NodePath::set_tex_gen(TextureStage *stage, RenderAttrib::TexGenMode mode, LTexCoord3 const &constant_value, int priority = 0);
2550 13 clear_tex_gen 0 4 3650 23 NodePath::clear_tex_gen 0 2 786 787 195
/**
* Removes the texture coordinate generation mode from all texture stages on
* this node.
*/
/**
* Disables automatic texture coordinate generation for the indicated texture
* stage.
*/
86
void NodePath::clear_tex_gen(void);
void NodePath::clear_tex_gen(TextureStage *stage);
2551 11 has_tex_gen 0 4 3650 21 NodePath::has_tex_gen 0 1 788 130
/**
* Returns true if there is a mode for automatic texture coordinate generation
* on the current node for the given stage.
*/
54
bool NodePath::has_tex_gen(TextureStage *stage) const;
2552 11 get_tex_gen 0 4 3650 21 NodePath::get_tex_gen 0 1 789 144
/**
* Returns the texture coordinate generation mode for the given stage, or
* M_off if there is no explicit mode set for the given stage.
*/
74
RenderAttrib::TexGenMode NodePath::get_tex_gen(TextureStage *stage) const;
2553 17 set_tex_projector 0 4 3650 27 NodePath::set_tex_projector 0 1 790 529
/**
* Establishes a TexProjectorEffect on this node, which can be used to
* establish projective texturing (but see also the
* NodePath::project_texture() convenience function), or it can be used to
* bind this node's texture transform to particular node's position in space,
* allowing a LerpInterval (for instance) to adjust this node's texture
* coordinates.
*
* If to is a LensNode, then the fourth parameter, lens_index, can be provided
* to select a particular lens to apply. Otherwise lens_index is not used.
*/
116
void NodePath::set_tex_projector(TextureStage *stage, NodePath const &from, NodePath const &to, int lens_index = 0);
2554 19 clear_tex_projector 0 4 3650 29 NodePath::clear_tex_projector 0 2 791 792 155
/**
* Removes the TexProjectorEffect for the indicated stage from this node.
*/
/**
* Removes the TexProjectorEffect for all stages from this node.
*/
98
void NodePath::clear_tex_projector(TextureStage *stage);
void NodePath::clear_tex_projector(void);
2555 17 has_tex_projector 0 4 3650 27 NodePath::has_tex_projector 0 1 793 106
/**
* Returns true if this node has a TexProjectorEffect for the indicated stage,
* false otherwise.
*/
60
bool NodePath::has_tex_projector(TextureStage *stage) const;
2556 22 get_tex_projector_from 0 4 3650 32 NodePath::get_tex_projector_from 0 1 794 227
/**
* Returns the "from" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*/
69
NodePath NodePath::get_tex_projector_from(TextureStage *stage) const;
2557 20 get_tex_projector_to 0 4 3650 30 NodePath::get_tex_projector_to 0 1 795 225
/**
* Returns the "to" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*/
67
NodePath NodePath::get_tex_projector_to(TextureStage *stage) const;
2558 15 project_texture 0 4 3650 25 NodePath::project_texture 0 1 796 181
/**
* A convenience function to enable projective texturing at this node level
* and below, using the indicated NodePath (which should contain a LensNode)
* as the projector.
*/
93
void NodePath::project_texture(TextureStage *stage, Texture *tex, NodePath const &projector);
2559 21 clear_project_texture 0 4 3650 31 NodePath::clear_project_texture 0 1 797 50
/**
* Undoes the effect of project_texture().
*/
65
inline void NodePath::clear_project_texture(TextureStage *stage);
2560 12 has_texcoord 0 4 3650 22 NodePath::has_texcoord 0 1 798 211
/**
* Returns true if there are at least some vertices at this node and below
* that use the named texture coordinate set, false otherwise. Pass the empty
* string for the default texture coordinate set.
*/
75
inline bool NodePath::has_texcoord(std::string const &texcoord_name) const;
2561 17 has_vertex_column 0 4 3650 27 NodePath::has_vertex_column 0 1 799 309
/**
* Returns true if there are at least some vertices at this node and below
* that contain a reference to the indicated vertex data column name, false
* otherwise.
*
* This is particularly useful for testing whether a particular model has a
* given texture coordinate set (but see has_texcoord()).
*/
65
bool NodePath::has_vertex_column(InternalName const *name) const;
2562 23 find_all_vertex_columns 0 4 3650 33 NodePath::find_all_vertex_columns 0 2 800 801 307
/**
* Returns a list of all vertex array columns stored on some geometry found at
* this node level and below.
*/
/**
* Returns a list of all vertex array columns stored on some geometry found at
* this node level and below that match the indicated name (which may contain
* wildcard characters).
*/
158
InternalNameCollection NodePath::find_all_vertex_columns(void) const;
InternalNameCollection NodePath::find_all_vertex_columns(std::string const &name) const;
2563 18 find_all_texcoords 0 4 3650 28 NodePath::find_all_texcoords 0 2 802 803 295
/**
* Returns a list of all texture coordinate sets used by any geometry at this
* node level and below.
*/
/**
* Returns a list of all texture coordinate sets used by any geometry at this
* node level and below that match the indicated name (which may contain
* wildcard characters).
*/
148
InternalNameCollection NodePath::find_all_texcoords(void) const;
InternalNameCollection NodePath::find_all_texcoords(std::string const &name) const;
2564 12 find_texture 0 4 3650 22 NodePath::find_texture 0 2 804 805 412
/**
* Returns the first texture found applied to geometry at this node or below
* that matches the indicated name (which may contain wildcards). Returns the
* texture if it is found, or NULL if it is not.
*/
/**
* Returns the first texture found applied to geometry at this node or below
* that is assigned to the indicated texture stage. Returns the texture if it
* is found, or NULL if it is not.
*/
123
Texture *NodePath::find_texture(std::string const &name) const;
Texture *NodePath::find_texture(TextureStage *stage) const;
2565 17 find_all_textures 0 4 3650 27 NodePath::find_all_textures 0 3 806 807 808 370
/**
* Returns a list of a textures applied to geometry at this node and below.
*/
/**
* Returns a list of a textures applied to geometry at this node and below
* that match the indicated name (which may contain wildcard characters).
*/
/**
* Returns a list of a textures on geometry at this node and below that are
* assigned to the indicated texture stage.
*/
210
TextureCollection NodePath::find_all_textures(void) const;
TextureCollection NodePath::find_all_textures(std::string const &name) const;
TextureCollection NodePath::find_all_textures(TextureStage *stage) const;
2566 18 find_texture_stage 0 4 3650 28 NodePath::find_texture_stage 0 1 809 221
/**
* Returns the first TextureStage found applied to geometry at this node or
* below that matches the indicated name (which may contain wildcards).
* Returns the TextureStage if it is found, or NULL if it is not.
*/
74
TextureStage *NodePath::find_texture_stage(std::string const &name) const;
2567 23 find_all_texture_stages 0 4 3650 33 NodePath::find_all_texture_stages 0 2 810 811 257
/**
* Returns a list of a TextureStages applied to geometry at this node and
* below.
*/
/**
* Returns a list of a TextureStages applied to geometry at this node and
* below that match the indicated name (which may contain wildcard
* characters).
*/
158
TextureStageCollection NodePath::find_all_texture_stages(void) const;
TextureStageCollection NodePath::find_all_texture_stages(std::string const &name) const;
2568 20 unify_texture_stages 0 4 3650 30 NodePath::unify_texture_stages 0 1 812 323
/**
* Searches through all TextureStages at this node and below. Any
* TextureStages that share the same name as the indicated TextureStage object
* are replaced with this object, thus ensuring that all geometry at this node
* and below with a particular TextureStage name is using the same
* TextureStage object.
*/
57
void NodePath::unify_texture_stages(TextureStage *stage);
2569 13 find_material 0 4 3650 23 NodePath::find_material 0 1 813 214
/**
* Returns the first material found applied to geometry at this node or below
* that matches the indicated name (which may contain wildcards). Returns the
* material if it is found, or NULL if it is not.
*/
65
Material *NodePath::find_material(std::string const &name) const;
2570 18 find_all_materials 0 4 3650 28 NodePath::find_all_materials 0 2 814 815 243
/**
* Returns a list of a materials applied to geometry at this node and below.
*/
/**
* Returns a list of a materials applied to geometry at this node and below
* that match the indicated name (which may contain wildcard characters).
*/
140
MaterialCollection NodePath::find_all_materials(void) const;
MaterialCollection NodePath::find_all_materials(std::string const &name) const;
2571 12 set_material 0 4 3650 22 NodePath::set_material 0 1 816 216
/**
* Sets the geometry at this level and below to render using the indicated
* material.
*
* Previously, this operation made a copy of the material structure, but
* nowadays it assigns the pointer directly.
*/
61
void NodePath::set_material(Material *tex, int priority = 0);
2572 16 set_material_off 0 4 3650 26 NodePath::set_material_off 0 1 817 275
/**
* Sets the geometry at this level and below to render using no material.
* This is normally the default, but it may be useful to use this to
* contradict set_material() at a higher node level (or, with a priority, to
* override a set_material() at a lower level).
*/
50
void NodePath::set_material_off(int priority = 0);
2573 14 clear_material 0 4 3650 24 NodePath::clear_material 0 1 818 125
/**
* Completely removes any material adjustment that may have been set via
* set_material() from this particular node.
*/
36
void NodePath::clear_material(void);
2574 12 has_material 0 4 3650 22 NodePath::has_material 0 1 819 118
/**
* Returns true if a material has been applied to this particular node via
* set_material(), false otherwise.
*/
40
bool NodePath::has_material(void) const;
2575 12 get_material 0 4 3650 22 NodePath::get_material 0 1 820 312
/**
* Returns the material that has been set on this particular node, or NULL if
* no material has been set. This is not necessarily the material that will
* be applied to the geometry at or below this level, as another material at a
* higher or lower level may override.
*
* See also find_material().
*/
57
PointerTo< Material > NodePath::get_material(void) const;
2576 16 replace_material 0 4 3650 26 NodePath::replace_material 0 1 821 129
/**
* Recursively searches the scene graph for references to the given material,
* and replaces them with the new material.
*/
66
void NodePath::replace_material(Material *mat, Material *new_mat);
2577 7 set_fog 0 4 3650 17 NodePath::set_fog 0 1 822 90
/**
* Sets the geometry at this level and below to render using the indicated
* fog.
*/
51
void NodePath::set_fog(Fog *fog, int priority = 0);
2578 11 set_fog_off 0 4 3650 21 NodePath::set_fog_off 0 1 823 261
/**
* Sets the geometry at this level and below to render using no fog. This is
* normally the default, but it may be useful to use this to contradict
* set_fog() at a higher node level (or, with a priority, to override a
* set_fog() at a lower level).
*/
45
void NodePath::set_fog_off(int priority = 0);
2579 9 clear_fog 0 4 3650 19 NodePath::clear_fog 0 1 824 221
/**
* Completely removes any fog adjustment that may have been set via set_fog()
* or set_fog_off() from this particular node. This allows whatever fogs
* might be otherwise affecting the geometry to show instead.
*/
31
void NodePath::clear_fog(void);
2580 7 has_fog 0 4 3650 17 NodePath::has_fog 0 1 825 275
/**
* Returns true if a fog has been applied to this particular node via
* set_fog(), false otherwise. This is not the same thing as asking whether
* the geometry at this node will be rendered with fog, as there may be a fog
* in effect from a higher or lower level.
*/
35
bool NodePath::has_fog(void) const;
2581 11 has_fog_off 0 4 3650 21 NodePath::has_fog_off 0 1 826 293
/**
* Returns true if a fog has been specifically disabled on this particular
* node via set_fog_off(), false otherwise. This is not the same thing as
* asking whether the geometry at this node will be rendered unfogged, as
* there may be a fog in effect from a higher or lower level.
*/
39
bool NodePath::has_fog_off(void) const;
2582 7 get_fog 0 4 3650 17 NodePath::get_fog 0 1 827 260
/**
* Returns the fog that has been set on this particular node, or NULL if no
* fog has been set. This is not necessarily the fog that will be applied to
* the geometry at or below this level, as another fog at a higher or lower
* level may override.
*/
35
Fog *NodePath::get_fog(void) const;
2583 25 set_render_mode_wireframe 0 4 3650 35 NodePath::set_render_mode_wireframe 0 1 828 107
/**
* Sets up the geometry at this level and below (unless overridden) to render
* in wireframe mode.
*/
59
void NodePath::set_render_mode_wireframe(int priority = 0);
2584 22 set_render_mode_filled 0 4 3650 32 NodePath::set_render_mode_filled 0 1 829 126
/**
* Sets up the geometry at this level and below (unless overridden) to render
* in filled (i.e. not wireframe) mode.
*/
56
void NodePath::set_render_mode_filled(int priority = 0);
2585 32 set_render_mode_filled_wireframe 0 4 3650 42 NodePath::set_render_mode_filled_wireframe 0 1 830 197
/**
* Sets up the geometry at this level and below (unless overridden) to render
* in filled, but overlay the wireframe on top with a fixed color. This is
* useful for debug visualizations.
*/
97
void NodePath::set_render_mode_filled_wireframe(LColor const &wireframe_color, int priority = 0);
2586 25 set_render_mode_thickness 0 4 3650 35 NodePath::set_render_mode_thickness 0 1 831 359
/**
* Sets up the point geometry at this level and below to render as thick
* points (that is, billboarded quads). The thickness is in pixels, unless
* set_render_mode_perspective is also true, in which case it is in 3-D units.
*
* If you want the quads to be individually textured, you should also set a
* TexGenAttrib::M_point_sprite on the node.
*/
82
void NodePath::set_render_mode_thickness(PN_stdfloat thickness, int priority = 0);
2587 27 set_render_mode_perspective 0 4 3650 37 NodePath::set_render_mode_perspective 0 1 832 461
/**
* Sets up the point geometry at this level and below to render as perspective
* sprites (that is, billboarded quads). The thickness, as specified with
* set_render_mode_thickness(), is the width of each point in 3-D units,
* unless it is overridden on a per-vertex basis. This does not affect
* geometry other than points.
*
* If you want the quads to be individually textured, you should also set a
* TexGenAttrib::M_point_sprite on the node.
*/
79
void NodePath::set_render_mode_perspective(bool perspective, int priority = 0);
2588 15 set_render_mode 0 4 3650 25 NodePath::set_render_mode 0 1 833 162
/**
* Sets up the geometry at this level and below (unless overridden) to render
* in the specified mode and with the indicated line and/or point thickness.
*/
101
void NodePath::set_render_mode(RenderModeAttrib::Mode mode, PN_stdfloat thickness, int priority = 0);
2589 17 clear_render_mode 0 4 3650 27 NodePath::clear_render_mode 0 1 834 156
/**
* Completely removes any render mode adjustment that may have been set on
* this node via set_render_mode_wireframe() or set_render_mode_filled().
*/
39
void NodePath::clear_render_mode(void);
2590 15 has_render_mode 0 4 3650 25 NodePath::has_render_mode 0 1 835 195
/**
* Returns true if a render mode has been explicitly set on this particular
* node via set_render_mode() (or set_render_mode_wireframe() or
* set_render_mode_filled()), false otherwise.
*/
43
bool NodePath::has_render_mode(void) const;
2591 15 get_render_mode 0 4 3650 25 NodePath::get_render_mode 0 1 836 144
/**
* Returns the render mode that has been specifically set on this node via
* set_render_mode(), or M_unchanged if nothing has been set.
*/
61
RenderModeAttrib::Mode NodePath::get_render_mode(void) const;
2592 25 get_render_mode_thickness 0 4 3650 35 NodePath::get_render_mode_thickness 0 1 837 146
/**
* Returns the render mode thickness that has been specifically set on this
* node via set_render_mode(), or 1.0 if nothing has been set.
*/
60
PN_stdfloat NodePath::get_render_mode_thickness(void) const;
2593 27 get_render_mode_perspective 0 4 3650 37 NodePath::get_render_mode_perspective 0 1 838 130
/**
* Returns the flag that has been set on this node via
* set_render_mode_perspective(), or false if no flag has been set.
*/
55
bool NodePath::get_render_mode_perspective(void) const;
2594 13 set_two_sided 0 4 3650 23 NodePath::set_two_sided 0 1 839 237
/**
* Specifically sets or disables two-sided rendering mode on this particular
* node. If no other nodes override, this will cause backfacing polygons to
* be drawn (in two-sided mode, true) or culled (in one-sided mode, false).
*/
63
void NodePath::set_two_sided(bool two_sided, int priority = 0);
2595 15 clear_two_sided 0 4 3650 25 NodePath::clear_two_sided 0 1 840 336
/**
* Completely removes any two-sided adjustment that may have been set on this
* node via set_two_sided(). The geometry at this level and below will
* subsequently be rendered either two-sided or one-sided, according to
* whatever other nodes may have had set_two_sided() on it, or according to
* the initial state otherwise.
*/
37
void NodePath::clear_two_sided(void);
2596 13 has_two_sided 0 4 3650 23 NodePath::has_two_sided 0 1 841 215
/**
* Returns true if a two-sided adjustment has been explicitly set on this
* particular node via set_two_sided(). If this returns true, then
* get_two_sided() may be called to determine which has been set.
*/
41
bool NodePath::has_two_sided(void) const;
2597 13 get_two_sided 0 4 3650 23 NodePath::get_two_sided 0 1 842 378
/**
* Returns true if two-sided rendering has been specifically set on this node
* via set_two_sided(), or false if one-sided rendering has been specifically
* set, or if nothing has been specifically set. See also has_two_sided().
* This does not necessarily imply that the geometry will or will not be
* rendered two-sided, as there may be other nodes that override.
*/
41
bool NodePath::get_two_sided(void) const;
2598 14 set_depth_test 0 4 3650 24 NodePath::set_depth_test 0 1 843 236
/**
* Specifically sets or disables the testing of the depth buffer on this
* particular node. This is normally on in the 3-d scene graph and off in the
* 2-d scene graph; it should be on for rendering most 3-d objects properly.
*/
65
void NodePath::set_depth_test(bool depth_test, int priority = 0);
2599 16 clear_depth_test 0 4 3650 26 NodePath::clear_depth_test 0 1 844 116
/**
* Completely removes any depth-test adjustment that may have been set on this
* node via set_depth_test().
*/
38
void NodePath::clear_depth_test(void);
2600 14 has_depth_test 0 4 3650 24 NodePath::has_depth_test 0 1 845 218
/**
* Returns true if a depth-test adjustment has been explicitly set on this
* particular node via set_depth_test(). If this returns true, then
* get_depth_test() may be called to determine which has been set.
*/
42
bool NodePath::has_depth_test(void) const;
2601 14 get_depth_test 0 4 3650 24 NodePath::get_depth_test 0 1 846 262
/**
* Returns true if depth-test rendering has been specifically set on this node
* via set_depth_test(), or false if depth-test rendering has been
* specifically disabled. If nothing has been specifically set, returns true.
* See also has_depth_test().
*/
42
bool NodePath::get_depth_test(void) const;
2602 15 set_depth_write 0 4 3650 25 NodePath::set_depth_write 0 1 847 236
/**
* Specifically sets or disables the writing to the depth buffer on this
* particular node. This is normally on in the 3-d scene graph and off in the
* 2-d scene graph; it should be on for rendering most 3-d objects properly.
*/
67
void NodePath::set_depth_write(bool depth_write, int priority = 0);
2603 17 clear_depth_write 0 4 3650 27 NodePath::clear_depth_write 0 1 848 118
/**
* Completely removes any depth-write adjustment that may have been set on
* this node via set_depth_write().
*/
39
void NodePath::clear_depth_write(void);
2604 15 has_depth_write 0 4 3650 25 NodePath::has_depth_write 0 1 849 221
/**
* Returns true if a depth-write adjustment has been explicitly set on this
* particular node via set_depth_write(). If this returns true, then
* get_depth_write() may be called to determine which has been set.
*/
43
bool NodePath::has_depth_write(void) const;
2605 15 get_depth_write 0 4 3650 25 NodePath::get_depth_write 0 1 850 266
/**
* Returns true if depth-write rendering has been specifically set on this
* node via set_depth_write(), or false if depth-write rendering has been
* specifically disabled. If nothing has been specifically set, returns true.
* See also has_depth_write().
*/
43
bool NodePath::get_depth_write(void) const;
2606 16 set_depth_offset 0 4 3650 26 NodePath::set_depth_offset 0 1 851 542
/**
* This instructs the graphics driver to apply an offset or bias to the
* generated depth values for rendered polygons, before they are written to
* the depth buffer. This can be used to shift polygons forward slightly, to
* resolve depth conflicts, or self-shadowing artifacts on thin objects. The
* bias is always an integer number, and each integer increment represents the
* smallest possible increment in Z that is sufficient to completely resolve
* two coplanar polygons. Positive numbers are closer towards the camera.
*/
60
void NodePath::set_depth_offset(int bias, int priority = 0);
2607 18 clear_depth_offset 0 4 3650 28 NodePath::clear_depth_offset 0 1 852 120
/**
* Completely removes any depth-offset adjustment that may have been set on
* this node via set_depth_offset().
*/
40
void NodePath::clear_depth_offset(void);
2608 16 has_depth_offset 0 4 3650 26 NodePath::has_depth_offset 0 1 853 224
/**
* Returns true if a depth-offset adjustment has been explicitly set on this
* particular node via set_depth_offset(). If this returns true, then
* get_depth_offset() may be called to determine which has been set.
*/
44
bool NodePath::has_depth_offset(void) const;
2609 16 get_depth_offset 0 4 3650 26 NodePath::get_depth_offset 0 1 854 106
/**
* Returns the depth offset value if it has been specified using
* set_depth_offset, or 0 if not.
*/
43
int NodePath::get_depth_offset(void) const;
2610 17 do_billboard_axis 0 4 3650 27 NodePath::do_billboard_axis 0 1 855 170
/**
* Performs a billboard-type rotate to the indicated camera node, one time
* only, and leaves the object rotated. This is similar in principle to
* heads_up().
*/
77
void NodePath::do_billboard_axis(NodePath const &camera, PN_stdfloat offset);
2611 22 do_billboard_point_eye 0 4 3650 32 NodePath::do_billboard_point_eye 0 1 856 266
/**
* Performs a billboard-type rotate to the indicated camera node, one time
* only, and leaves the object rotated. This is similar in principle to
* look_at(), although the point_eye billboard effect cannot be achieved using
* the ordinary look_at() call.
*/
82
void NodePath::do_billboard_point_eye(NodePath const &camera, PN_stdfloat offset);
2612 24 do_billboard_point_world 0 4 3650 34 NodePath::do_billboard_point_world 0 1 857 169
/**
* Performs a billboard-type rotate to the indicated camera node, one time
* only, and leaves the object rotated. This is similar in principle to
* look_at().
*/
84
void NodePath::do_billboard_point_world(NodePath const &camera, PN_stdfloat offset);
2613 18 set_billboard_axis 0 4 3650 28 NodePath::set_billboard_axis 0 2 858 859 300
/**
* Puts a billboard transition on the node such that it will rotate in two
* dimensions around the up axis.
*/
/**
* Puts a billboard transition on the node such that it will rotate in two
* dimensions around the up axis, towards a specified "camera" instead of to
* the viewing camera.
*/
146
inline void NodePath::set_billboard_axis(PN_stdfloat offset = 0.0);
void NodePath::set_billboard_axis(NodePath const &camera, PN_stdfloat offset);
2614 23 set_billboard_point_eye 0 4 3650 33 NodePath::set_billboard_point_eye 0 2 860 861 417
/**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the top of
* the camera.
*/
/**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the top of
* the camera, towards a specified "camera" instead of to the viewing camera.
*/
208
inline void NodePath::set_billboard_point_eye(PN_stdfloat offset = 0.0, bool fixed_depth = false);
void NodePath::set_billboard_point_eye(NodePath const &camera, PN_stdfloat offset, bool fixed_depth = false);
2615 25 set_billboard_point_world 0 4 3650 35 NodePath::set_billboard_point_world 0 2 862 863 386
/**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the sky.
*/
/**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the sky,
* towards a specified "camera" instead of to the viewing camera.
*/
160
inline void NodePath::set_billboard_point_world(PN_stdfloat offset = 0.0);
void NodePath::set_billboard_point_world(NodePath const &camera, PN_stdfloat offset);
2616 15 clear_billboard 0 4 3650 25 NodePath::clear_billboard 0 1 864 54
/**
* Removes any billboard effect from the node.
*/
37
void NodePath::clear_billboard(void);
2617 13 has_billboard 0 4 3650 23 NodePath::has_billboard 0 1 865 69
/**
* Returns true if there is any billboard effect on the node.
*/
41
bool NodePath::has_billboard(void) const;
2618 11 set_compass 0 4 3650 21 NodePath::set_compass 0 1 866 204
/**
* Puts a compass effect on the node, so that it will retain a fixed rotation
* relative to the reference node (or render if the reference node is empty)
* regardless of the transforms above it.
*/
67
void NodePath::set_compass(NodePath const &reference = NodePath());
2619 13 clear_compass 0 4 3650 23 NodePath::clear_compass 0 1 867 52
/**
* Removes any compass effect from the node.
*/
35
void NodePath::clear_compass(void);
2620 11 has_compass 0 4 3650 21 NodePath::has_compass 0 1 868 67
/**
* Returns true if there is any compass effect on the node.
*/
39
bool NodePath::has_compass(void) const;
2621 16 set_transparency 0 4 3650 26 NodePath::set_transparency 0 1 869 222
/**
* Specifically sets or disables transparent rendering mode on this particular
* node. If no other nodes override, this will cause items with a non-1 value
* for alpha color to be rendered partially transparent.
*/
81
void NodePath::set_transparency(TransparencyAttrib::Mode mode, int priority = 0);
2622 18 clear_transparency 0 4 3650 28 NodePath::clear_transparency 0 1 870 285
/**
* Completely removes any transparency adjustment that may have been set on
* this node via set_transparency(). The geometry at this level and below will
* subsequently be rendered either transparent or not, to whatever other nodes
* may have had set_transparency() on them.
*/
40
void NodePath::clear_transparency(void);
2623 16 has_transparency 0 4 3650 26 NodePath::has_transparency 0 1 871 303
/**
* Returns true if a transparent-rendering adjustment has been explicitly set
* on this particular node via set_transparency(). If this returns true, then
* get_transparency() may be called to determine whether transparency has been
* explicitly enabled or explicitly disabled for this node.
*/
44
bool NodePath::has_transparency(void) const;
2624 16 get_transparency 0 4 3650 26 NodePath::get_transparency 0 1 872 399
/**
* Returns the transparent rendering that has been specifically set on this
* node via set_transparency(), or M_none if nontransparent rendering has been
* specifically set, or if nothing has been specifically set. See also
* has_transparency(). This does not necessarily imply that the geometry will
* or will not be rendered transparent, as there may be other nodes that
* override.
*/
64
TransparencyAttrib::Mode NodePath::get_transparency(void) const;
2625 12 set_logic_op 0 4 3650 22 NodePath::set_logic_op 0 1 873 228
/**
* Specifically sets or disables a logical operation on this particular node.
* If no other nodes override, this will cause geometry to be rendered without
* color blending but instead using the given logical operator.
*/
75
void NodePath::set_logic_op(LogicOpAttrib::Operation op, int priority = 0);
2626 14 clear_logic_op 0 4 3650 24 NodePath::clear_logic_op 0 1 874 211
/**
* Completely removes any logical operation that may have been set on this
* node via set_logic_op(). The geometry at this level and below will
* subsequently be rendered using standard color blending.
*/
36
void NodePath::clear_logic_op(void);
2627 12 has_logic_op 0 4 3650 22 NodePath::has_logic_op 0 1 875 296
/**
* Returns true if a logical operation has been explicitly set on this
* particular node via set_logic_op(). If this returns true, then
* get_logic_op() may be called to determine whether a logical operation has
* been explicitly disabled for this node or set to particular operation.
*/
40
bool NodePath::has_logic_op(void) const;
2628 12 get_logic_op 0 4 3650 22 NodePath::get_logic_op 0 1 876 407
/**
* Returns the logical operation that has been specifically set on this node
* via set_logic_op(), or O_none if standard color blending has been
* specifically set, or if nothing has been specifically set. See also
* has_logic_op(). This does not necessarily imply that the geometry will
* or will not be rendered with the given logical operation, as there may be
* other nodes that override.
*/
60
LogicOpAttrib::Operation NodePath::get_logic_op(void) const;
2629 13 set_antialias 0 4 3650 23 NodePath::set_antialias 0 1 877 114
/**
* Specifies the antialiasing type that should be applied at this node and
* below. See AntialiasAttrib.
*/
72
void NodePath::set_antialias(unsigned short int mode, int priority = 0);
2630 15 clear_antialias 0 4 3650 25 NodePath::clear_antialias 0 1 878 111
/**
* Completely removes any antialias setting that may have been set on this
* node via set_antialias().
*/
37
void NodePath::clear_antialias(void);
2631 13 has_antialias 0 4 3650 23 NodePath::has_antialias 0 1 879 216
/**
* Returns true if an antialias setting has been explicitly mode on this
* particular node via set_antialias(). If this returns true, then
* get_antialias() may be called to determine what the setting was.
*/
41
bool NodePath::has_antialias(void) const;
2632 13 get_antialias 0 4 3650 23 NodePath::get_antialias 0 1 880 147
/**
* Returns the antialias setting that has been specifically set on this node
* via set_antialias(), or M_none if no setting has been made.
*/
55
unsigned short int NodePath::get_antialias(void) const;
2633 16 has_audio_volume 0 4 3650 26 NodePath::has_audio_volume 0 1 881 197
/**
* Returns true if an audio volume has been applied to the referenced node,
* false otherwise. It is still possible that volume at this node might have
* been scaled by an ancestor node.
*/
44
bool NodePath::has_audio_volume(void) const;
2634 18 clear_audio_volume 0 4 3650 28 NodePath::clear_audio_volume 0 1 882 225
/**
* Completely removes any audio volume from the referenced node. This is
* preferable to simply setting the audio volume to identity, as it also
* removes the overhead associated with having an audio volume at all.
*/
40
void NodePath::clear_audio_volume(void);
2635 16 set_audio_volume 0 4 3650 26 NodePath::set_audio_volume 0 1 883 59
/**
* Sets the audio volume component of the transform
*/
70
void NodePath::set_audio_volume(PN_stdfloat volume, int priority = 0);
2636 20 set_audio_volume_off 0 4 3650 30 NodePath::set_audio_volume_off 0 1 884 447
/**
* Disables any audio volume attribute inherited from above. This is not the
* same thing as clear_audio_volume(), which undoes any previous
* set_audio_volume() operation on this node; rather, this actively disables
* any set_audio_volume() that might be inherited from a parent node.
*
* It is legal to specify a new volume on the same node with a subsequent call
* to set_audio_volume(); this new scale will apply to lower nodes.
*/
54
void NodePath::set_audio_volume_off(int priority = 0);
2637 16 get_audio_volume 0 4 3650 26 NodePath::get_audio_volume 0 1 885 200
/**
* Returns the complete audio volume that has been applied to this node via a
* previous call to set_audio_volume(), or 1. (identity) if no volume has been
* applied to this particular node.
*/
51
PN_stdfloat NodePath::get_audio_volume(void) const;
2638 20 get_net_audio_volume 0 4 3650 30 NodePath::get_net_audio_volume 0 1 886 109
/**
* Returns the complete audio volume for this node taking highers nodes in the
* graph into account.
*/
55
PN_stdfloat NodePath::get_net_audio_volume(void) const;
2639 21 adjust_all_priorities 0 4 3650 31 NodePath::adjust_all_priorities 0 1 887 339
/**
* Adds the indicated adjustment amount (which may be negative) to the
* priority for all transitions on the referenced node, and for all nodes in
* the subgraph below. This can be used to force these nodes not to be
* overridden by a high-level state change above. If the priority would drop
* below zero, it is set to zero.
*/
60
inline void NodePath::adjust_all_priorities(int adjustment);
2640 4 show 0 4 3650 14 NodePath::show 0 2 888 889 524
// Variants on show and hide
/**
* Undoes the effect of a previous hide() on this node: makes the referenced
* node (and the entire subgraph below this node) visible to all cameras.
*
* This will not reveal the node if a parent node has been hidden.
*/
/**
* Makes the referenced node visible just to the cameras whose camera_mask
* shares the indicated bits.
*
* This undoes the effect of a previous hide() call. It will not reveal the
* node if a parent node has been hidden. However, see show_through().
*/
83
inline void NodePath::show(void);
inline void NodePath::show(DrawMask camera_mask);
2641 12 show_through 0 4 3650 22 NodePath::show_through 0 2 890 891 635
/**
* Makes the referenced node visible just to the cameras whose camera_mask
* shares the indicated bits.
*
* Unlike show(), this will reveal the node even if a parent node has been
* hidden, thus "showing through" a parent's hide().
*/
/**
* Makes the referenced node visible just to the cameras whose camera_mask
* shares the indicated bits.
*
* Unlike show(), this will reveal the node even if a parent node has been
* hidden via the one-parameter hide() method, thus "showing through" a
* parent's hide(). (However, it will not show through a parent's hide() call
* if the no-parameter form of hide() was used.)
*/
99
inline void NodePath::show_through(void);
inline void NodePath::show_through(DrawMask camera_mask);
2642 4 hide 0 4 3650 14 NodePath::hide 0 2 892 893 601
/**
* Makes the referenced node (and the entire subgraph below this node)
* invisible to all cameras. It remains part of the scene graph, its bounding
* volume still contributes to its parent's bounding volume, and it will still
* be involved in collision tests.
*/
/**
* Makes the referenced node invisible just to the cameras whose camera_mask
* shares the indicated bits.
*
* This will also hide any nodes below this node in the scene graph, including
* those nodes for which show() has been called, but it will not hide
* descendent nodes for which show_through() has been called.
*/
83
inline void NodePath::hide(void);
inline void NodePath::hide(DrawMask camera_mask);
2643 9 is_hidden 0 4 3650 19 NodePath::is_hidden 0 1 894 141
/**
* Returns true if the referenced node is hidden from the indicated camera(s)
* either directly, or because some ancestor is hidden.
*/
91
inline bool NodePath::is_hidden(DrawMask camera_mask = PandaNode::get_overall_bit()) const;
2644 19 get_hidden_ancestor 0 4 3650 29 NodePath::get_hidden_ancestor 0 1 895 215
/**
* Returns the NodePath at or above the referenced node that is hidden to the
* indicated camera(s), or an empty NodePath if no ancestor of the referenced
* node is hidden (and the node should be visible).
*/
153
NodePath NodePath::get_hidden_ancestor(DrawMask camera_mask = PandaNode::get_overall_bit(), Thread *current_thread = Thread::get_current_thread()) const;
2645 5 stash 0 4 3650 15 NodePath::stash 0 1 896 480
/**
* Removes the referenced node (and the entire subgraph below this node) from
* the scene graph in any normal sense. The node will no longer be visible
* and is not tested for collisions; furthermore, no normal scene graph
* traversal will visit the node. The node's bounding volume no longer
* contributes to its parent's bounding volume.
*
* A stashed node cannot be located by a normal find() operation (although a
* special find string can still retrieve it).
*/
90
void NodePath::stash(int sort = 0, Thread *current_thread = Thread::get_current_thread());
2646 7 unstash 0 4 3650 17 NodePath::unstash 0 1 897 174
/**
* Undoes the effect of a previous stash() on this node: makes the referenced
* node (and the entire subgraph below this node) once again part of the scene
* graph.
*/
92
void NodePath::unstash(int sort = 0, Thread *current_thread = Thread::get_current_thread());
2647 11 unstash_all 0 4 3650 21 NodePath::unstash_all 0 1 898 59
/**
* Unstashes this node and all stashed child nodes.
*/
82
void NodePath::unstash_all(Thread *current_thread = Thread::get_current_thread());
2648 10 is_stashed 0 4 3650 20 NodePath::is_stashed 0 1 899 114
/**
* Returns true if the referenced node is stashed either directly, or because
* some ancestor is stashed.
*/
45
inline bool NodePath::is_stashed(void) const;
2649 20 get_stashed_ancestor 0 4 3650 30 NodePath::get_stashed_ancestor 0 1 900 190
/**
* Returns the NodePath at or above the referenced node that is stashed, or an
* empty NodePath if no ancestor of the referenced node is stashed (and the
* node should be visible).
*/
101
NodePath NodePath::get_stashed_ancestor(Thread *current_thread = Thread::get_current_thread()) const;
2650 16 get_collide_mask 0 4 3650 26 NodePath::get_collide_mask 0 1 901 309
/**
* Returns the union of all of the into_collide_masks for nodes at this level
* and below. This is the same thing as node()->get_net_collide_mask().
*
* If you want to return what the into_collide_mask of this node itself is,
* without regard to its children, use node()->get_into_collide_mask().
*/
58
inline CollideMask NodePath::get_collide_mask(void) const;
2651 16 set_collide_mask 0 4 3650 26 NodePath::set_collide_mask 0 1 902 489
/**
* Recursively applies the indicated CollideMask to the into_collide_masks for
* all nodes at this level and below. If node_type is not TypeHandle::none(),
* then only nodes matching (or inheriting from) the indicated PandaNode
* subclass are modified.
*
* The default is to change all bits, but if bits_to_change is not all bits
* on, then only the bits that are set in bits_to_change are modified,
* allowing this call to change only a subset of the bits in the subgraph.
*/
156
inline void NodePath::set_collide_mask(CollideMask new_mask, CollideMask bits_to_change = CollideMask::all_on(), TypeHandle node_type = TypeHandle::none());
2652 11 operator == 0 4 3650 21 NodePath::operator == 0 2 903 904 21
// Comparison methods
124
inline bool NodePath::operator ==(NodePath const &other) const;
bool NodePath::operator ==(WeakNodePath const &other) const;
2653 11 operator != 0 4 3650 21 NodePath::operator != 0 2 905 906 0
124
inline bool NodePath::operator !=(NodePath const &other) const;
bool NodePath::operator !=(WeakNodePath const &other) const;
2654 10 operator < 0 4 3650 20 NodePath::operator < 0 2 907 908 0
122
inline bool NodePath::operator <(NodePath const &other) const;
bool NodePath::operator <(WeakNodePath const &other) const;
2655 10 compare_to 0 4 3650 20 NodePath::compare_to 0 2 909 910 974
/**
* Returns a number less than zero if this NodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two NodePaths are considered equivalent if they consist of exactly the same
* list of nodes in the same order. Otherwise, they are different; different
* NodePaths will be ranked in a consistent but undefined ordering; the
* ordering is useful only for placing the NodePaths in a sorted container
* like an STL set.
*/
/**
* Returns a number less than zero if this NodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two NodePaths are considered equivalent if they consist of exactly the same
* list of nodes in the same order. Otherwise, they are different; different
* NodePaths will be ranked in a consistent but undefined ordering; the
* ordering is useful only for placing the NodePaths in a sorted container
* like an STL set.
*/
120
inline int NodePath::compare_to(NodePath const &other) const;
int NodePath::compare_to(WeakNodePath const &other) const;
2656 15 verify_complete 0 4 3650 25 NodePath::verify_complete 0 1 911 125
// Miscellaneous
/**
* Returns true if all of the nodes described in the NodePath are connected,
* or false otherwise.
*/
92
bool NodePath::verify_complete(Thread *current_thread = Thread::get_current_thread()) const;
2657 14 premunge_scene 0 4 3650 24 NodePath::premunge_scene 0 1 912 414
/**
* Walks through the scene graph beginning at the bottom node, and internally
* adjusts any GeomVertexFormats for optimal rendering on the indicated GSG.
* If this step is not done prior to rendering, the formats will be optimized
* at render time instead, for a small cost.
*
* It is not normally necessary to do this on a model loaded directly from
* disk, since the loader will do this by default.
*/
72
void NodePath::premunge_scene(GraphicsStateGuardianBase *gsg = nullptr);
2658 13 prepare_scene 0 4 3650 23 NodePath::prepare_scene 0 1 913 476
/**
* Walks through the scene graph beginning at the bottom node, and does
* whatever initialization is required to render the scene properly with the
* indicated GSG. It is not strictly necessary to call this, since the GSG
* will initialize itself when the scene is rendered, but this may take some
* of the overhead away from that process.
*
* In particular, this will ensure that textures and vertex buffers within the
* scene are loaded into graphics memory.
*/
61
void NodePath::prepare_scene(GraphicsStateGuardianBase *gsg);
2659 11 show_bounds 0 4 3650 21 NodePath::show_bounds 0 1 914 273
/**
* Causes the bounding volume of the bottom node and all of its descendants
* (that is, the bounding volume associated with the the bottom arc) to be
* rendered, if possible. The rendering method is less than optimal; this is
* intended primarily for debugging.
*/
33
void NodePath::show_bounds(void);
2660 17 show_tight_bounds 0 4 3650 27 NodePath::show_tight_bounds 0 1 915 288
/**
* Similar to show_bounds(), this draws a bounding box representing the
* "tight" bounds of this node and all of its descendants. The bounding box
* is recomputed every frame by reexamining all of the vertices; this is far
* from efficient, but this is intended for debugging.
*/
39
void NodePath::show_tight_bounds(void);
2661 11 hide_bounds 0 4 3650 21 NodePath::hide_bounds 0 1 916 79
/**
* Stops the rendering of the bounding volume begun with show_bounds().
*/
33
void NodePath::hide_bounds(void);
2662 10 get_bounds 0 4 3650 20 NodePath::get_bounds 0 1 917 214
/**
* Returns a newly-allocated bounding volume containing the bottom node and
* all of its descendants. This is the bounding volume on the bottom arc,
* converted to the local coordinate space of the node.
*/
110
PointerTo< BoundingVolume > NodePath::get_bounds(Thread *current_thread = Thread::get_current_thread()) const;
2663 22 force_recompute_bounds 0 4 3650 32 NodePath::force_recompute_bounds 0 1 918 520
/**
* Forces the recomputing of all the bounding volumes at every node in the
* subgraph beginning at this node and below.
*
* This should not normally need to be called, since the bounding volumes are
* supposed to be recomputed automatically when necessary. It may be useful
* when debugging, to verify that the bounding volumes have not become
* inadvertently stale; it may also be useful to force animated characters to
* update their bounding volumes (which does not presently happen
* automatically).
*/
44
void NodePath::force_recompute_bounds(void);
2664 12 write_bounds 0 4 3650 22 NodePath::write_bounds 0 1 919 143
/**
* Writes a description of the bounding volume containing the bottom node and
* all of its descendants to the indicated output stream.
*/
53
void NodePath::write_bounds(std::ostream &out) const;
2665 17 calc_tight_bounds 0 4 3650 27 NodePath::calc_tight_bounds 0 1 920 725
/**
* Calculates the minimum and maximum vertices of all Geoms at this NodePath's
* bottom node and below. This is a tight bounding box; it will generally be
* tighter than the bounding volume returned by get_bounds() (but it is more
* expensive to compute).
*
* The bounding box is computed relative to the parent node's coordinate
* system by default. You can optionally specify a different NodePath to
* compute the bounds relative to. Note that the box is always axis-aligned
* against the given NodePath's coordinate system, so you might get a
* differently sized box depending on which node you pass.
*
* The return value is true if any points are within the bounding volume, or
* false if none are.
*/
170
bool NodePath::calc_tight_bounds(LPoint3 &min_point, LPoint3 &max_point, NodePath const &other = NodePath(), Thread *current_thread = Thread::get_current_thread()) const;
2666 16 get_tight_bounds 0 4 3650 26 NodePath::get_tight_bounds 0 1 921 0
79
PyObject *NodePath::get_tight_bounds(NodePath const &other = NodePath()) const;
2667 13 flatten_light 0 4 3650 23 NodePath::flatten_light 0 1 922 811
/**
* Lightly flattens out the hierarchy below this node by applying transforms,
* colors, and texture matrices from the nodes onto the vertices, but does not
* remove any nodes.
*
* This can result in improved rendering performance because there will be
* fewer transforms in the resulting scene graph, but the number of nodes will
* remain the same.
*
* In particular, any NodePaths that reference nodes within this hierarchy
* will not be damaged. However, since this operation will remove transforms
* from the scene graph, it may be dangerous to apply to nodes where you
* expect to dynamically modify the transform, or where you expect the
* geometry to remain in a particular local coordinate system.
*
* The return value is always 0, since flatten_light does not remove any
* nodes.
*/
34
int NodePath::flatten_light(void);
2668 14 flatten_medium 0 4 3650 24 NodePath::flatten_medium 0 1 923 488
/**
* A more thorough flattening than flatten_light(), this first applies all the
* transforms, colors, and texture matrices from the nodes onto the vertices,
* and then removes unneeded grouping nodes--nodes that have exactly one
* child, for instance, but have no special properties in themselves.
*
* This results in improved performance over flatten_light() because the
* number of nodes in the scene graph is reduced.
*
* The return value is the number of nodes removed.
*/
35
int NodePath::flatten_medium(void);
2669 14 flatten_strong 0 4 3650 24 NodePath::flatten_strong 0 1 924 630
/**
* The strongest possible flattening. This first applies all of the
* transforms to the vertices, as in flatten_medium(), but then it will
* combine sibling nodes together when possible, in addition to removing
* unnecessary parent-child nodes. This can result in substantially fewer
* nodes, but any nicely-grouped hierachical bounding volumes may be lost.
*
* It is generally a good idea to apply this kind of flattening only to nodes
* that will be culled largely as a single unit, like a car. Applying this to
* an entire scene may result in overall poorer performance because of less-
* effective culling.
*/
35
int NodePath::flatten_strong(void);
2670 20 apply_texture_colors 0 4 3650 30 NodePath::apply_texture_colors 0 1 925 692
/**
* Removes textures from Geoms at this node and below by applying the texture
* colors to the vertices. This is primarily useful to simplify a low-LOD
* model. The texture colors are replaced by flat colors that approximate the
* original textures.
*
* Only the bottommost texture on each Geom is used (if there is more than
* one), and it is applied as if it were M_modulate, and WM_repeat, regardless
* of its actual settings. If the texture has a simple_ram_image, this may be
* used if the main image isn't resident.
*
* After this call, there will be no texturing specified at this level and
* below. Of course, there might still be texturing inherited from above.
*/
42
void NodePath::apply_texture_colors(void);
2671 17 clear_model_nodes 0 4 3650 27 NodePath::clear_model_nodes 0 1 926 315
/**
* Recursively walks through the scene graph at this level and below, looking
* for ModelNodes, and calls model_node->set_preserve_transform(PT_drop_node)
* on each one. This allows a subsequent call to flatten_strong() to
* eliminate all of the ModelNodes.
*
* Returns the number of ModelNodes found.
*/
45
inline int NodePath::clear_model_nodes(void);
2672 7 set_tag 0 4 3650 17 NodePath::set_tag 0 1 927 391
/**
* Associates a user-defined value with a user-defined key which is stored on
* the node. This value has no meaning to Panda; but it is stored
* indefinitely on the node until it is requested again.
*
* Each unique key stores a different string value. There is no effective
* limit on the number of different keys that may be stored or on the length
* of any one key's value.
*/
80
inline void NodePath::set_tag(std::string const &key, std::string const &value);
2673 7 get_tag 0 4 3650 17 NodePath::get_tag 0 1 928 207
/**
* Retrieves the user-defined value that was previously set on this node for
* the particular key, if any. If no value has been previously set, returns
* the empty string. See also get_net_tag().
*/
67
inline std::string NodePath::get_tag(std::string const &key) const;
2674 12 get_tag_keys 0 4 3650 22 NodePath::get_tag_keys 0 2 929 930 232
/**
* Fills the given vector up with the list of tags on this PandaNode.
*
* It is the user's responsibility to ensure that the keys vector is empty
* before making this call; otherwise, the new files will be appended to it.
*/
115
inline void NodePath::get_tag_keys(vector_string &keys) const;
inline PyObject *NodePath::get_tag_keys(void) const;
2675 7 has_tag 0 4 3650 17 NodePath::has_tag 0 1 931 195
/**
* Returns true if a value has been defined on this node for the particular
* key (even if that value is the empty string), or false if no value has been
* set. See also has_net_tag().
*/
60
inline bool NodePath::has_tag(std::string const &key) const;
2676 9 clear_tag 0 4 3650 19 NodePath::clear_tag 0 1 932 158
/**
* Removes the value defined for this key on this particular node. After a
* call to clear_tag(), has_tag() will return false for the indicated key.
*/
56
inline void NodePath::clear_tag(std::string const &key);
2677 11 get_net_tag 0 4 3650 21 NodePath::get_net_tag 0 1 933 251
/**
* Returns the tag value that has been defined on this node, or the nearest
* ancestor node, for the indicated key. If no value has been defined for the
* indicated key on any ancestor node, returns the empty string. See also
* get_tag().
*/
71
inline std::string NodePath::get_net_tag(std::string const &key) const;
2678 11 has_net_tag 0 4 3650 21 NodePath::has_net_tag 0 1 934 149
/**
* Returns true if the indicated tag value has been defined on this node or on
* any ancestor node, or false otherwise. See also has_tag().
*/
64
inline bool NodePath::has_net_tag(std::string const &key) const;
2679 12 find_net_tag 0 4 3650 22 NodePath::find_net_tag 0 1 935 215
/**
* Returns the lowest ancestor of this node that contains a tag definition
* with the indicated key, if any, or an empty NodePath if no ancestor of this
* node contains this tag definition. See set_tag().
*/
62
NodePath NodePath::find_net_tag(std::string const &key) const;
2680 0 0 0 0 0 0 0 0
0
2681 8 get_tags 0 4 3650 18 NodePath::get_tags 0 1 936 0
48
inline PyObject *NodePath::get_tags(void) const;
2682 15 get_python_tags 0 4 3650 25 NodePath::get_python_tags 0 1 937 0
42
PyObject *NodePath::get_python_tags(void);
2683 14 set_python_tag 0 4 3650 24 NodePath::set_python_tag 0 1 938 0
70
inline void NodePath::set_python_tag(PyObject *keys, PyObject *value);
2684 14 get_python_tag 0 4 3650 24 NodePath::get_python_tag 0 1 939 0
64
inline PyObject *NodePath::get_python_tag(PyObject *keys) const;
2685 19 get_python_tag_keys 0 4 3650 29 NodePath::get_python_tag_keys 0 1 940 0
59
inline PyObject *NodePath::get_python_tag_keys(void) const;
2686 14 has_python_tag 0 4 3650 24 NodePath::has_python_tag 0 1 941 0
59
inline bool NodePath::has_python_tag(PyObject *keys) const;
2687 16 clear_python_tag 0 4 3650 26 NodePath::clear_python_tag 0 1 942 0
55
inline void NodePath::clear_python_tag(PyObject *keys);
2688 18 get_net_python_tag 0 4 3650 28 NodePath::get_net_python_tag 0 1 943 0
68
inline PyObject *NodePath::get_net_python_tag(PyObject *keys) const;
2689 18 has_net_python_tag 0 4 3650 28 NodePath::has_net_python_tag 0 1 944 0
63
inline bool NodePath::has_net_python_tag(PyObject *keys) const;
2690 19 find_net_python_tag 0 4 3650 29 NodePath::find_net_python_tag 0 1 945 0
61
NodePath NodePath::find_net_python_tag(PyObject *keys) const;
2691 12 __traverse__ 0 4 3650 22 NodePath::__traverse__ 0 1 946 0
55
int NodePath::__traverse__(visitproc visit, void *arg);
2692 9 list_tags 0 4 3650 19 NodePath::list_tags 0 1 947 153
/**
* Lists the tags to the nout stream, one per line. See
* PandaNode::list_tags() for a variant that allows you to specify the output
* stream.
*/
44
inline void NodePath::list_tags(void) const;
2693 8 set_name 0 4 3650 18 NodePath::set_name 0 1 948 51
/**
* Changes the name of the referenced node.
*/
56
inline void NodePath::set_name(std::string const &name);
2694 8 get_name 0 4 3650 18 NodePath::get_name 0 1 949 51
/**
* Returns the name of the referenced node.
*/
50
inline std::string NodePath::get_name(void) const;
2695 14 write_bam_file 0 4 3650 24 NodePath::write_bam_file 0 1 950 230
/**
* Writes the contents of this node and below out to a bam file with the
* indicated filename. This file may then be read in again, as is, at some
* later point. Returns true if successful, false on some kind of error.
*/
62
bool NodePath::write_bam_file(Filename const &filename) const;
2696 16 write_bam_stream 0 4 3650 26 NodePath::write_bam_stream 0 1 951 82
/**
* Writes the contents of this node and below out to the indicated stream.
*/
57
bool NodePath::write_bam_stream(std::ostream &out) const;
2697 20 encode_to_bam_stream 0 4 3650 30 NodePath::encode_to_bam_stream 0 2 952 953 1372
/**
* Converts the NodePath object into a single stream of data using a
* BamWriter, and returns that data as a string string. Returns empty string
* on failure. This is similar to write_bam_stream().
*
* This method is used by __reduce__ to handle streaming of NodePaths to a
* pickle file.
*/
/**
* Converts the NodePath object into a single stream of data using a
* BamWriter, and stores that data in the indicated string. Returns true on
* success, false on failure.
*
* If the BamWriter is NULL, this behaves the same way as
* NodePath::write_bam_stream() and PandaNode::encode_to_bam_stream(), in the
* sense that it only writes this node and all nodes below it.
*
* However, if the BamWriter is not NULL, it behaves very differently. In
* this case, it encodes the *entire graph* of all nodes connected to the
* NodePath, including all parent nodes and siblings. This is necessary for
* correct streaming of related NodePaths and restoration of instances, etc.,
* but it does mean you must detach() a node before writing it if you want to
* limit the nodes that get written.
*
* This method is used by __reduce__ to handle streaming of NodePaths to a
* pickle file. The BamWriter case is used by the direct.stdpy.pickle module,
* while the saner, non-BamWriter case is used when the standard pickle module
* calls this function.
*/
155
inline vector_uchar NodePath::encode_to_bam_stream(void) const;
bool NodePath::encode_to_bam_stream(vector_uchar &data, BamWriter *writer = nullptr) const;
2698 22 decode_from_bam_stream 0 4 3650 32 NodePath::decode_from_bam_stream 0 1 954 162
/**
* Reads the string created by a previous call to encode_to_bam_stream(), and
* extracts and returns the NodePath on that string. Returns NULL on error.
*/
97
static NodePath NodePath::decode_from_bam_stream(vector_uchar data, BamReader *reader = nullptr);
2699 14 get_class_type 0 4 3650 24 NodePath::get_class_type 0 1 955 0
49
static TypeHandle NodePath::get_class_type(void);
2700 9 ~NodePath 0 4 3650 19 NodePath::~NodePath 0 0 0
26
NodePath::~NodePath(void);
2701 8 add_node 0 4 3654 28 AttribNodeRegistry::add_node 0 1 1005 556
/**
* Adds the indicated NodePath to the registry. The name and type of the node
* are noted at the time of this call; if the name changes later, it will not
* update the registry index.
*
* The NodePath must reference some kind of an attribute node, such as a
* LightNode or a PlaneNode. When bam files that reference an attribute node
* of the same type and the same name are loaded, they will quietly be
* redirected to reference this NodePath.
*
* If there is already a node matching the indicated name and type, it will be
* replaced.
*/
63
void AttribNodeRegistry::add_node(NodePath const &attrib_node);
2702 11 remove_node 0 4 3654 31 AttribNodeRegistry::remove_node 0 2 1006 1007 372
/**
* Removes the indicated NodePath from the registry. The name of the node
* must not have changed since the matching call to add_node(), or it will not
* be successfully removed.
*
* Returns true if the NodePath is found and removed, false if it is not found
* (for instance, because the name has changed).
*/
/**
* Removes the nth node from the registry.
*/
111
bool AttribNodeRegistry::remove_node(NodePath const &attrib_node);
void AttribNodeRegistry::remove_node(int n);
2703 11 lookup_node 0 4 3654 31 AttribNodeRegistry::lookup_node 0 1 1008 215
/**
* Looks up the indicated NodePath in the registry. If there is a node
* already in the registry with the matching name and type, returns that
* NodePath instead; otherwise, returns the original NodePath.
*/
74
NodePath AttribNodeRegistry::lookup_node(NodePath const &orig_node) const;
2704 13 get_num_nodes 0 4 3654 33 AttribNodeRegistry::get_num_nodes 0 1 1009 61
/**
* Returns the total number of nodes in the registry.
*/
50
int AttribNodeRegistry::get_num_nodes(void) const;
2705 8 get_node 0 4 3654 28 AttribNodeRegistry::get_node 0 1 1010 61
/**
* Returns the nth NodePath recorded in the registry.
*/
51
NodePath AttribNodeRegistry::get_node(int n) const;
2706 13 get_node_type 0 4 3654 33 AttribNodeRegistry::get_node_type 0 1 1011 73
/**
* Returns the type of the nth node, as recorded in the registry.
*/
58
TypeHandle AttribNodeRegistry::get_node_type(int n) const;
2707 13 get_node_name 0 4 3654 33 AttribNodeRegistry::get_node_name 0 1 1012 236
/**
* Returns the name of the nth node, as recorded in the registry. This will
* be the node name as it was at the time the node was recorded; if the node
* has changed names since then, this will still return the original name.
*/
59
std::string AttribNodeRegistry::get_node_name(int n) const;
2708 9 find_node 0 4 3654 29 AttribNodeRegistry::find_node 0 2 1013 1014 394
/**
* Returns the index number of the indicated NodePath in the registry
* (assuming its name hasn't changed since it was recorded in the registry),
* or -1 if the NodePath cannot be found (for instance, because its name has
* changed).
*/
/**
* Returns the index number of the node with the indicated type and name in
* the registry, or -1 if there is no such node in the registry.
*/
152
int AttribNodeRegistry::find_node(NodePath const &attrib_node) const;
int AttribNodeRegistry::find_node(TypeHandle type, std::string const &name) const;
2709 5 clear 0 4 3654 25 AttribNodeRegistry::clear 0 1 1015 47
/**
* Removes all nodes from the registry.
*/
37
void AttribNodeRegistry::clear(void);
2710 6 output 0 4 3654 26 AttribNodeRegistry::output 0 1 1016 10
/**
*
*/
57
void AttribNodeRegistry::output(std::ostream &out) const;
2711 5 write 0 4 3654 25 AttribNodeRegistry::write 0 1 1017 10
/**
*
*/
56
void AttribNodeRegistry::write(std::ostream &out) const;
2712 14 get_global_ptr 0 4 3654 34 AttribNodeRegistry::get_global_ptr 0 1 1018 10
/**
*
*/
75
static inline AttribNodeRegistry *AttribNodeRegistry::get_global_ptr(void);
2713 19 ~AttribNodeRegistry 0 4 3654 39 AttribNodeRegistry::~AttribNodeRegistry 0 0 0
46
AttribNodeRegistry::~AttribNodeRegistry(void);
2714 13 make_identity 0 4 3655 32 AudioVolumeAttrib::make_identity 0 1 1019 54
/**
* Constructs an identity audio volume attrib.
*/
77
static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make_identity(void);
2715 4 make 0 4 3655 23 AudioVolumeAttrib::make 0 1 1020 125
/**
* Constructs a new AudioVolumeAttrib object that indicates audio volume
* should be scaled by the indicated factor.
*/
82
static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make(PN_stdfloat volume);
2716 8 make_off 0 4 3655 27 AudioVolumeAttrib::make_off 0 1 1021 213
/**
* Constructs a new AudioVolumeAttrib object that ignores any
* AudioVolumeAttrib inherited from above. You may also specify an additional
* volume scale to apply to geometry below (using set_volume()).
*/
72
static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make_off(void);
2717 12 make_default 0 4 3655 31 AudioVolumeAttrib::make_default 0 1 1022 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
76
static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make_default(void);
2718 6 is_off 0 4 3655 25 AudioVolumeAttrib::is_off 0 1 1023 257
/**
* Returns true if the AudioVolumeAttrib will ignore any color scales
* inherited from above, false otherwise. This is not the same thing as
* !has_scale(); a AudioVolumeAttrib may have the "off" flag set and also have
* another scale specified.
*/
50
inline bool AudioVolumeAttrib::is_off(void) const;
2719 10 has_volume 0 4 3655 29 AudioVolumeAttrib::has_volume 0 1 1024 159
/**
* Returns true if the AudioVolumeAttrib has a non-identity volume, false
* otherwise (in which case it might be an off attrib or an identity attrib).
*/
54
inline bool AudioVolumeAttrib::has_volume(void) const;
2720 10 get_volume 0 4 3655 29 AudioVolumeAttrib::get_volume 0 1 1025 54
/**
* Returns the volume to be applied to sounds.
*/
61
inline PN_stdfloat AudioVolumeAttrib::get_volume(void) const;
2721 10 set_volume 0 4 3655 29 AudioVolumeAttrib::set_volume 0 1 1026 118
/**
* Returns a new AudioVolumeAttrib, just like this one, but with the volume
* changed to the indicated value.
*/
87
ConstPointerTo< RenderAttrib > AudioVolumeAttrib::set_volume(PN_stdfloat volume) const;
2722 14 get_class_slot 0 4 3655 33 AudioVolumeAttrib::get_class_slot 0 1 1027 0
51
static int AudioVolumeAttrib::get_class_slot(void);
2723 14 get_class_type 0 4 3655 33 AudioVolumeAttrib::get_class_type 0 1 1028 0
58
static TypeHandle AudioVolumeAttrib::get_class_type(void);
2724 18 ~AudioVolumeAttrib 0 4 3655 37 AudioVolumeAttrib::~AudioVolumeAttrib 0 0 0
44
AudioVolumeAttrib::~AudioVolumeAttrib(void);
2725 4 make 0 4 3656 23 AuxBitplaneAttrib::make 0 2 1029 1030 118
/**
* Constructs a default AuxBitplaneAttrib object.
*/
/**
* Constructs a specified AuxBitplaneAttrib object.
*/
144
static ConstPointerTo< RenderAttrib > AuxBitplaneAttrib::make(void);
static ConstPointerTo< RenderAttrib > AuxBitplaneAttrib::make(int outputs);
2726 12 make_default 0 4 3656 31 AuxBitplaneAttrib::make_default 0 1 1031 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
76
static ConstPointerTo< RenderAttrib > AuxBitplaneAttrib::make_default(void);
2727 11 get_outputs 0 4 3656 30 AuxBitplaneAttrib::get_outputs 0 1 1032 53
/**
* Returns the AuxBitplaneAttrib output bits.
*/
54
inline int AuxBitplaneAttrib::get_outputs(void) const;
2728 14 get_class_slot 0 4 3656 33 AuxBitplaneAttrib::get_class_slot 0 1 1033 0
51
static int AuxBitplaneAttrib::get_class_slot(void);
2729 14 get_class_type 0 4 3656 33 AuxBitplaneAttrib::get_class_type 0 1 1034 0
58
static TypeHandle AuxBitplaneAttrib::get_class_type(void);
2730 18 ~AuxBitplaneAttrib 0 4 3656 37 AuxBitplaneAttrib::~AuxBitplaneAttrib 0 0 0
44
AuxBitplaneAttrib::~AuxBitplaneAttrib(void);
2731 12 set_duration 0 4 3658 26 AuxSceneData::set_duration 0 1 1036 159
/**
* Specifies the minimum length in time, in seconds, to keep this AuxSceneData
* object around in the scene graph after the last time it was rendered.
*/
56
inline void AuxSceneData::set_duration(double duration);
2732 12 get_duration 0 4 3658 26 AuxSceneData::get_duration 0 1 1037 157
/**
* Returns the minimum length in time, in seconds, to keep this AuxSceneData
* object around in the scene graph after the last time it was rendered.
*/
53
inline double AuxSceneData::get_duration(void) const;
2733 20 set_last_render_time 0 4 3658 34 AuxSceneData::set_last_render_time 0 1 1038 111
/**
* Should be called with the current frame_time each time the AuxSceneData is
* used during traversal.
*/
67
inline void AuxSceneData::set_last_render_time(double render_time);
2734 20 get_last_render_time 0 4 3658 34 AuxSceneData::get_last_render_time 0 1 1039 112
/**
* Returns the last time this object was used during traversal (according to
* set_last_render_time()).
*/
61
inline double AuxSceneData::get_last_render_time(void) const;
2735 19 get_expiration_time 0 4 3658 33 AuxSceneData::get_expiration_time 0 1 1040 129
/**
* Returns the frame_time at which this AuxSceneData object is currently
* scheduled to be removed from the scene graph.
*/
60
inline double AuxSceneData::get_expiration_time(void) const;
2736 6 output 0 6 3658 20 AuxSceneData::output 0 1 1041 10
/**
*
*/
59
virtual void AuxSceneData::output(std::ostream &out) const;
2737 5 write 0 6 3658 19 AuxSceneData::write 0 1 1042 10
/**
*
*/
80
virtual void AuxSceneData::write(std::ostream &out, int indent_level = 0) const;
2738 14 get_class_type 0 4 3658 28 AuxSceneData::get_class_type 0 1 1043 0
53
static TypeHandle AuxSceneData::get_class_type(void);
2739 12 AuxSceneData 0 4 3658 26 AuxSceneData::AuxSceneData 0 1 1035 193
/**
* This is protected, since you normally don't want to create a plain
* AuxSceneData object; instead, create an instance of a derived class that
* actually has some useful data in it.
*/
66
inline AuxSceneData::AuxSceneData(AuxSceneData const &) = default;
2740 13 ~AuxSceneData 0 4 3658 27 AuxSceneData::~AuxSceneData 0 0 0
34
AuxSceneData::~AuxSceneData(void);
2741 7 BamFile 0 4 3660 16 BamFile::BamFile 0 1 1044 10
/**
*
*/
23
BamFile::BamFile(void);
2742 8 ~BamFile 0 4 3660 17 BamFile::~BamFile 0 0 10
/**
*
*/
24
BamFile::~BamFile(void);
2743 9 open_read 0 4 3660 18 BamFile::open_read 0 2 1045 1046 275
/**
* Attempts to open the indicated filename for reading. Returns true if
* successful, false on error.
*/
/**
* Attempts to open the indicated stream for reading. The filename is just
* for information purposes only. Returns true if successful, false on error.
*/
195
bool BamFile::open_read(Filename const &bam_filename, bool report_errors = true);
bool BamFile::open_read(std::istream &in, std::string const &bam_filename = "stream", bool report_errors = true);
2744 11 read_object 0 4 3660 20 BamFile::read_object 0 1 1047 313
/**
* Reads and returns the next object from the Bam file, or NULL if the end of
* the file has been reached, or if there is an error condition. Use is_eof()
* to differentiate these two cases.
*
* The pointers returned by this method will not be valid for use until
* resolve() is subsequently called.
*/
42
TypedWritable *BamFile::read_object(void);
2745 6 is_eof 0 4 3660 15 BamFile::is_eof 0 1 1048 138
/**
* Returns true if the reader has reached end-of-file, false otherwise. This
* call is only valid after a call to read_object().
*/
33
bool BamFile::is_eof(void) const;
2746 7 resolve 0 4 3660 16 BamFile::resolve 0 1 1049 358
/**
* This must be called after one or more objects have been read via calls to
* read_object() in order to resolve all internal pointer references in the
* objects read and make all the pointers valid. It returns true if all
* objects are successfully resolved, or false if some have not been (in which
* case you must call resolve() again later).
*/
28
bool BamFile::resolve(void);
2747 9 read_node 0 4 3660 18 BamFile::read_node 0 1 1050 758
/**
* Although the bam file format is general enough to store a list of objects
* of arbitrary type, bam files on disk usually contain just one object, a
* PandaNode that is the root of a scene graph. (Bam files that store other
* kinds of things are usually given the extension "boo", for "binary other
* objects", to differentiate them from the normal scene graph type file.)
*
* This is a convenience method for when you believe you are reading a scene
* graph bam file. It reads the one PandaNode and returns it. It also calls
* resolve() to fully resolve the object, since we expect this will be the
* only object in the file.
*
* If the bam file contains something other than a PandaNode, an error is
* printed and NULL is returned.
*/
69
PointerTo< PandaNode > BamFile::read_node(bool report_errors = true);
2748 10 open_write 0 4 3660 19 BamFile::open_write 0 2 1051 1052 354
/**
* Attempts to open the indicated file for writing. If another file by the
* same name already exists, it will be silently removed. Returns true if
* successful, false otherwise.
*/
/**
* Attempts to open the indicated stream for writing. The filename is just
* for information purposes only. Returns true if successful, false on error.
*/
198
bool BamFile::open_write(Filename const &bam_filename, bool report_errors = true);
bool BamFile::open_write(std::ostream &out, std::string const &bam_filename = "stream", bool report_errors = true);
2749 12 write_object 0 4 3660 21 BamFile::write_object 0 1 1053 103
/**
* Writes the indicated object to the Bam file. Returns true if successful,
* false on error.
*/
56
bool BamFile::write_object(TypedWritable const *object);
2750 5 close 0 4 3660 14 BamFile::close 0 1 1054 45
/**
* Closes the input or output stream.
*/
26
void BamFile::close(void);
2751 13 is_valid_read 0 4 3660 22 BamFile::is_valid_read 0 1 1055 124
/**
* Returns true if the Bam file is open and ready for reading with no errors
* so far detected, or false otherwise.
*/
47
inline bool BamFile::is_valid_read(void) const;
2752 14 is_valid_write 0 4 3660 23 BamFile::is_valid_write 0 1 1056 124
/**
* Returns true if the Bam file is open and ready for writing with no errors
* so far detected, or false otherwise.
*/
48
inline bool BamFile::is_valid_write(void) const;
2753 18 get_file_major_ver 0 4 3660 27 BamFile::get_file_major_ver 0 1 1057 168
/**
* Returns the major version number of the file currently being read, or the
* system current major version number if no file is currently open for
* reading.
*/
38
int BamFile::get_file_major_ver(void);
2754 18 get_file_minor_ver 0 4 3660 27 BamFile::get_file_minor_ver 0 1 1058 168
/**
* Returns the minor version number of the file currently being read, or the
* system current minor version number if no file is currently open for
* reading.
*/
38
int BamFile::get_file_minor_ver(void);
2755 15 get_file_endian 0 4 3660 24 BamFile::get_file_endian 0 1 1059 102
/**
* Returns the endian preference indicated by the Bam file currently being
* read or written.
*/
57
BamEnums::BamEndian BamFile::get_file_endian(void) const;
2756 24 get_file_stdfloat_double 0 4 3660 33 BamFile::get_file_stdfloat_double 0 1 1060 122
/**
* Returns true if the file stores all "standard" floats as 64-bit doubles, or
* false if they are 32-bit floats.
*/
51
bool BamFile::get_file_stdfloat_double(void) const;
2757 21 get_current_major_ver 0 4 3660 30 BamFile::get_current_major_ver 0 1 1061 140
/**
* Returns the system current major version number. This is the version
* number that will be assigned to any generated Bam files.
*/
41
int BamFile::get_current_major_ver(void);
2758 21 get_current_minor_ver 0 4 3660 30 BamFile::get_current_minor_ver 0 1 1062 140
/**
* Returns the system current minor version number. This is the version
* number that will be assigned to any generated Bam files.
*/
41
int BamFile::get_current_minor_ver(void);
2759 10 get_reader 0 4 3660 19 BamFile::get_reader 0 1 1063 134
/**
* Returns the BamReader in charge of performing the read operations. This
* will return NULL unless open_read() was called.
*/
37
BamReader *BamFile::get_reader(void);
2760 10 get_writer 0 4 3660 19 BamFile::get_writer 0 1 1064 136
/**
* Returns the BamWriter in charge of performing the write operations. This
* will return NULL unless open_write() was called.
*/
37
BamWriter *BamFile::get_writer(void);
2761 4 make 0 4 3667 21 BillboardEffect::make 0 1 1065 81
/**
* Constructs a new BillboardEffect object with the indicated properties.
*/
226
static ConstPointerTo< RenderEffect > BillboardEffect::make(LVector3 const &up_vector, bool eye_relative, bool axial_rotate, PN_stdfloat offset, NodePath const &look_at, LPoint3 const &look_at_point, bool fixed_depth = false);
2762 9 make_axis 0 4 3667 26 BillboardEffect::make_axis 0 1 1066 76
/**
* A convenience function to make a typical axis-rotating billboard.
*/
78
static inline ConstPointerTo< RenderEffect > BillboardEffect::make_axis(void);
2763 14 make_point_eye 0 4 3667 31 BillboardEffect::make_point_eye 0 1 1067 93
/**
* A convenience function to make a typical eye-relative point-rotating
* billboard.
*/
83
static inline ConstPointerTo< RenderEffect > BillboardEffect::make_point_eye(void);
2764 16 make_point_world 0 4 3667 33 BillboardEffect::make_point_world 0 1 1068 95
/**
* A convenience function to make a typical world-relative point-rotating
* billboard.
*/
85
static inline ConstPointerTo< RenderEffect > BillboardEffect::make_point_world(void);
2765 6 is_off 0 4 3667 23 BillboardEffect::is_off 0 1 1069 323
/**
* Returns true if the BillboardEffect is an 'off' BillboardEffect, indicating
* that it does not enable billboarding. This kind of BillboardEffect isn't
* particularly useful and isn't normally created or stored in the graph; it
* might be implicitly discovered as the result of a
* NodePath::get_rel_state().
*/
48
inline bool BillboardEffect::is_off(void) const;
2766 13 get_up_vector 0 4 3667 30 BillboardEffect::get_up_vector 0 1 1070 62
/**
* Returns the up vector in effect for this billboard.
*/
66
inline LVector3 const &BillboardEffect::get_up_vector(void) const;
2767 16 get_eye_relative 0 4 3667 33 BillboardEffect::get_eye_relative 0 1 1071 134
/**
* Returns true if this billboard interprets the up vector relative to the
* camera, or false if it is relative to the world.
*/
58
inline bool BillboardEffect::get_eye_relative(void) const;
2768 16 get_axial_rotate 0 4 3667 33 BillboardEffect::get_axial_rotate 0 1 1072 142
/**
* Returns true if this billboard rotates only around the axis of the up
* vector, or false if it rotates freely in three dimensions.
*/
58
inline bool BillboardEffect::get_axial_rotate(void) const;
2769 15 get_fixed_depth 0 4 3667 32 BillboardEffect::get_fixed_depth 0 1 1073 96
/**
* Returns true if this billboard always appears at a fixed distance from the
* camera.
*/
57
inline bool BillboardEffect::get_fixed_depth(void) const;
2770 10 get_offset 0 4 3667 27 BillboardEffect::get_offset 0 1 1074 204
/**
* Returns the distance toward the camera (or the look_at_point) the billboard
* is moved towards, after rotating. This can be used to ensure the billboard
* is not obscured by nearby geometry.
*/
59
inline PN_stdfloat BillboardEffect::get_offset(void) const;
2771 11 get_look_at 0 4 3667 28 BillboardEffect::get_look_at 0 1 1075 188
/**
* Returns the node this billboard will rotate to look towards. If this is
* empty, it means the billboard will rotate towards the current camera node,
* wherever that might be.
*/
64
inline NodePath const &BillboardEffect::get_look_at(void) const;
2772 17 get_look_at_point 0 4 3667 34 BillboardEffect::get_look_at_point 0 1 1076 132
/**
* Returns the point, relative to the look_at node, towards which the
* billboard will rotate. Normally this is (0, 0, 0).
*/
69
inline LPoint3 const &BillboardEffect::get_look_at_point(void) const;
2773 14 get_class_type 0 4 3667 31 BillboardEffect::get_class_type 0 1 1077 0
56
static TypeHandle BillboardEffect::get_class_type(void);
2774 16 ~BillboardEffect 0 4 3667 33 BillboardEffect::~BillboardEffect 0 0 0
40
BillboardEffect::~BillboardEffect(void);
2775 8 LensNode 0 4 3668 18 LensNode::LensNode 0 1 1078 22
/**
*
*/
/**
*
*/
75
explicit LensNode::LensNode(std::string const &name, Lens *lens = nullptr);
2776 9 copy_lens 0 4 3668 19 LensNode::copy_lens 0 2 1079 1080 211
/**
* Sets up the LensNode using a copy of the indicated Lens. If the original
* Lens is changed or destroyed, this LensNode is not affected.
*/
/**
* Copies the indicated lens into the specified slot.
*/
112
inline void LensNode::copy_lens(Lens const &lens);
inline void LensNode::copy_lens(int index, Lens const &lens);
2777 8 set_lens 0 4 3668 18 LensNode::set_lens 0 2 1081 1082 472
/**
* Sets up the LensNode using this particular Lens pointer. If the lens is
* subsequently modified, the LensNode properties immediately reflect the
* change.
*/
/**
* Sets the indicated lens. Although a LensNode normally holds only one lens,
* it may optionally include multiple lenses, each with a different index
* number. The different lenses may be referenced by index number on the
* DisplayRegion. Adding a new lens automatically makes it active.
*/
91
inline void LensNode::set_lens(Lens *lens);
void LensNode::set_lens(int index, Lens *lens);
2778 8 get_lens 0 4 3668 18 LensNode::get_lens 0 1 1083 191
/**
* Returns a pointer to the particular Lens associated with this LensNode, or
* NULL if there is not yet a Lens associated. If an index number is
* specified, returns the nth lens.
*/
53
inline Lens *LensNode::get_lens(int index = 0) const;
2779 15 set_lens_active 0 4 3668 25 LensNode::set_lens_active 0 1 1084 263
/**
* Sets the active flag for the nth lens. When a lens is inactive, it is not
* used for rendering, and any DisplayRegions associated with it are
* implicitly inactive as well. Returns true if the flag is changed, false if
* it already had this value.
*/
55
bool LensNode::set_lens_active(int index, bool active);
2780 15 get_lens_active 0 4 3668 25 LensNode::get_lens_active 0 1 1085 52
/**
* Returns the active flag for the nth lens.
*/
55
inline bool LensNode::get_lens_active(int index) const;
2781 13 activate_lens 0 4 3668 23 LensNode::activate_lens 0 1 1086 65
/**
* An alternate way to call set_lens_active(index, true).
*/
47
inline bool LensNode::activate_lens(int index);
2782 15 deactivate_lens 0 4 3668 25 LensNode::deactivate_lens 0 1 1087 66
/**
* An alternate way to call set_lens_active(index, false).
*/
49
inline bool LensNode::deactivate_lens(int index);
2783 10 is_in_view 0 4 3668 20 LensNode::is_in_view 0 2 1088 1089 272
/**
* Returns true if the given point is within the bounds of the lens of the
* LensNode (i.e. if the camera can see the point).
*/
/**
* Returns true if the given point is within the bounds of the lens of the
* LensNode (i.e. if the camera can see the point).
*/
111
inline bool LensNode::is_in_view(LPoint3 const &pos);
bool LensNode::is_in_view(int index, LPoint3 const &pos);
2784 12 show_frustum 0 4 3668 22 LensNode::show_frustum 0 1 1090 149
/**
* Enables the drawing of the lens's frustum to aid in visualization. This
* actually creates a GeomNode which is parented to the LensNode.
*/
34
void LensNode::show_frustum(void);
2785 12 hide_frustum 0 4 3668 22 LensNode::hide_frustum 0 1 1091 78
/**
* Disables the drawing of the lens's frustum to aid in visualization.
*/
34
void LensNode::hide_frustum(void);
2786 14 get_class_type 0 4 3668 24 LensNode::get_class_type 0 1 1092 0
49
static TypeHandle LensNode::get_class_type(void);
2787 9 ~LensNode 0 4 3668 19 LensNode::~LensNode 0 0 0
26
LensNode::~LensNode(void);
2788 12 WeakNodePath 0 4 3669 26 WeakNodePath::WeakNodePath 0 2 1093 1094 22
/**
*
*/
/**
*
*/
122
inline WeakNodePath::WeakNodePath(NodePath const &node_path);
inline WeakNodePath::WeakNodePath(WeakNodePath const &copy);
2789 13 ~WeakNodePath 0 4 3669 27 WeakNodePath::~WeakNodePath 0 0 10
/**
*
*/
41
inline WeakNodePath::~WeakNodePath(void);
2790 10 operator = 0 4 3669 24 WeakNodePath::operator = 0 2 1095 1096 0
128
inline void WeakNodePath::operator =(NodePath const &node_path);
inline void WeakNodePath::operator =(WeakNodePath const &copy);
2791 5 clear 0 4 3669 19 WeakNodePath::clear 0 1 1097 93
/**
* Sets this NodePath to the empty NodePath. It will no longer point to any
* node.
*/
38
inline void WeakNodePath::clear(void);
2792 22 operator typecast bool 0 132 3669 36 WeakNodePath::operator typecast bool 0 1 1112 0
34
inline operator bool (void) const;
2793 8 is_empty 0 4 3669 22 WeakNodePath::is_empty 0 1 1098 85
/**
* Returns true if the NodePath contains no nodes, or if it has been deleted.
*/
47
inline bool WeakNodePath::is_empty(void) const;
2794 11 was_deleted 0 4 3669 25 WeakNodePath::was_deleted 0 1 1099 116
/**
* Returns true if the NodePath we were referencing has been quietly deleted
* outside of the WeakNodePath.
*/
50
inline bool WeakNodePath::was_deleted(void) const;
2795 13 get_node_path 0 4 3669 27 WeakNodePath::get_node_path 0 1 1100 131
/**
* Returns the NodePath held within this object, or an empty NodePath with the
* error flag set if the object was deleted.
*/
56
inline NodePath WeakNodePath::get_node_path(void) const;
2796 4 node 0 4 3669 18 WeakNodePath::node 0 1 1101 98
/**
* Returns the PandaNode held within this object, or nullptr if the object was
* deleted.
*/
61
inline PointerTo< PandaNode > WeakNodePath::node(void) const;
2797 11 operator == 0 4 3669 25 WeakNodePath::operator == 0 2 1102 1103 0
139
inline bool WeakNodePath::operator ==(NodePath const &other) const;
inline bool WeakNodePath::operator ==(WeakNodePath const &other) const;
2798 11 operator != 0 4 3669 25 WeakNodePath::operator != 0 2 1104 1105 0
139
inline bool WeakNodePath::operator !=(NodePath const &other) const;
inline bool WeakNodePath::operator !=(WeakNodePath const &other) const;
2799 10 operator < 0 4 3669 24 WeakNodePath::operator < 0 2 1106 1107 0
137
inline bool WeakNodePath::operator <(NodePath const &other) const;
inline bool WeakNodePath::operator <(WeakNodePath const &other) const;
2800 10 compare_to 0 4 3669 24 WeakNodePath::compare_to 0 2 1108 1109 990
/**
* Returns a number less than zero if this NodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two NodePaths are considered equivalent if they consist of exactly the same
* list of nodes in the same order. Otherwise, they are different; different
* NodePaths will be ranked in a consistent but undefined ordering; the
* ordering is useful only for placing the NodePaths in a sorted container
* like an STL set.
*/
/**
* Returns a number less than zero if this WeakNodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two WeakNodePaths are considered equivalent if they consist of exactly the
* same list of nodes in the same order. Otherwise, they are different;
* different WeakNodePaths will be ranked in a consistent but undefined
* ordering; the ordering is useful only for placing the WeakNodePaths in a
* sorted container like an STL set.
*/
135
inline int WeakNodePath::compare_to(NodePath const &other) const;
inline int WeakNodePath::compare_to(WeakNodePath const &other) const;
2801 7 get_key 0 4 3669 21 WeakNodePath::get_key 0 1 1110 58
/**
* Returns the same values as NodePath::get_key().
*/
45
inline int WeakNodePath::get_key(void) const;
2802 6 output 0 4 3669 20 WeakNodePath::output 0 1 1111 10
/**
*
*/
51
void WeakNodePath::output(std::ostream &out) const;
2803 6 Camera 0 4 3670 14 Camera::Camera 0 2 1113 1114 22
/**
*
*/
/**
*
*/
123
explicit Camera::Camera(std::string const &name, Lens *lens = (new PerspectiveLens()));
Camera::Camera(Camera const &copy);
2804 10 set_active 0 4 3670 18 Camera::set_active 0 1 1115 107
/**
* Sets the active flag on the camera. When the camera is not active, nothing
* will be rendered.
*/
44
inline void Camera::set_active(bool active);
2805 9 is_active 0 4 3670 17 Camera::is_active 0 1 1116 72
/**
* Returns the current setting of the active flag on the camera.
*/
42
inline bool Camera::is_active(void) const;
2806 9 set_scene 0 4 3670 17 Camera::set_scene 0 1 1117 479
/**
* Sets the scene that will be rendered by the camera. This is normally the
* root node of a scene graph, typically a node called 'render', although it
* could represent the root of any subgraph.
*
* Note that the use of this method is now deprecated. In the absence of an
* explicit scene set on the camera, the camera will render whatever scene it
* is parented into. This is the preferred way to specify the scene, since it
* is the more intuitive mechanism.
*/
53
inline void Camera::set_scene(NodePath const &scene);
2807 9 get_scene 0 4 3670 17 Camera::get_scene 0 1 1118 83
/**
* Returns the scene that will be rendered by the camera. See set_scene().
*/
53
inline NodePath const &Camera::get_scene(void) const;
2808 23 get_num_display_regions 0 4 3670 31 Camera::get_num_display_regions 0 1 1119 76
/**
* Returns the number of display regions associated with the camera.
*/
63
inline std::size_t Camera::get_num_display_regions(void) const;
2809 18 get_display_region 0 4 3670 26 Camera::get_display_region 0 1 1120 69
/**
* Returns the nth display region associated with the camera.
*/
70
inline DisplayRegion *Camera::get_display_region(std::size_t n) const;
2810 0 0 0 0 0 0 0 0
0
2811 15 set_camera_mask 0 4 3670 23 Camera::set_camera_mask 0 1 1121 401
/**
* Changes the set of bits that represent the subset of the scene graph the
* camera will render.
*
* During the cull traversal, a node is not visited if none of its draw mask
* bits intersect with the camera's camera mask bits. These masks can be used
* to selectively hide and show different parts of the scene graph from
* different cameras that are otherwise viewing the same scene.
*/
51
inline void Camera::set_camera_mask(DrawMask mask);
2812 15 get_camera_mask 0 4 3670 23 Camera::get_camera_mask 0 1 1122 130
/**
* Returns the set of bits that represent the subset of the scene graph the
* camera will render. See set_camera_mask().
*/
52
inline DrawMask Camera::get_camera_mask(void) const;
2813 15 set_cull_center 0 4 3670 23 Camera::set_cull_center 0 1 1123 320
/**
* Specifies the point from which the culling operations are performed.
* Normally, this is the same as the camera, and that is the default if this
* is not specified; but it may sometimes be useful to perform the culling
* from some other viewpoint, particularly when you are debugging the culling
* itself.
*/
65
inline void Camera::set_cull_center(NodePath const &cull_center);
2814 15 get_cull_center 0 4 3670 23 Camera::get_cull_center 0 1 1124 153
/**
* Returns the point from which the culling operations will be performed, if
* it was set by set_cull_center(), or the empty NodePath otherwise.
*/
59
inline NodePath const &Camera::get_cull_center(void) const;
2815 15 set_cull_bounds 0 4 3670 23 Camera::set_cull_bounds 0 1 1125 379
/**
* Specifies the bounding volume that should be used to perform culling from
* this camera. Normally, this is the bounding volume returned from the
* active lens' make_bounds() call, but you may override this to specify a
* custom volume if you require. The specified bounding volume will be
* understood to be in the coordinate space of the get_cull_center() node.
*/
65
inline void Camera::set_cull_bounds(BoundingVolume *cull_bounds);
2816 15 get_cull_bounds 0 4 3670 23 Camera::get_cull_bounds 0 1 1126 129
/**
* Returns the custom cull volume that was set by set_cull_bounds(), if any,
* or NULL if no custom cull volume was set.
*/
59
inline BoundingVolume *Camera::get_cull_bounds(void) const;
2817 14 set_lod_center 0 4 3670 22 Camera::set_lod_center 0 1 1127 379
/**
* Specifies the point from which the LOD distances are measured. Normally,
* this is the same as the camera, and that is the default if this is not
* specified; but it may sometimes be useful to perform the distance test from
* some other viewpoint. This may be used, for instance, to reduce LOD
* popping when the camera rotates in a small circle about an avatar.
*/
63
inline void Camera::set_lod_center(NodePath const &lod_center);
2818 14 get_lod_center 0 4 3670 22 Camera::get_lod_center 0 1 1128 146
/**
* Returns the point from which the LOD distances will be measured, if it was
* set by set_lod_center(), or the empty NodePath otherwise.
*/
58
inline NodePath const &Camera::get_lod_center(void) const;
2819 17 set_initial_state 0 4 3670 25 Camera::set_initial_state 0 1 1129 129
/**
* Sets the initial state which is applied to all nodes in the scene, as if it
* were set at the top of the scene graph.
*/
64
inline void Camera::set_initial_state(RenderState const *state);
2820 17 get_initial_state 0 4 3670 25 Camera::get_initial_state 0 1 1130 86
/**
* Returns the initial state as set by a previous call to set_initial_state().
*/
75
inline ConstPointerTo< RenderState > Camera::get_initial_state(void) const;
2821 17 set_tag_state_key 0 4 3670 25 Camera::set_tag_state_key 0 1 1131 218
/**
* Sets the tag key which, when encountered as a tag on nodes in the scene
* graph, causes this Camera to apply an arbitrary state transition based on
* the value of the tag (as specified to set_tag_state()).
*/
72
inline void Camera::set_tag_state_key(std::string const &tag_state_key);
2822 17 get_tag_state_key 0 4 3670 25 Camera::get_tag_state_key 0 1 1132 80
/**
* Returns the tag key as set by a previous call to set_tag_state_key().
*/
64
inline std::string const &Camera::get_tag_state_key(void) const;
2823 13 set_lod_scale 0 4 3670 21 Camera::set_lod_scale 0 1 1133 114
/**
* Sets the multiplier for LOD distances. This value is multiplied with the
* LOD scale set on LodNodes.
*/
53
inline void Camera::set_lod_scale(PN_stdfloat value);
2824 13 get_lod_scale 0 4 3670 21 Camera::get_lod_scale 0 1 1134 52
/**
* Returns the multiplier for LOD distances.
*/
53
inline PN_stdfloat Camera::get_lod_scale(void) const;
2825 13 set_tag_state 0 4 3670 21 Camera::set_tag_state 0 1 1135 585
/**
* Associates a particular state transition with the indicated tag value.
* When a node is encountered during traversal with the tag key specified by
* set_tag_state_key(), if the value of that tag matches tag_state, then the
* indicated state is applied to this node--but only when it is rendered by
* this camera.
*
* This can be used to apply special effects to nodes when they are rendered
* by certain cameras. It is particularly useful for multipass rendering, in
* which specialty cameras might be needed to render the scene with a
* particular set of effects.
*/
83
void Camera::set_tag_state(std::string const &tag_state, RenderState const *state);
2826 15 clear_tag_state 0 4 3670 23 Camera::clear_tag_state 0 1 1136 85
/**
* Removes the association established by a previous call to set_tag_state().
*/
59
void Camera::clear_tag_state(std::string const &tag_state);
2827 16 clear_tag_states 0 4 3670 24 Camera::clear_tag_states 0 1 1137 85
/**
* Removes all associations established by previous calls to set_tag_state().
*/
36
void Camera::clear_tag_states(void);
2828 13 has_tag_state 0 4 3670 21 Camera::has_tag_state 0 1 1138 119
/**
* Returns true if set_tag_state() has previously been called with the
* indicated tag state, false otherwise.
*/
63
bool Camera::has_tag_state(std::string const &tag_state) const;
2829 13 get_tag_state 0 4 3670 21 Camera::get_tag_state 0 1 1139 161
/**
* Returns the state associated with the indicated tag state by a previous
* call to set_tag_state(), or the empty state if nothing has been associated.
*/
88
ConstPointerTo< RenderState > Camera::get_tag_state(std::string const &tag_state) const;
2830 0 0 0 0 0 0 0 0
0
2831 18 set_aux_scene_data 0 4 3670 26 Camera::set_aux_scene_data 0 1 1140 157
/**
* Associates the indicated AuxSceneData object with the given NodePath,
* possibly replacing a previous data defined for the same NodePath, if any.
*/
79
void Camera::set_aux_scene_data(NodePath const &node_path, AuxSceneData *data);
2832 20 clear_aux_scene_data 0 4 3670 28 Camera::clear_aux_scene_data 0 1 1141 153
/**
* Removes the AuxSceneData associated with the indicated NodePath. Returns
* true if it is removed successfully, false if it was already gone.
*/
61
bool Camera::clear_aux_scene_data(NodePath const &node_path);
2833 18 get_aux_scene_data 0 4 3670 26 Camera::get_aux_scene_data 0 1 1142 112
/**
* Returns the AuxSceneData associated with the indicated NodePath, or NULL if
* nothing is associated.
*/
74
AuxSceneData *Camera::get_aux_scene_data(NodePath const &node_path) const;
2834 19 list_aux_scene_data 0 4 3670 27 Camera::list_aux_scene_data 0 1 1143 65
/**
* Outputs all of the NodePaths and AuxSceneDatas in use.
*/
58
void Camera::list_aux_scene_data(std::ostream &out) const;
2835 22 cleanup_aux_scene_data 0 4 3670 30 Camera::cleanup_aux_scene_data 0 1 1144 179
/**
* Walks through the list of currently-assigned AuxSceneData objects and
* releases any that are past their expiration times. Returns the number of
* elements released.
*/
90
int Camera::cleanup_aux_scene_data(Thread *current_thread = Thread::get_current_thread());
2836 0 0 0 0 0 0 0 0
0
2837 14 get_class_type 0 4 3670 22 Camera::get_class_type 0 1 1145 0
47
static TypeHandle Camera::get_class_type(void);
2838 9 PlaneNode 0 4 3677 20 PlaneNode::PlaneNode 0 1 1146 22
/**
*
*/
/**
*
*/
87
explicit PlaneNode::PlaneNode(std::string const &name, LPlane const &plane = LPlane());
2839 9 set_plane 0 4 3677 20 PlaneNode::set_plane 0 1 1147 66
/**
* Sets the particular plane represented by the PlaneNode.
*/
54
inline void PlaneNode::set_plane(LPlane const &plane);
2840 9 get_plane 0 4 3677 20 PlaneNode::get_plane 0 1 1148 58
/**
* Returns the plane represented by the PlaneNode.
*/
54
inline LPlane const &PlaneNode::get_plane(void) const;
2841 13 set_viz_scale 0 4 3677 24 PlaneNode::set_viz_scale 0 1 1149 115
/**
* Specifies the size of the visual representation of the plane that is drawn
* if the PlaneNode is shown.
*/
60
inline void PlaneNode::set_viz_scale(PN_stdfloat viz_scale);
2842 13 get_viz_scale 0 4 3677 24 PlaneNode::get_viz_scale 0 1 1150 113
/**
* Returns the size of the visual representation of the plane that is drawn if
* the PlaneNode is shown.
*/
56
inline PN_stdfloat PlaneNode::get_viz_scale(void) const;
2843 12 set_priority 0 4 3677 23 PlaneNode::set_priority 0 1 1151 454
/**
* Changes the relative importance of this PlaneNode (when it is used as a
* clip plane) relative to the other clip planes that are applied
* simultaneously.
*
* The priority number is used to decide which of the requested clip planes
* are to be activated when more clip planes are requested than the hardware
* will support. The highest-priority n planes are selected for rendering.
*
* This is similar to TextureStage::set_priority().
*/
50
inline void PlaneNode::set_priority(int priority);
2844 12 get_priority 0 4 3677 23 PlaneNode::get_priority 0 1 1152 85
/**
* Returns the priority associated with this clip plane. See set_priority().
*/
47
inline int PlaneNode::get_priority(void) const;
2845 15 set_clip_effect 0 4 3677 26 PlaneNode::set_clip_effect 0 1 1153 436
/**
* Specifies the sort of things this plane will actually clip (when it is used
* as a clip plane). This is a bitmask union of ClipEffect values. If it
* includes CE_visible, then it will clip visible geometry; if it includes
* CE_collision, then it will clip collision polygons. If it includes neither
* bit, it will still affect culling, but objects will either be wholly behind
* the clipping plane, or wholly present.
*/
56
inline void PlaneNode::set_clip_effect(int clip_effect);
2846 15 get_clip_effect 0 4 3677 26 PlaneNode::get_clip_effect 0 1 1154 84
/**
* Returns the clip_effect bits for this clip plane. See set_clip_effect().
*/
50
inline int PlaneNode::get_clip_effect(void) const;
2847 14 get_class_type 0 4 3677 25 PlaneNode::get_class_type 0 1 1155 0
50
static TypeHandle PlaneNode::get_class_type(void);
2848 10 ~PlaneNode 0 4 3677 21 PlaneNode::~PlaneNode 0 0 0
28
PlaneNode::~PlaneNode(void);
2849 4 make 0 4 3679 21 ClipPlaneAttrib::make 0 5 1156 1157 1158 1159 1160 975
// The following is the new, more general interface to the ClipPlaneAttrib.
/**
* Constructs a new ClipPlaneAttrib object that enables (or disables,
* according to op) the indicated plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/
/**
* Constructs a new ClipPlaneAttrib object that turns on (or off, according to
* op) the indicate plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/
/**
* Constructs a new ClipPlaneAttrib object that turns on (or off, according to
* op) the indicate plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/
/**
* Constructs a new ClipPlaneAttrib object that turns on (or off, according to
* op) the indicate plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/
/**
* Constructs a new ClipPlaneAttrib object that does nothing.
*/
623
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make(ClipPlaneAttrib::Operation op, PlaneNode *plane);
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make(ClipPlaneAttrib::Operation op, PlaneNode *plane1, PlaneNode *plane2);
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make(ClipPlaneAttrib::Operation op, PlaneNode *plane1, PlaneNode *plane2, PlaneNode *plane3);
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make(ClipPlaneAttrib::Operation op, PlaneNode *plane1, PlaneNode *plane2, PlaneNode *plane3, PlaneNode *plane4);
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make(void);
2850 12 make_default 0 4 3679 29 ClipPlaneAttrib::make_default 0 1 1161 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
74
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make_default(void);
2851 13 get_operation 0 4 3679 30 ClipPlaneAttrib::get_operation 0 1 1162 529
/**
* Returns the basic operation type of the ClipPlaneAttrib. If this is O_set,
* the planes listed here completely replace any planes that were already on.
* If this is O_add, the planes here are added to the set of planes that
* were already on, and if O_remove, the planes here are removed from the set
* of planes that were on.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/
70
ClipPlaneAttrib::Operation ClipPlaneAttrib::get_operation(void) const;
2852 14 get_num_planes 0 4 3679 31 ClipPlaneAttrib::get_num_planes 0 1 1163 251
/**
* Returns the number of planes listed in the attribute.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/
48
int ClipPlaneAttrib::get_num_planes(void) const;
2853 9 get_plane 0 4 3679 26 ClipPlaneAttrib::get_plane 0 1 1164 244
/**
* Returns the nth plane listed in the attribute.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/
51
PlaneNode *ClipPlaneAttrib::get_plane(int n) const;
2854 9 has_plane 0 4 3679 26 ClipPlaneAttrib::has_plane 0 1 1165 278
/**
* Returns true if the indicated plane is listed in the attrib, false
* otherwise.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/
56
bool ClipPlaneAttrib::has_plane(PlaneNode *plane) const;
2855 9 add_plane 0 4 3679 26 ClipPlaneAttrib::add_plane 0 1 1166 210
/**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane added to the list of planes.
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/
82
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::add_plane(PlaneNode *plane) const;
2856 12 remove_plane 0 4 3679 29 ClipPlaneAttrib::remove_plane 0 1 1167 220
/**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane removed from the list of planes.
*
* This method is now deprecated. Use remove_on_plane() or remove_off_plane()
* instead.
*/
85
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::remove_plane(PlaneNode *plane) const;
2857 12 make_all_off 0 4 3679 29 ClipPlaneAttrib::make_all_off 0 1 1168 109
/**
* Constructs a new ClipPlaneAttrib object that disables all planes (and hence
* disables clipping).
*/
74
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make_all_off(void);
2858 17 get_num_on_planes 0 4 3679 34 ClipPlaneAttrib::get_num_on_planes 0 1 1169 74
/**
* Returns the number of planes that are enabled by the attribute.
*/
58
inline int ClipPlaneAttrib::get_num_on_planes(void) const;
2859 12 get_on_plane 0 4 3679 29 ClipPlaneAttrib::get_on_plane 0 1 1170 82
/**
* Returns the nth plane enabled by the attribute, sorted in render order.
*/
59
inline NodePath ClipPlaneAttrib::get_on_plane(int n) const;
2860 12 has_on_plane 0 4 3679 29 ClipPlaneAttrib::has_on_plane 0 1 1171 92
/**
* Returns true if the indicated plane is enabled by the attrib, false
* otherwise.
*/
71
inline bool ClipPlaneAttrib::has_on_plane(NodePath const &plane) const;
2861 18 get_num_off_planes 0 4 3679 35 ClipPlaneAttrib::get_num_off_planes 0 1 1172 75
/**
* Returns the number of planes that are disabled by the attribute.
*/
59
inline int ClipPlaneAttrib::get_num_off_planes(void) const;
2862 13 get_off_plane 0 4 3679 30 ClipPlaneAttrib::get_off_plane 0 1 1173 99
/**
* Returns the nth plane disabled by the attribute, sorted in arbitrary
* (pointer) order.
*/
60
inline NodePath ClipPlaneAttrib::get_off_plane(int n) const;
2863 13 has_off_plane 0 4 3679 30 ClipPlaneAttrib::has_off_plane 0 1 1174 93
/**
* Returns true if the indicated plane is disabled by the attrib, false
* otherwise.
*/
72
inline bool ClipPlaneAttrib::has_off_plane(NodePath const &plane) const;
2864 11 has_all_off 0 4 3679 28 ClipPlaneAttrib::has_all_off 0 1 1175 97
/**
* Returns true if this attrib disables all planes (although it may also
* enable some).
*/
53
inline bool ClipPlaneAttrib::has_all_off(void) const;
2865 11 is_identity 0 4 3679 28 ClipPlaneAttrib::is_identity 0 1 1176 102
/**
* Returns true if this is an identity attrib: it does not change the set of
* planes in use.
*/
53
inline bool ClipPlaneAttrib::is_identity(void) const;
2866 12 add_on_plane 0 4 3679 29 ClipPlaneAttrib::add_on_plane 0 1 1177 145
/**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane added to the list of planes enabled by this attrib.
*/
90
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::add_on_plane(NodePath const &plane) const;
2867 15 remove_on_plane 0 4 3679 32 ClipPlaneAttrib::remove_on_plane 0 1 1178 149
/**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane removed from the list of planes enabled by this attrib.
*/
93
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::remove_on_plane(NodePath const &plane) const;
2868 13 add_off_plane 0 4 3679 30 ClipPlaneAttrib::add_off_plane 0 1 1179 146
/**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane added to the list of planes disabled by this attrib.
*/
91
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::add_off_plane(NodePath const &plane) const;
2869 16 remove_off_plane 0 4 3679 33 ClipPlaneAttrib::remove_off_plane 0 1 1180 150
/**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane removed from the list of planes disabled by this attrib.
*/
94
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::remove_off_plane(NodePath const &plane) const;
2870 13 filter_to_max 0 4 3679 30 ClipPlaneAttrib::filter_to_max 0 1 1181 216
/**
* Returns a new ClipPlaneAttrib, very much like this one, but with the number
* of on_planes reduced to be no more than max_clip_planes. The number of
* off_planes in the new ClipPlaneAttrib is undefined.
*/
92
ConstPointerTo< ClipPlaneAttrib > ClipPlaneAttrib::filter_to_max(int max_clip_planes) const;
2871 14 get_class_slot 0 4 3679 31 ClipPlaneAttrib::get_class_slot 0 1 1182 0
49
static int ClipPlaneAttrib::get_class_slot(void);
2872 14 get_class_type 0 4 3679 31 ClipPlaneAttrib::get_class_type 0 1 1183 0
56
static TypeHandle ClipPlaneAttrib::get_class_type(void);
2873 16 ~ClipPlaneAttrib 0 4 3679 33 ClipPlaneAttrib::~ClipPlaneAttrib 0 0 0
40
ClipPlaneAttrib::~ClipPlaneAttrib(void);
2874 11 make_vertex 0 4 3681 24 ColorAttrib::make_vertex 0 1 1184 127
/**
* Constructs a new ColorAttrib object that indicates geometry should be
* rendered according to its own vertex color.
*/
69
static ConstPointerTo< RenderAttrib > ColorAttrib::make_vertex(void);
2875 9 make_flat 0 4 3681 22 ColorAttrib::make_flat 0 1 1185 116
/**
* Constructs a new ColorAttrib object that indicates geometry should be
* rendered in the indicated color.
*/
82
static ConstPointerTo< RenderAttrib > ColorAttrib::make_flat(LColor const &color);
2876 8 make_off 0 4 3681 21 ColorAttrib::make_off 0 1 1186 102
/**
* Constructs a new ColorAttrib object that indicates geometry should be
* rendered in white.
*/
66
static ConstPointerTo< RenderAttrib > ColorAttrib::make_off(void);
2877 12 make_default 0 4 3681 25 ColorAttrib::make_default 0 1 1187 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
70
static ConstPointerTo< RenderAttrib > ColorAttrib::make_default(void);
2878 14 get_color_type 0 4 3681 27 ColorAttrib::get_color_type 0 1 1188 313
/**
* Returns the type of color specified by this ColorAttrib. The options are:
*
* T_vertex - use the vertex color specified in the geometry itself.
*
* T_flat - use the color specified in this ColorAttrib for all geometry. You
* can get this color via get_color().
*
* T_off - use the color white.
*/
65
inline ColorAttrib::Type ColorAttrib::get_color_type(void) const;
2879 9 get_color 0 4 3681 22 ColorAttrib::get_color 0 1 1189 149
/**
* If the type is T_flat or T_off, this returns the color that will be applied
* to geometry. If the type is T_vertex, this is meaningless.
*/
56
inline LColor const &ColorAttrib::get_color(void) const;
2880 14 get_class_slot 0 4 3681 27 ColorAttrib::get_class_slot 0 1 1190 0
45
static int ColorAttrib::get_class_slot(void);
2881 14 get_class_type 0 4 3681 27 ColorAttrib::get_class_type 0 1 1191 0
52
static TypeHandle ColorAttrib::get_class_type(void);
2882 12 ~ColorAttrib 0 4 3681 25 ColorAttrib::~ColorAttrib 0 0 0
32
ColorAttrib::~ColorAttrib(void);
2883 8 make_off 0 4 3683 26 ColorBlendAttrib::make_off 0 1 1192 142
/**
* Constructs a new ColorBlendAttrib object that disables special-effect
* blending, allowing normal transparency to be used instead.
*/
71
static ConstPointerTo< RenderAttrib > ColorBlendAttrib::make_off(void);
2884 4 make 0 4 3683 22 ColorBlendAttrib::make 0 3 1193 1194 1195 576
/**
* Constructs a new ColorBlendAttrib object. This constructor is deprecated;
* use the one below, which takes three or four parameters, instead.
*/
/**
* Constructs a new ColorBlendAttrib object that enables special-effect
* blending. This supercedes transparency. The given mode and operands are
* used for both the RGB and alpha channels.
*/
/**
* Constructs a new ColorBlendAttrib object that enables special-effect
* blending. This supercedes transparency. This form is used to specify
* separate blending parameters for the RGB and alpha channels.
*/
581
static ConstPointerTo< RenderAttrib > ColorBlendAttrib::make(ColorBlendAttrib::Mode mode);
static ConstPointerTo< RenderAttrib > ColorBlendAttrib::make(ColorBlendAttrib::Mode mode, ColorBlendAttrib::Operand a, ColorBlendAttrib::Operand b, LColor const &color = LColor::zero());
static ConstPointerTo< RenderAttrib > ColorBlendAttrib::make(ColorBlendAttrib::Mode rgb_mode, ColorBlendAttrib::Operand rgb_a, ColorBlendAttrib::Operand rgb_b, ColorBlendAttrib::Mode alpha_mode, ColorBlendAttrib::Operand alpha_a, ColorBlendAttrib::Operand alpha_b, LColor const &color = LColor::zero());
2885 12 make_default 0 4 3683 30 ColorBlendAttrib::make_default 0 1 1196 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
75
static ConstPointerTo< RenderAttrib > ColorBlendAttrib::make_default(void);
2886 8 get_mode 0 4 3683 26 ColorBlendAttrib::get_mode 0 1 1197 58
/**
* Returns the blending mode for the RGB channels.
*/
69
inline ColorBlendAttrib::Mode ColorBlendAttrib::get_mode(void) const;
2887 13 get_operand_a 0 4 3683 31 ColorBlendAttrib::get_operand_a 0 1 1198 62
/**
* Returns the RGB multiplier for the first component.
*/
77
inline ColorBlendAttrib::Operand ColorBlendAttrib::get_operand_a(void) const;
2888 13 get_operand_b 0 4 3683 31 ColorBlendAttrib::get_operand_b 0 1 1199 63
/**
* Returns the RGB multiplier for the second component.
*/
77
inline ColorBlendAttrib::Operand ColorBlendAttrib::get_operand_b(void) const;
2889 14 get_alpha_mode 0 4 3683 32 ColorBlendAttrib::get_alpha_mode 0 1 1200 59
/**
* Returns the blending mode for the alpha channel.
*/
75
inline ColorBlendAttrib::Mode ColorBlendAttrib::get_alpha_mode(void) const;
2890 19 get_alpha_operand_a 0 4 3683 37 ColorBlendAttrib::get_alpha_operand_a 0 1 1201 64
/**
* Returns the alpha multiplier for the first component.
*/
83
inline ColorBlendAttrib::Operand ColorBlendAttrib::get_alpha_operand_a(void) const;
2891 19 get_alpha_operand_b 0 4 3683 37 ColorBlendAttrib::get_alpha_operand_b 0 1 1202 65
/**
* Returns the alpha multiplier for the second component.
*/
83
inline ColorBlendAttrib::Operand ColorBlendAttrib::get_alpha_operand_b(void) const;
2892 9 get_color 0 4 3683 27 ColorBlendAttrib::get_color 0 1 1203 65
/**
* Returns the constant color associated with the attrib.
*/
54
inline LColor ColorBlendAttrib::get_color(void) const;
2893 23 involves_constant_color 0 4 3683 41 ColorBlendAttrib::involves_constant_color 0 2 1204 1205 179
/**
* Returns true if the this attrib uses the constant color, false otherwise.
*/
/**
* Returns true if the indicated operand uses the constant color, false
* otherwise.
*/
163
inline bool ColorBlendAttrib::involves_constant_color(void) const;
static inline bool ColorBlendAttrib::involves_constant_color(ColorBlendAttrib::Operand operand);
2894 20 involves_color_scale 0 4 3683 38 ColorBlendAttrib::involves_color_scale 0 2 1206 1207 190
/**
* Returns true if the this attrib uses the color scale attrib, false
* otherwise.
*/
/**
* Returns true if the indicated operand uses the color scale attrib, false
* otherwise.
*/
157
inline bool ColorBlendAttrib::involves_color_scale(void) const;
static inline bool ColorBlendAttrib::involves_color_scale(ColorBlendAttrib::Operand operand);
2895 14 get_class_slot 0 4 3683 32 ColorBlendAttrib::get_class_slot 0 1 1208 0
50
static int ColorBlendAttrib::get_class_slot(void);
2896 14 get_class_type 0 4 3683 32 ColorBlendAttrib::get_class_type 0 1 1209 0
57
static TypeHandle ColorBlendAttrib::get_class_type(void);
2897 17 ~ColorBlendAttrib 0 4 3683 35 ColorBlendAttrib::~ColorBlendAttrib 0 0 0
42
ColorBlendAttrib::~ColorBlendAttrib(void);
2898 13 make_identity 0 4 3686 31 ColorScaleAttrib::make_identity 0 1 1210 47
/**
* Constructs an identity scale attrib.
*/
76
static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make_identity(void);
2899 4 make 0 4 3686 22 ColorScaleAttrib::make 0 1 1211 120
/**
* Constructs a new ColorScaleAttrib object that indicates geometry should be
* scaled by the indicated factor.
*/
85
static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make(LVecBase4 const &scale);
2900 8 make_off 0 4 3686 26 ColorScaleAttrib::make_off 0 1 1212 209
/**
* Constructs a new ColorScaleAttrib object that ignores any ColorScaleAttrib
* inherited from above. You may also specify an additional color scale to
* apply to geometry below (using set_scale()).
*/
71
static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make_off(void);
2901 12 make_default 0 4 3686 30 ColorScaleAttrib::make_default 0 1 1213 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
75
static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make_default(void);
2902 6 is_off 0 4 3686 24 ColorScaleAttrib::is_off 0 1 1214 255
/**
* Returns true if the ColorScaleAttrib will ignore any color scales inherited
* from above, false otherwise. This is not the same thing as !has_scale(); a
* ColorScaleAttrib may have the "off" flag set and also have another scale
* specified.
*/
49
inline bool ColorScaleAttrib::is_off(void) const;
2903 11 is_identity 0 4 3686 29 ColorScaleAttrib::is_identity 0 1 1215 128
/**
* Returns true if the ColorScaleAttrib is an identity attrib, false if it is
* either an off attrib or it has a scale.
*/
54
inline bool ColorScaleAttrib::is_identity(void) const;
2904 9 has_scale 0 4 3686 27 ColorScaleAttrib::has_scale 0 1 1216 157
/**
* Returns true if the ColorScaleAttrib has a non-identity scale, false
* otherwise (in which case it might be an off attrib or an identity attrib).
*/
52
inline bool ColorScaleAttrib::has_scale(void) const;
2905 13 has_rgb_scale 0 4 3686 31 ColorScaleAttrib::has_rgb_scale 0 1 1217 135
/**
* Returns true if the ColorScaleAttrib has a non-identity scale in the RGB
* components (ignoring alpha), or false otherwise.
*/
56
inline bool ColorScaleAttrib::has_rgb_scale(void) const;
2906 15 has_alpha_scale 0 4 3686 33 ColorScaleAttrib::has_alpha_scale 0 1 1218 134
/**
* Returns true if the ColorScaleAttrib has a non-identity scale in the alpha
* component (ignoring RGB), or false otherwise.
*/
58
inline bool ColorScaleAttrib::has_alpha_scale(void) const;
2907 9 get_scale 0 4 3686 27 ColorScaleAttrib::get_scale 0 1 1219 53
/**
* Returns the scale to be applied to colors.
*/
64
inline LVecBase4 const &ColorScaleAttrib::get_scale(void) const;
2908 9 set_scale 0 4 3686 27 ColorScaleAttrib::set_scale 0 1 1220 116
/**
* Returns a new ColorScaleAttrib, just like this one, but with the scale
* changed to the indicated value.
*/
89
ConstPointerTo< RenderAttrib > ColorScaleAttrib::set_scale(LVecBase4 const &scale) const;
2909 14 get_class_slot 0 4 3686 32 ColorScaleAttrib::get_class_slot 0 1 1221 0
50
static int ColorScaleAttrib::get_class_slot(void);
2910 14 get_class_type 0 4 3686 32 ColorScaleAttrib::get_class_type 0 1 1222 0
57
static TypeHandle ColorScaleAttrib::get_class_type(void);
2911 17 ~ColorScaleAttrib 0 4 3686 35 ColorScaleAttrib::~ColorScaleAttrib 0 0 0
42
ColorScaleAttrib::~ColorScaleAttrib(void);
2912 4 make 0 4 3689 22 ColorWriteAttrib::make 0 1 1223 52
/**
* Constructs a new ColorWriteAttrib object.
*/
84
static ConstPointerTo< RenderAttrib > ColorWriteAttrib::make(unsigned int channels);
2913 12 make_default 0 4 3689 30 ColorWriteAttrib::make_default 0 1 1224 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
75
static ConstPointerTo< RenderAttrib > ColorWriteAttrib::make_default(void);
2914 12 get_channels 0 4 3689 30 ColorWriteAttrib::get_channels 0 1 1225 78
/**
* Returns the mask of color channels that are enabled by this attrib.
*/
63
inline unsigned int ColorWriteAttrib::get_channels(void) const;
2915 14 get_class_slot 0 4 3689 32 ColorWriteAttrib::get_class_slot 0 1 1226 0
50
static int ColorWriteAttrib::get_class_slot(void);
2916 14 get_class_type 0 4 3689 32 ColorWriteAttrib::get_class_type 0 1 1227 0
57
static TypeHandle ColorWriteAttrib::get_class_type(void);
2917 17 ~ColorWriteAttrib 0 4 3689 35 ColorWriteAttrib::~ColorWriteAttrib 0 0 0
42
ColorWriteAttrib::~ColorWriteAttrib(void);
2918 4 make 0 4 3692 19 CompassEffect::make 0 1 1228 354
/**
* Constructs a new CompassEffect object. If the reference is an empty
* NodePath, it means the CompassEffect is relative to the root of the scene
* graph; otherwise, it's relative to the indicated node. The properties
* bitmask specifies the set of properties that the compass node inherits from
* the reference instead of from its parent.
*/
126
static ConstPointerTo< RenderEffect > CompassEffect::make(NodePath const &reference, int properties = ::CompassEffect::P_rot);
2919 13 get_reference 0 4 3692 28 CompassEffect::get_reference 0 1 1229 150
/**
* Returns the reference node from which the CompassEffect inherits its
* transform. If this is empty, it means the root of the scene graph.
*/
64
inline NodePath const &CompassEffect::get_reference(void) const;
2920 14 get_properties 0 4 3692 29 CompassEffect::get_properties 0 1 1230 131
/**
* Returns the bitmask of properties that this CompassEffect object inherits
* from its reference node (or from the root).
*/
53
inline int CompassEffect::get_properties(void) const;
2921 14 get_class_type 0 4 3692 29 CompassEffect::get_class_type 0 1 1231 0
54
static TypeHandle CompassEffect::get_class_type(void);
2922 14 ~CompassEffect 0 4 3692 29 CompassEffect::~CompassEffect 0 0 0
36
CompassEffect::~CompassEffect(void);
2923 12 CullBinEnums 0 4 3694 26 CullBinEnums::CullBinEnums 0 2 1232 1233 0
117
inline CullBinEnums::CullBinEnums(void) = default;
inline CullBinEnums::CullBinEnums(CullBinEnums const &) = default;
2924 13 ~CullBinEnums 0 4 3694 27 CullBinEnums::~CullBinEnums 0 0 0
34
CullBinEnums::~CullBinEnums(void);
2925 8 GeomNode 0 4 3696 18 GeomNode::GeomNode 0 1 1234 22
/**
*
*/
/**
*
*/
53
explicit GeomNode::GeomNode(std::string const &name);
2926 13 set_preserved 0 4 3696 23 GeomNode::set_preserved 0 1 1235 123
/**
* Sets the "preserved" flag. When this is true, the GeomNode will be left
* untouched by any flatten operations.
*/
48
inline void GeomNode::set_preserved(bool value);
2927 13 get_preserved 0 4 3696 23 GeomNode::get_preserved 0 1 1236 126
/**
* Returns the "preserved" flag. When this is true, the GeomNode will be left
* untouched by any flatten operations.
*/
48
inline bool GeomNode::get_preserved(void) const;
2928 13 get_num_geoms 0 4 3696 23 GeomNode::get_num_geoms 0 1 1237 51
/**
* Returns the number of geoms in the node.
*/
47
inline int GeomNode::get_num_geoms(void) const;
2929 8 get_geom 0 4 3696 18 GeomNode::get_geom 0 1 1238 186
/**
* Returns the nth geom of the node. This object should not be modified,
* since the same object might be shared between multiple different GeomNodes,
* but see modify_geom().
*/
62
inline ConstPointerTo< Geom > GeomNode::get_geom(int n) const;
2930 11 modify_geom 0 4 3696 21 GeomNode::modify_geom 0 1 1239 641
/**
* Returns the nth geom of the node, suitable for modifying it. If the nth
* Geom has multiple reference counts to it, reassigns it to an identical copy
* first, and returns the new copy--this provides a "copy on write" that
* ensures that the Geom that is returned is unique to this GeomNode and is
* not shared with any other GeomNodes.
*
* Note that if this method is called in a downstream stage (for instance,
* during cull or draw), then it will propagate the new list of Geoms upstream
* all the way to pipeline stage 0, which may step on changes that were made
* independently in pipeline stage 0. Use with caution.
*/
54
inline PointerTo< Geom > GeomNode::modify_geom(int n);
2931 14 get_geom_state 0 4 3696 24 GeomNode::get_geom_state 0 1 1240 296
/**
* Returns the RenderState associated with the nth geom of the node. This is
* just the RenderState directly associated with the Geom; the actual state in
* which the Geom is rendered will also be affected by RenderStates that
* appear on the scene graph in nodes above this GeomNode.
*/
64
inline RenderState const *GeomNode::get_geom_state(int n) const;
2932 14 set_geom_state 0 4 3696 24 GeomNode::set_geom_state 0 1 1241 586
/**
* Changes the RenderState associated with the nth geom of the node. This is
* just the RenderState directly associated with the Geom; the actual state in
* which the Geom is rendered will also be affected by RenderStates that
* appear on the scene graph in nodes above this GeomNode.
*
* Note that if this method is called in a downstream stage (for instance,
* during cull or draw), then it will propagate the new list of Geoms upstream
* all the way to pipeline stage 0, which may step on changes that were made
* independently in pipeline stage 0. Use with caution.
*/
70
inline void GeomNode::set_geom_state(int n, RenderState const *state);
2933 8 add_geom 0 4 3696 18 GeomNode::add_geom 0 1 1242 180
/**
* Adds a new Geom to the node. The geom is given the indicated state (which
* may be RenderState::make_empty(), to completely inherit its state from the
* scene graph).
*/
90
void GeomNode::add_geom(Geom *geom, RenderState const *state = RenderState::make_empty());
2934 14 add_geoms_from 0 4 3696 24 GeomNode::add_geoms_from 0 1 1243 109
/**
* Copies the Geoms (and their associated RenderStates) from the indicated
* GeomNode into this one.
*/
53
void GeomNode::add_geoms_from(GeomNode const *other);
2935 8 set_geom 0 4 3696 18 GeomNode::set_geom 0 1 1244 401
/**
* Replaces the nth Geom of the node with a new pointer. There must already
* be a Geom in this slot.
*
* Note that if this method is called in a downstream stage (for instance,
* during cull or draw), then it will propagate the new list of Geoms upstream
* all the way to pipeline stage 0, which may step on changes that were made
* independently in pipeline stage 0. Use with caution.
*/
43
void GeomNode::set_geom(int n, Geom *geom);
2936 11 remove_geom 0 4 3696 21 GeomNode::remove_geom 0 1 1245 46
/**
* Removes the nth geom from the node.
*/
41
inline void GeomNode::remove_geom(int n);
2937 16 remove_all_geoms 0 4 3696 26 GeomNode::remove_all_geoms 0 1 1246 55
/**
* Removes all the geoms from the node at once.
*/
45
inline void GeomNode::remove_all_geoms(void);
2938 11 check_valid 0 4 3696 21 GeomNode::check_valid 0 1 1247 198
/**
* Verifies that the each Geom within the GeomNode reference vertices that
* actually exist within its GeomVertexData. Returns true if the GeomNode
* appears to be valid, false otherwise.
*/
39
bool GeomNode::check_valid(void) const;
2939 9 decompose 0 4 3696 19 GeomNode::decompose 0 1 1248 431
/**
* Calls decompose() on each Geom with the GeomNode. This decomposes higher-
* order primitive types, like triangle strips, into lower-order types like
* indexed triangles. Normally there is no reason to do this, but it can be
* useful as an early preprocessing step, to allow a later call to unify() to
* proceed more quickly.
*
* See also SceneGraphReducer::decompose(), which is the normal way this is
* called.
*/
31
void GeomNode::decompose(void);
2940 5 unify 0 4 3696 15 GeomNode::unify 0 1 1249 901
/**
* Attempts to unify all of the Geoms contained within this node into a single
* Geom, or at least as few Geoms as possible. In turn, the individual
* GeomPrimitives contained within each resulting Geom are also unified. The
* goal is to reduce the number of GeomPrimitives within the node as far as
* possible. This may result in composite primitives, such as triangle strips
* and triangle fans, being decomposed into triangles. See also
* Geom::unify().
*
* max_indices represents the maximum number of indices that will be put in
* any one GeomPrimitive. If preserve_order is true, then the primitives will
* not be reordered during the operation, even if this results in a suboptimal
* result.
*
* In order for this to be successful, the primitives must reference the same
* GeomVertexData, have the same fundamental primitive type, and have
* compatible shade models.
*/
59
void GeomNode::unify(int max_indices, bool preserve_order);
2941 11 write_geoms 0 4 3696 21 GeomNode::write_geoms 0 1 1250 67
/**
* Writes a short description of all the Geoms in the node.
*/
70
void GeomNode::write_geoms(std::ostream &out, int indent_level) const;
2942 13 write_verbose 0 4 3696 23 GeomNode::write_verbose 0 1 1251 70
/**
* Writes a detailed description of all the Geoms in the node.
*/
72
void GeomNode::write_verbose(std::ostream &out, int indent_level) const;
2943 24 get_default_collide_mask 0 4 3696 34 GeomNode::get_default_collide_mask 0 1 1252 75
/**
* Returns the default into_collide_mask assigned to new GeomNodes.
*/
67
static inline CollideMask GeomNode::get_default_collide_mask(void);
2944 14 get_class_type 0 4 3696 24 GeomNode::get_class_type 0 1 1253 0
49
static TypeHandle GeomNode::get_class_type(void);
2945 4 make 0 4 3697 19 CullBinAttrib::make 0 1 1254 297
/**
* Constructs a new CullBinAttrib assigning geometry into the named bin. If
* the bin name is the empty string, the default bin is used.
*
* The draw_order specifies further ordering information which is relevant
* only to certain kinds of bins (in particular CullBinFixed type bins).
*/
103
static ConstPointerTo< RenderAttrib > CullBinAttrib::make(std::string const &bin_name, int draw_order);
2946 12 make_default 0 4 3697 27 CullBinAttrib::make_default 0 1 1255 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
72
static ConstPointerTo< RenderAttrib > CullBinAttrib::make_default(void);
2947 12 get_bin_name 0 4 3697 27 CullBinAttrib::get_bin_name 0 1 1256 127
/**
* Returns the name of the bin this attribute specifies. If this is the empty
* string, it refers to the default bin.
*/
66
inline std::string const &CullBinAttrib::get_bin_name(void) const;
2948 14 get_draw_order 0 4 3697 29 CullBinAttrib::get_draw_order 0 1 1257 186
/**
* Returns the draw order this attribute specifies. Some bins (in particular,
* CullBinFixed bins) use this to further specify the order in which objects
* should be rendered.
*/
53
inline int CullBinAttrib::get_draw_order(void) const;
2949 14 get_class_slot 0 4 3697 29 CullBinAttrib::get_class_slot 0 1 1258 0
47
static int CullBinAttrib::get_class_slot(void);
2950 14 get_class_type 0 4 3697 29 CullBinAttrib::get_class_type 0 1 1259 0
54
static TypeHandle CullBinAttrib::get_class_type(void);
2951 14 ~CullBinAttrib 0 4 3697 29 CullBinAttrib::~CullBinAttrib 0 0 0
36
CullBinAttrib::~CullBinAttrib(void);
2952 7 add_bin 0 4 3698 23 CullBinManager::add_bin 0 1 1260 232
/**
* Defines a new bin with the indicated name, and returns the new bin_index.
* If there is already a bin with the same name returns its bin_index if it
* had the same properties; otherwise, reports an error and returns -1.
*/
93
int CullBinManager::add_bin(std::string const &name, CullBinManager::BinType type, int sort);
2953 10 remove_bin 0 4 3698 26 CullBinManager::remove_bin 0 1 1261 357
/**
* Permanently removes the indicated bin. This operation is not protected
* from the pipeline and will disturb whatever is currently rendering in draw.
* You should not call this during the normal course of rendering a frame; it
* is intended only as an aid to development, to allow the developer to
* interactively fiddle with the set of bins.
*/
47
void CullBinManager::remove_bin(int bin_index);
2954 12 get_num_bins 0 4 3698 28 CullBinManager::get_num_bins 0 1 1262 51
/**
* Returns the number of bins in the world.
*/
52
inline int CullBinManager::get_num_bins(void) const;
2955 7 get_bin 0 4 3698 23 CullBinManager::get_bin 0 1 1263 240
/**
* Returns the bin_index of the nth bin in the set, where n is a number
* between 0 and get_num_bins(). This returns the list of bin_index numbers,
* in sorted order (that is, in the order in which the bins should be
* rendered).
*/
48
inline int CullBinManager::get_bin(int n) const;
2956 8 find_bin 0 4 3698 24 CullBinManager::find_bin 0 1 1264 109
/**
* Returns the bin_index associated with the bin of the given name, or -1 if
* no bin has that name.
*/
60
int CullBinManager::find_bin(std::string const &name) const;
2957 12 get_bin_name 0 4 3698 28 CullBinManager::get_bin_name 0 1 1265 196
/**
* Returns the name of the bin with the indicated bin_index (where bin_index
* was retrieved by get_bin() or find_bin()). The bin's name may not be
* changed during the life of the bin.
*/
69
inline std::string CullBinManager::get_bin_name(int bin_index) const;
2958 12 get_bin_type 0 4 3698 28 CullBinManager::get_bin_type 0 2 1266 1267 195
/**
* Returns the type of the bin with the indicated bin_index (where bin_index
* was retrieved by get_bin() or find_bin()).
*/
/**
* Returns the type of the bin with the indicated name.
*/
173
inline CullBinManager::BinType CullBinManager::get_bin_type(int bin_index) const;
inline CullBinManager::BinType CullBinManager::get_bin_type(std::string const &name) const;
2959 12 set_bin_type 0 4 3698 28 CullBinManager::set_bin_type 0 2 1268 1269 423
/**
* Changes the type of the bin with the indicated bin_index (where bin_index
* was retrieved by get_bin() or find_bin()).
*
* The change might be effective immediately, or it might take place next
* frame, depending on the bin type.
*/
/**
* Changes the type of the bin with the indicated name.
*
* The change might be effective immediately, or it might take place next
* frame, depending on the bin type.
*/
183
inline void CullBinManager::set_bin_type(int bin_index, CullBinManager::BinType type);
inline void CullBinManager::set_bin_type(std::string const &name, CullBinManager::BinType type);
2960 12 get_bin_sort 0 4 3698 28 CullBinManager::get_bin_sort 0 2 1270 1271 483
/**
* Returns the sort order of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/
/**
* Returns the sort order of the bin with the indicated name.
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/
133
inline int CullBinManager::get_bin_sort(int bin_index) const;
inline int CullBinManager::get_bin_sort(std::string const &name) const;
2961 12 set_bin_sort 0 4 3698 28 CullBinManager::set_bin_sort 0 2 1272 1273 483
/**
* Changes the sort order of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/
/**
* Changes the sort order of the bin with the indicated name.
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/
143
inline void CullBinManager::set_bin_sort(int bin_index, int sort);
inline void CullBinManager::set_bin_sort(std::string const &name, int sort);
2962 14 get_bin_active 0 4 3698 30 CullBinManager::get_bin_active 0 2 1274 1275 373
/**
* Returns the active flag of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/
/**
* Returns the active flag of the bin with the indicated name.
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/
139
inline bool CullBinManager::get_bin_active(int bin_index) const;
inline bool CullBinManager::get_bin_active(std::string const &name) const;
2963 14 set_bin_active 0 4 3698 30 CullBinManager::set_bin_active 0 2 1276 1277 373
/**
* Changes the active flag of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/
/**
* Changes the active flag of the bin with the indicated name.
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/
153
inline void CullBinManager::set_bin_active(int bin_index, bool active);
inline void CullBinManager::set_bin_active(std::string const &name, bool active);
2964 20 get_bin_flash_active 0 4 3698 36 CullBinManager::get_bin_flash_active 0 1 1278 227
/**
* Returns true if the bin with the given bin_index is configured to flash at
* a predetermined color (where bin_index was retrieved by get_bin() or
* find_bin()).
*
* This method is not available in release builds.
*/
70
inline bool CullBinManager::get_bin_flash_active(int bin_index) const;
2965 19 get_bin_flash_color 0 4 3698 35 CullBinManager::get_bin_flash_color 0 1 1279 147
/**
* Returns the color that this bin has been configured to flash to, if
* configured.
*
* This method is not available in release builds.
*/
78
inline LColor const &CullBinManager::get_bin_flash_color(int bin_index) const;
2966 20 set_bin_flash_active 0 4 3698 36 CullBinManager::set_bin_flash_active 0 1 1280 216
/**
* When set to true, the given bin_index is configured to flash at a
* predetermined color (where bin_index was retrieved by get_bin() or
* find_bin()).
*
* This method is not available in release builds.
*/
77
inline void CullBinManager::set_bin_flash_active(int bin_index, bool active);
2967 19 set_bin_flash_color 0 4 3698 35 CullBinManager::set_bin_flash_color 0 1 1281 113
/**
* Changes the flash color for the given bin index.
*
* This method is not available in release builds.
*/
84
inline void CullBinManager::set_bin_flash_color(int bin_index, LColor const &color);
2968 5 write 0 4 3698 21 CullBinManager::write 0 1 1282 10
/**
*
*/
52
void CullBinManager::write(std::ostream &out) const;
2969 14 get_global_ptr 0 4 3698 30 CullBinManager::get_global_ptr 0 1 1283 67
/**
* Returns the pointer to the global CullBinManager object.
*/
67
static inline CullBinManager *CullBinManager::get_global_ptr(void);
2970 4 make 0 4 3699 20 CullFaceAttrib::make 0 1 1284 400
/**
* Constructs a new CullFaceAttrib object that specifies how to cull geometry.
* By Panda convention, vertices are ordered counterclockwise when seen from
* the front, so the M_cull_clockwise will cull backfacing polygons.
*
* M_cull_unchanged is an identity attrib; if this is applied to vertices
* without any other intervening attrib, it is the same as applying the
* default attrib.
*/
123
static ConstPointerTo< RenderAttrib > CullFaceAttrib::make(CullFaceAttrib::Mode mode = ::CullFaceAttrib::M_cull_clockwise);
2971 12 make_reverse 0 4 3699 28 CullFaceAttrib::make_reverse 0 1 1285 246
/**
* Constructs a new CullFaceAttrib object that reverses the effects of any
* other CullFaceAttrib objects in the scene graph. M_cull_clockwise will be
* treated as M_cull_counter_clockwise, and vice-versa. M_cull_none is
* unchanged.
*/
73
static ConstPointerTo< RenderAttrib > CullFaceAttrib::make_reverse(void);
2972 12 make_default 0 4 3699 28 CullFaceAttrib::make_default 0 1 1286 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
73
static ConstPointerTo< RenderAttrib > CullFaceAttrib::make_default(void);
2973 15 get_actual_mode 0 4 3699 31 CullFaceAttrib::get_actual_mode 0 1 1287 131
/**
* Returns the actual culling mode, without considering the effects of the
* reverse flag. See also get_effective_mode().
*/
72
inline CullFaceAttrib::Mode CullFaceAttrib::get_actual_mode(void) const;
2974 11 get_reverse 0 4 3699 27 CullFaceAttrib::get_reverse 0 1 1288 299
/**
* Returns the 'reverse' flag. If this is true, the actual cull direction
* (clockwise vs. counterclockwise) is the reverse of what is specified here.
* This allows support for make_reverse(), which defines a CullFaceAttrib that
* reverses whatever the sense of culling would have been.
*/
52
inline bool CullFaceAttrib::get_reverse(void) const;
2975 18 get_effective_mode 0 4 3699 34 CullFaceAttrib::get_effective_mode 0 1 1289 220
/**
* Returns the effective culling mode. This is the same as the actual culling
* mode, unless the reverse flag is set, which swaps CW for CCW and vice-
* versa. Also, M_cull_unchanged is mapped to M_cull_none.
*/
68
CullFaceAttrib::Mode CullFaceAttrib::get_effective_mode(void) const;
2976 14 get_class_slot 0 4 3699 30 CullFaceAttrib::get_class_slot 0 1 1290 0
48
static int CullFaceAttrib::get_class_slot(void);
2977 14 get_class_type 0 4 3699 30 CullFaceAttrib::get_class_type 0 1 1291 0
55
static TypeHandle CullFaceAttrib::get_class_type(void);
2978 15 ~CullFaceAttrib 0 4 3699 31 CullFaceAttrib::~CullFaceAttrib 0 0 0
38
CullFaceAttrib::~CullFaceAttrib(void);
2979 16 ~WorkingNodePath 0 4 3701 33 WorkingNodePath::~WorkingNodePath 0 0 10
/**
*
*/
47
inline WorkingNodePath::~WorkingNodePath(void);
2980 8 is_valid 0 4 3701 25 WorkingNodePath::is_valid 0 0 115
/**
* Returns true if the WorkingNodePath object appears to be a valid NodePath
* reference, false otherwise.
*/
43
bool WorkingNodePath::is_valid(void) const;
2981 13 get_node_path 0 4 3701 30 WorkingNodePath::get_node_path 0 0 109
/**
* Constructs and returns an actual NodePath that represents the same path we
* have just traversed.
*/
59
inline NodePath WorkingNodePath::get_node_path(void) const;
2982 4 node 0 4 3702 23 CullTraverserData::node 0 1 1293 48
/**
* Returns the node traversed to so far.
*/
54
inline PandaNode *CullTraverserData::node(void) const;
2983 23 get_modelview_transform 0 4 3702 42 CullTraverserData::get_modelview_transform 0 1 1294 99
/**
* Returns the modelview transform: the relative transform from the camera to
* the model.
*/
116
inline ConstPointerTo< TransformState > CullTraverserData::get_modelview_transform(CullTraverser const *trav) const;
2984 22 get_internal_transform 0 4 3702 41 CullTraverserData::get_internal_transform 0 1 1295 110
/**
* Returns the internal transform: the modelview transform in the GSG's
* internal coordinate system.
*/
115
inline ConstPointerTo< TransformState > CullTraverserData::get_internal_transform(CullTraverser const *trav) const;
2985 17 get_net_transform 0 4 3702 36 CullTraverserData::get_net_transform 0 1 1296 113
/**
* Returns the net transform: the relative transform from root of the scene
* graph to the current node.
*/
99
inline TransformState const *CullTraverserData::get_net_transform(CullTraverser const *trav) const;
2986 10 is_in_view 0 4 3702 29 CullTraverserData::is_in_view 0 1 1297 252
/**
* Returns true if the current node is within the view frustum, false
* otherwise. If the node's bounding volume falls completely within the view
* frustum, this will also reset the view frustum pointer, saving some work
* for future nodes.
*/
71
inline bool CullTraverserData::is_in_view(DrawMask const &camera_mask);
2987 19 is_this_node_hidden 0 4 3702 38 CullTraverserData::is_this_node_hidden 0 1 1298 234
/**
* Returns true if this particular node is hidden, even though we might be
* traversing past this node to find a child node that has had show_through()
* called for it. If this returns true, the node should not be rendered.
*/
86
inline bool CullTraverserData::is_this_node_hidden(DrawMask const &camera_mask) const;
2988 25 apply_transform_and_state 0 4 3702 44 CullTraverserData::apply_transform_and_state 0 1 1299 128
/**
* Applies the transform and state from the current node onto the current
* data. This also evaluates billboards, etc.
*/
71
void CullTraverserData::apply_transform_and_state(CullTraverser *trav);
2989 15 apply_transform 0 4 3702 34 CullTraverserData::apply_transform 0 1 1300 73
/**
* Applies the indicated transform changes onto the current data.
*/
78
void CullTraverserData::apply_transform(TransformState const *node_transform);
2990 13 get_node_path 0 4 3702 32 CullTraverserData::get_node_path 0 0 109
/**
* Constructs and returns an actual NodePath that represents the same path we
* have just traversed.
*/
61
inline NodePath CullTraverserData::get_node_path(void) const;
2991 17 CullTraverserData 0 4 3702 36 CullTraverserData::CullTraverserData 0 1 1292 128
/**
*
*/
/**
* This constructor creates a CullTraverserData object that reflects the next
* node down in the traversal.
*/
81
inline CullTraverserData::CullTraverserData(CullTraverserData const &) = default;
2992 18 ~CullTraverserData 0 4 3702 37 CullTraverserData::~CullTraverserData 0 0 0
44
CullTraverserData::~CullTraverserData(void);
2993 18 set_display_region 0 4 3703 30 SceneSetup::set_display_region 0 1 1302 54
/**
* Specifies the display region for the scene.
*/
74
inline void SceneSetup::set_display_region(DisplayRegion *display_region);
2994 18 get_display_region 0 4 3703 30 SceneSetup::get_display_region 0 1 1303 52
/**
* Returns the display region for the scene.
*/
65
inline DisplayRegion *SceneSetup::get_display_region(void) const;
2995 17 set_viewport_size 0 4 3703 29 SceneSetup::set_viewport_size 0 1 1304 74
/**
* Specifies the size of the viewport (display region), in pixels.
*/
65
inline void SceneSetup::set_viewport_size(int width, int height);
2996 18 get_viewport_width 0 4 3703 30 SceneSetup::get_viewport_width 0 1 1305 72
/**
* Returns the width of the viewport (display region) in pixels.
*/
54
inline int SceneSetup::get_viewport_width(void) const;
2997 19 get_viewport_height 0 4 3703 31 SceneSetup::get_viewport_height 0 1 1306 73
/**
* Returns the height of the viewport (display region) in pixels.
*/
55
inline int SceneSetup::get_viewport_height(void) const;
2998 14 set_scene_root 0 4 3703 26 SceneSetup::set_scene_root 0 1 1307 48
/**
* Specifies the root node of the scene.
*/
67
inline void SceneSetup::set_scene_root(NodePath const &scene_root);
2999 14 get_scene_root 0 4 3703 26 SceneSetup::get_scene_root 0 1 1308 46
/**
* Returns the root node of the scene.
*/
62
inline NodePath const &SceneSetup::get_scene_root(void) const;
3000 15 set_camera_path 0 4 3703 27 SceneSetup::set_camera_path 0 1 1309 48
/**
* Specifies the NodePath to the camera.
*/
69
inline void SceneSetup::set_camera_path(NodePath const &camera_path);
3001 15 get_camera_path 0 4 3703 27 SceneSetup::get_camera_path 0 1 1310 46
/**
* Returns the NodePath to the camera.
*/
63
inline NodePath const &SceneSetup::get_camera_path(void) const;
3002 15 set_camera_node 0 4 3703 27 SceneSetup::set_camera_node 0 1 1311 57
/**
* Specifies the camera used to render the scene.
*/
61
inline void SceneSetup::set_camera_node(Camera *camera_node);
3003 15 get_camera_node 0 4 3703 27 SceneSetup::get_camera_node 0 1 1312 55
/**
* Returns the camera used to render the scene.
*/
55
inline Camera *SceneSetup::get_camera_node(void) const;
3004 8 set_lens 0 4 3703 20 SceneSetup::set_lens 0 1 1313 60
/**
* Indicates the particular Lens used for rendering.
*/
51
inline void SceneSetup::set_lens(Lens const *lens);
3005 8 get_lens 0 4 3703 20 SceneSetup::get_lens 0 1 1314 58
/**
* Returns the particular Lens used for rendering.
*/
52
inline Lens const *SceneSetup::get_lens(void) const;
3006 12 set_inverted 0 4 3703 24 SceneSetup::set_inverted 0 1 1315 220
/**
* Changes the current setting of the inverted flag. When this is true, the
* scene is rendered into the window upside-down and backwards, that is,
* inverted as if viewed through a mirror placed on the floor.
*/
52
inline void SceneSetup::set_inverted(bool inverted);
3007 12 get_inverted 0 4 3703 24 SceneSetup::get_inverted 0 1 1316 177
/**
* Returns the current setting of the inverted flag. When this is true, the
* scene is rendered into the window upside-down, flipped like a mirror along
* the X axis.
*/
49
inline bool SceneSetup::get_inverted(void) const;
3008 15 get_cull_center 0 4 3703 27 SceneSetup::get_cull_center 0 1 1317 207
/**
* Returns the point from which the culling operations will be performed.
* This is normally the camera, but if camera->set_cull_center() has been
* specified, it will be that special node instead.
*/
63
inline NodePath const &SceneSetup::get_cull_center(void) const;
3009 15 get_cull_bounds 0 4 3703 27 SceneSetup::get_cull_bounds 0 1 1318 246
/**
* Returns the bounding volume that should be used to perform view-frustum
* culling (in the space of get_cull_center()). This is normally the current
* lens' bounding volume, but it may be overridden with
* Camera::set_cull_bounds().
*/
75
inline PointerTo< BoundingVolume > SceneSetup::get_cull_bounds(void) const;
3010 16 set_view_frustum 0 4 3703 28 SceneSetup::set_view_frustum 0 1 1319 119
/**
* Returns the camera's cull bounds transformed to world space, or null if
* view frustum culling is disabled.
*/
92
inline void SceneSetup::set_view_frustum(PointerTo< GeometricBoundingVolume > view_frustum);
3011 16 get_view_frustum 0 4 3703 28 SceneSetup::get_view_frustum 0 1 1320 86
/**
* Returns the initial state as set by a previous call to set_initial_state().
*/
73
inline GeometricBoundingVolume *SceneSetup::get_view_frustum(void) const;
3012 17 set_initial_state 0 4 3703 29 SceneSetup::set_initial_state 0 1 1321 129
/**
* Sets the initial state which is applied to all nodes in the scene, as if it
* were set at the top of the scene graph.
*/
76
inline void SceneSetup::set_initial_state(RenderState const *initial_state);
3013 17 get_initial_state 0 4 3703 29 SceneSetup::get_initial_state 0 1 1322 86
/**
* Returns the initial state as set by a previous call to set_initial_state().
*/
68
inline RenderState const *SceneSetup::get_initial_state(void) const;
3014 20 set_camera_transform 0 4 3703 32 SceneSetup::set_camera_transform 0 1 1323 78
/**
* Specifies the position of the camera relative to the starting node.
*/
85
inline void SceneSetup::set_camera_transform(TransformState const *camera_transform);
3015 20 get_camera_transform 0 4 3703 32 SceneSetup::get_camera_transform 0 1 1324 76
/**
* Returns the position of the camera relative to the starting node.
*/
74
inline TransformState const *SceneSetup::get_camera_transform(void) const;
3016 19 set_world_transform 0 4 3703 31 SceneSetup::set_world_transform 0 1 1325 127
/**
* Specifies the position of the starting node relative to the camera. This
* is the inverse of the camera transform.
*/
83
inline void SceneSetup::set_world_transform(TransformState const *world_transform);
3017 19 get_world_transform 0 4 3703 31 SceneSetup::get_world_transform 0 1 1326 125
/**
* Returns the position of the starting node relative to the camera. This is
* the inverse of the camera transform.
*/
73
inline TransformState const *SceneSetup::get_world_transform(void) const;
3018 16 set_cs_transform 0 4 3703 28 SceneSetup::set_cs_transform 0 1 1327 114
/**
* Specifies the transform from the camera's coordinate system to the GSG's
* internal coordinate system.
*/
77
inline void SceneSetup::set_cs_transform(TransformState const *cs_transform);
3019 16 get_cs_transform 0 4 3703 28 SceneSetup::get_cs_transform 0 1 1328 112
/**
* Returns the transform from the camera's coordinate system to the GSG's
* internal coordinate system.
*/
70
inline TransformState const *SceneSetup::get_cs_transform(void) const;
3020 22 set_cs_world_transform 0 4 3703 34 SceneSetup::set_cs_world_transform 0 1 1329 124
/**
* Specifies the position from the starting node relative to the camera, in
* the GSG's internal coordinate system.
*/
89
inline void SceneSetup::set_cs_world_transform(TransformState const *cs_world_transform);
3021 22 get_cs_world_transform 0 4 3703 34 SceneSetup::get_cs_world_transform 0 1 1330 122
/**
* Returns the position from the starting node relative to the camera, in the
* GSG's internal coordinate system.
*/
76
inline TransformState const *SceneSetup::get_cs_world_transform(void) const;
3022 14 get_class_type 0 4 3703 26 SceneSetup::get_class_type 0 1 1331 0
51
static TypeHandle SceneSetup::get_class_type(void);
3023 10 SceneSetup 0 4 3703 22 SceneSetup::SceneSetup 0 1 1301 10
/**
*
*/
60
inline SceneSetup::SceneSetup(SceneSetup const &) = default;
3024 11 ~SceneSetup 0 4 3703 23 SceneSetup::~SceneSetup 0 0 0
30
SceneSetup::~SceneSetup(void);
3025 3 Fog 0 4 3704 8 Fog::Fog 0 1 1332 22
/**
*
*/
/**
*
*/
43
explicit Fog::Fog(std::string const &name);
3026 8 get_mode 0 4 3704 13 Fog::get_mode 0 1 1333 10
/**
*
*/
43
inline Fog::Mode Fog::get_mode(void) const;
3027 8 set_mode 0 4 3704 13 Fog::set_mode 0 1 1334 586
/**
* Specifies the computation that is used to determine the fog effect. If
* this is M_linear, then the fog will range from linearly from the onset
* point to the opaque point (or for the distances specified in
* set_linear_range), and the fog object should be parented into the scene
* graph, or to the camera.
*
* If this is anything else, the onset point and opaque point are not used,
* and the fog effect is based on the value specified to set_exp_density(),
* and it doesn't matter to which node the fog object is parented, or if it is
* parented anywhere at all.
*/
42
inline void Fog::set_mode(Fog::Mode mode);
3028 9 get_color 0 4 3704 14 Fog::get_color 0 1 1335 40
/**
* Returns the color of the fog.
*/
48
inline LColor const &Fog::get_color(void) const;
3029 9 set_color 0 4 3704 14 Fog::set_color 0 2 1336 1337 110
/**
* Sets the color of the fog.
*/
/**
* Sets the color of the fog. The alpha component is not used.
*/
121
inline void Fog::set_color(PN_stdfloat r, PN_stdfloat g, PN_stdfloat b);
inline void Fog::set_color(LColor const &color);
3030 16 set_linear_range 0 4 3704 21 Fog::set_linear_range 0 1 1338 400
/**
* Specifies the effects of the fog in linear distance units. This is only
* used if the mode is M_linear.
*
* This specifies a fog that begins at distance onset units from the origin,
* and becomes totally opaque at distance opaque units from the origin, along
* the forward axis (usually Y).
*
* This function also implicitly sets the mode the M_linear, if it is not
* already set.
*/
73
inline void Fog::set_linear_range(PN_stdfloat onset, PN_stdfloat opaque);
3031 22 get_linear_onset_point 0 4 3704 27 Fog::get_linear_onset_point 0 1 1339 109
/**
* Returns the point in space at which the fog begins. This is only used if
* the mode is M_linear.
*/
62
inline LPoint3 const &Fog::get_linear_onset_point(void) const;
3032 22 set_linear_onset_point 0 4 3704 27 Fog::set_linear_onset_point 0 2 1340 1341 224
/**
* Specifies the point in space at which the fog begins. This is only used if
* the mode is M_linear.
*/
/**
* Specifies the point in space at which the fog begins. This is only used if
* the mode is M_linear.
*/
161
inline void Fog::set_linear_onset_point(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
inline void Fog::set_linear_onset_point(LPoint3 const &linear_onset_point);
3033 23 get_linear_opaque_point 0 4 3704 28 Fog::get_linear_opaque_point 0 1 1342 130
/**
* Returns the point in space at which the fog completely obscures geometry.
* This is only used if the mode is M_linear.
*/
63
inline LPoint3 const &Fog::get_linear_opaque_point(void) const;
3034 23 set_linear_opaque_point 0 4 3704 28 Fog::set_linear_opaque_point 0 2 1343 1344 266
/**
* Specifies the point in space at which the fog completely obscures geometry.
* This is only used if the mode is M_linear.
*/
/**
* Specifies the point in space at which the fog completely obscures geometry.
* This is only used if the mode is M_linear.
*/
164
inline void Fog::set_linear_opaque_point(LPoint3 const &linear_opaque_point);
inline void Fog::set_linear_opaque_point(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
3035 19 set_linear_fallback 0 4 3704 24 Fog::set_linear_fallback 0 1 1345 1553
/**
* Fog effects are traditionally defined in camera-relative space, but the
* Panda Fog node has a special mode in which it can define a linear fog
* effect in an arbitrary coordinate space.
*
* This is done by specifying 3-d onset and opaque points, and parenting the
* Fog object somewhere within the scene graph. In this mode, the fog will be
* rendered as if it extended along the vector from the onset point to the
* opaque point, in 3-d space.
*
* However, the underlying fog effect supported by hardware is generally only
* one-dimensional, and must be rendered based on linear distance from the
* camera plane. Thus, this in-the-world effect is most effective when the
* fog vector from onset point to opaque point is most nearly parallel to the
* camera's eye vector.
*
* As the angle between the fog vector and the eye vector increases, the
* accuracy of the effect diminishes, up to a complete breakdown of the effect
* at a 90 degree angle.
*
* This function exists to define the workaround to this problem. The linear
* fallback parameters given here specify how the fog should be rendered when
* the parameters are exceeded in this way.
*
* The angle parameter is the minimum angle, in degrees, of the fog vector to
* the eye vector, at which the fallback effect should be employed. The onset
* and opaque parameters specify the camera-relative onset and opaque
* distances to pass to the rendering hardware when employing the fallback
* effect. This supercedes the 3-d onset point and opaque points.
*/
95
inline void Fog::set_linear_fallback(PN_stdfloat angle, PN_stdfloat onset, PN_stdfloat opaque);
3036 15 get_exp_density 0 4 3704 20 Fog::get_exp_density 0 1 1346 122
/**
* Returns the density of the fog for exponential calculations. This is only
* used if the mode is not M_linear.
*/
52
inline PN_stdfloat Fog::get_exp_density(void) const;
3037 15 set_exp_density 0 4 3704 20 Fog::set_exp_density 0 1 1347 221
/**
* Sets the density of the fog for exponential calculations. This is only
* used if the mode is not M_linear.
*
* If the mode is currently set to M_linear, this function implicitly sets it
* to M_exponential.
*/
58
inline void Fog::set_exp_density(PN_stdfloat exp_density);
3038 14 get_class_type 0 4 3704 19 Fog::get_class_type 0 1 1348 0
44
static TypeHandle Fog::get_class_type(void);
3039 4 make 0 4 3706 15 FogAttrib::make 0 1 1349 103
/**
* Constructs a new FogAttrib object suitable for rendering the indicated fog
* onto geometry.
*/
64
static ConstPointerTo< RenderAttrib > FogAttrib::make(Fog *fog);
3040 8 make_off 0 4 3706 19 FogAttrib::make_off 0 1 1350 84
/**
* Constructs a new FogAttrib object suitable for rendering unfogd geometry.
*/
64
static ConstPointerTo< RenderAttrib > FogAttrib::make_off(void);
3041 12 make_default 0 4 3706 23 FogAttrib::make_default 0 1 1351 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
68
static ConstPointerTo< RenderAttrib > FogAttrib::make_default(void);
3042 6 is_off 0 4 3706 17 FogAttrib::is_off 0 1 1352 105
/**
* Returns true if the FogAttrib is an 'off' FogAttrib, indicating that it
* should disable fog.
*/
42
inline bool FogAttrib::is_off(void) const;
3043 7 get_fog 0 4 3706 18 FogAttrib::get_fog 0 1 1353 118
/**
* If the FogAttrib is not an 'off' FogAttrib, returns the fog that is
* associated. Otherwise, return NULL.
*/
43
inline Fog *FogAttrib::get_fog(void) const;
3044 14 get_class_slot 0 4 3706 25 FogAttrib::get_class_slot 0 1 1354 0
43
static int FogAttrib::get_class_slot(void);
3045 14 get_class_type 0 4 3706 25 FogAttrib::get_class_type 0 1 1355 0
50
static TypeHandle FogAttrib::get_class_type(void);
3046 10 ~FogAttrib 0 4 3706 21 FogAttrib::~FogAttrib 0 0 0
28
FogAttrib::~FogAttrib(void);
3047 13 CullTraverser 0 4 3708 28 CullTraverser::CullTraverser 0 2 1356 1357 22
/**
*
*/
/**
*
*/
92
CullTraverser::CullTraverser(void);
CullTraverser::CullTraverser(CullTraverser const &copy);
3048 7 get_gsg 0 4 3708 22 CullTraverser::get_gsg 0 1 1358 55
/**
* Returns the GraphicsStateGuardian in effect.
*/
69
inline GraphicsStateGuardianBase *CullTraverser::get_gsg(void) const;
3049 18 get_current_thread 0 4 3708 33 CullTraverser::get_current_thread 0 1 1359 104
/**
* Returns the currently-executing thread object, as passed to the
* CullTraverser constructor.
*/
61
inline Thread *CullTraverser::get_current_thread(void) const;
3050 9 set_scene 0 6 3708 24 CullTraverser::set_scene 0 1 1360 134
/**
* Sets the SceneSetup object that indicates the initial camera position, etc.
* This must be called before traversal begins.
*/
122
virtual void CullTraverser::set_scene(SceneSetup *scene_setup, GraphicsStateGuardianBase *gsg, bool dr_incomplete_render);
3051 9 get_scene 0 4 3708 24 CullTraverser::get_scene 0 1 1361 41
/**
* Returns the SceneSetup object.
*/
56
inline SceneSetup *CullTraverser::get_scene(void) const;
3052 17 has_tag_state_key 0 4 3708 32 CullTraverser::has_tag_state_key 0 1 1362 114
/**
* Returns true if a nonempty tag state key has been specified for the scene's
* camera, false otherwise.
*/
57
inline bool CullTraverser::has_tag_state_key(void) const;
3053 17 get_tag_state_key 0 4 3708 32 CullTraverser::get_tag_state_key 0 1 1363 95
/**
* Returns the tag state key that has been specified for the scene's camera,
* if any.
*/
71
inline std::string const &CullTraverser::get_tag_state_key(void) const;
3054 15 set_camera_mask 0 4 3708 30 CullTraverser::set_camera_mask 0 1 1364 276
/**
* Changes the visibility mask for the camera viewing the scene. This is
* normally set automatically at the time setup_scene() is called; you should
* change this only if you want to render some set of objects different from
* what the camera normally would draw.
*/
72
inline void CullTraverser::set_camera_mask(DrawMask const &camera_mask);
3055 15 get_camera_mask 0 4 3708 30 CullTraverser::get_camera_mask 0 1 1365 73
/**
* Returns the visibility mask from the camera viewing the scene.
*/
66
inline DrawMask const &CullTraverser::get_camera_mask(void) const;
3056 20 get_camera_transform 0 4 3708 35 CullTraverser::get_camera_transform 0 1 1366 76
/**
* Returns the position of the camera relative to the starting node.
*/
77
inline TransformState const *CullTraverser::get_camera_transform(void) const;
3057 19 get_world_transform 0 4 3708 34 CullTraverser::get_world_transform 0 1 1367 362
/**
* Returns the position of the starting node relative to the camera. This is
* the inverse of the camera transform.
*
* Note that this value is always the position of the starting node, not the
* current node, even if it is sampled during a traversal. To get the
* transform of the current node use
* CullTraverserData::get_modelview_transform().
*/
76
inline TransformState const *CullTraverser::get_world_transform(void) const;
3058 17 get_initial_state 0 4 3708 32 CullTraverser::get_initial_state 0 1 1368 149
/**
* Returns the initial RenderState at the top of the scene graph we are
* traversing, or the empty state if the initial state was never set.
*/
71
inline RenderState const *CullTraverser::get_initial_state(void) const;
3059 23 get_depth_offset_decals 0 4 3708 38 CullTraverser::get_depth_offset_decals 0 1 1369 96
/**
* Returns true, as depth offsets are the only way that we implement decals
* nowadays.
*/
63
inline bool CullTraverser::get_depth_offset_decals(void) const;
3060 16 set_view_frustum 0 4 3708 31 CullTraverser::set_view_frustum 0 1 1370 214
/**
* Specifies the bounding volume that corresponds to the view frustum. Any
* primitives that fall entirely outside of this volume are not drawn.
*
* Nowadays, this gets set automatically by set_scene().
*/
83
inline void CullTraverser::set_view_frustum(GeometricBoundingVolume *view_frustum);
3061 16 get_view_frustum 0 4 3708 31 CullTraverser::get_view_frustum 0 1 1371 423
/**
* Returns the bounding volume that corresponds to the view frustum, or NULL
* if the view frustum is not in use or has not been set.
*
* Note that the view frustum returned here is always in the coordinate space
* of the starting node, not the current node, even if it is sampled during a
* traversal. To get the view frustum in the current node's coordinate space,
* check in the current CullTraverserData.
*/
76
inline GeometricBoundingVolume *CullTraverser::get_view_frustum(void) const;
3062 16 set_cull_handler 0 4 3708 31 CullTraverser::set_cull_handler 0 1 1372 115
/**
* Specifies the object that will receive the culled Geoms. This must be set
* before calling traverse().
*/
71
inline void CullTraverser::set_cull_handler(CullHandler *cull_handler);
3063 16 get_cull_handler 0 4 3708 31 CullTraverser::get_cull_handler 0 1 1373 65
/**
* Returns the object that will receive the culled Geoms.
*/
64
inline CullHandler *CullTraverser::get_cull_handler(void) const;
3064 18 set_portal_clipper 0 4 3708 33 CullTraverser::set_portal_clipper 0 1 1374 108
/**
* Specifies _portal_clipper object pointer that subsequent traverse() or
* traverse_below may use.
*/
77
inline void CullTraverser::set_portal_clipper(PortalClipper *portal_clipper);
3065 18 get_portal_clipper 0 4 3708 33 CullTraverser::get_portal_clipper 0 1 1375 46
/**
* Returns the _portal_clipper pointer
*/
68
inline PortalClipper *CullTraverser::get_portal_clipper(void) const;
3066 31 get_effective_incomplete_render 0 4 3708 46 CullTraverser::get_effective_incomplete_render 0 1 1376 341
/**
* Returns true if the cull traversal is effectively in incomplete_render
* state, considering both the GSG's incomplete_render and the current
* DisplayRegion's incomplete_render flags. This returns the flag during the
* cull traversal; see GSG::get_effective_incomplete_render() for this same
* flag during the draw traversal.
*/
71
inline bool CullTraverser::get_effective_incomplete_render(void) const;
3067 8 traverse 0 4 3708 23 CullTraverser::traverse 0 2 1377 1378 219
/**
* Begins the traversal from the indicated node.
*/
/**
* Traverses from the next node with the given data, which has been
* constructed with the node but has not yet been converted into the node's
* space.
*/
106
void CullTraverser::traverse(NodePath const &root);
void CullTraverser::traverse(CullTraverserData &data);
3068 14 traverse_below 0 6 3708 29 CullTraverser::traverse_below 0 1 1379 132
/**
* Traverses all the children of the indicated node, with the given data,
* which has been converted into the node's space.
*/
68
virtual void CullTraverser::traverse_below(CullTraverserData &data);
3069 12 end_traverse 0 6 3708 27 CullTraverser::end_traverse 0 1 1380 141
/**
* Should be called when the traverser has finished traversing its scene, this
* gives it a chance to do any necessary finalization.
*/
47
virtual void CullTraverser::end_traverse(void);
3070 11 flush_level 0 4 3708 26 CullTraverser::flush_level 0 1 1381 61
/**
* Flushes the PStatCollectors used during traversal.
*/
52
static inline void CullTraverser::flush_level(void);
3071 20 draw_bounding_volume 0 4 3708 35 CullTraverser::draw_bounding_volume 0 1 1382 79
/**
* Draws an appropriate visualization of the indicated bounding volume.
*/
116
void CullTraverser::draw_bounding_volume(BoundingVolume const *vol, TransformState const *internal_transform) const;
3072 14 get_class_type 0 4 3708 29 CullTraverser::get_class_type 0 1 1383 0
54
static TypeHandle CullTraverser::get_class_type(void);
3073 14 ~CullTraverser 0 4 3708 29 CullTraverser::~CullTraverser 0 0 0
36
CullTraverser::~CullTraverser(void);
3074 10 get_object 0 4 3709 32 GeomDrawCallbackData::get_object 0 1 1384 74
/**
* Returns a pointer to the particular object that is being drawn.
*/
68
inline CullableObject *GeomDrawCallbackData::get_object(void) const;
3075 7 get_gsg 0 4 3709 29 GeomDrawCallbackData::get_gsg 0 1 1385 48
/**
* Returns a pointer to the current GSG.
*/
76
inline GraphicsStateGuardianBase *GeomDrawCallbackData::get_gsg(void) const;
3076 9 get_force 0 4 3709 31 GeomDrawCallbackData::get_force 0 1 1386 246
/**
* Returns true if any required data should be forced into memory if necessary
* to render the object, or false if the object should be omitted if some of
* the data is not available (at least until the data becomes available
* later).
*/
56
inline bool GeomDrawCallbackData::get_force(void) const;
3077 14 set_lost_state 0 4 3709 36 GeomDrawCallbackData::set_lost_state 0 1 1387 461
/**
* Sets the lost_state flag. If this is true, the callback does not have to
* be quite so careful to clean up after itself; Panda will assume that the
* graphics state is in an unknown state after the callback has finished, and
* will issue all the necessary calls to restore it. If this is false, Panda
* will assume the callback will leave the graphics state exactly as it came
* in, and won't bother to try to restore it. The default is true.
*/
66
inline void GeomDrawCallbackData::set_lost_state(bool lost_state);
3078 14 get_lost_state 0 4 3709 36 GeomDrawCallbackData::get_lost_state 0 1 1388 62
/**
* Returns the lost_state flag. See set_lost_state().
*/
61
inline bool GeomDrawCallbackData::get_lost_state(void) const;
3079 14 get_class_type 0 4 3709 36 GeomDrawCallbackData::get_class_type 0 1 1389 0
61
static TypeHandle GeomDrawCallbackData::get_class_type(void);
3080 21 ~GeomDrawCallbackData 0 4 3709 43 GeomDrawCallbackData::~GeomDrawCallbackData 0 0 0
50
GeomDrawCallbackData::~GeomDrawCallbackData(void);
3081 4 make 0 4 3711 25 RescaleNormalAttrib::make 0 1 1390 169
/**
* Constructs a new RescaleNormalAttrib object that specifies whether to
* rescale normals to compensate for transform scales or incorrectly defined
* normals.
*/
96
static ConstPointerTo< RenderAttrib > RescaleNormalAttrib::make(RescaleNormalAttrib::Mode mode);
3082 12 make_default 0 4 3711 33 RescaleNormalAttrib::make_default 0 1 1391 209
/**
* Constructs a RescaleNormalAttrib object that's suitable for putting at the
* top of a scene graph. This will contain whatever attrib was suggested by
* the user's rescale-normals Config variable.
*/
85
static inline ConstPointerTo< RenderAttrib > RescaleNormalAttrib::make_default(void);
3083 8 get_mode 0 4 3711 29 RescaleNormalAttrib::get_mode 0 1 1392 35
/**
* Returns the render mode.
*/
75
inline RescaleNormalAttrib::Mode RescaleNormalAttrib::get_mode(void) const;
3084 14 get_class_slot 0 4 3711 35 RescaleNormalAttrib::get_class_slot 0 1 1393 0
53
static int RescaleNormalAttrib::get_class_slot(void);
3085 14 get_class_type 0 4 3711 35 RescaleNormalAttrib::get_class_type 0 1 1394 0
60
static TypeHandle RescaleNormalAttrib::get_class_type(void);
3086 20 ~RescaleNormalAttrib 0 4 3711 41 RescaleNormalAttrib::~RescaleNormalAttrib 0 0 0
48
RescaleNormalAttrib::~RescaleNormalAttrib(void);
3087 9 make_next 0 4 3713 21 CullResult::make_next 0 1 1396 185
/**
* Returns a newly-allocated CullResult object that contains a copy of just
* the subset of the data from this CullResult object that is worth keeping
* around for next frame.
*/
58
PointerTo< CullResult > CullResult::make_next(void) const;
3088 7 get_bin 0 4 3713 19 CullResult::get_bin 0 1 1397 238
/**
* Returns the CullBin associated with the indicated bin_index, or NULL if the
* bin_index is invalid. If there is the first time this bin_index has been
* requested for this CullResult, creates a new CullBin object on the fly.
*/
51
inline CullBin *CullResult::get_bin(int bin_index);
3089 10 add_object 0 4 3713 22 CullResult::add_object 0 1 1398 152
/**
* Adds the indicated CullableObject to the appropriate bin. The bin becomes
* the owner of the object pointer, and will eventually delete it.
*/
84
void CullResult::add_object(CullableObject *object, CullTraverser const *traverser);
3090 11 finish_cull 0 4 3713 23 CullResult::finish_cull 0 1 1399 219
/**
* Called after all the geoms have been added, this indicates that the cull
* process is finished for this frame and gives the bins a chance to do any
* post-processing (like sorting) before moving on to draw.
*/
78
void CullResult::finish_cull(SceneSetup *scene_setup, Thread *current_thread);
3091 4 draw 0 4 3713 16 CullResult::draw 0 1 1400 69
/**
* Asks all the bins to draw themselves in the correct order.
*/
46
void CullResult::draw(Thread *current_thread);
3092 17 make_result_graph 0 4 3713 29 CullResult::make_result_graph 0 1 1401 496
/**
* Returns a special scene graph constructed to represent the results of the
* cull. This will be a hierarchy of nodes, one node for each bin, each of
* which will in term be a parent of a number of GeomNodes, representing the
* geometry drawn in each bin.
*
* This is useful mainly for high-level debugging and abstraction tools; it
* should not be mistaken for the low-level cull result itself. For the low-
* level cull result, use draw() to efficiently draw the culled scene.
*/
59
PointerTo< PandaNode > CullResult::make_result_graph(void);
3093 14 get_class_type 0 4 3713 26 CullResult::get_class_type 0 1 1402 0
51
static TypeHandle CullResult::get_class_type(void);
3094 10 CullResult 0 4 3713 22 CullResult::CullResult 0 1 1395 10
/**
*
*/
60
inline CullResult::CullResult(CullResult const &) = default;
3095 4 make 0 4 3715 17 DecalEffect::make 0 1 1403 47
/**
* Constructs a new DecalEffect object.
*/
62
static ConstPointerTo< RenderEffect > DecalEffect::make(void);
3096 14 get_class_type 0 4 3715 27 DecalEffect::get_class_type 0 1 1404 0
52
static TypeHandle DecalEffect::get_class_type(void);
3097 12 ~DecalEffect 0 4 3715 25 DecalEffect::~DecalEffect 0 0 0
32
DecalEffect::~DecalEffect(void);
3098 4 make 0 4 3716 23 DepthOffsetAttrib::make 0 2 1405 1406 503
/**
* Constructs a new DepthOffsetAttrib object that indicates the relative
* amount of bias to write to the depth buffer for subsequent geometry.
*/
/**
* Constructs a new DepthOffsetAttrib object that indicates the bias, and also
* specifies a minimum and maximum (or, more precisely, nearest and farthest)
* values to write to the depth buffer, in the range 0 .. 1. This range is 0,
* 1 by default; setting it to some other range can be used to create
* additional depth buffer effects.
*/
199
static ConstPointerTo< RenderAttrib > DepthOffsetAttrib::make(int offset = 1);
static ConstPointerTo< RenderAttrib > DepthOffsetAttrib::make(int offset, PN_stdfloat min_value, PN_stdfloat max_value);
3099 12 make_default 0 4 3716 31 DepthOffsetAttrib::make_default 0 1 1407 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
76
static ConstPointerTo< RenderAttrib > DepthOffsetAttrib::make_default(void);
3100 10 get_offset 0 4 3716 29 DepthOffsetAttrib::get_offset 0 1 1408 63
/**
* Returns the depth offset represented by this attrib.
*/
53
inline int DepthOffsetAttrib::get_offset(void) const;
3101 13 get_min_value 0 4 3716 32 DepthOffsetAttrib::get_min_value 0 1 1409 118
/**
* Returns the value for the minimum (closest) depth value to be stored in the
* buffer, in the range 0 .. 1.
*/
64
inline PN_stdfloat DepthOffsetAttrib::get_min_value(void) const;
3102 13 get_max_value 0 4 3716 32 DepthOffsetAttrib::get_max_value 0 1 1410 119
/**
* Returns the value for the maximum (farthest) depth value to be stored in
* the buffer, in the range 0 .. 1.
*/
64
inline PN_stdfloat DepthOffsetAttrib::get_max_value(void) const;
3103 14 get_class_slot 0 4 3716 33 DepthOffsetAttrib::get_class_slot 0 1 1411 0
51
static int DepthOffsetAttrib::get_class_slot(void);
3104 14 get_class_type 0 4 3716 33 DepthOffsetAttrib::get_class_type 0 1 1412 0
58
static TypeHandle DepthOffsetAttrib::get_class_type(void);
3105 18 ~DepthOffsetAttrib 0 4 3716 37 DepthOffsetAttrib::~DepthOffsetAttrib 0 0 0
44
DepthOffsetAttrib::~DepthOffsetAttrib(void);
3106 4 make 0 4 3717 21 DepthTestAttrib::make 0 1 1413 51
/**
* Constructs a new DepthTestAttrib object.
*/
97
static ConstPointerTo< RenderAttrib > DepthTestAttrib::make(RenderAttrib::PandaCompareFunc mode);
3107 12 make_default 0 4 3717 29 DepthTestAttrib::make_default 0 1 1414 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
74
static ConstPointerTo< RenderAttrib > DepthTestAttrib::make_default(void);
3108 8 get_mode 0 4 3717 25 DepthTestAttrib::get_mode 0 1 1415 40
/**
* Returns the depth write mode.
*/
76
inline RenderAttrib::PandaCompareFunc DepthTestAttrib::get_mode(void) const;
3109 14 get_class_slot 0 4 3717 31 DepthTestAttrib::get_class_slot 0 1 1416 0
49
static int DepthTestAttrib::get_class_slot(void);
3110 14 get_class_type 0 4 3717 31 DepthTestAttrib::get_class_type 0 1 1417 0
56
static TypeHandle DepthTestAttrib::get_class_type(void);
3111 16 ~DepthTestAttrib 0 4 3717 33 DepthTestAttrib::~DepthTestAttrib 0 0 0
40
DepthTestAttrib::~DepthTestAttrib(void);
3112 4 make 0 4 3718 22 DepthWriteAttrib::make 0 1 1418 52
/**
* Constructs a new DepthWriteAttrib object.
*/
90
static ConstPointerTo< RenderAttrib > DepthWriteAttrib::make(DepthWriteAttrib::Mode mode);
3113 12 make_default 0 4 3718 30 DepthWriteAttrib::make_default 0 1 1419 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
75
static ConstPointerTo< RenderAttrib > DepthWriteAttrib::make_default(void);
3114 8 get_mode 0 4 3718 26 DepthWriteAttrib::get_mode 0 1 1420 40
/**
* Returns the depth write mode.
*/
69
inline DepthWriteAttrib::Mode DepthWriteAttrib::get_mode(void) const;
3115 14 get_class_slot 0 4 3718 32 DepthWriteAttrib::get_class_slot 0 1 1421 0
50
static int DepthWriteAttrib::get_class_slot(void);
3116 14 get_class_type 0 4 3718 32 DepthWriteAttrib::get_class_type 0 1 1422 0
57
static TypeHandle DepthWriteAttrib::get_class_type(void);
3117 17 ~DepthWriteAttrib 0 4 3718 35 DepthWriteAttrib::~DepthWriteAttrib 0 0 0
42
DepthWriteAttrib::~DepthWriteAttrib(void);
3118 22 InternalNameCollection 0 4 3720 46 InternalNameCollection::InternalNameCollection 0 2 1423 1424 22
/**
*
*/
/**
*
*/
137
InternalNameCollection::InternalNameCollection(void);
InternalNameCollection::InternalNameCollection(InternalNameCollection const &copy);
3119 10 operator = 0 4 3720 34 InternalNameCollection::operator = 0 1 1425 0
76
void InternalNameCollection::operator =(InternalNameCollection const &copy);
3120 23 ~InternalNameCollection 0 4 3720 47 InternalNameCollection::~InternalNameCollection 0 0 10
/**
*
*/
61
inline InternalNameCollection::~InternalNameCollection(void);
3121 8 add_name 0 4 3720 32 InternalNameCollection::add_name 0 1 1426 53
/**
* Adds a new InternalName to the collection.
*/
64
void InternalNameCollection::add_name(InternalName const *name);
3122 11 remove_name 0 4 3720 35 InternalNameCollection::remove_name 0 1 1427 156
/**
* Removes the indicated InternalName from the collection. Returns true if
* the name was removed, false if it was not a member of the collection.
*/
67
bool InternalNameCollection::remove_name(InternalName const *name);
3123 14 add_names_from 0 4 3720 38 InternalNameCollection::add_names_from 0 1 1428 207
/**
* Adds all the InternalNames indicated in the other collection to this name.
* The other names are simply appended to the end of the names in this list;
* duplicates are not automatically removed.
*/
81
void InternalNameCollection::add_names_from(InternalNameCollection const &other);
3124 17 remove_names_from 0 4 3720 41 InternalNameCollection::remove_names_from 0 1 1429 99
/**
* Removes from this collection all of the InternalNames listed in the other
* collection.
*/
84
void InternalNameCollection::remove_names_from(InternalNameCollection const &other);
3125 22 remove_duplicate_names 0 4 3720 46 InternalNameCollection::remove_duplicate_names 0 1 1430 204
/**
* Removes any duplicate entries of the same InternalNames on this collection.
* If a InternalName appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/
58
void InternalNameCollection::remove_duplicate_names(void);
3126 8 has_name 0 4 3720 32 InternalNameCollection::has_name 0 1 1431 101
/**
* Returns true if the indicated InternalName appears in this collection,
* false otherwise.
*/
70
bool InternalNameCollection::has_name(InternalName const *name) const;
3127 5 clear 0 4 3720 29 InternalNameCollection::clear 0 1 1432 57
/**
* Removes all InternalNames from the collection.
*/
41
void InternalNameCollection::clear(void);
3128 13 get_num_names 0 4 3720 37 InternalNameCollection::get_num_names 0 1 1433 65
/**
* Returns the number of InternalNames in the collection.
*/
54
int InternalNameCollection::get_num_names(void) const;
3129 8 get_name 0 4 3720 32 InternalNameCollection::get_name 0 1 1434 58
/**
* Returns the nth InternalName in the collection.
*/
70
InternalName const *InternalNameCollection::get_name(int index) const;
3130 11 operator [] 0 4 3720 35 InternalNameCollection::operator [] 0 1 1435 144
/**
* Returns the nth InternalName in the collection. This is the same as
* get_name(), but it may be a more convenient way to access it.
*/
73
InternalName const *InternalNameCollection::operator [](int index) const;
3131 4 size 0 4 3720 28 InternalNameCollection::size 0 1 1436 104
/**
* Returns the number of names in the collection. This is the same thing as
* get_num_names().
*/
45
int InternalNameCollection::size(void) const;
3132 11 operator += 0 4 3720 35 InternalNameCollection::operator += 0 1 1437 0
85
inline void InternalNameCollection::operator +=(InternalNameCollection const &other);
3133 10 operator + 0 4 3720 34 InternalNameCollection::operator + 0 1 1438 0
108
inline InternalNameCollection InternalNameCollection::operator +(InternalNameCollection const &other) const;
3134 6 output 0 4 3720 30 InternalNameCollection::output 0 1 1439 111
/**
* Writes a brief one-line description of the InternalNameCollection to the
* indicated output stream.
*/
61
void InternalNameCollection::output(std::ostream &out) const;
3135 5 write 0 4 3720 29 InternalNameCollection::write 0 1 1440 116
/**
* Writes a complete multi-line description of the InternalNameCollection to
* the indicated output stream.
*/
82
void InternalNameCollection::write(std::ostream &out, int indent_level = 0) const;
3136 6 ~Light 0 6 3721 13 Light::~Light 0 0 10
/**
*
*/
28
virtual Light::~Light(void);
3137 7 as_node 0 6 3721 14 Light::as_node 0 1 1441 0
44
virtual PandaNode *Light::as_node(void) = 0;
3138 16 is_ambient_light 0 6 3721 23 Light::is_ambient_light 0 1 1442 95
/**
* Returns true if this is an AmbientLight, false if it is some other kind of
* light.
*/
49
virtual bool Light::is_ambient_light(void) const;
3139 9 get_color 0 4 3721 16 Light::get_color 0 1 1443 48
/**
* Returns the basic color of the light.
*/
50
inline LColor const &Light::get_color(void) const;
3140 9 set_color 0 4 3721 16 Light::set_color 0 1 1444 45
/**
* Sets the basic color of the light.
*/
50
inline void Light::set_color(LColor const &color);
3141 21 has_color_temperature 0 4 3721 28 Light::has_color_temperature 0 1 1445 140
/**
* Returns true if the color was specified as a temperature in kelvins, and
* get_color_temperature is defined.
*
* @since 1.10.0
*/
53
inline bool Light::has_color_temperature(void) const;
3142 21 get_color_temperature 0 4 3721 28 Light::get_color_temperature 0 1 1446 130
/**
* Returns the basic color temperature of the light, assuming
* has_color_temperature() returns true.
*
* @since 1.10.0
*/
60
inline PN_stdfloat Light::get_color_temperature(void) const;
3143 21 set_color_temperature 0 4 3721 28 Light::set_color_temperature 0 1 1447 234
/**
* Sets the color temperature of the light in kelvins. This will recalculate
* the light's color.
*
* The default value is 6500 K, corresponding to a perfectly white light
* assuming a D65 white point.
*
* @since 1.10.0
*/
59
void Light::set_color_temperature(PN_stdfloat temperature);
3144 12 get_exponent 0 6 3721 19 Light::get_exponent 0 1 1448 168
/**
* For spotlights, returns the exponent that controls the amount of light
* falloff from the center of the spotlight. For other kinds of lights,
* returns 0.
*/
52
virtual PN_stdfloat Light::get_exponent(void) const;
3145 18 get_specular_color 0 6 3721 25 Light::get_specular_color 0 1 1449 125
/**
* Returns the color of specular highlights generated by the light. This
* value is meaningless for ambient lights.
*/
60
virtual LColor const &Light::get_specular_color(void) const;
3146 15 get_attenuation 0 6 3721 22 Light::get_attenuation 0 1 1450 193
/**
* Returns the terms of the attenuation equation for the light. These are, in
* order, the constant, linear, and quadratic terms based on the distance from
* the point to the vertex.
*/
60
virtual LVecBase3 const &Light::get_attenuation(void) const;
3147 12 set_priority 0 4 3721 19 Light::set_priority 0 1 1451 411
/**
* Changes the relative importance of this light relative to the other lights
* that are applied simultaneously.
*
* The priority number is used to decide which of the requested lights are to
* be selected for rendering when more lights are requested than the hardware
* will support. The highest-priority n lights are selected for rendering.
*
* This is similar to TextureStage::set_priority().
*/
46
inline void Light::set_priority(int priority);
3148 12 get_priority 0 4 3721 19 Light::get_priority 0 1 1452 80
/**
* Returns the priority associated with this light. See set_priority().
*/
43
inline int Light::get_priority(void) const;
3149 18 get_class_priority 0 6 3721 25 Light::get_class_priority 0 1 1453 0
54
virtual int Light::get_class_priority(void) const = 0;
3150 14 get_class_type 0 4 3721 21 Light::get_class_type 0 1 1454 0
46
static TypeHandle Light::get_class_type(void);
3151 4 make 0 4 3722 17 LightAttrib::make 0 5 1455 1456 1457 1458 1459 947
// The following is the new, more general interface to the LightAttrib.
/**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicated light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/
/**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicate light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/
/**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicate light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/
/**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicate light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/
/**
* Constructs a new LightAttrib object that does nothing.
*/
547
static ConstPointerTo< RenderAttrib > LightAttrib::make(LightAttrib::Operation op, Light *light);
static ConstPointerTo< RenderAttrib > LightAttrib::make(LightAttrib::Operation op, Light *light1, Light *light2);
static ConstPointerTo< RenderAttrib > LightAttrib::make(LightAttrib::Operation op, Light *light1, Light *light2, Light *light3);
static ConstPointerTo< RenderAttrib > LightAttrib::make(LightAttrib::Operation op, Light *light1, Light *light2, Light *light3, Light *light4);
static ConstPointerTo< RenderAttrib > LightAttrib::make(void);
3152 12 make_default 0 4 3722 25 LightAttrib::make_default 0 1 1460 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
70
static ConstPointerTo< RenderAttrib > LightAttrib::make_default(void);
3153 13 get_operation 0 4 3722 26 LightAttrib::get_operation 0 1 1461 522
/**
* Returns the basic operation type of the LightAttrib. If this is O_set, the
* lights listed here completely replace any lights that were already on. If
* this is O_add, the lights here are added to the set of lights that were
* already on, and if O_remove, the lights here are removed from the set of
* lights that were on.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/
62
LightAttrib::Operation LightAttrib::get_operation(void) const;
3154 14 get_num_lights 0 4 3722 27 LightAttrib::get_num_lights 0 1 1462 247
/**
* Returns the number of lights listed in the attribute.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/
44
int LightAttrib::get_num_lights(void) const;
3155 9 get_light 0 4 3722 22 LightAttrib::get_light 0 1 1463 240
/**
* Returns the nth light listed in the attribute.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/
43
Light *LightAttrib::get_light(int n) const;
3156 9 has_light 0 4 3722 22 LightAttrib::has_light 0 1 1464 274
/**
* Returns true if the indicated light is listed in the attrib, false
* otherwise.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/
48
bool LightAttrib::has_light(Light *light) const;
3157 9 add_light 0 4 3722 22 LightAttrib::add_light 0 1 1465 206
/**
* Returns a new LightAttrib, just like this one, but with the indicated light
* added to the list of lights.
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/
74
ConstPointerTo< RenderAttrib > LightAttrib::add_light(Light *light) const;
3158 12 remove_light 0 4 3722 25 LightAttrib::remove_light 0 1 1466 216
/**
* Returns a new LightAttrib, just like this one, but with the indicated light
* removed from the list of lights.
*
* This method is now deprecated. Use remove_on_light() or remove_off_light()
* instead.
*/
77
ConstPointerTo< RenderAttrib > LightAttrib::remove_light(Light *light) const;
3159 12 make_all_off 0 4 3722 25 LightAttrib::make_all_off 0 1 1467 106
/**
* Constructs a new LightAttrib object that turns off all lights (and hence
* disables lighting).
*/
70
static ConstPointerTo< RenderAttrib > LightAttrib::make_all_off(void);
3160 17 get_num_on_lights 0 4 3722 30 LightAttrib::get_num_on_lights 0 1 1468 76
/**
* Returns the number of lights that are turned on by the attribute.
*/
62
inline std::size_t LightAttrib::get_num_on_lights(void) const;
3161 26 get_num_non_ambient_lights 0 4 3722 39 LightAttrib::get_num_non_ambient_lights 0 1 1469 92
/**
* Returns the number of non-ambient lights that are turned on by this
* attribute.
*/
71
inline std::size_t LightAttrib::get_num_non_ambient_lights(void) const;
3162 12 get_on_light 0 4 3722 25 LightAttrib::get_on_light 0 1 1470 84
/**
* Returns the nth light turned on by the attribute, sorted in render order.
*/
63
inline NodePath LightAttrib::get_on_light(std::size_t n) const;
3163 12 has_on_light 0 4 3722 25 LightAttrib::has_on_light 0 1 1471 94
/**
* Returns true if the indicated light is turned on by the attrib, false
* otherwise.
*/
67
inline bool LightAttrib::has_on_light(NodePath const &light) const;
3164 16 has_any_on_light 0 4 3722 29 LightAttrib::has_any_on_light 0 1 1472 81
/**
* Returns true if any light is turned on by the attrib, false otherwise.
*/
54
inline bool LightAttrib::has_any_on_light(void) const;
3165 18 get_num_off_lights 0 4 3722 31 LightAttrib::get_num_off_lights 0 1 1473 77
/**
* Returns the number of lights that are turned off by the attribute.
*/
63
inline std::size_t LightAttrib::get_num_off_lights(void) const;
3166 13 get_off_light 0 4 3722 26 LightAttrib::get_off_light 0 1 1474 101
/**
* Returns the nth light turned off by the attribute, sorted in arbitrary
* (pointer) order.
*/
64
inline NodePath LightAttrib::get_off_light(std::size_t n) const;
3167 13 has_off_light 0 4 3722 26 LightAttrib::has_off_light 0 1 1475 95
/**
* Returns true if the indicated light is turned off by the attrib, false
* otherwise.
*/
68
inline bool LightAttrib::has_off_light(NodePath const &light) const;
3168 11 has_all_off 0 4 3722 24 LightAttrib::has_all_off 0 1 1476 99
/**
* Returns true if this attrib turns off all lights (although it may also turn
* some on).
*/
49
inline bool LightAttrib::has_all_off(void) const;
3169 11 is_identity 0 4 3722 24 LightAttrib::is_identity 0 1 1477 102
/**
* Returns true if this is an identity attrib: it does not change the set of
* lights in use.
*/
49
inline bool LightAttrib::is_identity(void) const;
3170 12 add_on_light 0 4 3722 25 LightAttrib::add_on_light 0 1 1478 143
/**
* Returns a new LightAttrib, just like this one, but with the indicated light
* added to the list of lights turned on by this attrib.
*/
86
ConstPointerTo< RenderAttrib > LightAttrib::add_on_light(NodePath const &light) const;
3171 15 remove_on_light 0 4 3722 28 LightAttrib::remove_on_light 0 1 1479 147
/**
* Returns a new LightAttrib, just like this one, but with the indicated light
* removed from the list of lights turned on by this attrib.
*/
89
ConstPointerTo< RenderAttrib > LightAttrib::remove_on_light(NodePath const &light) const;
3172 13 add_off_light 0 4 3722 26 LightAttrib::add_off_light 0 1 1480 144
/**
* Returns a new LightAttrib, just like this one, but with the indicated light
* added to the list of lights turned off by this attrib.
*/
87
ConstPointerTo< RenderAttrib > LightAttrib::add_off_light(NodePath const &light) const;
3173 16 remove_off_light 0 4 3722 29 LightAttrib::remove_off_light 0 1 1481 148
/**
* Returns a new LightAttrib, just like this one, but with the indicated light
* removed from the list of lights turned off by this attrib.
*/
90
ConstPointerTo< RenderAttrib > LightAttrib::remove_off_light(NodePath const &light) const;
3174 24 get_most_important_light 0 4 3722 37 LightAttrib::get_most_important_light 0 1 1482 209
/**
* Returns the most important light (that is, the light with the highest
* priority) in the LightAttrib, excluding any ambient lights. Returns an
* empty NodePath if no non-ambient lights are found.
*/
59
NodePath LightAttrib::get_most_important_light(void) const;
3175 24 get_ambient_contribution 0 4 3722 37 LightAttrib::get_ambient_contribution 0 1 1483 68
/**
* Returns the total contribution of all the ambient lights.
*/
57
LColor LightAttrib::get_ambient_contribution(void) const;
3176 0 0 0 0 0 0 0 0
0
3177 0 0 0 0 0 0 0 0
0
3178 14 get_class_slot 0 4 3722 27 LightAttrib::get_class_slot 0 1 1484 0
45
static int LightAttrib::get_class_slot(void);
3179 14 get_class_type 0 4 3722 27 LightAttrib::get_class_type 0 1 1485 0
52
static TypeHandle LightAttrib::get_class_type(void);
3180 12 make_default 0 4 3724 29 LightRampAttrib::make_default 0 1 1486 151
/**
* Constructs a new LightRampAttrib object. This is the standard OpenGL
* lighting ramp, which clamps the final light total to the 0-1 range.
*/
74
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_default(void);
3181 13 make_identity 0 4 3724 30 LightRampAttrib::make_identity 0 1 1487 169
/**
* Constructs a new LightRampAttrib object. This differs from the usual
* OpenGL lighting model in that it does not clamp the final lighting total to
* (0,1).
*/
75
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_identity(void);
3182 21 make_single_threshold 0 4 3724 38 LightRampAttrib::make_single_threshold 0 1 1488 290
/**
* Constructs a new LightRampAttrib object. This causes the luminance of the
* diffuse lighting contribution to be quantized using a single threshold:
*
* @code
* if (original_luminance > threshold0) {
* luminance = level0;
* } else {
* luminance = 0.0;
* }
* @endcode
*/
116
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_single_threshold(PN_stdfloat thresh0, PN_stdfloat lev0);
3183 21 make_double_threshold 0 4 3724 38 LightRampAttrib::make_double_threshold 0 1 1489 360
/**
* Constructs a new LightRampAttrib object. This causes the luminance of the
* diffuse lighting contribution to be quantized using two thresholds:
*
* @code
* if (original_luminance > threshold1) {
* luminance = level1;
* } else if (original_luminance > threshold0) {
* luminance = level0;
* } else {
* luminance = 0.0;
* }
* @endcode
*/
155
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_double_threshold(PN_stdfloat thresh0, PN_stdfloat lev0, PN_stdfloat thresh1, PN_stdfloat lev1);
3184 9 make_hdr0 0 4 3724 26 LightRampAttrib::make_hdr0 0 1 1490 814
/**
* Constructs a new LightRampAttrib object. This causes an HDR tone mapping
* operation to be applied.
*
* Normally, brightness values greater than 1 cannot be distinguished from
* each other, causing very brightly lit objects to wash out white and all
* detail to be erased. HDR tone mapping remaps brightness values in the
* range 0-infinity into the range (0,1), making it possible to distinguish
* detail in scenes whose brightness exceeds 1.
*
* However, the monitor has finite contrast. Normally, all of that contrast
* is used to represent brightnesses in the range 0-1. The HDR0 tone mapping
* operator 'steals' one quarter of that contrast to represent brightnesses in
* the range 1-infinity.
*
* @code
* FINAL_RGB = (RGB^3 + RGB^2 + RGB) / (RGB^3 + RGB^2 + RGB + 1)
* @endcode
*/
71
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_hdr0(void);
3185 9 make_hdr1 0 4 3724 26 LightRampAttrib::make_hdr1 0 1 1491 796
/**
* Constructs a new LightRampAttrib object. This causes an HDR tone mapping
* operation to be applied.
*
* Normally, brightness values greater than 1 cannot be distinguished from
* each other, causing very brightly lit objects to wash out white and all
* detail to be erased. HDR tone mapping remaps brightness values in the
* range 0-infinity into the range (0,1), making it possible to distinguish
* detail in scenes whose brightness exceeds 1.
*
* However, the monitor has finite contrast. Normally, all of that contrast
* is used to represent brightnesses in the range 0-1. The HDR1 tone mapping
* operator 'steals' one third of that contrast to represent brightnesses in
* the range 1-infinity.
*
* @code
* FINAL_RGB = (RGB^2 + RGB) / (RGB^2 + RGB + 1)
* @endcode
*/
71
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_hdr1(void);
3186 9 make_hdr2 0 4 3724 26 LightRampAttrib::make_hdr2 0 1 1492 779
/**
* Constructs a new LightRampAttrib object. This causes an HDR tone mapping
* operation to be applied.
*
* Normally, brightness values greater than 1 cannot be distinguished from
* each other, causing very brightly lit objects to wash out white and all
* detail to be erased. HDR tone mapping remaps brightness values in the
* range 0-infinity into the range (0,1), making it possible to distinguish
* detail in scenes whose brightness exceeds 1.
*
* However, the monitor has finite contrast. Normally, all of that contrast
* is used to represent brightnesses in the range 0-1. The HDR2 tone mapping
* operator 'steals' one half of that contrast to represent brightnesses in
* the range 1-infinity.
*
* @code
* FINAL_RGB = (RGB) / (RGB + 1)
* @endcode
*/
71
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_hdr2(void);
3187 8 get_mode 0 4 3724 25 LightRampAttrib::get_mode 0 1 1493 44
/**
* Returns the LightRampAttrib mode.
*/
76
inline LightRampAttrib::LightRampMode LightRampAttrib::get_mode(void) const;
3188 9 get_level 0 4 3724 26 LightRampAttrib::get_level 0 1 1494 42
/**
* Returns the nth lighting level.
*/
59
inline PN_stdfloat LightRampAttrib::get_level(int n) const;
3189 13 get_threshold 0 4 3724 30 LightRampAttrib::get_threshold 0 1 1495 43
/**
* Returns the nth threshold level.
*/
63
inline PN_stdfloat LightRampAttrib::get_threshold(int n) const;
3190 14 get_class_slot 0 4 3724 31 LightRampAttrib::get_class_slot 0 1 1496 0
49
static int LightRampAttrib::get_class_slot(void);
3191 14 get_class_type 0 4 3724 31 LightRampAttrib::get_class_type 0 1 1497 0
56
static TypeHandle LightRampAttrib::get_class_type(void);
3192 16 ~LightRampAttrib 0 4 3724 33 LightRampAttrib::~LightRampAttrib 0 0 0
40
LightRampAttrib::~LightRampAttrib(void);
3193 29 upcast_to_TypedReferenceCount 0 12 3726 37 Loader::upcast_to_TypedReferenceCount 0 1 1516 41
upcast from Loader to TypedReferenceCount
65
TypedReferenceCount *Loader::upcast_to_TypedReferenceCount(void);
3194 18 downcast_to_Loader 0 12 3659 39 TypedReferenceCount::downcast_to_Loader 0 0 43
downcast from TypedReferenceCount to Loader
54
Loader *TypedReferenceCount::downcast_to_Loader(void);
3195 17 upcast_to_Namable 0 12 3726 25 Loader::upcast_to_Namable 0 1 1517 29
upcast from Loader to Namable
41
Namable *Loader::upcast_to_Namable(void);
3196 18 downcast_to_Loader 0 12 3620 27 Namable::downcast_to_Loader 0 0 31
downcast from Namable to Loader
42
Loader *Namable::downcast_to_Loader(void);
3197 7 Results 0 4 3727 24 Loader::Results::Results 0 2 1518 1519 22
/**
*
*/
/**
*
*/
100
inline Loader::Results::Results(void);
inline Loader::Results::Results(Loader::Results const &copy);
3198 10 operator = 0 4 3727 27 Loader::Results::operator = 0 1 1520 0
69
inline void Loader::Results::operator =(Loader::Results const &copy);
3199 8 ~Results 0 4 3727 25 Loader::Results::~Results 0 0 10
/**
*
*/
39
inline Loader::Results::~Results(void);
3200 5 clear 0 4 3727 22 Loader::Results::clear 0 1 1521 47
/**
* Removes all the files from the list.
*/
41
inline void Loader::Results::clear(void);
3201 13 get_num_files 0 4 3727 30 Loader::Results::get_num_files 0 1 1522 58
/**
* Returns the number of files on the result list.
*/
54
inline int Loader::Results::get_num_files(void) const;
3202 8 get_file 0 4 3727 25 Loader::Results::get_file 0 1 1523 51
/**
* Returns the nth file on the result list.
*/
62
inline Filename const &Loader::Results::get_file(int n) const;
3203 13 get_file_type 0 4 3727 30 Loader::Results::get_file_type 0 1 1524 68
/**
* Returns the file type of the nth file on the result list.
*/
67
inline LoaderFileType *Loader::Results::get_file_type(int n) const;
3204 6 Loader 0 4 3726 14 Loader::Loader 0 2 1498 1499 10
/**
*
*/
109
explicit Loader::Loader(std::string const &name = "loader");
inline Loader::Loader(Loader const &) = default;
3205 16 set_task_manager 0 4 3726 24 Loader::set_task_manager 0 1 1500 118
/**
* Specifies the task manager that is used for asynchronous loads. The
* default is the global task manager.
*/
69
inline void Loader::set_task_manager(AsyncTaskManager *task_manager);
3206 16 get_task_manager 0 4 3726 24 Loader::get_task_manager 0 1 1501 72
/**
* Returns the task manager that is used for asynchronous loads.
*/
62
inline AsyncTaskManager *Loader::get_task_manager(void) const;
3207 14 set_task_chain 0 4 3726 22 Loader::set_task_chain 0 1 1502 130
/**
* Specifies the task chain that is used for asynchronous loads. The default
* is the initial name of the Loader object.
*/
66
inline void Loader::set_task_chain(std::string const &task_chain);
3208 14 get_task_chain 0 4 3726 22 Loader::get_task_chain 0 1 1503 70
/**
* Returns the task chain that is used for asynchronous loads.
*/
61
inline std::string const &Loader::get_task_chain(void) const;
3209 12 stop_threads 0 4 3726 20 Loader::stop_threads 0 1 1504 56
/**
* Stop any threads used for asynchronous loads.
*/
39
inline void Loader::stop_threads(void);
3210 6 remove 0 4 3726 14 Loader::remove 0 1 1505 168
/**
* Removes a pending asynchronous load request. Returns true if successful,
* false otherwise.
* @deprecated use task.cancel() to cancel the request instead.
*/
44
inline bool Loader::remove(AsyncTask *task);
3211 9 load_sync 0 4 3726 17 Loader::load_sync 0 1 1506 187
/**
* Loads the file immediately, waiting for it to complete.
*
* If search is true, the file is searched for along the model path;
* otherwise, only the exact filename is loaded.
*/
128
inline PointerTo< PandaNode > Loader::load_sync(Filename const &filename, LoaderOptions const &options = LoaderOptions()) const;
3212 18 make_async_request 0 4 3726 26 Loader::make_async_request 0 1 1507 117
/**
* Returns a new AsyncTask object suitable for adding to load_async() to start
* an asynchronous model load.
*/
124
PointerTo< AsyncTask > Loader::make_async_request(Filename const &filename, LoaderOptions const &options = LoaderOptions());
3213 10 load_async 0 4 3726 18 Loader::load_async 0 1 1508 591
/**
* Begins an asynchronous load request. To use this call, first call
* make_async_request() to create a new ModelLoadRequest object with the
* filename you wish to load, and then add that object to the Loader with
* load_async. This function will return immediately, and the model will be
* loaded in the background.
*
* To determine when the model has completely loaded, you may poll
* request->is_ready() from time to time, or set the done_event on the request
* object and listen for that event. When the model is ready, you may
* retrieve it via request->get_model().
*/
51
inline void Loader::load_async(AsyncTask *request);
3214 9 save_sync 0 4 3726 17 Loader::save_sync 0 1 1509 66
/**
* Saves the file immediately, waiting for it to complete.
*/
109
inline bool Loader::save_sync(Filename const &filename, LoaderOptions const &options, PandaNode *node) const;
3215 23 make_async_save_request 0 4 3726 31 Loader::make_async_save_request 0 1 1510 117
/**
* Returns a new AsyncTask object suitable for adding to save_async() to start
* an asynchronous model save.
*/
128
PointerTo< AsyncTask > Loader::make_async_save_request(Filename const &filename, LoaderOptions const &options, PandaNode *node);
3216 10 save_async 0 4 3726 18 Loader::save_async 0 1 1511 620
/**
* Begins an asynchronous save request. To use this call, first call
* make_async_save_request() to create a new ModelSaveRequest object with the
* filename you wish to load, and then add that object to the Loader with
* save_async. This function will return immediately, and the model will be
* loaded in the background.
*
* To determine when the model has completely loaded, you may poll
* request->is_ready() from time to time, or set the done_event on the request
* object and listen for that event. When the request is ready, you may
* retrieve the success or failure via request->get_success().
*/
51
inline void Loader::save_async(AsyncTask *request);
3217 15 load_bam_stream 0 4 3726 23 Loader::load_bam_stream 0 1 1512 109
/**
* Attempts to read a bam file from the indicated stream and return the scene
* graph defined there.
*/
65
PointerTo< PandaNode > Loader::load_bam_stream(std::istream &in);
3218 6 output 0 6 3726 14 Loader::output 0 1 1513 10
/**
*
*/
53
virtual void Loader::output(std::ostream &out) const;
3219 14 get_global_ptr 0 4 3726 22 Loader::get_global_ptr 0 1 1514 119
/**
* Returns a pointer to the global Loader. This is the Loader that most code
* should use for loading models.
*/
51
static inline Loader *Loader::get_global_ptr(void);
3220 14 get_class_type 0 4 3726 22 Loader::get_class_type 0 1 1515 0
47
static TypeHandle Loader::get_class_type(void);
3221 7 ~Loader 0 4 3726 15 Loader::~Loader 0 0 0
22
Loader::~Loader(void);
3222 8 get_name 0 6 3728 24 LoaderFileType::get_name 0 1 1525 0
61
virtual std::string LoaderFileType::get_name(void) const = 0;
3223 13 get_extension 0 6 3728 29 LoaderFileType::get_extension 0 1 1526 0
66
virtual std::string LoaderFileType::get_extension(void) const = 0;
3224 25 get_additional_extensions 0 6 3728 41 LoaderFileType::get_additional_extensions 0 1 1527 146
/**
* Returns a space-separated list of extension, in addition to the one
* returned by get_extension(), that are recognized by this loader.
*/
74
virtual std::string LoaderFileType::get_additional_extensions(void) const;
3225 19 supports_compressed 0 6 3728 35 LoaderFileType::supports_compressed 0 1 1528 132
/**
* Returns true if this file type can transparently load compressed files
* (with a .pz or .gz extension), false otherwise.
*/
61
virtual bool LoaderFileType::supports_compressed(void) const;
3226 20 get_allow_disk_cache 0 6 3728 36 LoaderFileType::get_allow_disk_cache 0 1 1529 138
/**
* Returns true if the loader flags allow retrieving the model from the on-
* disk bam cache (if it is enabled), false otherwise.
*/
86
virtual bool LoaderFileType::get_allow_disk_cache(LoaderOptions const &options) const;
3227 19 get_allow_ram_cache 0 6 3728 35 LoaderFileType::get_allow_ram_cache 0 1 1530 127
/**
* Returns true if the loader flags allow retrieving the model from the in-
* memory ModelPool cache, false otherwise.
*/
85
virtual bool LoaderFileType::get_allow_ram_cache(LoaderOptions const &options) const;
3228 13 supports_load 0 6 3728 29 LoaderFileType::supports_load 0 1 1531 172
/**
* Returns true if the file type can be used to load files, and load_file() is
* supported. Returns false if load_file() is unimplemented and will always
* fail.
*/
55
virtual bool LoaderFileType::supports_load(void) const;
3229 13 supports_save 0 6 3728 29 LoaderFileType::supports_save 0 1 1532 172
/**
* Returns true if the file type can be used to save files, and save_file() is
* supported. Returns false if save_file() is unimplemented and will always
* fail.
*/
55
virtual bool LoaderFileType::supports_save(void) const;
3230 14 get_class_type 0 4 3728 30 LoaderFileType::get_class_type 0 1 1533 0
55
static TypeHandle LoaderFileType::get_class_type(void);
3231 23 ~LoaderFileTypeRegistry 0 4 3730 47 LoaderFileTypeRegistry::~LoaderFileTypeRegistry 0 0 10
/**
*
*/
54
LoaderFileTypeRegistry::~LoaderFileTypeRegistry(void);
3232 13 get_num_types 0 4 3730 37 LoaderFileTypeRegistry::get_num_types 0 1 1535 56
/**
* Returns the total number of types registered.
*/
54
int LoaderFileTypeRegistry::get_num_types(void) const;
3233 8 get_type 0 4 3730 32 LoaderFileTypeRegistry::get_type 0 1 1536 43
/**
* Returns the nth type registered.
*/
62
LoaderFileType *LoaderFileTypeRegistry::get_type(int n) const;
3234 0 0 0 0 0 0 0 0
0
3235 23 get_type_from_extension 0 4 3730 47 LoaderFileTypeRegistry::get_type_from_extension 0 1 1537 163
/**
* Determines the type of the file based on the indicated extension (without a
* leading dot). Returns NULL if the extension matches no known file types.
*/
94
LoaderFileType *LoaderFileTypeRegistry::get_type_from_extension(std::string const &extension);
3236 5 write 0 4 3730 29 LoaderFileTypeRegistry::write 0 1 1538 97
/**
* Writes a list of supported file types to the indicated output stream, one
* per line.
*/
82
void LoaderFileTypeRegistry::write(std::ostream &out, int indent_level = 0) const;
3237 14 get_global_ptr 0 4 3730 38 LoaderFileTypeRegistry::get_global_ptr 0 1 1539 73
/**
* Returns a pointer to the global LoaderFileTypeRegistry object.
*/
76
static LoaderFileTypeRegistry *LoaderFileTypeRegistry::get_global_ptr(void);
3238 22 LoaderFileTypeRegistry 0 4 3730 46 LoaderFileTypeRegistry::LoaderFileTypeRegistry 0 1 1534 10
/**
*
*/
96
inline LoaderFileTypeRegistry::LoaderFileTypeRegistry(LoaderFileTypeRegistry const &) = default;
3239 4 make 0 4 3732 20 MaterialAttrib::make 0 1 1540 113
/**
* Constructs a new MaterialAttrib object suitable for rendering the indicated
* material onto geometry.
*/
79
static ConstPointerTo< RenderAttrib > MaterialAttrib::make(Material *material);
3240 8 make_off 0 4 3732 24 MaterialAttrib::make_off 0 1 1541 97
/**
* Constructs a new MaterialAttrib object suitable for rendering unmateriald
* geometry.
*/
69
static ConstPointerTo< RenderAttrib > MaterialAttrib::make_off(void);
3241 12 make_default 0 4 3732 28 MaterialAttrib::make_default 0 1 1542 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
73
static ConstPointerTo< RenderAttrib > MaterialAttrib::make_default(void);
3242 6 is_off 0 4 3732 22 MaterialAttrib::is_off 0 1 1543 132
/**
* Returns true if the MaterialAttrib is an 'off' MaterialAttrib, indicating
* that it should disable the use of materials.
*/
47
inline bool MaterialAttrib::is_off(void) const;
3243 12 get_material 0 4 3732 28 MaterialAttrib::get_material 0 1 1544 133
/**
* If the MaterialAttrib is not an 'off' MaterialAttrib, returns the material
* that is associated. Otherwise, return NULL.
*/
58
inline Material *MaterialAttrib::get_material(void) const;
3244 14 get_class_slot 0 4 3732 30 MaterialAttrib::get_class_slot 0 1 1545 0
48
static int MaterialAttrib::get_class_slot(void);
3245 14 get_class_type 0 4 3732 30 MaterialAttrib::get_class_type 0 1 1546 0
55
static TypeHandle MaterialAttrib::get_class_type(void);
3246 15 ~MaterialAttrib 0 4 3732 31 MaterialAttrib::~MaterialAttrib 0 0 0
38
MaterialAttrib::~MaterialAttrib(void);
3247 18 MaterialCollection 0 4 3735 38 MaterialCollection::MaterialCollection 0 2 1547 1548 22
/**
*
*/
/**
*
*/
117
MaterialCollection::MaterialCollection(void);
MaterialCollection::MaterialCollection(MaterialCollection const &copy);
3248 10 operator = 0 4 3735 30 MaterialCollection::operator = 0 1 1549 0
68
void MaterialCollection::operator =(MaterialCollection const &copy);
3249 19 ~MaterialCollection 0 4 3735 39 MaterialCollection::~MaterialCollection 0 0 10
/**
*
*/
53
inline MaterialCollection::~MaterialCollection(void);
3250 12 add_material 0 4 3735 32 MaterialCollection::add_material 0 1 1550 49
/**
* Adds a new Material to the collection.
*/
63
void MaterialCollection::add_material(Material *node_material);
3251 15 remove_material 0 4 3735 35 MaterialCollection::remove_material 0 1 1551 156
/**
* Removes the indicated Material from the collection. Returns true if the
* material was removed, false if it was not a member of the collection.
*/
66
bool MaterialCollection::remove_material(Material *node_material);
3252 18 add_materials_from 0 4 3735 38 MaterialCollection::add_materials_from 0 1 1552 215
/**
* Adds all the Materials indicated in the other collection to this material.
* The other materials are simply appended to the end of the materials in this
* list; duplicates are not automatically removed.
*/
77
void MaterialCollection::add_materials_from(MaterialCollection const &other);
3253 21 remove_materials_from 0 4 3735 41 MaterialCollection::remove_materials_from 0 1 1553 95
/**
* Removes from this collection all of the Materials listed in the other
* collection.
*/
80
void MaterialCollection::remove_materials_from(MaterialCollection const &other);
3254 26 remove_duplicate_materials 0 4 3735 46 MaterialCollection::remove_duplicate_materials 0 1 1554 197
/**
* Removes any duplicate entries of the same Materials on this collection. If
* a Material appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/
58
void MaterialCollection::remove_duplicate_materials(void);
3255 12 has_material 0 4 3735 32 MaterialCollection::has_material 0 1 1555 97
/**
* Returns true if the indicated Material appears in this collection, false
* otherwise.
*/
64
bool MaterialCollection::has_material(Material *material) const;
3256 5 clear 0 4 3735 25 MaterialCollection::clear 0 1 1556 53
/**
* Removes all Materials from the collection.
*/
37
void MaterialCollection::clear(void);
3257 13 find_material 0 4 3735 33 MaterialCollection::find_material 0 1 1557 123
/**
* Returns the material in the collection with the indicated name, if any, or
* NULL if no material has that name.
*/
75
Material *MaterialCollection::find_material(std::string const &name) const;
3258 17 get_num_materials 0 4 3735 37 MaterialCollection::get_num_materials 0 1 1558 61
/**
* Returns the number of Materials in the collection.
*/
54
int MaterialCollection::get_num_materials(void) const;
3259 12 get_material 0 4 3735 32 MaterialCollection::get_material 0 1 1559 54
/**
* Returns the nth Material in the collection.
*/
60
Material *MaterialCollection::get_material(int index) const;
3260 11 operator [] 0 4 3735 31 MaterialCollection::operator [] 0 1 1560 144
/**
* Returns the nth Material in the collection. This is the same as
* get_material(), but it may be a more convenient way to access it.
*/
59
Material *MaterialCollection::operator [](int index) const;
3261 4 size 0 4 3735 24 MaterialCollection::size 0 1 1561 112
/**
* Returns the number of materials in the collection. This is the same thing
* as get_num_materials().
*/
41
int MaterialCollection::size(void) const;
3262 11 operator += 0 4 3735 31 MaterialCollection::operator += 0 1 1562 0
77
inline void MaterialCollection::operator +=(MaterialCollection const &other);
3263 10 operator + 0 4 3735 30 MaterialCollection::operator + 0 1 1563 0
96
inline MaterialCollection MaterialCollection::operator +(MaterialCollection const &other) const;
3264 6 output 0 4 3735 26 MaterialCollection::output 0 1 1564 107
/**
* Writes a brief one-line description of the MaterialCollection to the
* indicated output stream.
*/
57
void MaterialCollection::output(std::ostream &out) const;
3265 5 write 0 4 3735 25 MaterialCollection::write 0 1 1565 112
/**
* Writes a complete multi-line description of the MaterialCollection to the
* indicated output stream.
*/
78
void MaterialCollection::write(std::ostream &out, int indent_level = 0) const;
3266 19 ModelFlattenRequest 0 4 3736 40 ModelFlattenRequest::ModelFlattenRequest 0 2 1566 1567 121
/**
* Create a new ModelFlattenRequest, and add it to the loader via
* load_async(), to begin an asynchronous load.
*/
162
inline explicit ModelFlattenRequest::ModelFlattenRequest(PandaNode *orig);
inline ModelFlattenRequest::ModelFlattenRequest(ModelFlattenRequest const &) = default;
3267 8 get_orig 0 4 3736 29 ModelFlattenRequest::get_orig 0 1 1568 50
/**
* Returns the original, unflattened node.
*/
60
inline PandaNode *ModelFlattenRequest::get_orig(void) const;
3268 8 is_ready 0 4 3736 29 ModelFlattenRequest::is_ready 0 1 1569 239
/**
* Returns true if this request has completed, false if it is still pending.
* When this returns true, you may retrieve the model loaded by calling
* result().
* Equivalent to `req.done() and not req.cancelled()`.
* @see done()
*/
54
inline bool ModelFlattenRequest::is_ready(void) const;
3269 9 get_model 0 4 3736 30 ModelFlattenRequest::get_model 0 1 1570 148
/**
* Returns the flattened copy of the model. It is an error to call this
* unless done() returns true.
* @deprecated Use result() instead.
*/
61
inline PandaNode *ModelFlattenRequest::get_model(void) const;
3270 14 get_class_type 0 4 3736 35 ModelFlattenRequest::get_class_type 0 1 1571 0
60
static TypeHandle ModelFlattenRequest::get_class_type(void);
3271 20 ~ModelFlattenRequest 0 4 3736 41 ModelFlattenRequest::~ModelFlattenRequest 0 0 0
48
ModelFlattenRequest::~ModelFlattenRequest(void);
3272 16 ModelLoadRequest 0 4 3738 34 ModelLoadRequest::ModelLoadRequest 0 2 1572 1573 118
/**
* Create a new ModelLoadRequest, and add it to the loader via load_async(),
* to begin an asynchronous load.
*/
220
explicit ModelLoadRequest::ModelLoadRequest(std::string const &name, Filename const &filename, LoaderOptions const &options, Loader *loader);
inline ModelLoadRequest::ModelLoadRequest(ModelLoadRequest const &) = default;
3273 12 get_filename 0 4 3738 30 ModelLoadRequest::get_filename 0 1 1574 83
/**
* Returns the filename associated with this asynchronous ModelLoadRequest.
*/
66
inline Filename const &ModelLoadRequest::get_filename(void) const;
3274 11 get_options 0 4 3738 29 ModelLoadRequest::get_options 0 1 1575 91
/**
* Returns the LoaderOptions associated with this asynchronous
* ModelLoadRequest.
*/
70
inline LoaderOptions const &ModelLoadRequest::get_options(void) const;
3275 10 get_loader 0 4 3738 28 ModelLoadRequest::get_loader 0 1 1576 91
/**
* Returns the Loader object associated with this asynchronous
* ModelLoadRequest.
*/
56
inline Loader *ModelLoadRequest::get_loader(void) const;
3276 8 is_ready 0 4 3738 26 ModelLoadRequest::is_ready 0 1 1577 271
/**
* Returns true if this request has completed, false if it is still pending or
* if it has been cancelled. When this returns true, you may retrieve the
* model loaded by calling get_model().
* Equivalent to `req.done() and not req.cancelled()`.
* @see done()
*/
51
inline bool ModelLoadRequest::is_ready(void) const;
3277 9 get_model 0 4 3738 27 ModelLoadRequest::get_model 0 1 1578 196
/**
* Returns the model that was loaded asynchronously, if any, or null if there
* was an error. It is an error to call this unless done() returns true.
* @deprecated Use result() instead.
*/
58
inline PandaNode *ModelLoadRequest::get_model(void) const;
3278 14 get_class_type 0 4 3738 32 ModelLoadRequest::get_class_type 0 1 1579 0
57
static TypeHandle ModelLoadRequest::get_class_type(void);
3279 17 ~ModelLoadRequest 0 4 3738 35 ModelLoadRequest::~ModelLoadRequest 0 0 0
42
ModelLoadRequest::~ModelLoadRequest(void);
3280 9 ModelNode 0 4 3744 20 ModelNode::ModelNode 0 1 1580 22
/**
*
*/
/**
*
*/
62
inline explicit ModelNode::ModelNode(std::string const &name);
3281 22 set_preserve_transform 0 4 3744 33 ModelNode::set_preserve_transform 0 1 1581 1183
/**
* Sets the preserve_transform flag. This restricts the ability of a flatten
* operation to affect the transform stored on this node, and/or the node
* itself. In the order from weakest to strongest restrictions, the possible
* flags are:
*
* PT_drop_node - This node should be removed at the next flatten call.
*
* PT_none - The transform may be adjusted at will. The node itself will not
* be removed. This is the default.
*
* PT_net - Preserve the net transform from the root, but it's acceptable to
* modify the local transform stored on this particular node if necessary, so
* long as the net transform is not changed. This eliminates the need to drop
* an extra transform on the node above.
*
* PT_local - The local (and net) transform should not be changed in any way.
* If necessary, an extra transform will be left on the node above to
* guarantee this. This is a stronger restriction than PT_net.
*
* PT_no_touch - The local transform will not be changed, the node will not be
* removed, and furthermore any flatten operation will not continue below this
* node--this node and all descendents are protected from the effects of
* flatten.
*/
95
inline void ModelNode::set_preserve_transform(ModelNode::PreserveTransform preserve_transform);
3282 22 get_preserve_transform 0 4 3744 33 ModelNode::get_preserve_transform 0 1 1582 104
/**
* Returns the current setting of the preserve_transform flag. See
* set_preserve_transform().
*/
82
inline ModelNode::PreserveTransform ModelNode::get_preserve_transform(void) const;
3283 23 set_preserve_attributes 0 4 3744 34 ModelNode::set_preserve_attributes 0 1 1583 295
/**
* Sets the preserve_attributes flag. This restricts the ability of a flatten
* operation to affect the render attributes stored on this node.
*
* The value should be the union of bits from SceneGraphReducer::AttribTypes
* that represent the attributes that should *not* be changed.
*/
64
inline void ModelNode::set_preserve_attributes(int attrib_mask);
3284 23 get_preserve_attributes 0 4 3744 34 ModelNode::get_preserve_attributes 0 1 1584 106
/**
* Returns the current setting of the preserve_attributes flag. See
* set_preserve_attributes().
*/
58
inline int ModelNode::get_preserve_attributes(void) const;
3285 19 set_transform_limit 0 4 3744 30 ModelNode::set_transform_limit 0 1 1585 0
55
void ModelNode::set_transform_limit(PN_stdfloat limit);
3286 14 get_class_type 0 4 3744 25 ModelNode::get_class_type 0 1 1586 0
50
static TypeHandle ModelNode::get_class_type(void);
3287 10 ~ModelNode 0 4 3744 21 ModelNode::~ModelNode 0 0 0
28
ModelNode::~ModelNode(void);
3288 9 ModelRoot 0 4 3746 20 ModelRoot::ModelRoot 0 2 1587 1588 34
/**
*
*/
/**
*
*/
/**
*
*/
144
inline explicit ModelRoot::ModelRoot(std::string const &name);
inline explicit ModelRoot::ModelRoot(Filename const &fullpath, time_t timestamp);
3289 19 get_model_ref_count 0 4 3746 30 ModelRoot::get_model_ref_count 0 1 1589 344
/**
* Returns the number of copies that exist of this particular ModelRoot node.
* Each time ModelRoot::copy_subgraph() or make_copy() is called (or some
* other copying mechanism, such as NodePath.copy_to(), is used), this count
* will increment by one in all copies; when one of the copies is destructed,
* this count will decrement.
*/
54
inline int ModelRoot::get_model_ref_count(void) const;
3290 12 get_fullpath 0 4 3746 23 ModelRoot::get_fullpath 0 1 1590 206
/**
* Returns the full pathname of the model represented by this node, as found
* on disk. This is mainly useful for reference purposes, but is also used to
* index the ModelRoot into the ModelPool.
*/
59
inline Filename const &ModelRoot::get_fullpath(void) const;
3291 12 set_fullpath 0 4 3746 23 ModelRoot::set_fullpath 0 1 1591 399
/**
* Sets the full pathname of the model represented by this node, as found on
* disk. This is mainly useful for reference purposes, but is also used to
* index the ModelRoot into the ModelPool.
*
* This is normally set automatically when a model is loaded, and should not
* be set directly by the user. If you change this on a loaded model, then
* ModelPool::release_model() may fail.
*/
62
inline void ModelRoot::set_fullpath(Filename const &fullpath);
3292 13 get_timestamp 0 4 3746 24 ModelRoot::get_timestamp 0 1 1592 324
/**
* Returns the timestamp of the file on disk that was read for this model, at
* the time it was read, if it is known. Returns 0 if the timestamp is not
* known or could not be provided. This can be used as a quick (but fallible)
* check to verify whether the file might have changed since the model was
* read.
*/
51
inline time_t ModelRoot::get_timestamp(void) const;
3293 13 set_timestamp 0 4 3746 24 ModelRoot::set_timestamp 0 1 1593 189
/**
* Sets the timestamp of the file on disk that was read for this model. This
* is normally set automatically when a model is loaded, and should not be set
* directly by the user.
*/
55
inline void ModelRoot::set_timestamp(time_t timestamp);
3294 14 ModelReference 0 4 3749 41 ModelRoot::ModelReference::ModelReference 0 2 1597 1598 10
/**
*
*/
150
inline ModelRoot::ModelReference::ModelReference(void);
inline ModelRoot::ModelReference::ModelReference(ModelRoot::ModelReference const &) = default;
3295 15 ~ModelReference 0 4 3749 42 ModelRoot::ModelReference::~ModelReference 0 0 0
49
ModelRoot::ModelReference::~ModelReference(void);
3296 13 get_reference 0 4 3746 24 ModelRoot::get_reference 0 1 1594 315
/**
* Returns the pointer that represents the object shared between all copies of
* this ModelRoot. Since there's not much associated with this object other
* than a reference count, normally there's not much reason to get the pointer
* (though it may be compared pointerwise with other ModelRoot objects).
*/
71
inline ModelRoot::ModelReference *ModelRoot::get_reference(void) const;
3297 13 set_reference 0 4 3746 24 ModelRoot::set_reference 0 1 1595 212
/**
* Changes the pointer that represents the object shared between all copies of
* this ModelRoot. This will disassociate this ModelRoot from all of its
* copies. Normally, there's no reason to do this.
*/
62
void ModelRoot::set_reference(ModelRoot::ModelReference *ref);
3298 14 get_class_type 0 4 3746 25 ModelRoot::get_class_type 0 1 1596 0
50
static TypeHandle ModelRoot::get_class_type(void);
3299 10 ~ModelRoot 0 4 3746 21 ModelRoot::~ModelRoot 0 0 0
28
ModelRoot::~ModelRoot(void);
3300 9 has_model 0 4 3751 20 ModelPool::has_model 0 1 1599 149
/**
* Returns true if the model has ever been loaded, false otherwise. Note that
* this does not guarantee that the model is still up-to-date.
*/
66
static inline bool ModelPool::has_model(Filename const &filename);
3301 12 verify_model 0 4 3751 23 ModelPool::verify_model 0 1 1600 549
/**
* Loads the given filename up as a model, if it has not already been loaded,
* and returns true to indicate success, or false to indicate failure. If
* this returns true, it is probable that a subsequent call to load_model()
* with the same model name will return a valid PandaNode.
*
* However, even if this returns true, it is still possible for a subsequent
* call to load_model() to fail. This can happen if cache-check-timestamps is
* true, and the on-disk file is subsequently modified to replace it with an
* invalid model.
*/
69
static inline bool ModelPool::verify_model(Filename const &filename);
3302 9 get_model 0 4 3751 20 ModelPool::get_model 0 1 1601 244
/**
* Returns the model that has already been previously loaded, or NULL
* otherwise. If verify is true, it will check if the file is still up-to-
* date (and hasn't been modified in the meantime), and if not, will still
* return NULL.
*/
85
static inline ModelRoot *ModelPool::get_model(Filename const &filename, bool verify);
3303 10 load_model 0 4 3751 21 ModelPool::load_model 0 1 1602 369
/**
* Loads the given filename up as a model, if it has not already been loaded,
* and returns the new model. If a model with the same filename was
* previously loaded, returns that one instead (unless cache-check-timestamps
* is true and the file has recently changed). If the model file cannot be
* found, or cannot be loaded for some reason, returns NULL.
*/
121
static inline ModelRoot *ModelPool::load_model(Filename const &filename, LoaderOptions const &options = LoaderOptions());
3304 9 add_model 0 4 3751 20 ModelPool::add_model 0 2 1603 1604 433
/**
* Adds the indicated already-loaded model to the pool. The model will
* replace any previously-loaded model in the pool that had the same filename.
*
* This two-parameter version of this method is deprecated; use the one-
* parameter add_model(model) instead.
*/
/**
* Adds the indicated already-loaded model to the pool. The model will
* replace any previously-loaded model in the pool that had the same filename.
*/
143
static inline void ModelPool::add_model(Filename const &filename, ModelRoot *model);
static inline void ModelPool::add_model(ModelRoot *model);
3305 13 release_model 0 4 3751 24 ModelPool::release_model 0 2 1605 1606 788
/**
* Removes the indicated model from the pool, indicating it will never be
* loaded again; the model may then be freed. If this function is never
* called, a reference count will be maintained on every model every loaded,
* and models will never be freed.
*
* This version of this method is deprecated; use release_model(model)
* instead.
*/
/**
* Removes the indicated model from the pool, indicating it will never be
* loaded again; the model may then be freed. If this function (and
* garbage_collect()) is never called, a reference count will be maintained on
* every model every loaded, and models will never be freed.
*
* The model's get_fullpath() value should not have been changed during its
* lifetime, or this function may fail to locate it in the pool.
*/
133
static inline void ModelPool::release_model(Filename const &filename);
static inline void ModelPool::release_model(ModelRoot *model);
3306 18 release_all_models 0 4 3751 29 ModelPool::release_all_models 0 1 1607 84
/**
* Releases all models in the pool and restores the pool to the empty state.
*/
55
static inline void ModelPool::release_all_models(void);
3307 15 garbage_collect 0 4 3751 26 ModelPool::garbage_collect 0 1 1608 206
/**
* Releases only those models in the pool that have a reference count of
* exactly 1; i.e. only those models that are not being used outside of the
* pool. Returns the number of models released.
*/
51
static inline int ModelPool::garbage_collect(void);
3308 13 list_contents 0 4 3751 24 ModelPool::list_contents 0 2 1609 1610 137
/**
* Lists the contents of the model pool to the indicated output stream.
*/
/**
* Lists the contents of the model pool to cout.
*/
114
static inline void ModelPool::list_contents(std::ostream &out);
static inline void ModelPool::list_contents(void);
3309 5 write 0 4 3751 16 ModelPool::write 0 1 1611 105
/**
* Lists the contents of the model pool to the indicated output stream. Helps
* with debugging.
*/
48
static void ModelPool::write(std::ostream &out);
3310 10 ~ModelPool 0 4 3751 21 ModelPool::~ModelPool 0 0 0
28
ModelPool::~ModelPool(void);
3311 16 ModelSaveRequest 0 4 3752 34 ModelSaveRequest::ModelSaveRequest 0 2 1612 1613 118
/**
* Create a new ModelSaveRequest, and add it to the loader via save_async(),
* to begin an asynchronous save.
*/
237
explicit ModelSaveRequest::ModelSaveRequest(std::string const &name, Filename const &filename, LoaderOptions const &options, PandaNode *node, Loader *loader);
inline ModelSaveRequest::ModelSaveRequest(ModelSaveRequest const &) = default;
3312 12 get_filename 0 4 3752 30 ModelSaveRequest::get_filename 0 1 1614 83
/**
* Returns the filename associated with this asynchronous ModelSaveRequest.
*/
66
inline Filename const &ModelSaveRequest::get_filename(void) const;
3313 11 get_options 0 4 3752 29 ModelSaveRequest::get_options 0 1 1615 91
/**
* Returns the LoaderOptions associated with this asynchronous
* ModelSaveRequest.
*/
70
inline LoaderOptions const &ModelSaveRequest::get_options(void) const;
3314 8 get_node 0 4 3752 26 ModelSaveRequest::get_node 0 1 1616 63
/**
* Returns the node that was passed to the constructor.
*/
57
inline PandaNode *ModelSaveRequest::get_node(void) const;
3315 10 get_loader 0 4 3752 28 ModelSaveRequest::get_loader 0 1 1617 91
/**
* Returns the Loader object associated with this asynchronous
* ModelSaveRequest.
*/
56
inline Loader *ModelSaveRequest::get_loader(void) const;
3316 8 is_ready 0 4 3752 26 ModelSaveRequest::is_ready 0 1 1618 238
/**
* Returns true if this request has completed, false if it is still pending.
* When this returns true, you may retrieve the success flag with
* get_success().
* Equivalent to `req.done() and not req.cancelled()`.
* @see done()
*/
51
inline bool ModelSaveRequest::is_ready(void) const;
3317 11 get_success 0 4 3752 29 ModelSaveRequest::get_success 0 1 1619 141
/**
* Returns the true if the model was saved successfully, false otherwise. It
* is an error to call this unless done() returns true.
*/
54
inline bool ModelSaveRequest::get_success(void) const;
3318 14 get_class_type 0 4 3752 32 ModelSaveRequest::get_class_type 0 1 1620 0
57
static TypeHandle ModelSaveRequest::get_class_type(void);
3319 17 ~ModelSaveRequest 0 4 3752 35 ModelSaveRequest::~ModelSaveRequest 0 0 0
42
ModelSaveRequest::~ModelSaveRequest(void);
3320 4 make 0 4 3753 19 TextureAttrib::make 0 2 1621 1622 609
// These methods are used to create a simple, single-textured layer. For
// multitexture, use the multitexture interfaces, further below.
// The following methods define the new multitexture mode for TextureAttrib.
// Each TextureAttrib can add or remove individual texture stages from the
// complete set of textures that are to be applied; this is similar to the
// mechanism of LightAttrib.
/**
* Constructs a new TextureAttrib object suitable for rendering the indicated
* texture onto geometry, using the default TextureStage.
*/
/**
* Constructs a new TextureAttrib object that does nothing.
*/
137
static ConstPointerTo< RenderAttrib > TextureAttrib::make(Texture *tex);
static ConstPointerTo< RenderAttrib > TextureAttrib::make(void);
3321 8 make_off 0 4 3753 23 TextureAttrib::make_off 0 1 1623 95
/**
* Constructs a new TextureAttrib object suitable for rendering untextured
* geometry.
*/
68
static ConstPointerTo< RenderAttrib > TextureAttrib::make_off(void);
3322 12 make_default 0 4 3753 27 TextureAttrib::make_default 0 1 1624 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
72
static ConstPointerTo< RenderAttrib > TextureAttrib::make_default(void);
3323 6 is_off 0 4 3753 21 TextureAttrib::is_off 0 1 1625 365
/**
* Returns true if the TextureAttrib is an 'off' TextureAttrib, indicating
* that it should disable texturing.
*
* If multitexture is in effect, a TextureAttrib may not be strictly "on" or
* "off"; therefore, to get a more precise answer to this question, you should
* consider using has_all_off() or get_num_off_stages() or has_off_stage()
* instead.
*/
46
inline bool TextureAttrib::is_off(void) const;
3324 11 get_texture 0 4 3753 26 TextureAttrib::get_texture 0 1 1626 141
/**
* If the TextureAttrib is not an 'off' TextureAttrib, returns the base-level
* texture that is associated. Otherwise, return NULL.
*/
55
inline Texture *TextureAttrib::get_texture(void) const;
3325 12 make_all_off 0 4 3753 27 TextureAttrib::make_all_off 0 1 1627 109
/**
* Constructs a new TextureAttrib object that turns off all stages (and hence
* disables texturing).
*/
72
static ConstPointerTo< RenderAttrib > TextureAttrib::make_all_off(void);
3326 17 get_num_on_stages 0 4 3753 32 TextureAttrib::get_num_on_stages 0 1 1628 76
/**
* Returns the number of stages that are turned on by the attribute.
*/
56
inline int TextureAttrib::get_num_on_stages(void) const;
3327 12 get_on_stage 0 4 3753 27 TextureAttrib::get_on_stage 0 1 1629 84
/**
* Returns the nth stage turned on by the attribute, sorted in render order.
*/
62
inline TextureStage *TextureAttrib::get_on_stage(int n) const;
3328 20 get_num_on_ff_stages 0 4 3753 35 TextureAttrib::get_num_on_ff_stages 0 1 1630 154
/**
* Returns the number of on-stages that are relevant to the classic fixed
* function pipeline. This excludes texture stages such as normal maps.
*/
59
inline int TextureAttrib::get_num_on_ff_stages(void) const;
3329 15 get_on_ff_stage 0 4 3753 30 TextureAttrib::get_on_ff_stage 0 1 1631 211
/**
* Returns the nth stage turned on by the attribute, sorted in render order,
* including only those relevant to the classic fixed function pipeline. This
* excludes texture stages such as normal maps.
*/
65
inline TextureStage *TextureAttrib::get_on_ff_stage(int n) const;
3330 15 get_ff_tc_index 0 4 3753 30 TextureAttrib::get_ff_tc_index 0 1 1632 315
/**
* For each TextureStage listed in get_on_ff_stage(), this returns a unique
* index number for the texture coordinate name used by that TextureStage. It
* is guaranteed to remain the same index number for each texcoord name (for a
* given set of TextureStages), even if the texture render order changes.
*/
55
inline int TextureAttrib::get_ff_tc_index(int n) const;
3331 12 has_on_stage 0 4 3753 27 TextureAttrib::has_on_stage 0 1 1633 94
/**
* Returns true if the indicated stage is turned on by the attrib, false
* otherwise.
*/
67
inline bool TextureAttrib::has_on_stage(TextureStage *stage) const;
3332 14 get_on_texture 0 4 3753 29 TextureAttrib::get_on_texture 0 1 1634 107
/**
* Returns the texture associated with the indicated stage, or NULL if no
* texture is associated.
*/
73
inline Texture *TextureAttrib::get_on_texture(TextureStage *stage) const;
3333 14 get_on_sampler 0 4 3753 29 TextureAttrib::get_on_sampler 0 1 1635 209
/**
* Returns the sampler associated with the indicated stage, or the one
* associated with its texture if no custom stage has been specified. It is
* an error to call this if the stage does not exist.
*/
84
inline SamplerState const &TextureAttrib::get_on_sampler(TextureStage *stage) const;
3334 21 get_on_stage_override 0 4 3753 36 TextureAttrib::get_on_stage_override 0 1 1636 74
/**
* Returns the override value associated with the indicated stage.
*/
75
inline int TextureAttrib::get_on_stage_override(TextureStage *stage) const;
3335 13 find_on_stage 0 4 3753 28 TextureAttrib::find_on_stage 0 1 1637 142
/**
* Returns the index number of the indicated TextureStage within the list of
* on_stages, or -1 if the indicated stage is not listed.
*/
66
int TextureAttrib::find_on_stage(TextureStage const *stage) const;
3336 0 0 0 0 0 0 0 0
0
3337 0 0 0 0 0 0 0 0
0
3338 0 0 0 0 0 0 0 0
0
3339 18 get_num_off_stages 0 4 3753 33 TextureAttrib::get_num_off_stages 0 1 1638 77
/**
* Returns the number of stages that are turned off by the attribute.
*/
57
inline int TextureAttrib::get_num_off_stages(void) const;
3340 13 get_off_stage 0 4 3753 28 TextureAttrib::get_off_stage 0 1 1639 101
/**
* Returns the nth stage turned off by the attribute, sorted in arbitrary
* (pointer) order.
*/
63
inline TextureStage *TextureAttrib::get_off_stage(int n) const;
3341 13 has_off_stage 0 4 3753 28 TextureAttrib::has_off_stage 0 1 1640 95
/**
* Returns true if the indicated stage is turned off by the attrib, false
* otherwise.
*/
68
inline bool TextureAttrib::has_off_stage(TextureStage *stage) const;
3342 11 has_all_off 0 4 3753 26 TextureAttrib::has_all_off 0 1 1641 99
/**
* Returns true if this attrib turns off all stages (although it may also turn
* some on).
*/
51
inline bool TextureAttrib::has_all_off(void) const;
3343 0 0 0 0 0 0 0 0
0
3344 11 is_identity 0 4 3753 26 TextureAttrib::is_identity 0 1 1642 102
/**
* Returns true if this is an identity attrib: it does not change the set of
* stages in use.
*/
51
inline bool TextureAttrib::is_identity(void) const;
3345 12 add_on_stage 0 4 3753 27 TextureAttrib::add_on_stage 0 2 1643 1644 292
/**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage added to the list of stages turned on by this attrib.
*/
/**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage added to the list of stages turned on by this attrib.
*/
266
ConstPointerTo< RenderAttrib > TextureAttrib::add_on_stage(TextureStage *stage, Texture *tex, int override = 0) const;
ConstPointerTo< RenderAttrib > TextureAttrib::add_on_stage(TextureStage *stage, Texture *tex, SamplerState const &sampler, int override = 0) const;
3346 15 remove_on_stage 0 4 3753 30 TextureAttrib::remove_on_stage 0 1 1645 149
/**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage removed from the list of stages turned on by this attrib.
*/
89
ConstPointerTo< RenderAttrib > TextureAttrib::remove_on_stage(TextureStage *stage) const;
3347 13 add_off_stage 0 4 3753 28 TextureAttrib::add_off_stage 0 1 1646 146
/**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage added to the list of stages turned off by this attrib.
*/
105
ConstPointerTo< RenderAttrib > TextureAttrib::add_off_stage(TextureStage *stage, int override = 0) const;
3348 16 remove_off_stage 0 4 3753 31 TextureAttrib::remove_off_stage 0 1 1647 150
/**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage removed from the list of stages turned off by this attrib.
*/
90
ConstPointerTo< RenderAttrib > TextureAttrib::remove_off_stage(TextureStage *stage) const;
3349 20 unify_texture_stages 0 4 3753 35 TextureAttrib::unify_texture_stages 0 1 1648 182
/**
* Returns a new TextureAttrib, just like this one, but with any included
* TextureAttribs that happen to have the same name as the given object
* replaced with the object.
*/
94
ConstPointerTo< RenderAttrib > TextureAttrib::unify_texture_stages(TextureStage *stage) const;
3350 14 get_class_slot 0 4 3753 29 TextureAttrib::get_class_slot 0 1 1649 0
47
static int TextureAttrib::get_class_slot(void);
3351 14 get_class_type 0 4 3753 29 TextureAttrib::get_class_type 0 1 1650 0
54
static TypeHandle TextureAttrib::get_class_type(void);
3352 14 ~TextureAttrib 0 4 3753 29 TextureAttrib::~TextureAttrib 0 0 0
36
TextureAttrib::~TextureAttrib(void);
3353 4 make 0 4 3760 18 TexGenAttrib::make 0 2 1651 1652 148
/**
* Constructs a TexGenAttrib that generates no stages at all.
*/
/**
* Constructs a TexGenAttrib that generates just the indicated stage.
*/
167
static ConstPointerTo< RenderAttrib > TexGenAttrib::make(void);
static ConstPointerTo< RenderAttrib > TexGenAttrib::make(TextureStage *stage, TexGenAttrib::Mode mode);
3354 12 make_default 0 4 3760 26 TexGenAttrib::make_default 0 1 1653 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
71
static ConstPointerTo< RenderAttrib > TexGenAttrib::make_default(void);
3355 9 add_stage 0 4 3760 23 TexGenAttrib::add_stage 0 2 1654 1655 445
/**
* Returns a new TexGenAttrib just like this one, with the indicated
* generation mode for the given stage. If this stage already exists, its
* mode is replaced.
*/
/**
* Returns a new TexGenAttrib just like this one, with the indicated
* generation mode for the given stage. If this stage already exists, its
* mode is replaced.
*
* This variant also accepts constant_value, which is only meaningful if mode
* is M_constant.
*/
249
ConstPointerTo< RenderAttrib > TexGenAttrib::add_stage(TextureStage *stage, TexGenAttrib::Mode mode) const;
ConstPointerTo< RenderAttrib > TexGenAttrib::add_stage(TextureStage *stage, TexGenAttrib::Mode mode, LTexCoord3 const &constant_value) const;
3356 12 remove_stage 0 4 3760 26 TexGenAttrib::remove_stage 0 1 1656 94
/**
* Returns a new TexGenAttrib just like this one, with the indicated stage
* removed.
*/
85
ConstPointerTo< RenderAttrib > TexGenAttrib::remove_stage(TextureStage *stage) const;
3357 8 is_empty 0 4 3760 22 TexGenAttrib::is_empty 0 1 1657 98
/**
* Returns true if no stages are defined in the TexGenAttrib, false if at
* least one is.
*/
40
bool TexGenAttrib::is_empty(void) const;
3358 9 has_stage 0 4 3760 23 TexGenAttrib::has_stage 0 1 1658 157
/**
* Returns true if there is a mode associated with the indicated stage, or
* false otherwise (in which case get_transform(stage) will return M_off).
*/
56
bool TexGenAttrib::has_stage(TextureStage *stage) const;
3359 8 get_mode 0 4 3760 22 TexGenAttrib::get_mode 0 1 1659 142
/**
* Returns the generation mode associated with the named texture stage, or
* M_off if nothing is associated with the indicated stage.
*/
69
TexGenAttrib::Mode TexGenAttrib::get_mode(TextureStage *stage) const;
3360 22 has_gen_texcoord_stage 0 4 3760 36 TexGenAttrib::has_gen_texcoord_stage 0 1 1660 207
/**
* Returns true if the indicated TextureStage will have texture coordinates
* generated for it automatically (and thus there is no need to upload the
* texture coordinates encoded in the vertices).
*/
69
bool TexGenAttrib::has_gen_texcoord_stage(TextureStage *stage) const;
3361 18 get_constant_value 0 4 3760 32 TexGenAttrib::get_constant_value 0 1 1661 133
/**
* Returns the constant value associated with the named texture stage. This
* is only meaningful if the mode is M_constant.
*/
78
LTexCoord3 const &TexGenAttrib::get_constant_value(TextureStage *stage) const;
3362 18 get_geom_rendering 0 4 3760 32 TexGenAttrib::get_geom_rendering 0 1 1662 182
/**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this TexGenAttrib is applied to a geom which includes the indicated
* geom_rendering bits.
*/
70
inline int TexGenAttrib::get_geom_rendering(int geom_rendering) const;
3363 14 get_class_slot 0 4 3760 28 TexGenAttrib::get_class_slot 0 1 1663 0
46
static int TexGenAttrib::get_class_slot(void);
3364 14 get_class_type 0 4 3760 28 TexGenAttrib::get_class_type 0 1 1664 0
53
static TypeHandle TexGenAttrib::get_class_type(void);
3365 12 OccluderNode 0 4 3761 26 OccluderNode::OccluderNode 0 1 1665 281
/**
* The default constructor creates a default occlusion polygon in the XZ plane
* (or XY plane in a y-up coordinate system). Use the normal Panda set_pos(),
* set_hpr(), set_scale() to position it appropriately, or replace the
* vertices with set_vertices().
*/
/**
*
*/
61
explicit OccluderNode::OccluderNode(std::string const &name);
3366 16 set_double_sided 0 4 3761 30 OccluderNode::set_double_sided 0 1 1666 62
/**
* If true, the back-face will also be used to occlude
*/
55
inline void OccluderNode::set_double_sided(bool value);
3367 15 is_double_sided 0 4 3761 29 OccluderNode::is_double_sided 0 1 1667 40
/**
* Is this occluder double-sided
*/
48
inline bool OccluderNode::is_double_sided(void);
3368 16 set_min_coverage 0 4 3761 30 OccluderNode::set_min_coverage 0 1 1668 202
/**
* Minimum screen coverage needed before occluder used. Range should be 0 to
* 1. For example, setting to 0.2 would mean that the occluder needs to cover
* 20% of the screen to be considered.
*/
62
inline void OccluderNode::set_min_coverage(PN_stdfloat value);
3369 16 get_min_coverage 0 4 3761 30 OccluderNode::get_min_coverage 0 1 1669 47
/**
* Returns the minimum screen coverage.
*/
56
inline PN_stdfloat OccluderNode::get_min_coverage(void);
3370 12 set_vertices 0 4 3761 26 OccluderNode::set_vertices 0 1 1670 176
/**
* Replaces the four vertices of the occluder polygon. The vertices should be
* defined in a counterclockwise orientation when looking at the face of the
* occluder.
*/
115
inline void OccluderNode::set_vertices(LPoint3 const &v0, LPoint3 const &v1, LPoint3 const &v2, LPoint3 const &v3);
3371 16 get_num_vertices 0 4 3761 30 OccluderNode::get_num_vertices 0 1 1671 99
/**
* Returns the number of vertices in the occluder polygon. This should always
* return 4.
*/
62
inline std::size_t OccluderNode::get_num_vertices(void) const;
3372 10 get_vertex 0 4 3761 24 OccluderNode::get_vertex 0 1 1672 58
/**
* Returns the nth vertex of the occluder polygon.
*/
68
inline LPoint3 const &OccluderNode::get_vertex(std::size_t n) const;
3373 10 set_vertex 0 4 3761 24 OccluderNode::set_vertex 0 1 1673 55
/**
* Sets the nth vertex of the occluder polygon.
*/
70
inline void OccluderNode::set_vertex(std::size_t n, LPoint3 const &v);
3374 0 0 0 0 0 0 0 0
0
3375 14 get_class_type 0 4 3761 28 OccluderNode::get_class_type 0 1 1674 0
53
static TypeHandle OccluderNode::get_class_type(void);
3376 4 make 0 4 3762 20 OccluderEffect::make 0 1 1675 68
/**
* Constructs a new OccluderEffect object that does nothing.
*/
65
static ConstPointerTo< RenderEffect > OccluderEffect::make(void);
3377 20 get_num_on_occluders 0 4 3762 36 OccluderEffect::get_num_on_occluders 0 1 1676 77
/**
* Returns the number of occluders that are enabled by the effectute.
*/
60
inline int OccluderEffect::get_num_on_occluders(void) const;
3378 15 get_on_occluder 0 4 3762 31 OccluderEffect::get_on_occluder 0 1 1677 85
/**
* Returns the nth occluder enabled by the effectute, sorted in render order.
*/
61
inline NodePath OccluderEffect::get_on_occluder(int n) const;
3379 15 has_on_occluder 0 4 3762 31 OccluderEffect::has_on_occluder 0 1 1678 95
/**
* Returns true if the indicated occluder is enabled by the effect, false
* otherwise.
*/
76
inline bool OccluderEffect::has_on_occluder(NodePath const &occluder) const;
3380 11 is_identity 0 4 3762 27 OccluderEffect::is_identity 0 1 1679 105
/**
* Returns true if this is an identity effect: it does not change the set of
* occluders in use.
*/
52
inline bool OccluderEffect::is_identity(void) const;
3381 15 add_on_occluder 0 4 3762 31 OccluderEffect::add_on_occluder 0 1 1680 150
/**
* Returns a new OccluderEffect, just like this one, but with the indicated
* occluder added to the list of occluders enabled by this effect.
*/
95
ConstPointerTo< RenderEffect > OccluderEffect::add_on_occluder(NodePath const &occluder) const;
3382 18 remove_on_occluder 0 4 3762 34 OccluderEffect::remove_on_occluder 0 1 1681 154
/**
* Returns a new OccluderEffect, just like this one, but with the indicated
* occluder removed from the list of occluders enabled by this effect.
*/
98
ConstPointerTo< RenderEffect > OccluderEffect::remove_on_occluder(NodePath const &occluder) const;
3383 14 get_class_type 0 4 3762 30 OccluderEffect::get_class_type 0 1 1682 0
55
static TypeHandle OccluderEffect::get_class_type(void);
3384 15 ~OccluderEffect 0 4 3762 31 OccluderEffect::~OccluderEffect 0 0 0
38
OccluderEffect::~OccluderEffect(void);
3385 13 PolylightNode 0 4 3763 28 PolylightNode::PolylightNode 0 2 1683 1684 71
/**
* Use PolylightNode() to construct a new PolylightNode object.
*/
133
explicit PolylightNode::PolylightNode(std::string const &name);
inline PolylightNode::PolylightNode(PolylightNode const &) = default;
3386 6 enable 0 4 3763 21 PolylightNode::enable 0 1 1685 28
/**
* Enable this light
*/
40
inline void PolylightNode::enable(void);
3387 7 disable 0 4 3763 22 PolylightNode::disable 0 1 1686 29
/**
* Disable this light
*/
41
inline void PolylightNode::disable(void);
3388 7 set_pos 0 4 3763 22 PolylightNode::set_pos 0 2 1687 1688 74
/**
* Set this light's position
*/
/**
* Set this light's position
*/
141
inline void PolylightNode::set_pos(LPoint3 const &position);
inline void PolylightNode::set_pos(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
3389 7 get_pos 0 4 3763 22 PolylightNode::get_pos 0 1 1689 40
/**
* Returns position as a LPoint3
*/
50
inline LPoint3 PolylightNode::get_pos(void) const;
3390 9 set_color 0 4 3763 24 PolylightNode::set_color 0 2 1690 1691 97
/**
* Set the light's color...
*/
/**
* Set the light's color... 3 floats between 0 and 1
*/
141
inline void PolylightNode::set_color(LColor const &color);
inline void PolylightNode::set_color(PN_stdfloat r, PN_stdfloat g, PN_stdfloat b);
3391 9 get_color 0 4 3763 24 PolylightNode::get_color 0 1 1692 46
/**
* Returns the light's color as LColor
*/
51
inline LColor PolylightNode::get_color(void) const;
3392 20 get_color_scenegraph 0 4 3763 35 PolylightNode::get_color_scenegraph 0 1 1693 173
/**
* This differs from get_color in that when applying the light color we need
* to make sure that a color flattening external to the PolylightNode is not
* ignored.
*/
62
inline LColor PolylightNode::get_color_scenegraph(void) const;
3393 10 set_radius 0 4 3763 25 PolylightNode::set_radius 0 1 1694 51
/**
* Set radius of the spherical light volume
*/
53
inline void PolylightNode::set_radius(PN_stdfloat r);
3394 10 get_radius 0 4 3763 25 PolylightNode::get_radius 0 1 1695 51
/**
* Get radius of the spherical light volume
*/
57
inline PN_stdfloat PolylightNode::get_radius(void) const;
3395 15 set_attenuation 0 4 3763 30 PolylightNode::set_attenuation 0 1 1696 48
/**
* Set ALINEAR or AQUADRATIC attenuation
*/
81
inline bool PolylightNode::set_attenuation(PolylightNode::Attenuation_Type type);
3396 15 get_attenuation 0 4 3763 30 PolylightNode::get_attenuation 0 1 1697 55
/**
* Get "linear" or "quadratic" attenuation type
*/
82
inline PolylightNode::Attenuation_Type PolylightNode::get_attenuation(void) const;
3397 6 set_a0 0 4 3763 21 PolylightNode::set_a0 0 1 1698 105
/**
* Set the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/
50
inline void PolylightNode::set_a0(PN_stdfloat a0);
3398 6 set_a1 0 4 3763 21 PolylightNode::set_a1 0 1 1699 105
/**
* Set the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/
50
inline void PolylightNode::set_a1(PN_stdfloat a1);
3399 6 set_a2 0 4 3763 21 PolylightNode::set_a2 0 1 1700 105
/**
* Set the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/
50
inline void PolylightNode::set_a2(PN_stdfloat a2);
3400 6 get_a0 0 4 3763 21 PolylightNode::get_a0 0 1 1701 105
/**
* Get the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/
53
inline PN_stdfloat PolylightNode::get_a0(void) const;
3401 6 get_a1 0 4 3763 21 PolylightNode::get_a1 0 1 1702 105
/**
* Get the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/
53
inline PN_stdfloat PolylightNode::get_a1(void) const;
3402 6 get_a2 0 4 3763 21 PolylightNode::get_a2 0 1 1703 105
/**
* Get the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/
53
inline PN_stdfloat PolylightNode::get_a2(void) const;
3403 10 flicker_on 0 4 3763 25 PolylightNode::flicker_on 0 1 1704 104
/**
* Set flickering to true so at every loop this light's color is varied based
* on flicker_type
*/
44
inline void PolylightNode::flicker_on(void);
3404 11 flicker_off 0 4 3763 26 PolylightNode::flicker_off 0 1 1705 30
/**
* Turn flickering off
*/
45
inline void PolylightNode::flicker_off(void);
3405 13 is_flickering 0 4 3763 28 PolylightNode::is_flickering 0 1 1706 44
/**
* Check is this light is flickering
*/
53
inline bool PolylightNode::is_flickering(void) const;
3406 16 set_flicker_type 0 4 3763 31 PolylightNode::set_flicker_type 0 1 1707 181
/**
* Flicker type can be FRANDOM or FSIN At a later point there might be a
* FCUSTOM Custom flicker will be a set of fix points recorded by animating
* the light's intensity
*/
78
inline bool PolylightNode::set_flicker_type(PolylightNode::Flicker_Type type);
3407 16 get_flicker_type 0 4 3763 31 PolylightNode::get_flicker_type 0 1 1708 34
/**
* Returns FRANDOM or FSIN
*/
79
inline PolylightNode::Flicker_Type PolylightNode::get_flicker_type(void) const;
3408 10 set_offset 0 4 3763 25 PolylightNode::set_offset 0 1 1709 142
/**
* Set the offset value for the random and sin flicker variations... used to
* tweak the flicker This value is added to the variation
*/
58
inline void PolylightNode::set_offset(PN_stdfloat offset);
3409 10 get_offset 0 4 3763 25 PolylightNode::get_offset 0 1 1710 73
/**
* Get the offset value for the random and sin flicker variations
*/
57
inline PN_stdfloat PolylightNode::get_offset(void) const;
3410 9 set_scale 0 4 3763 24 PolylightNode::set_scale 0 1 1711 148
/**
* Set the scale value for the random and sin flicker variations... used to
* tweak the flicker This value is multiplied with the variation
*/
56
inline void PolylightNode::set_scale(PN_stdfloat scale);
3411 9 get_scale 0 4 3763 24 PolylightNode::get_scale 0 1 1712 72
/**
* Get the scale value for the random and sin flicker variations
*/
56
inline PN_stdfloat PolylightNode::get_scale(void) const;
3412 13 set_step_size 0 4 3763 28 PolylightNode::set_step_size 0 1 1713 133
/**
* Set the step size for the sin function in flicker This is the increment
* size for the value supplied to the sin function
*/
59
inline void PolylightNode::set_step_size(PN_stdfloat step);
3413 13 get_step_size 0 4 3763 28 PolylightNode::get_step_size 0 1 1714 133
/**
* Get the step size for the sin function in flicker This is the increment
* size for the value supplied to the sin function
*/
60
inline PN_stdfloat PolylightNode::get_step_size(void) const;
3414 8 set_freq 0 4 3763 23 PolylightNode::set_freq 0 1 1715 39
/**
* Set frequency of sin flicker
*/
51
inline void PolylightNode::set_freq(PN_stdfloat f);
3415 8 get_freq 0 4 3763 23 PolylightNode::get_freq 0 1 1716 39
/**
* Get frequency of sin flicker
*/
55
inline PN_stdfloat PolylightNode::get_freq(void) const;
3416 11 operator == 0 4 3763 26 PolylightNode::operator == 0 1 1717 21
// Comparison methods
73
inline bool PolylightNode::operator ==(PolylightNode const &other) const;
3417 11 operator != 0 4 3763 26 PolylightNode::operator != 0 1 1718 0
73
inline bool PolylightNode::operator !=(PolylightNode const &other) const;
3418 10 operator < 0 4 3763 25 PolylightNode::operator < 0 1 1719 0
72
inline bool PolylightNode::operator <(PolylightNode const &other) const;
3419 10 compare_to 0 4 3763 25 PolylightNode::compare_to 0 1 1720 486
/**
* Returns a number less than zero if this PolylightNode sorts before the
* other one, greater than zero if it sorts after, or zero if they are
* equivalent.
*
* Two PolylightNodes are considered equivalent if they consist of exactly the
* same properties Otherwise, they are different; different PolylightNodes
* will be ranked in a consistent but undefined ordering; the ordering is
* useful only for placing the PolylightNodes in a sorted container like an
* STL set.
*/
64
int PolylightNode::compare_to(PolylightNode const &other) const;
3420 10 is_enabled 0 4 3763 25 PolylightNode::is_enabled 0 1 1721 45
/**
* Is this light is enabled/disabled?
*/
50
inline bool PolylightNode::is_enabled(void) const;
3421 14 get_class_type 0 4 3763 29 PolylightNode::get_class_type 0 1 1722 0
54
static TypeHandle PolylightNode::get_class_type(void);
3422 14 ~PolylightNode 0 4 3763 29 PolylightNode::~PolylightNode 0 0 0
36
PolylightNode::~PolylightNode(void);
3423 4 make 0 4 3766 21 PolylightEffect::make 0 3 1723 1724 1725 157
/**
* Constructs a new PolylightEffect object.
*/
/**
* Constructs a new PolylightEffect object.
*/
/**
* Constructs a new PolylightEffect object.
*/
407
static ConstPointerTo< RenderEffect > PolylightEffect::make(void);
static ConstPointerTo< RenderEffect > PolylightEffect::make(PN_stdfloat weight, PolylightEffect::ContribType contrib, LPoint3 const &effect_center);
static ConstPointerTo< RenderEffect > PolylightEffect::make(PN_stdfloat weight, PolylightEffect::ContribType contrib, LPoint3 const &effect_center, PolylightEffect::LightGroup const &lights);
3424 9 add_light 0 4 3766 26 PolylightEffect::add_light 0 1 1726 76
/**
* Add a PolylightNode object to this effect and return a new effect
*/
90
ConstPointerTo< RenderEffect > PolylightEffect::add_light(NodePath const &newlight) const;
3425 12 remove_light 0 4 3766 29 PolylightEffect::remove_light 0 1 1727 74
/**
* Remove a light from this effect. Return the new updated effect
*/
93
ConstPointerTo< RenderEffect > PolylightEffect::remove_light(NodePath const &newlight) const;
3426 10 set_weight 0 4 3766 27 PolylightEffect::set_weight 0 1 1728 241
/**
* Set weight and return a new effect... the reason this couldnt be done
* through make was because that would return a new effect without the
* lightgroup which is static and cant be accessed Here, we just pass that to
* the make
*/
80
ConstPointerTo< RenderEffect > PolylightEffect::set_weight(PN_stdfloat w) const;
3427 11 set_contrib 0 4 3766 28 PolylightEffect::set_contrib 0 1 1729 247
/**
* Set Contrib Type and return a new effect... the reason this couldnt be done
* through make was because that would return a new effect without the
* lightgroup which is static and cant be accessed Here, we just pass that to
* the make
*/
98
ConstPointerTo< RenderEffect > PolylightEffect::set_contrib(PolylightEffect::ContribType c) const;
3428 17 set_effect_center 0 4 3766 34 PolylightEffect::set_effect_center 0 1 1730 241
/**
* Set weight and return a new effect... the reason this couldnt be done
* through make was because that would return a new effect without the
* lightgroup which is static and cant be accessed Here, we just pass that to
* the make
*/
91
ConstPointerTo< RenderEffect > PolylightEffect::set_effect_center(LPoint3 const &ec) const;
3429 10 get_weight 0 4 3766 27 PolylightEffect::get_weight 0 1 1731 31
/**
* Get the weight value
*/
59
inline PN_stdfloat PolylightEffect::get_weight(void) const;
3430 11 get_contrib 0 4 3766 28 PolylightEffect::get_contrib 0 1 1732 40
/**
* Returns CT_all or CT_proximal
*/
77
inline PolylightEffect::ContribType PolylightEffect::get_contrib(void) const;
3431 17 get_effect_center 0 4 3766 34 PolylightEffect::get_effect_center 0 1 1733 49
/**
* Return the value of the _effect_center
*/
62
inline LPoint3 PolylightEffect::get_effect_center(void) const;
3432 9 has_light 0 4 3766 26 PolylightEffect::has_light 0 1 1734 100
/**
* Returns true if the indicated light is listed in the PolylightEffect, false
* otherwise.
*/
61
bool PolylightEffect::has_light(NodePath const &light) const;
3433 14 get_class_type 0 4 3766 31 PolylightEffect::get_class_type 0 1 1735 0
56
static TypeHandle PolylightEffect::get_class_type(void);
3434 16 ~PolylightEffect 0 4 3766 33 PolylightEffect::~PolylightEffect 0 0 0
40
PolylightEffect::~PolylightEffect(void);
3435 4 make 0 4 3770 18 ShaderAttrib::make 0 1 1736 65
/**
* Constructs a new ShaderAttrib object with nothing set.
*/
107
static ConstPointerTo< RenderAttrib > ShaderAttrib::make(Shader const *shader = nullptr, int priority = 0);
3436 8 make_off 0 4 3770 22 ShaderAttrib::make_off 0 1 1737 133
/**
* Constructs a new ShaderAttrib object that disables the use of shaders (it
* does not clear out all shader data, however.)
*/
67
static ConstPointerTo< RenderAttrib > ShaderAttrib::make_off(void);
3437 12 make_default 0 4 3770 26 ShaderAttrib::make_default 0 1 1738 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
71
static ConstPointerTo< RenderAttrib > ShaderAttrib::make_default(void);
3438 10 has_shader 0 4 3770 24 ShaderAttrib::has_shader 0 1 1739 109
/**
* If true, the shader field of this attribute overrides the shader field of
* the parent attribute.
*/
49
inline bool ShaderAttrib::has_shader(void) const;
3439 11 auto_shader 0 4 3770 25 ShaderAttrib::auto_shader 0 1 1740 142
/**
* If true, then this ShaderAttrib does not contain an explicit shader -
* instead, it requests the automatic generation of a shader.
*/
50
inline bool ShaderAttrib::auto_shader(void) const;
3440 19 get_shader_priority 0 4 3770 33 ShaderAttrib::get_shader_priority 0 1 1741 10
/**
*
*/
57
inline int ShaderAttrib::get_shader_priority(void) const;
3441 18 get_instance_count 0 4 3770 32 ShaderAttrib::get_instance_count 0 1 1742 105
/**
* Returns the number of geometry instances. A value of 0 means not to use
* instancing at all.
*/
56
inline int ShaderAttrib::get_instance_count(void) const;
3442 14 auto_normal_on 0 4 3770 28 ShaderAttrib::auto_normal_on 0 1 1743 0
53
inline bool ShaderAttrib::auto_normal_on(void) const;
3443 12 auto_glow_on 0 4 3770 26 ShaderAttrib::auto_glow_on 0 1 1744 10
/**
*
*/
51
inline bool ShaderAttrib::auto_glow_on(void) const;
3444 13 auto_gloss_on 0 4 3770 27 ShaderAttrib::auto_gloss_on 0 1 1745 10
/**
*
*/
52
inline bool ShaderAttrib::auto_gloss_on(void) const;
3445 12 auto_ramp_on 0 4 3770 26 ShaderAttrib::auto_ramp_on 0 1 1746 10
/**
*
*/
51
inline bool ShaderAttrib::auto_ramp_on(void) const;
3446 14 auto_shadow_on 0 4 3770 28 ShaderAttrib::auto_shadow_on 0 1 1747 10
/**
*
*/
53
inline bool ShaderAttrib::auto_shadow_on(void) const;
3447 10 set_shader 0 4 3770 24 ShaderAttrib::set_shader 0 1 1748 10
/**
*
*/
97
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader(Shader const *s, int priority = 0) const;
3448 14 set_shader_off 0 4 3770 28 ShaderAttrib::set_shader_off 0 1 1749 10
/**
*
*/
84
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_off(int priority = 0) const;
3449 15 set_shader_auto 0 4 3770 29 ShaderAttrib::set_shader_auto 0 2 1750 1751 116
/**
*
*/
/**
* Set auto shader with bitmask to customize use, e.g., to keep normal, glow,
* etc., on or off
*/
196
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_auto(int priority = 0) const;
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_auto(BitMask32 shader_switch, int priority = 0) const;
3450 12 clear_shader 0 4 3770 26 ShaderAttrib::clear_shader 0 1 1752 10
/**
*
*/
70
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader(void) const;
3451 16 set_shader_input 0 4 3770 30 ShaderAttrib::set_shader_input 0 3 1753 1754 1755 220
// Shader Inputs
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
/**
*
*/
302
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_input(ShaderInput const &input) const;
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_input(ShaderInput &&input) const;
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_input(CPT_InternalName , PyObject *, int priority = 0) const;
3452 17 set_shader_inputs 0 4 3770 31 ShaderAttrib::set_shader_inputs 0 1 1756 183
/**
* Returns a new ShaderAttrib with the given shader inputs set. This is a
* more efficient way to set multiple shader inputs than calling
* set_shader_input multiple times.
*/
103
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_inputs(PyObject *args, PyObject *kwargs) const;
3453 18 set_instance_count 0 4 3770 32 ShaderAttrib::set_instance_count 0 1 1757 211
/**
* Sets the geometry instance count. Do not confuse this with instanceTo,
* which is used for animation instancing, and has nothing to do with this. A
* value of 0 means not to use instancing at all.
*/
90
ConstPointerTo< RenderAttrib > ShaderAttrib::set_instance_count(int instance_count) const;
3454 8 set_flag 0 4 3770 22 ShaderAttrib::set_flag 0 1 1758 10
/**
*
*/
82
ConstPointerTo< RenderAttrib > ShaderAttrib::set_flag(int flag, bool value) const;
3455 10 clear_flag 0 4 3770 24 ShaderAttrib::clear_flag 0 1 1759 10
/**
*
*/
72
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_flag(int flag) const;
3456 18 clear_shader_input 0 4 3770 32 ShaderAttrib::clear_shader_input 0 2 1760 1761 22
/**
*
*/
/**
*
*/
188
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader_input(InternalName const *id) const;
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader_input(std::string const &id) const;
3457 23 clear_all_shader_inputs 0 4 3770 37 ShaderAttrib::clear_all_shader_inputs 0 1 1762 54
/**
* Clears all the shader inputs on the attrib.
*/
81
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_all_shader_inputs(void) const;
3458 8 get_flag 0 4 3770 22 ShaderAttrib::get_flag 0 1 1763 10
/**
*
*/
51
inline bool ShaderAttrib::get_flag(int flag) const;
3459 16 has_shader_input 0 4 3770 30 ShaderAttrib::has_shader_input 0 1 1764 68
/**
* Returns true if there is a ShaderInput of the given name.
*/
70
inline bool ShaderAttrib::has_shader_input(CPT_InternalName id) const;
3460 10 get_shader 0 4 3770 24 ShaderAttrib::get_shader 0 1 1765 186
/**
* Returns the shader object associated with the node. If get_override
* returns true, but get_shader returns NULL, that means that this attribute
* should disable the shader.
*/
51
Shader const *ShaderAttrib::get_shader(void) const;
3461 16 get_shader_input 0 4 3770 30 ShaderAttrib::get_shader_input 0 2 1766 1767 318
/**
* Returns the ShaderInput of the given name. If no such name is found, this
* function does not return NULL --- it returns the "blank" ShaderInput.
*/
/**
* Returns the ShaderInput of the given name. If no such name is found, this
* function does not return NULL --- it returns the "blank" ShaderInput.
*/
160
ShaderInput const &ShaderAttrib::get_shader_input(InternalName const *id) const;
ShaderInput const &ShaderAttrib::get_shader_input(std::string const &id) const;
3462 25 get_shader_input_nodepath 0 4 3770 39 ShaderAttrib::get_shader_input_nodepath 0 1 1768 115
/**
* Returns the ShaderInput as a nodepath. Assertion fails if there is none,
* or if it is not a nodepath.
*/
79
NodePath ShaderAttrib::get_shader_input_nodepath(InternalName const *id) const;
3463 23 get_shader_input_vector 0 4 3770 37 ShaderAttrib::get_shader_input_vector 0 1 1769 111
/**
* Returns the ShaderInput as a vector. Assertion fails if there is none, or
* if it is not a vector.
*/
72
LVecBase4 ShaderAttrib::get_shader_input_vector(InternalName *id) const;
3464 24 get_shader_input_texture 0 4 3770 38 ShaderAttrib::get_shader_input_texture 0 1 1770 207
/**
* Returns the ShaderInput as a texture. Assertion fails if there is none, or
* if it is not a texture.
*
* If sampler is not NULL, the sampler state to use for this texture is
* assigned to it.
*/
111
Texture *ShaderAttrib::get_shader_input_texture(InternalName const *id, SamplerState *sampler = nullptr) const;
3465 20 get_shader_input_ptr 0 4 3770 34 ShaderAttrib::get_shader_input_ptr 0 2 1771 1772 274
/**
* Returns the ShaderInput as a ShaderPtrData struct. Assertion fails if
* there is none. or if it is not a PTA(double/float)
*/
/**
* Returns the ShaderInput as a ShaderPtrData struct. Assertion fails if
* there is none. or if it is not a PTA(double/float)
*/
194
Shader::ShaderPtrData const *ShaderAttrib::get_shader_input_ptr(InternalName const *id) const;
bool ShaderAttrib::get_shader_input_ptr(InternalName const *id, Shader::ShaderPtrData &data) const;
3466 23 get_shader_input_matrix 0 4 3770 37 ShaderAttrib::get_shader_input_matrix 0 1 1773 123
/**
* Returns the ShaderInput as a matrix. Assertion fails if there is none, or
* if it is not a matrix or NodePath.
*/
102
LMatrix4 const &ShaderAttrib::get_shader_input_matrix(InternalName const *id, LMatrix4 &matrix) const;
3467 23 get_shader_input_buffer 0 4 3770 37 ShaderAttrib::get_shader_input_buffer 0 1 1774 123
/**
* Returns the ShaderInput as a ShaderBuffer. Assertion fails if there is
* none, or if it is not a ShaderBuffer.
*/
82
ShaderBuffer *ShaderAttrib::get_shader_input_buffer(InternalName const *id) const;
3468 26 register_with_read_factory 0 4 3770 40 ShaderAttrib::register_with_read_factory 0 1 1775 53
/**
* Factory method to generate a Shader object
*/
59
static void ShaderAttrib::register_with_read_factory(void);
3469 14 get_class_slot 0 4 3770 28 ShaderAttrib::get_class_slot 0 1 1776 0
46
static int ShaderAttrib::get_class_slot(void);
3470 14 get_class_type 0 4 3770 28 ShaderAttrib::get_class_type 0 1 1777 0
53
static TypeHandle ShaderAttrib::get_class_type(void);
3471 13 ~ShaderAttrib 0 4 3770 27 ShaderAttrib::~ShaderAttrib 0 0 0
34
ShaderAttrib::~ShaderAttrib(void);
3472 4 make 0 4 3775 22 ShowBoundsEffect::make 0 1 1778 52
/**
* Constructs a new ShowBoundsEffect object.
*/
81
static ConstPointerTo< RenderEffect > ShowBoundsEffect::make(bool tight = false);
3473 9 get_tight 0 4 3775 27 ShowBoundsEffect::get_tight 0 1 1779 157
/**
* Returns true if the "tight" flag was set, meaning the effect should compute
* and draw the tight bounding-box of the node's vertices every frame.
*/
52
inline bool ShowBoundsEffect::get_tight(void) const;
3474 14 get_class_type 0 4 3775 32 ShowBoundsEffect::get_class_type 0 1 1780 0
57
static TypeHandle ShowBoundsEffect::get_class_type(void);
3475 17 ~ShowBoundsEffect 0 4 3775 35 ShowBoundsEffect::~ShowBoundsEffect 0 0 0
42
ShowBoundsEffect::~ShowBoundsEffect(void);
3476 4 make 0 4 3776 24 TexProjectorEffect::make 0 1 1781 74
/**
* Constructs a TexProjectorEffect that modifies no stages at all.
*/
69
static ConstPointerTo< RenderEffect > TexProjectorEffect::make(void);
3477 9 add_stage 0 4 3776 29 TexProjectorEffect::add_stage 0 1 1782 536
/**
* Returns a new TexProjectorEffect just like this one, with the indicated
* projection for the given stage. If this stage already exists, its
* projection definition is replaced.
*
* The relative transform between the "from" and the "to" nodes is
* automatically applied to the texture transform each frame.
*
* Furthermore, if the "to" node is a LensNode, its projection matrix is also
* applied to the texture transform. In this case, the lens_index may be used
* to select the particular lens that should be used.
*/
150
ConstPointerTo< RenderEffect > TexProjectorEffect::add_stage(TextureStage *stage, NodePath const &from, NodePath const &to, int lens_index = 0) const;
3478 12 remove_stage 0 4 3776 32 TexProjectorEffect::remove_stage 0 1 1783 100
/**
* Returns a new TexProjectorEffect just like this one, with the indicated
* stage removed.
*/
91
ConstPointerTo< RenderEffect > TexProjectorEffect::remove_stage(TextureStage *stage) const;
3479 8 is_empty 0 4 3776 28 TexProjectorEffect::is_empty 0 1 1784 104
/**
* Returns true if no stages are defined in the TexProjectorEffect, false if
* at least one is.
*/
46
bool TexProjectorEffect::is_empty(void) const;
3480 9 has_stage 0 4 3776 29 TexProjectorEffect::has_stage 0 1 1785 182
/**
* Returns true if there is a transform associated with the indicated stage,
* or false otherwise (in which case get_transform(stage) will return the
* identity transform).
*/
62
bool TexProjectorEffect::has_stage(TextureStage *stage) const;
3481 8 get_from 0 4 3776 28 TexProjectorEffect::get_from 0 1 1786 227
/**
* Returns the "from" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*/
65
NodePath TexProjectorEffect::get_from(TextureStage *stage) const;
3482 6 get_to 0 4 3776 26 TexProjectorEffect::get_to 0 1 1787 343
/**
* Returns the "to" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*
* Furthermore, if the "to" node is a LensNode, its projection matrix is also
* applied to the texture transform.
*/
63
NodePath TexProjectorEffect::get_to(TextureStage *stage) const;
3483 14 get_lens_index 0 4 3776 34 TexProjectorEffect::get_lens_index 0 1 1788 221
/**
* Returns the lens_index associated with the TexProjectorEffect on the
* indicated stage. This is only used if the "to" node is a LensNode, in
* which case it specifies the particular lens that should be used.
*/
66
int TexProjectorEffect::get_lens_index(TextureStage *stage) const;
3484 14 get_class_type 0 4 3776 34 TexProjectorEffect::get_class_type 0 1 1789 0
59
static TypeHandle TexProjectorEffect::get_class_type(void);
3485 11 make_screen 0 4 3777 26 ScissorEffect::make_screen 0 1 1790 169
/**
* Constructs a new screen-relative ScissorEffect. The frame defines a left,
* right, bottom, top region, relative to the DisplayRegion. See
* ScissorAttrib.
*/
107
static ConstPointerTo< RenderEffect > ScissorEffect::make_screen(LVecBase4 const &frame, bool clip = true);
3486 9 make_node 0 4 3777 24 ScissorEffect::make_node 0 3 1791 1792 1793 699
/**
* Constructs a new node-relative ScissorEffect, with no points. This empty
* ScissorEffect does nothing. You must then call add_point a number of times
* to add the points you require.
*/
/**
* Constructs a new node-relative ScissorEffect. The two points are
* understood to be relative to the indicated node, or the current node if the
* NodePath is empty, and determine the diagonally opposite corners of the
* scissor region.
*/
/**
* Constructs a new node-relative ScissorEffect. The four points are
* understood to be relative to the indicated node, or the current node if the
* indicated NodePath is empty, and determine four points surrounding the
* scissor region.
*/
387
static ConstPointerTo< RenderEffect > ScissorEffect::make_node(bool clip = true);
static ConstPointerTo< RenderEffect > ScissorEffect::make_node(LPoint3 const &a, LPoint3 const &b, NodePath const &node = NodePath());
static ConstPointerTo< RenderEffect > ScissorEffect::make_node(LPoint3 const &a, LPoint3 const &b, LPoint3 const &c, LPoint3 const &d, NodePath const &node = NodePath());
3487 9 add_point 0 4 3777 24 ScissorEffect::add_point 0 1 1794 325
/**
* Returns a new ScissorEffect with the indicated point added. It is only
* valid to call this on a "node" type ScissorEffect. The full set of points,
* projected into screen space, defines the bounding volume of the rectangular
* scissor region.
*
* Each point may be relative to a different node, if desired.
*/
119
ConstPointerTo< RenderEffect > ScissorEffect::add_point(LPoint3 const &point, NodePath const &node = NodePath()) const;
3488 9 is_screen 0 4 3777 24 ScissorEffect::is_screen 0 1 1795 149
/**
* Returns true if the ScissorEffect is a screen-based effect, meaning
* get_frame() has a meaningful value, but get_a() and get_b() do not.
*/
49
inline bool ScissorEffect::is_screen(void) const;
3489 9 get_frame 0 4 3777 24 ScissorEffect::get_frame 0 1 1796 253
/**
* If is_screen() returns true, this method may be called to query the screen-
* based scissor frame. This is a series of left, right, bottom, top,
* representing the scissor frame relative to the current DisplayRegion. See
* ScissorAttrib.
*/
61
inline LVecBase4 const &ScissorEffect::get_frame(void) const;
3490 14 get_num_points 0 4 3777 29 ScissorEffect::get_num_points 0 1 1797 77
/**
* Returns the number of node-based scissor points. See get_point().
*/
53
inline int ScissorEffect::get_num_points(void) const;
3491 9 get_point 0 4 3777 24 ScissorEffect::get_point 0 1 1798 293
/**
* If is_screen() returns false, then get_num_points() and get_point() may be
* called to query the node-based scissor frame. These return n points (at
* least two), which are understood to be in the space of this node, and which
* define any opposite corners of the scissor frame.
*/
60
inline LPoint3 const &ScissorEffect::get_point(int n) const;
3492 8 get_node 0 4 3777 23 ScissorEffect::get_node 0 1 1799 114
/**
* Returns the node to which the nth point is relative, or empty NodePath to
* indicate the current node.
*/
53
inline NodePath ScissorEffect::get_node(int n) const;
3493 8 get_clip 0 4 3777 23 ScissorEffect::get_clip 0 1 1800 104
/**
* Returns true if this ScissorEffect actually enables scissoring, or false if
* it culls only.
*/
48
inline bool ScissorEffect::get_clip(void) const;
3494 14 get_class_type 0 4 3777 29 ScissorEffect::get_class_type 0 1 1801 0
54
static TypeHandle ScissorEffect::get_class_type(void);
3495 14 ~ScissorEffect 0 4 3777 29 ScissorEffect::~ScissorEffect 0 0 0
36
ScissorEffect::~ScissorEffect(void);
3496 17 SceneGraphReducer 0 4 3778 36 SceneGraphReducer::SceneGraphReducer 0 2 1802 1803 10
/**
*
*/
177
inline explicit SceneGraphReducer::SceneGraphReducer(GraphicsStateGuardianBase *gsg = nullptr);
inline SceneGraphReducer::SceneGraphReducer(SceneGraphReducer const &) = default;
3497 18 ~SceneGraphReducer 0 4 3778 37 SceneGraphReducer::~SceneGraphReducer 0 0 10
/**
*
*/
51
inline SceneGraphReducer::~SceneGraphReducer(void);
3498 7 set_gsg 0 4 3778 26 SceneGraphReducer::set_gsg 0 1 1804 360
/**
* Specifies the particular GraphicsStateGuardian that this object will
* attempt to optimize to. The GSG may specify parameters such as maximum
* number of vertices per vertex data, max number of vertices per primitive,
* and whether triangle strips are preferred. It also affects the types of
* vertex column data that is created by premunge().
*/
64
void SceneGraphReducer::set_gsg(GraphicsStateGuardianBase *gsg);
3499 9 clear_gsg 0 4 3778 28 SceneGraphReducer::clear_gsg 0 1 1805 218
/**
* Specifies that no particular GraphicsStateGuardian will be used to guide
* the optimization. The SceneGraphReducer will instead use config variables
* such as max-collect-vertices and max-collect-indices.
*/
40
void SceneGraphReducer::clear_gsg(void);
3500 7 get_gsg 0 4 3778 26 SceneGraphReducer::get_gsg 0 1 1806 120
/**
* Returns the particular GraphicsStateGuardian that this object will attempt
* to optimize to. See set_gsg().
*/
73
inline GraphicsStateGuardianBase *SceneGraphReducer::get_gsg(void) const;
3501 18 set_combine_radius 0 4 3778 37 SceneGraphReducer::set_combine_radius 0 1 1807 413
/**
* Specifies the radius that is used in conjunction with CS_within_radius to
* decide whether a subgraph's siblings should be combined into a single node
* or not.
*
* If the CS_within_radius bit is included in the combine_siblings_bits
* parameter passed to flatten, than any nodes whose bounding volume is
* smaller than the indicated radius will be combined together (as if CS_other
* were set).
*/
78
inline void SceneGraphReducer::set_combine_radius(PN_stdfloat combine_radius);
3502 18 get_combine_radius 0 4 3778 37 SceneGraphReducer::get_combine_radius 0 1 1808 110
/**
* Returns the radius that is used in conjunction with CS_within_radius. See
* set_combine_radius().
*/
69
inline PN_stdfloat SceneGraphReducer::get_combine_radius(void) const;
3503 13 apply_attribs 0 4 3778 32 SceneGraphReducer::apply_attribs 0 2 1809 1810 756
/**
* Walks the scene graph, accumulating attribs of the indicated types,
* applying them to the vertices, and removing them from the scene graph.
* This has a performance optimization benefit in itself, but is especially
* useful to pave the way for a call to flatten() and greatly improve the
* effectiveness of the flattening operation.
*
* Multiply instanced geometry is duplicated before the attribs are applied.
*
* Of course, this operation does make certain dynamic operations impossible.
*/
/**
* This flavor of apply_attribs() can be called recursively from within
* another flatten process (e.g. from
* PandaNode::apply_attribs_to_vertices()). The parameters were presumably
* received from a parent SceneGraphReducer object.
*/
353
inline void SceneGraphReducer::apply_attribs(PandaNode *node, int attrib_types = (~ ((::SceneGraphReducer::TT_clip_plane | ::SceneGraphReducer::TT_cull_face) | ::SceneGraphReducer::TT_apply_texture_color)));
inline void SceneGraphReducer::apply_attribs(PandaNode *node, AccumulatedAttribs const &attribs, int attrib_types, GeomTransformer &transformer);
3504 7 flatten 0 4 3778 26 SceneGraphReducer::flatten 0 1 1811 559
/**
* Simplifies the graph by removing unnecessary nodes and nodes.
*
* In general, a node (and its parent node) is a candidate for removal if the
* node has no siblings and the node has no special properties.
*
* If combine_siblings_bits is nonzero, some sibling nodes (according to the
* bits set in combine_siblings_bits) may also be collapsed into a single
* node. This will further reduce scene graph complexity, sometimes
* substantially, at the cost of reduced spatial separation.
*
* Returns the number of nodes removed from the graph.
*/
75
int SceneGraphReducer::flatten(PandaNode *root, int combine_siblings_bits);
3505 13 remove_column 0 4 3778 32 SceneGraphReducer::remove_column 0 1 1812 154
/**
* Removes the indicated data column from any GeomVertexDatas found at the
* indicated root and below. Returns the number of GeomNodes modified.
*/
82
int SceneGraphReducer::remove_column(PandaNode *root, InternalName const *column);
3506 21 make_compatible_state 0 4 3778 40 SceneGraphReducer::make_compatible_state 0 1 1813 254
/**
* Searches for GeomNodes that contain multiple Geoms that differ only in
* their ColorAttribs. If such a GeomNode is found, then all the colors are
* pushed down into the vertices. This makes it feasible for the geoms to be
* unified later.
*/
62
int SceneGraphReducer::make_compatible_state(PandaNode *root);
3507 22 make_compatible_format 0 4 3778 41 SceneGraphReducer::make_compatible_format 0 1 1814 715
/**
* Walks through the tree at this node and below and unifies the
* GeomVertexFormat for any GeomVertexData objects that are found, so that all
* eligible vdatas (according to collect_bits; see collect_vertex_data) will
* share the same vertex format.
*
* This will add unused columns where necessary to match formats. It can
* result in suboptimal performance if used needlessly.
*
* There is usually no reason to call this explicitly, since
* collect_vertex_data() will do this anyway if it has not been done already.
* However, calling it ahead of time can make that future call to
* collect_vertex_data() run a little bit faster.
*
* The return value is the number of vertex datas modified.
*/
96
inline int SceneGraphReducer::make_compatible_format(PandaNode *root, int collect_bits = (~ 0));
3508 9 decompose 0 4 3778 28 SceneGraphReducer::decompose 0 1 1815 396
/**
* Calls decompose() on every GeomNode at this level and below.
*
* There is usually no reason to call this explicitly, since unify() will do
* this anyway if it needs to be done. However, calling it ahead of time can
* make that future call to unify() run a little bit faster.
*
* This operation has no effect if the config variable preserve-triangle-
* strips has been set true.
*/
51
void SceneGraphReducer::decompose(PandaNode *root);
3509 19 collect_vertex_data 0 4 3778 38 SceneGraphReducer::collect_vertex_data 0 1 1816 579
/**
* Collects all different GeomVertexData blocks that have compatible formats
* at this node and below into a single, unified block (or at least multiple
* larger blocks). This is intended to reduce rendering overhead incurred by
* switching vertex buffers. It can also make a subsequent call to unify()
* much more effective than it would have been otherwise.
*
* The set of bits passed in collect_bits indicates which properties are used
* to differentiate GeomVertexData blocks. If it is 0, then more blocks will
* be combined together than if it is nonzero.
*/
93
inline int SceneGraphReducer::collect_vertex_data(PandaNode *root, int collect_bits = (~ 0));
3510 15 make_nonindexed 0 4 3778 34 SceneGraphReducer::make_nonindexed 0 1 1817 308
/**
* Converts indexed geometry to nonindexed geometry at the indicated node and
* below, by duplicating vertices where necessary. The parameter
* nonindexed_bits is a union of bits defined in
* SceneGraphReducer::MakeNonindexed, which specifes which types of geometry
* to avoid making nonindexed.
*/
92
inline int SceneGraphReducer::make_nonindexed(PandaNode *root, int nonindexed_bits = (~ 0));
3511 5 unify 0 4 3778 24 SceneGraphReducer::unify 0 1 1818 224
/**
* Calls unify() on every GeomNode at this level and below. This attempts to
* reduce the total number of individual Geoms and GeomPrimitives by combining
* these objects wherever possible. See GeomNode::unify().
*/
68
void SceneGraphReducer::unify(PandaNode *root, bool preserve_order);
3512 22 remove_unused_vertices 0 4 3778 41 SceneGraphReducer::remove_unused_vertices 0 1 1819 273
/**
* Removes any vertices in GeomVertexDatas that are no longer used at this
* level and below. This requires remapping vertex indices in all of the
* GeomPrimitives, to remove holes in the GeomVertexDatas. It is normally not
* necessary to call this explicitly.
*/
64
void SceneGraphReducer::remove_unused_vertices(PandaNode *root);
3513 8 premunge 0 4 3778 27 SceneGraphReducer::premunge 0 1 1820 320
/**
* Walks the scene graph rooted at this node and below, and uses the indicated
* GSG to premunge every Geom found to optimize it for eventual rendering on
* the indicated GSG. If there is no GSG indicated for the SceneGraphReducer,
* this is a no-op.
*
* This operation will also apply to stashed children.
*/
91
inline void SceneGraphReducer::premunge(PandaNode *root, RenderState const *initial_state);
3514 18 check_live_flatten 0 4 3778 37 SceneGraphReducer::check_live_flatten 0 1 1821 359
/**
* In a non-release build, returns false if the node is correctly not in a
* live scene graph. (Calling flatten on a node that is part of a live scene
* graph, for instance, a node somewhere under render, can cause problems in a
* multithreaded environment.)
*
* If allow_live_flatten is true, or in a release build, this always returns
* true.
*/
60
bool SceneGraphReducer::check_live_flatten(PandaNode *node);
3515 34 py_decode_NodePath_from_bam_stream 0 1 0 34 py_decode_NodePath_from_bam_stream 0 1 1882 0
63
NodePath py_decode_NodePath_from_bam_stream(vector_uchar data);
3516 42 py_decode_NodePath_from_bam_stream_persist 0 1 0 42 py_decode_NodePath_from_bam_stream_persist 0 1 1883 0
92
NodePath py_decode_NodePath_from_bam_stream_persist(PyObject *unpickler, vector_uchar data);
3517 13 ParamNodePath 0 4 3783 28 ParamNodePath::ParamNodePath 0 1 1822 74
/**
* Creates a new ParamNodePath storing the given node path object.
*/
49
ParamNodePath::ParamNodePath(NodePath node_path);
3518 9 get_value 0 4 3783 24 ParamNodePath::get_value 0 1 1823 58
/**
* Retrieves the NodePath stored in the parameter.
*/
53
inline NodePath ParamNodePath::get_value(void) const;
3519 14 get_class_type 0 4 3783 29 ParamNodePath::get_class_type 0 1 1824 0
54
static TypeHandle ParamNodePath::get_class_type(void);
3520 10 PortalNode 0 4 3785 22 PortalNode::PortalNode 0 2 1825 1826 349
/**
* Default constructor, just an empty node, no geo This is used to read portal
* from model. You can also use this from python to create an empty portal.
* Then you can set the vertices yourself, with addVertex.
*/
/**
* Create a default rectangle as portal. Use this to create an arbitrary
* portal and setup from Python
*/
/**
*
*/
154
explicit PortalNode::PortalNode(std::string const &name);
explicit PortalNode::PortalNode(std::string const &name, LPoint3 pos, PN_stdfloat scale = 10.0);
3521 15 set_portal_mask 0 4 3785 27 PortalNode::set_portal_mask 0 1 1827 97
/**
* Simultaneously sets both the "from" and "into" PortalMask values to the
* same thing.
*/
57
inline void PortalNode::set_portal_mask(PortalMask mask);
3522 20 set_from_portal_mask 0 4 3785 32 PortalNode::set_from_portal_mask 0 1 1828 218
/**
* Sets the "from" PortalMask. In order for a portal to be detected from this
* object into another object, the intersection of this object's "from" mask
* and the other object's "into" mask must be nonzero.
*/
62
inline void PortalNode::set_from_portal_mask(PortalMask mask);
3523 20 set_into_portal_mask 0 4 3785 32 PortalNode::set_into_portal_mask 0 1 1829 218
/**
* Sets the "into" PortalMask. In order for a portal to be detected from
* another object into this object, the intersection of the other object's
* "from" mask and this object's "into" mask must be nonzero.
*/
62
inline void PortalNode::set_into_portal_mask(PortalMask mask);
3524 20 get_from_portal_mask 0 4 3785 32 PortalNode::get_from_portal_mask 0 1 1830 229
/**
* Returns the current "from" PortalMask. In order for a portal to be
* detected from this object into another object, the intersection of this
* object's "from" mask and the other object's "into" mask must be nonzero.
*/
63
inline PortalMask PortalNode::get_from_portal_mask(void) const;
3525 20 get_into_portal_mask 0 4 3785 32 PortalNode::get_into_portal_mask 0 1 1831 229
/**
* Returns the current "into" PortalMask. In order for a portal to be
* detected from another object into this object, the intersection of the
* other object's "from" mask and this object's "into" mask must be nonzero.
*/
63
inline PortalMask PortalNode::get_into_portal_mask(void) const;
3526 15 set_portal_geom 0 4 3785 27 PortalNode::set_portal_geom 0 1 1832 496
/**
* Sets the state of the "portal geom" flag for this PortalNode. Normally,
* this is false; when this is set true, the PortalSolids in this node will
* test for portals with actual renderable geometry, in addition to whatever
* PortalSolids may be indicated by the from_portal_mask.
*
* Setting this to true causes this to test *all* GeomNodes for portals. It
* is an all-or-none thing; there is no way to portal with only some
* GeomNodes, as GeomNodes have no into_portal_mask.
*/
51
inline void PortalNode::set_portal_geom(bool flag);
3527 15 get_portal_geom 0 4 3785 27 PortalNode::get_portal_geom 0 1 1833 85
/**
* Returns the current state of the portal_geom flag. See set_portal_geom().
*/
52
inline bool PortalNode::get_portal_geom(void) const;
3528 14 clear_vertices 0 4 3785 26 PortalNode::clear_vertices 0 1 1834 63
/**
* Resets the vertices of the portal to the empty list.
*/
45
inline void PortalNode::clear_vertices(void);
3529 10 add_vertex 0 4 3785 22 PortalNode::add_vertex 0 1 1835 153
/**
* Adds a new vertex to the portal polygon. The vertices should be defined in
* a counterclockwise orientation when viewing through the portal.
*/
58
inline void PortalNode::add_vertex(LPoint3 const &vertex);
3530 16 get_num_vertices 0 4 3785 28 PortalNode::get_num_vertices 0 1 1836 64
/**
* Returns the number of vertices in the portal polygon.
*/
52
inline int PortalNode::get_num_vertices(void) const;
3531 10 get_vertex 0 4 3785 22 PortalNode::get_vertex 0 1 1837 56
/**
* Returns the nth vertex of the portal polygon.
*/
58
inline LPoint3 const &PortalNode::get_vertex(int n) const;
3532 11 set_cell_in 0 4 3785 23 PortalNode::set_cell_in 0 1 1838 52
/**
* Sets the cell that this portal belongs to
*/
58
inline void PortalNode::set_cell_in(NodePath const &cell);
3533 11 get_cell_in 0 4 3785 23 PortalNode::get_cell_in 0 1 1839 52
/**
* Sets the cell that this portal belongs to
*/
52
inline NodePath PortalNode::get_cell_in(void) const;
3534 12 set_cell_out 0 4 3785 24 PortalNode::set_cell_out 0 1 1840 54
/**
* Sets the cell that this portal leads out to
*/
59
inline void PortalNode::set_cell_out(NodePath const &cell);
3535 12 get_cell_out 0 4 3785 24 PortalNode::get_cell_out 0 1 1841 54
/**
* Sets the cell that this portal leads out to
*/
53
inline NodePath PortalNode::get_cell_out(void) const;
3536 14 set_clip_plane 0 4 3785 26 PortalNode::set_clip_plane 0 1 1842 80
/**
* this is set if the portal will clip against its left and right planes
*/
51
inline void PortalNode::set_clip_plane(bool value);
3537 13 is_clip_plane 0 4 3785 25 PortalNode::is_clip_plane 0 1 1843 64
/**
* Is this portal clipping against its left-right planes
*/
44
inline bool PortalNode::is_clip_plane(void);
3538 11 set_visible 0 4 3785 23 PortalNode::set_visible 0 1 1844 53
/**
* this is set if the portal is facing camera
*/
48
inline void PortalNode::set_visible(bool value);
3539 10 is_visible 0 4 3785 22 PortalNode::is_visible 0 1 1845 43
/**
* Is this portal facing the camera
*/
41
inline bool PortalNode::is_visible(void);
3540 13 set_max_depth 0 4 3785 25 PortalNode::set_max_depth 0 1 1846 63
/**
* Set the maximum depth this portal will be visible at
*/
49
inline void PortalNode::set_max_depth(int value);
3541 13 get_max_depth 0 4 3785 25 PortalNode::get_max_depth 0 1 1847 67
/**
* Returns the maximum depth this portal will be visible at
*/
43
inline int PortalNode::get_max_depth(void);
3542 8 set_open 0 4 3785 20 PortalNode::set_open 0 1 1848 55
/**
* Python sets this based on curent camera zone
*/
45
inline void PortalNode::set_open(bool value);
3543 7 is_open 0 4 3785 19 PortalNode::is_open 0 1 1849 55
/**
* Is this portal open from current camera zone
*/
38
inline bool PortalNode::is_open(void);
3544 0 0 0 0 0 0 0 0
0
3545 14 get_class_type 0 4 3785 26 PortalNode::get_class_type 0 1 1850 0
51
static TypeHandle PortalNode::get_class_type(void);
3546 8 make_off 0 4 3787 23 ScissorAttrib::make_off 0 1 1851 112
/**
* Constructs a new ScissorAttrib object that removes the scissor region and
* fills the DisplayRegion.
*/
68
static ConstPointerTo< RenderAttrib > ScissorAttrib::make_off(void);
3547 4 make 0 4 3787 19 ScissorAttrib::make 0 2 1852 1853 434
/**
* Constructs a ScissorAttrib that restricts rendering to the indicated frame
* within the current DisplayRegion. (0,0) is the lower-left corner of the
* DisplayRegion, and (1,1) is the upper-right corner.
*/
/**
* Constructs a ScissorAttrib that restricts rendering to the indicated frame
* within the current DisplayRegion. (0,0) is the lower-left corner of the
* DisplayRegion, and (1,1) is the upper-right corner.
*/
222
static inline ConstPointerTo< RenderAttrib > ScissorAttrib::make(PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top);
static ConstPointerTo< RenderAttrib > ScissorAttrib::make(LVecBase4 const &frame);
3548 12 make_default 0 4 3787 27 ScissorAttrib::make_default 0 1 1854 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
72
static ConstPointerTo< RenderAttrib > ScissorAttrib::make_default(void);
3549 6 is_off 0 4 3787 21 ScissorAttrib::is_off 0 1 1855 119
/**
* Returns true if the ScissorAttrib is an 'off' ScissorAttrib, indicating
* that scissor testing is disabled.
*/
46
inline bool ScissorAttrib::is_off(void) const;
3550 9 get_frame 0 4 3787 24 ScissorAttrib::get_frame 0 1 1856 234
/**
* Returns the left, right, bottom, top coordinates of the scissor frame.
* This defines a frame within the current DisplayRegion, where 0,0 is the
* lower-left corner of the DisplayRegion, and 1,1 is the upper-right corner.
*/
61
inline LVecBase4 const &ScissorAttrib::get_frame(void) const;
3551 14 get_class_slot 0 4 3787 29 ScissorAttrib::get_class_slot 0 1 1857 0
47
static int ScissorAttrib::get_class_slot(void);
3552 14 get_class_type 0 4 3787 29 ScissorAttrib::get_class_type 0 1 1858 0
54
static TypeHandle ScissorAttrib::get_class_type(void);
3553 14 ~ScissorAttrib 0 4 3787 29 ScissorAttrib::~ScissorAttrib 0 0 0
36
ScissorAttrib::~ScissorAttrib(void);
3554 4 make 0 4 3788 22 ShadeModelAttrib::make 0 1 1859 149
/**
* Constructs a new ShadeModelAttrib object that specifies whether to draw
* polygons with flat shading or with per-vertex (smooth) shading.
*/
90
static ConstPointerTo< RenderAttrib > ShadeModelAttrib::make(ShadeModelAttrib::Mode mode);
3555 12 make_default 0 4 3788 30 ShadeModelAttrib::make_default 0 1 1860 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
75
static ConstPointerTo< RenderAttrib > ShadeModelAttrib::make_default(void);
3556 8 get_mode 0 4 3788 26 ShadeModelAttrib::get_mode 0 1 1861 34
/**
* Returns the shade mode.
*/
69
inline ShadeModelAttrib::Mode ShadeModelAttrib::get_mode(void) const;
3557 14 get_class_slot 0 4 3788 32 ShadeModelAttrib::get_class_slot 0 1 1862 0
50
static int ShadeModelAttrib::get_class_slot(void);
3558 14 get_class_type 0 4 3788 32 ShadeModelAttrib::get_class_type 0 1 1863 0
57
static TypeHandle ShadeModelAttrib::get_class_type(void);
3559 17 ~ShadeModelAttrib 0 4 3788 35 ShadeModelAttrib::~ShadeModelAttrib 0 0 0
42
ShadeModelAttrib::~ShadeModelAttrib(void);
3560 8 make_off 0 4 3790 23 StencilAttrib::make_off 0 1 1864 69
/**
* Constructs a StencilAttrib that has stenciling turned off.
*/
68
static ConstPointerTo< RenderAttrib > StencilAttrib::make_off(void);
3561 12 make_default 0 4 3790 27 StencilAttrib::make_default 0 1 1865 145
/**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/
72
static ConstPointerTo< RenderAttrib > StencilAttrib::make_default(void);
3562 4 make 0 4 3790 19 StencilAttrib::make 0 1 1866 49
/**
* Constructs a front face StencilAttrib.
*/
420
static ConstPointerTo< RenderAttrib > StencilAttrib::make(bool front_enable, RenderAttrib::PandaCompareFunc front_comparison_function, StencilAttrib::StencilOperation stencil_fail_operation, StencilAttrib::StencilOperation stencil_pass_z_fail_operation, StencilAttrib::StencilOperation front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask = (~ (unsigned int)(0)));
3563 12 make_2_sided 0 4 3790 27 StencilAttrib::make_2_sided 0 1 1867 48
/**
* Constructs a two-sided StencilAttrib.
*/
676
static ConstPointerTo< RenderAttrib > StencilAttrib::make_2_sided(bool front_enable, bool back_enable, RenderAttrib::PandaCompareFunc front_comparison_function, StencilAttrib::StencilOperation stencil_fail_operation, StencilAttrib::StencilOperation stencil_pass_z_fail_operation, StencilAttrib::StencilOperation front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask, RenderAttrib::PandaCompareFunc back_comparison_function, StencilAttrib::StencilOperation back_stencil_fail_operation, StencilAttrib::StencilOperation back_stencil_pass_z_fail_operation, StencilAttrib::StencilOperation back_stencil_pass_z_pass_operation);
3564 15 make_with_clear 0 4 3790 30 StencilAttrib::make_with_clear 0 1 1868 49
/**
* Constructs a front face StencilAttrib.
*/
445
static ConstPointerTo< RenderAttrib > StencilAttrib::make_with_clear(bool front_enable, RenderAttrib::PandaCompareFunc front_comparison_function, StencilAttrib::StencilOperation stencil_fail_operation, StencilAttrib::StencilOperation stencil_pass_z_fail_operation, StencilAttrib::StencilOperation front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask, bool clear, unsigned int clear_value);
3565 23 make_2_sided_with_clear 0 4 3790 38 StencilAttrib::make_2_sided_with_clear 0 1 1869 48
/**
* Constructs a two-sided StencilAttrib.
*/
725
static ConstPointerTo< RenderAttrib > StencilAttrib::make_2_sided_with_clear(bool front_enable, bool back_enable, RenderAttrib::PandaCompareFunc front_comparison_function, StencilAttrib::StencilOperation stencil_fail_operation, StencilAttrib::StencilOperation stencil_pass_z_fail_operation, StencilAttrib::StencilOperation front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask, RenderAttrib::PandaCompareFunc back_comparison_function, StencilAttrib::StencilOperation back_stencil_fail_operation, StencilAttrib::StencilOperation back_stencil_pass_z_fail_operation, StencilAttrib::StencilOperation back_stencil_pass_z_pass_operation, bool clear, unsigned int clear_value);
3566 16 get_render_state 0 4 3790 31 StencilAttrib::get_render_state 0 1 1870 32
/**
* Returns render state.
*/
117
inline unsigned int StencilAttrib::get_render_state(StencilAttrib::StencilRenderState render_state_identifier) const;
3567 14 get_class_slot 0 4 3790 29 StencilAttrib::get_class_slot 0 1 1871 0
47
static int StencilAttrib::get_class_slot(void);
3568 14 get_class_type 0 4 3790 29 StencilAttrib::get_class_type 0 1 1872 0
54
static TypeHandle StencilAttrib::get_class_type(void);
3569 14 ~StencilAttrib 0 4 3790 29 StencilAttrib::~StencilAttrib 0 0 0
36
StencilAttrib::~StencilAttrib(void);
3570 10 has_shader 0 4 3794 22 ShaderPool::has_shader 0 1 1873 76
/**
* Returns true if the shader has ever been loaded, false otherwise.
*/
68
static inline bool ShaderPool::has_shader(Filename const &filename);
3571 13 verify_shader 0 4 3794 25 ShaderPool::verify_shader 0 1 1874 306
/**
* Loads the given filename up into a shader, if it has not already been
* loaded, and returns true to indicate success, or false to indicate failure.
* If this returns true, it is guaranteed that a subsequent call to
* load_shader() with the same shader name will return a valid Shader pointer.
*/
71
static inline bool ShaderPool::verify_shader(Filename const &filename);
3572 11 load_shader 0 4 3794 23 ShaderPool::load_shader 0 1 1875 261
/**
* Loads the given filename up into a shader, if it has not already been
* loaded, and returns the new shader. If a shader with the same filename was
* previously loaded, returns that one instead. If the shader file cannot be
* found, returns NULL.
*/
89
static inline ConstPointerTo< Shader > ShaderPool::load_shader(Filename const &filename);
3573 10 add_shader 0 4 3794 22 ShaderPool::add_shader 0 1 1876 171
/**
* Adds the indicated already-loaded shader to the pool. The shader will
* always replace any previously-loaded shader in the pool that had the same
* filename.
*/
84
static inline void ShaderPool::add_shader(Filename const &filename, Shader *shader);
3574 14 release_shader 0 4 3794 26 ShaderPool::release_shader 0 1 1877 270
/**
* Removes the indicated shader from the pool, indicating it will never be
* loaded again; the shader may then be freed. If this function is never
* called, a reference count will be maintained on every shader every loaded,
* and shaders will never be freed.
*/
72
static inline void ShaderPool::release_shader(Filename const &filename);
3575 19 release_all_shaders 0 4 3794 31 ShaderPool::release_all_shaders 0 1 1878 85
/**
* Releases all shaders in the pool and restores the pool to the empty state.
*/
57
static inline void ShaderPool::release_all_shaders(void);
3576 15 garbage_collect 0 4 3794 27 ShaderPool::garbage_collect 0 1 1879 209
/**
* Releases only those shaders in the pool that have a reference count of
* exactly 1; i.e. only those shaders that are not being used outside of the
* pool. Returns the number of shaders released.
*/
52
static inline int ShaderPool::garbage_collect(void);
3577 13 list_contents 0 4 3794 25 ShaderPool::list_contents 0 1 1880 80
/**
* Lists the contents of the shader pool to the indicated output stream.
*/
64
static inline void ShaderPool::list_contents(std::ostream &out);
3578 5 write 0 4 3794 17 ShaderPool::write 0 1 1881 80
/**
* Lists the contents of the shader pool to the indicated output stream.
*/
49
static void ShaderPool::write(std::ostream &out);
3579 11 ~ShaderPool 0 4 3794 23 ShaderPool::~ShaderPool 0 0 0
30
ShaderPool::~ShaderPool(void);
1883
1 0 0 6 3 3604 0 0 0 2 4 this 3 3795 5 other 1 3795
2 0 0 6 4 3597 0 0 317 /**
* Provides an arbitrary ordering among all unique TransformStates, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* Note that if this returns 0, it doesn't necessarily imply that operator ==
* returns true; it uses a very slightly different comparison threshold.
*/ 2 4 this 3 3795 5 other 1 3795
3 0 0 6 4 3597 0 0 528 /**
* Provides an arbitrary ordering among all unique TransformStates, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* Note that if this returns 0, it doesn't necessarily imply that operator ==
* returns true; it uses a very slightly different comparison threshold.
*
* If uniquify_matrix is true, then matrix-defined TransformStates are also
* uniqified. If uniquify_matrix is false, then only component-defined
* TransformStates are uniquified, which is less expensive.
*/ 3 4 this 3 3795 5 other 1 3795 15 uniquify_matrix 1 3604
4 0 0 6 5 3604 0 0 0 2 4 this 3 3795 5 other 1 3795
5 0 0 6 6 3797 0 0 55 /**
* Returns a suitable hash value for phash_map.
*/ 1 4 this 3 3795
6 0 0 7 7 3795 0 0 44 /**
* Constructs an identity transform.
*/ 0
7 0 0 7 8 3795 0 0 103 /**
* Constructs an invalid transform; for instance, the result of inverting a
* singular matrix.
*/ 0
8 0 0 7 9 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 1 3 pos 1 3799
9 0 0 7 10 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 1 3 hpr 1 3799
10 0 0 7 11 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 1 4 quat 1 3800
11 0 0 7 12 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 2 3 pos 1 3799 3 hpr 1 3799
12 0 0 7 13 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 1 5 scale 1 3799
13 0 0 7 13 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 1 5 scale 1 3602
14 0 0 7 14 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 1 5 shear 1 3799
15 0 0 7 15 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 3 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799
16 0 0 7 16 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 3 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799
17 0 0 7 17 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 4 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799 5 shear 1 3799
18 0 0 7 18 3795 0 0 68 /**
* Makes a new TransformState with the specified components.
*/ 4 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799 5 shear 1 3799
19 0 0 7 19 3795 0 0 79 /**
* Makes a new TransformState with the specified transformation matrix.
*/ 1 3 mat 1 3801
20 0 0 7 20 3795 0 0 72 /**
* Makes a new 2-d TransformState with the specified components.
*/ 1 3 pos 1 3802
21 0 0 7 21 3795 0 0 72 /**
* Makes a new 2-d TransformState with the specified components.
*/ 1 6 rotate 1 3602
22 0 0 7 22 3795 0 0 72 /**
* Makes a new 2-d TransformState with the specified components.
*/ 2 3 pos 1 3802 6 rotate 1 3602
23 0 0 7 23 3795 0 0 72 /**
* Makes a new 2-d TransformState with the specified components.
*/ 1 5 scale 1 3802
24 0 0 7 23 3795 0 0 72 /**
* Makes a new 2-d TransformState with the specified components.
*/ 1 5 scale 1 3602
25 0 0 7 24 3795 0 0 72 /**
* Makes a new 2-d TransformState with the specified components.
*/ 1 5 shear 1 3602
26 0 0 7 25 3795 0 0 72 /**
* Makes a new 2-d TransformState with the specified components.
*/ 3 3 pos 1 3802 6 rotate 1 3602 5 scale 1 3802
27 0 0 7 26 3795 0 0 84 /**
* Makes a new two-dimensional TransformState with the specified components.
*/ 4 3 pos 1 3802 6 rotate 1 3602 5 scale 1 3802 5 shear 1 3602
28 0 0 7 27 3795 0 0 102 /**
* Makes a new two-dimensional TransformState with the specified 3x3
* transformation matrix.
*/ 1 3 mat 1 3806
29 0 0 6 28 3604 0 0 92 /**
* Returns true if the transform represents the identity matrix, false
* otherwise.
*/ 1 4 this 3 3795
30 0 0 6 29 3604 0 0 168 /**
* Returns true if the transform represents an invalid matrix, for instance
* the result of inverting a singular matrix, or false if the transform is
* valid.
*/ 1 4 this 3 3795
31 0 0 6 30 3604 0 0 154 /**
* Returns true if the transform represents a singular transform (that is, it
* has a zero scale, and it cannot be inverted), or false otherwise.
*/ 1 4 this 3 3795
32 0 0 6 31 3604 0 0 206 /**
* Returns true if the transform has been constructed entirely using the 2-d
* transform operations, e.g. make_pos2d(), and therefore operates strictly
* in two-dimensional space on X and Y only.
*/ 1 4 this 3 3795
33 0 0 6 32 3604 0 0 654 /**
* Returns true if the transform can be described by separate pos, hpr, and
* scale components. Most transforms we use in everyday life can be so
* described, but some kinds of transforms (for instance, those involving a
* skew) cannot.
*
* This is not related to whether the transform was originally described
* componentwise. Even a transform that was constructed with a 4x4 may return
* true here if the matrix is a simple affine matrix with no skew.
*
* If this returns true, you may safely call get_hpr() and get_scale() to
* retrieve the components. (You may always safely call get_pos() whether
* this returns true or false.)
*/ 1 4 this 3 3795
34 0 0 6 33 3604 0 0 454 /**
* Returns true if the transform was specified componentwise, or false if it
* was specified with a general 4x4 matrix. If this is true, the components
* returned by get_pos() and get_scale() will be exactly those that were set;
* otherwise, these functions will return computed values. If this is true,
* the rotation may have been set either with a hpr trio or with a quaternion;
* hpr_given() or quat_given() can resolve the difference.
*/ 1 4 this 3 3795
35 0 0 6 34 3604 0 0 200 /**
* Returns true if the rotation was specified via a trio of Euler angles,
* false otherwise. If this is true, get_hpr() will be exactly as set;
* otherwise, it will return a computed value.
*/ 1 4 this 3 3795
36 0 0 6 35 3604 0 0 191 /**
* Returns true if the rotation was specified via a quaternion, false
* otherwise. If this is true, get_quat() will be exactly as set; otherwise,
* it will return a computed value.
*/ 1 4 this 3 3795
37 0 0 6 36 3604 0 0 194 /**
* Returns true if the transform's pos component can be extracted out
* separately. This is generally always true, unless the transform is invalid
* (i.e. is_invalid() returns true).
*/ 1 4 this 3 3795
38 0 0 6 37 3604 0 0 199 /**
* Returns true if the transform's rotation component can be extracted out
* separately and described as a set of Euler angles. This is generally true
* only when has_components() is true.
*/ 1 4 this 3 3795
39 0 0 6 38 3604 0 0 190 /**
* Returns true if the transform's rotation component can be extracted out
* separately and described as a quaternion. This is generally true only when
* has_components() is true.
*/ 1 4 this 3 3795
40 0 0 6 39 3604 0 0 154 /**
* Returns true if the transform's scale component can be extracted out
* separately. This is generally true only when has_components() is true.
*/ 1 4 this 3 3795
41 0 0 6 40 3604 0 0 98 /**
* Returns true if the scale is uniform 1.0, or false if the scale has some
* real value.
*/ 1 4 this 3 3795
42 0 0 6 41 3604 0 0 201 /**
* Returns true if the scale is uniform across all three axes (and therefore
* can be expressed as a single number), or false if the transform has a
* different scale in different dimensions.
*/ 1 4 this 3 3795
43 0 0 6 42 3604 0 0 154 /**
* Returns true if the transform's shear component can be extracted out
* separately. This is generally true only when has_components() is true.
*/ 1 4 this 3 3795
44 0 0 6 43 3604 0 0 121 /**
* Returns true if the shear component is non-zero, false if it is zero or if
* the matrix cannot be decomposed.
*/ 1 4 this 3 3795
45 0 0 6 44 3604 0 0 134 /**
* Returns true if the transform can be described as a matrix. This is
* generally always true, unless is_invalid() is true.
*/ 1 4 this 3 3795
46 0 0 6 45 3810 0 0 115 /**
* Returns the pos component of the transform. It is an error to call this if
* has_pos() returned false.
*/ 1 4 this 3 3795
47 0 0 6 46 3799 0 0 152 /**
* Returns the rotation component of the transform as a trio of Euler angles.
* It is an error to call this if has_components() returned false.
*/ 1 4 this 3 3795
48 0 0 6 47 3800 0 0 412 /**
* Returns the rotation component of the transform as a quaternion. The
* return value will be normalized if a normalized quaternion was given to the
* constructor (or if the quaternion was computed implicitly); it will be non-
* normalized if a non-normalized quaternion was given to the constructor.
* See also get_norm_quat().
*
* It is an error to call this if has_components() returned false.
*/ 1 4 this 3 3795
49 0 0 6 48 3800 0 0 247 /**
* Returns the rotation component of the transform as a quaternion. Unlike
* the result of get_quat(), the return value of this method is guaranteed to
* be normalized. It is an error to call this if has_components() returned
* false.
*/ 1 4 this 3 3795
50 0 0 6 49 3799 0 0 124 /**
* Returns the scale component of the transform. It is an error to call this
* if has_components() returned false.
*/ 1 4 this 3 3795
51 0 0 6 50 3602 0 0 147 /**
* Returns the scale component of the transform, as a single number. It is an
* error to call this if has_uniform_scale() returned false.
*/ 1 4 this 3 3795
52 0 0 6 51 3799 0 0 124 /**
* Returns the shear component of the transform. It is an error to call this
* if has_components() returned false.
*/ 1 4 this 3 3795
53 0 0 6 52 3801 0 0 59 /**
* Returns the matrix that describes the transform.
*/ 1 4 this 3 3795
54 0 0 7 53 3811 0 0 130 /**
* Returns the pos component of the 2-d transform. It is an error to call
* this if has_pos() or is_2d() returned false.
*/ 1 4 this 3 3795
55 0 0 6 54 3602 0 0 195 /**
* Returns the rotation component of the 2-d transform as an angle in degrees
* clockwise about the origin. It is an error to call this if
* has_components() or is_2d() returned false.
*/ 1 4 this 3 3795
56 0 0 7 55 3811 0 0 139 /**
* Returns the scale component of the 2-d transform. It is an error to call
* this if has_components() or is_2d() returned false.
*/ 1 4 this 3 3795
57 0 0 6 56 3602 0 0 139 /**
* Returns the shear component of the 2-d transform. It is an error to call
* this if has_components() or is_2d() returned false.
*/ 1 4 this 3 3795
58 0 0 7 57 3812 0 0 126 /**
* Returns the 3x3 matrix that describes the 2-d transform. It is an error to
* call this if is_2d() returned false.
*/ 1 4 this 3 3795
59 0 0 7 77 3795 0 0 151 /**
* Returns a new TransformState object that represents the original
* TransformState with its pos component replaced with the indicated value.
*/ 2 4 this 3 3795 3 pos 1 3799
60 0 0 7 78 3795 0 0 172 /**
* Returns a new TransformState object that represents the original
* TransformState with its rotation component replaced with the indicated
* value, if possible.
*/ 2 4 this 3 3795 3 hpr 1 3799
61 0 0 7 79 3795 0 0 172 /**
* Returns a new TransformState object that represents the original
* TransformState with its rotation component replaced with the indicated
* value, if possible.
*/ 2 4 this 3 3795 4 quat 1 3800
62 0 0 7 80 3795 0 0 169 /**
* Returns a new TransformState object that represents the original
* TransformState with its scale component replaced with the indicated value,
* if possible.
*/ 2 4 this 3 3795 5 scale 1 3799
63 0 0 7 81 3795 0 0 169 /**
* Returns a new TransformState object that represents the original
* TransformState with its shear component replaced with the indicated value,
* if possible.
*/ 2 4 this 3 3795 5 shear 1 3799
64 0 0 7 82 3795 0 0 155 /**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its pos component replaced with the indicated value.
*/ 2 4 this 3 3795 3 pos 1 3802
65 0 0 7 83 3795 0 0 176 /**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its rotation component replaced with the indicated
* value, if possible.
*/ 2 4 this 3 3795 6 rotate 1 3602
66 0 0 7 84 3795 0 0 173 /**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its scale component replaced with the indicated value,
* if possible.
*/ 2 4 this 3 3795 5 scale 1 3802
67 0 0 7 85 3795 0 0 173 /**
* Returns a new TransformState object that represents the original 2-d
* TransformState with its shear component replaced with the indicated value,
* if possible.
*/ 2 4 this 3 3795 5 shear 1 3602
68 0 0 7 86 3795 0 0 408 /**
* Returns a new TransformState object that represents the composition of this
* state with the other state.
*
* The result of this operation is cached, and will be retained as long as
* both this TransformState object and the other TransformState object
* continue to exist. Should one of them destruct, the cached entry will be
* removed, and its pointer will be allowed to destruct as well.
*/ 2 4 this 3 3795 5 other 1 3795
69 0 0 7 87 3795 0 0 268 /**
* Returns a new TransformState object that represents the composition of this
* state's inverse with the other state.
*
* This is similar to compose(), but is particularly useful for computing the
* relative state of a node as viewed from some other node.
*/ 2 4 this 3 3795 5 other 1 3795
70 0 0 7 88 3795 0 0 199 /**
* Returns the inverse of this transform. If you are going to immediately
* compose this result with another TransformState, it is faster to do it in
* one operation with invert_compose().
*/ 1 4 this 3 3795
71 0 0 7 89 3795 0 0 331 /**
* Returns the pointer to the unique TransformState in the cache that is
* equivalent to this one. This may be the same pointer as this object, or it
* may be a different pointer; but it will be an equivalent object, and it
* will be a shared pointer. This may be called from time to time to improve
* cache benefits.
*/ 1 4 this 3 3795
72 0 0 6 90 3597 0 0 261 /**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this TransformState is applied to a geom which includes the indicated
* geom_rendering bits. The RenderState's get_geom_rendering() should already
* have been applied.
*/ 2 4 this 3 3795 14 geom_rendering 1 3597
73 0 0 4 91 3813 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3795
74 0 0 6 92 3604 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3795
75 0 0 4 93 3813 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3795
76 0 0 6 94 3604 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3795
77 0 0 6 95 3797 0 0 278 /**
* Returns the number of entries in the composition cache for this
* TransformState. This is the number of other TransformStates whose
* composition with this one has been cached. This number is not useful for
* any practical reason other than performance analysis.
*/ 1 4 this 3 3795
78 0 0 6 96 3797 0 0 256 /**
* Returns the number of entries in the invert_composition cache for this
* TransformState. This is similar to the composition cache, but it records
* cache entries for the invert_compose() operation. See
* get_composition_cache_num_entries().
*/ 1 4 this 3 3795
79 0 0 6 97 3797 0 0 337 /**
* Returns the number of slots in the composition cache for this
* TransformState. You may use this as an upper bound when walking through
* all of the composition cache results via get_composition_cache_source() or
* result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 1 4 this 3 3795
80 0 0 7 98 3795 0 0 303 /**
* Returns the source TransformState of the nth element in the composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element. See get_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3795 1 n 1 3797
81 0 0 7 99 3795 0 0 373 /**
* Returns the result TransformState of the nth element in the composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element.
*
* In general, a->compose(a->get_composition_cache_source(n)) ==
* a->get_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3795 1 n 1 3797
82 0 0 6 100 3797 0 0 344 /**
* Returns the number of slots in the composition cache for this
* TransformState. You may use this as an upper bound when walking through
* all of the composition cache results via
* get_invert_composition_cache_source() or result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 1 4 this 3 3795
83 0 0 7 101 3795 0 0 317 /**
* Returns the source TransformState of the nth element in the invert
* composition cache. Returns NULL if there doesn't happen to be an entry in
* the nth element. See get_invert_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3795 1 n 1 3797
84 0 0 7 102 3795 0 0 401 /**
* Returns the result TransformState of the nth element in the invert
* composition cache. Returns NULL if there doesn't happen to be an entry in
* the nth element.
*
* In general, a->invert_compose(a->get_invert_composition_cache_source(n)) ==
* a->get_invert_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3795 1 n 1 3797
85 0 0 6 103 3604 0 0 163 /**
* Returns true if the composition cache and invert composition cache for this
* particular TransformState are self-consistent and valid, false otherwise.
*/ 1 4 this 3 3795
86 0 0 6 104 3627 0 0 0 1 4 this 3 3795
87 0 0 6 105 3627 0 0 0 1 4 this 3 3795
88 0 0 4 106 3813 0 0 10 /**
*
*/ 2 4 this 3 3795 3 out 1 3814
89 0 0 4 107 3813 0 0 10 /**
*
*/ 3 4 this 3 3795 3 out 1 3814 12 indent_level 1 3597
90 0 0 4 108 3813 0 0 208 /**
* Writes a brief description of the composition cache and invert composition
* cache to the indicated ostream. This is not useful except for performance
* analysis, to examine the cache structure.
*/ 3 4 this 3 3795 3 out 1 3814 12 indent_level 1 3597
91 0 0 6 109 3597 0 0 147 /**
* Returns the total number of unique TransformState objects allocated in the
* world. This will go up and down during normal operations.
*/ 0
92 0 0 6 110 3597 0 0 612 /**
* Returns the total number of TransformState objects that have been allocated
* but have no references outside of the internal TransformState cache.
*
* A nonzero return value is not necessarily indicative of leaked references;
* it is normal for two TransformState objects, both of which have references
* held outside the cache, to have the result of their composition stored
* within the cache. This result will be retained within the cache until one
* of the base TransformStates is released.
*
* Use list_cycles() to get an idea of the number of actual "leaked"
* TransformState objects.
*/ 0
93 0 0 6 111 3597 0 0 617 /**
* Empties the cache of composed TransformStates. This makes every
* TransformState forget what results when it is composed with other
* TransformStates.
*
* This will eliminate any TransformState objects that have been allocated but
* have no references outside of the internal TransformState map. It will not
* eliminate TransformState objects that are still in use.
*
* Nowadays, this method should not be necessary, as reference-count cycles in
* the composition cache should be automatically detected and broken.
*
* The return value is the number of TransformStates freed by this operation.
*/ 0
94 0 0 6 112 3597 0 0 297 /**
* Performs a garbage-collection cycle. This must be called periodically if
* garbage-collect-states is true to ensure that TransformStates get cleaned
* up appropriately. It does no harm to call it even if this variable is not
* true, but there is probably no advantage in that case.
*/ 0
95 0 0 4 113 3813 0 0 565 /**
* Detects all of the reference-count cycles in the cache and reports them to
* standard output.
*
* These cycles may be inadvertently created when state compositions cycle
* back to a starting point. Nowadays, these cycles should be automatically
* detected and broken, so this method should never list any cycles unless
* there is a bug in that detection logic.
*
* The cycles listed here are not leaks in the strictest sense of the word,
* since they can be reclaimed by a call to clear_cache(); but they will not
* be reclaimed automatically.
*/ 1 3 out 1 3814
96 0 0 4 114 3813 0 0 172 /**
* Lists all of the TransformStates in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/ 1 3 out 1 3814
97 0 0 6 115 3604 0 0 282 /**
* Ensures that the cache is still stored in sorted order, and that none of
* the cache elements have been inadvertently deleted. Returns true if so,
* false if there is a problem (which implies someone has modified one of the
* supposedly-const TransformState objects).
*/ 0
98 0 0 6 116 3627 0 0 0 0
99 0 0 6 117 3627 0 0 0 0
100 0 0 7 118 3817 0 0 0 0
101 0 0 6 120 3597 0 0 117 /**
* Returns the slot number assigned to the indicated TypeHandle, or 0 if no
* slot number has been assigned.
*/ 2 4 this 3 3818 11 type_handle 1 3817
102 0 0 6 121 3597 0 0 0 0
103 0 0 6 122 3597 0 0 135 /**
* Returns the number of RenderAttrib slots that have been allocated. This is
* one more than the highest slot number in use.
*/ 1 4 this 3 3818
104 0 0 7 123 3817 0 0 57 /**
* Returns the TypeHandle associated with slot n.
*/ 2 4 this 3 3818 4 slot 1 3597
105 0 0 6 124 3597 0 0 58 /**
* Returns the sort number associated with slot n.
*/ 2 4 this 3 3818 4 slot 1 3597
106 0 0 4 125 3813 0 0 58 /**
* Changes the sort number associated with slot n.
*/ 3 4 this 3 3820 4 slot 1 3597 4 sort 1 3597
107 0 0 7 126 3611 0 0 172 /**
* Returns the default RenderAttrib object associated with slot n. This is
* the attrib that should be applied in the absence of any other attrib of
* this type.
*/ 2 4 this 3 3818 4 slot 1 3597
108 0 0 6 127 3597 0 0 66 /**
* Returns the number of entries in the sorted_slots list.
*/ 1 4 this 3 3818
109 0 0 6 128 3597 0 0 170 /**
* Returns the nth slot in sorted order. By traversing this list, you will
* retrieve all the slot numbers in order according to their registered sort
* value.
*/ 2 4 this 3 3818 1 n 1 3597
110 0 0 6 129 3820 0 0 10 /**
*
*/ 0
111 0 0 7 132 3611 0 0 322 /**
* Returns a new RenderAttrib object that represents the composition of this
* attrib with the other attrib. In most cases, this is the same as the other
* attrib; a compose b produces b. Some kinds of attributes, like a
* TextureTransform, for instance, might produce a new result: a compose b
* produces c.
*/ 2 4 this 3 3611 5 other 1 3611
112 0 0 7 133 3611 0 0 583 /**
* Returns a new RenderAttrib object that represents the composition of the
* inverse of this attrib with the other attrib. In most cases, this is the
* same as the other attrib; !a compose b produces b. Some kinds of
* attributes, like a TextureTransform, for instance, might produce a new
* result: !a compose b produces c.
*
* This is similar to compose() except that the source attrib is inverted
* first. This is used to compute the relative attribute for one node as
* viewed from some other node, which is especially useful for transform-type
* attributes.
*/ 2 4 this 3 3611 5 other 1 3611
113 0 0 6 134 3604 0 0 951 /**
* Intended to be overridden by derived RenderAttrib types to specify how two
* consecutive RenderAttrib objects of the same type interact.
*
* This should return false if a RenderAttrib on a higher node will compose
* into a RenderAttrib on a lower node that has a higher override value, or
* true if the lower RenderAttrib will completely replace the state.
*
* The default behavior is false: normally, a RenderAttrib in the graph cannot
* completely override a RenderAttrib above it, regardless of its override
* value--instead, the two attribs are composed. But for some kinds of
* RenderAttribs, it is useful to allow this kind of override.
*
* This method only handles the one special case of a lower RenderAttrib with
* a higher override value. If the higher RenderAttrib has a higher override
* value, it always completely overrides. And if both RenderAttribs have the
* same override value, they are always composed.
*/ 1 4 this 3 3611
114 0 0 6 135 3597 0 0 368 /**
* Provides an arbitrary ordering among all unique RenderAttribs, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* This method is not needed outside of the RenderAttrib class because all
* equivalent RenderAttrib objects are guaranteed to share the same pointer;
* thus, a pointer comparison is always sufficient.
*/ 2 4 this 3 3611 5 other 1 3611
115 0 0 6 136 3797 0 0 55 /**
* Returns a suitable hash value for phash_map.
*/ 1 4 this 3 3611
116 0 0 7 137 3611 0 0 329 /**
* Returns the pointer to the unique RenderAttrib in the cache that is
* equivalent to this one. This may be the same pointer as this object, or it
* may be a different pointer; but it will be an equivalent object, and it
* will be a shared pointer. This may be called from time to time to improve
* cache benefits.
*/ 1 4 this 3 3611
117 0 0 4 138 3813 0 0 10 /**
*
*/ 2 4 this 3 3611 3 out 1 3814
118 0 0 4 139 3813 0 0 10 /**
*
*/ 3 4 this 3 3611 3 out 1 3814 12 indent_level 1 3597
119 0 0 6 140 3597 0 0 145 /**
* Returns the total number of unique RenderAttrib objects allocated in the
* world. This will go up and down during normal operations.
*/ 0
120 0 0 4 141 3813 0 0 170 /**
* Lists all of the RenderAttribs in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/ 1 3 out 1 3814
121 0 0 6 142 3597 0 0 155 /**
* Performs a garbage-collection cycle. This is called automatically from
* RenderState::garbage_collect(); see that method for more information.
*/ 0
122 0 0 6 143 3604 0 0 208 /**
* Ensures that the cache is still stored in sorted order. Returns true if
* so, false if there is a problem (which implies someone has modified one of
* the supposedly-const RenderAttrib objects).
*/ 0
123 0 0 6 144 3597 0 0 0 1 4 this 3 3611
124 0 0 7 149 3817 0 0 0 0
125 0 0 7 152 3611 0 0 921 /**
* Constructs a new RenderModeAttrib object that specifies whether to draw
* polygons in the normal, filled mode, or wireframe mode, or in some other
* yet-to-be-defined mode.
*
* The thickness parameter specifies the thickness to be used for wireframe
* lines, as well as for ordinary linestrip lines; it also specifies the
* diameter of points. (Thick lines are presently only supported in OpenGL;
* but thick points are supported on either platform.)
*
* If perspective is true, the point thickness represented is actually a width
* in 3-d units, and the points should scale according to perspective. When
* it is false, the point thickness is actually a width in pixels, and points
* are a uniform screen size regardless of distance from the camera.
*
* In M_filled_wireframe mode, you should also specify the wireframe_color,
* indicating the flat color to assign to the overlayed wireframe.
*/ 4 4 mode 1 3601 9 thickness 1 3602 11 perspective 1 3604 15 wireframe_color 1 3821
126 0 0 7 153 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
127 0 0 6 154 3601 0 0 35 /**
* Returns the render mode.
*/ 1 4 this 3 3822
128 0 0 6 155 3602 0 0 235 /**
* Returns the line width or point thickness. This is only relevant when
* rendering points or lines, such as when the mode is M_wireframe or M_point
* (or when rendering actual points or lines primitives in M_polygon mode).
*/ 1 4 this 3 3822
129 0 0 6 156 3604 0 0 364 /**
* Returns the perspective flag. When this is true, the point thickness
* represented by get_thickness() is actually a width in 3-d units, and the
* points should scale according to perspective. When it is false, the
* default, the point thickness is actually a width in pixels, and points are
* a uniform size regardless of distance from the camera.
*/ 1 4 this 3 3822
130 0 0 6 157 3821 0 0 131 /**
* Returns the color that is used in M_filled_wireframe mode to distinguish
* the wireframe from the rest of the geometry.
*/ 1 4 this 3 3822
131 0 0 6 158 3597 0 0 186 /**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this RenderModeAttrib is applied to a geom which includes the
* indicated geom_rendering bits.
*/ 2 4 this 3 3822 14 geom_rendering 1 3597
132 0 0 6 170 3597 0 0 0 0
133 0 0 7 172 3817 0 0 0 0
134 0 0 7 175 3611 0 0 70 /**
* Constructs a TexMatrixAttrib that applies no stages at all.
*/ 0
135 0 0 7 175 3611 0 0 137 /**
* Constructs a TexMatrixAttrib that applies the indicated matrix to the
* default texture stage. This interface is deprecated.
*/ 1 3 mat 1 3801
136 0 0 7 175 3611 0 0 107 /**
* Constructs a TexMatrixAttrib that applies the indicated transform to the
* named texture stage.
*/ 2 5 stage 1 3754 9 transform 1 3795
137 0 0 7 176 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
138 0 0 7 177 3611 0 0 174 /**
* Returns a new TexMatrixAttrib just like this one, with the indicated
* transform for the given stage. If this stage already exists, its transform
* is replaced.
*/ 4 4 this 3 3824 5 stage 1 3754 9 transform 1 3795 8 override 1 3597
139 0 0 7 178 3611 0 0 97 /**
* Returns a new TexMatrixAttrib just like this one, with the indicated stage
* removed.
*/ 2 4 this 3 3824 5 stage 1 3754
140 0 0 6 179 3604 0 0 101 /**
* Returns true if no stages are defined in the TexMatrixAttrib, false if at
* least one is.
*/ 1 4 this 3 3824
141 0 0 6 180 3604 0 0 182 /**
* Returns true if there is a transform associated with the indicated stage,
* or false otherwise (in which case get_transform(stage) will return the
* identity transform).
*/ 2 4 this 3 3824 5 stage 1 3754
142 0 0 6 181 3597 0 0 76 /**
* Returns the number of stages that are represented by this attrib.
*/ 1 4 this 3 3824
143 0 0 7 182 3754 0 0 118 /**
* Returns the nth stage that is represented by this attrib. The
* TextureStages are in no particular order.
*/ 2 4 this 3 3824 1 n 1 3597
144 0 0 6 184 3801 0 0 90 /**
* Returns the transformation matrix associated with the default texture
* stage.
*/ 1 4 this 3 3824
145 0 0 6 184 3801 0 0 165 /**
* Returns the transformation matrix associated with the indicated texture
* stage, or identity matrix if nothing is associated with the indicated
* stage.
*/ 2 4 this 3 3824 5 stage 1 3754
146 0 0 7 185 3795 0 0 155 /**
* Returns the transformation associated with the indicated texture stage, or
* identity matrix if nothing is associated with the indicated stage.
*/ 2 4 this 3 3824 5 stage 1 3754
147 0 0 6 186 3597 0 0 74 /**
* Returns the override value associated with the indicated stage.
*/ 2 4 this 3 3824 5 stage 1 3754
148 0 0 6 187 3597 0 0 185 /**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this TexMatrixAttrib is applied to a geom which includes the indicated
* geom_rendering bits.
*/ 2 4 this 3 3824 14 geom_rendering 1 3597
149 0 0 6 188 3597 0 0 0 0
150 0 0 7 190 3817 0 0 0 0
151 0 0 6 192 3597 0 0 365 /**
* Provides an arbitrary ordering among all unique RenderStates, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* This method is not needed outside of the RenderState class because all
* equivalent RenderState objects are guaranteed to share the same pointer;
* thus, a pointer comparison is always sufficient.
*/ 2 4 this 3 3826 5 other 1 3826
152 0 0 6 193 3597 0 0 333 /**
* Returns -1, 0, or 1 according to the relative sorting of these two
* RenderStates, with regards to rendering performance, so that "heavier"
* RenderAttribs (as defined by RenderAttribRegistry::get_slot_sort()) are
* more likely to be grouped together. This is not related to the sorting
* order defined by compare_to.
*/ 2 4 this 3 3826 5 other 1 3826
153 0 0 6 194 3597 0 0 191 /**
* This version of compare_to takes a slot mask that indicates which
* attributes to include in the comparison. Unlike compare_to, this method
* compares the attributes by pointer.
*/ 3 4 this 3 3826 5 other 1 3826 12 compare_mask 1 3828
154 0 0 6 195 3797 0 0 55 /**
* Returns a suitable hash value for phash_map.
*/ 1 4 this 3 3826
155 0 0 6 196 3604 0 0 63 /**
* Returns true if the state is empty, false otherwise.
*/ 1 4 this 3 3826
156 0 0 6 197 3604 0 0 121 /**
* Returns true if any of the RenderAttribs in this state request a
* cull_callback(), false if none of them do.
*/ 1 4 this 3 3826
157 0 0 6 198 3604 0 0 183 /**
* Calls cull_callback() on each attrib. If any attrib returns false,
* interrupts the list and returns false immediately; otherwise, completes the
* list and returns true.
*/ 3 4 this 3 3826 4 trav 1 3831 4 data 1 3832
158 0 0 7 199 3826 0 0 56 /**
* Returns a RenderState with no attributes set.
*/ 0
159 0 0 7 200 3826 0 0 58 /**
* Returns a RenderState with five attributes set.
*/ 6 7 attrib1 1 3611 7 attrib2 1 3611 7 attrib3 1 3611 7 attrib4 1 3611 7 attrib5 1 3611 8 override 1 3597
160 0 0 7 200 3826 0 0 58 /**
* Returns a RenderState with four attributes set.
*/ 5 7 attrib1 1 3611 7 attrib2 1 3611 7 attrib3 1 3611 7 attrib4 1 3611 8 override 1 3597
161 0 0 7 200 3826 0 0 59 /**
* Returns a RenderState with three attributes set.
*/ 4 7 attrib1 1 3611 7 attrib2 1 3611 7 attrib3 1 3611 8 override 1 3597
162 0 0 7 200 3826 0 0 57 /**
* Returns a RenderState with two attributes set.
*/ 3 7 attrib1 1 3611 7 attrib2 1 3611 8 override 1 3597
163 0 0 7 200 3826 0 0 56 /**
* Returns a RenderState with one attribute set.
*/ 2 6 attrib 1 3611 8 override 1 3597
164 0 0 7 201 3826 0 0 399 /**
* Returns a new RenderState object that represents the composition of this
* state with the other state.
*
* The result of this operation is cached, and will be retained as long as
* both this RenderState object and the other RenderState object continue to
* exist. Should one of them destruct, the cached entry will be removed, and
* its pointer will be allowed to destruct as well.
*/ 2 4 this 3 3826 5 other 1 3826
165 0 0 7 202 3826 0 0 265 /**
* Returns a new RenderState object that represents the composition of this
* state's inverse with the other state.
*
* This is similar to compose(), but is particularly useful for computing the
* relative state of a node as viewed from some other node.
*/ 2 4 this 3 3826 5 other 1 3826
166 0 0 7 203 3826 0 0 231 /**
* Returns a new RenderState object that represents the same as the source
* state, with the new RenderAttrib added. If there is already a RenderAttrib
* with the same type, it is replaced (unless the override is lower).
*/ 3 4 this 3 3826 6 attrib 1 3611 8 override 1 3597
167 0 0 7 204 3826 0 0 249 /**
* Returns a new RenderState object that represents the same as the source
* state, with the new RenderAttrib added. If there is already a RenderAttrib
* with the same type, it is replaced unconditionally. The override is not
* changed.
*/ 2 4 this 3 3826 6 attrib 1 3611
168 0 0 7 204 3826 0 0 267 /**
* Returns a new RenderState object that represents the same as the source
* state, with the new RenderAttrib added. If there is already a RenderAttrib
* with the same type, it is replaced unconditionally. The override is also
* replaced unconditionally.
*/ 3 4 this 3 3826 6 attrib 1 3611 8 override 1 3597
169 0 0 7 205 3826 0 0 133 /**
* Returns a new RenderState object that represents the same as the source
* state, with the indicated RenderAttrib removed.
*/ 2 4 this 3 3826 4 type 1 3817
170 0 0 7 205 3826 0 0 133 /**
* Returns a new RenderState object that represents the same as the source
* state, with the indicated RenderAttrib removed.
*/ 2 4 this 3 3826 4 slot 1 3597
171 0 0 7 206 3826 0 0 261 /**
* Returns a new RenderState object that represents the same as the source
* state, with all attributes' override values incremented (or decremented, if
* negative) by the indicated amount. If the override would drop below zero,
* it is set to zero.
*/ 2 4 this 3 3826 10 adjustment 1 3597
172 0 0 6 207 3604 0 0 90 /**
* Returns true if an attrib of the indicated type is present, false
* otherwise.
*/ 2 4 this 3 3826 4 type 1 3817
173 0 0 6 207 3604 0 0 90 /**
* Returns true if an attrib of the indicated type is present, false
* otherwise.
*/ 2 4 this 3 3826 4 slot 1 3597
174 0 0 7 208 3611 0 0 127 /**
* Looks for a RenderAttrib of the indicated type in the state, and returns it
* if it is found, or NULL if it is not.
*/ 2 4 this 3 3826 4 type 1 3817
175 0 0 7 208 3611 0 0 124 /**
* Returns the RenderAttrib with the indicated slot index, or NULL if there is
* no such RenderAttrib in the state.
*/ 2 4 this 3 3826 4 slot 1 3597
176 0 0 7 209 3611 0 0 152 /**
* Returns the RenderAttrib with the indicated slot index, or the default
* attrib for that slot if there is no such RenderAttrib in the state.
*/ 2 4 this 3 3826 4 slot 1 3597
177 0 0 6 210 3597 0 0 140 /**
* Looks for a RenderAttrib of the indicated type in the state, and returns
* its override value if it is found, or 0 if it is not.
*/ 2 4 this 3 3826 4 type 1 3817
178 0 0 6 210 3597 0 0 140 /**
* Looks for a RenderAttrib of the indicated type in the state, and returns
* its override value if it is found, or 0 if it is not.
*/ 2 4 this 3 3826 4 slot 1 3597
179 0 0 7 215 3826 0 0 328 /**
* Returns the pointer to the unique RenderState in the cache that is
* equivalent to this one. This may be the same pointer as this object, or it
* may be a different pointer; but it will be an equivalent object, and it
* will be a shared pointer. This may be called from time to time to improve
* cache benefits.
*/ 1 4 this 3 3826
180 0 0 4 216 3813 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3826
181 0 0 6 217 3604 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3826
182 0 0 4 218 3813 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3826
183 0 0 6 219 3604 0 0 64 /**
* Overrides this method to update PStats appropriately.
*/ 1 4 this 3 3826
184 0 0 6 220 3797 0 0 272 /**
* Returns the number of entries in the composition cache for this
* RenderState. This is the number of other RenderStates whose composition
* with this one has been cached. This number is not useful for any practical
* reason other than performance analysis.
*/ 1 4 this 3 3826
185 0 0 6 221 3797 0 0 253 /**
* Returns the number of entries in the invert_composition cache for this
* RenderState. This is similar to the composition cache, but it records
* cache entries for the invert_compose() operation. See
* get_composition_cache_num_entries().
*/ 1 4 this 3 3826
186 0 0 6 222 3797 0 0 330 /**
* Returns the number of slots in the composition cache for this RenderState.
* You may use this as an upper bound when walking through all of the
* composition cache results via get_composition_cache_source() or result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 1 4 this 3 3826
187 0 0 7 223 3826 0 0 298 /**
* Returns the source RenderState of the nth element in the composition cache.
* Returns NULL if there doesn't happen to be an entry in the nth element.
* See get_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3826 1 n 1 3797
188 0 0 7 224 3826 0 0 366 /**
* Returns the result RenderState of the nth element in the composition cache.
* Returns NULL if there doesn't happen to be an entry in the nth element.
*
* In general, a->compose(a->get_composition_cache_source(n)) ==
* a->get_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3826 1 n 1 3797
189 0 0 6 225 3797 0 0 340 /**
* Returns the number of slots in the composition cache for this RenderState.
* You may use this as an upper bound when walking through all of the
* composition cache results via get_invert_composition_cache_source() or
* result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 1 4 this 3 3826
190 0 0 7 226 3826 0 0 314 /**
* Returns the source RenderState of the nth element in the invert composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element. See get_invert_composition_cache_result().
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3826 1 n 1 3797
191 0 0 7 227 3826 0 0 398 /**
* Returns the result RenderState of the nth element in the invert composition
* cache. Returns NULL if there doesn't happen to be an entry in the nth
* element.
*
* In general, a->invert_compose(a->get_invert_composition_cache_source(n)) ==
* a->get_invert_composition_cache_result(n).
*
* This has no practical value other than for examining the cache for
* performance analysis.
*/ 2 4 this 3 3826 1 n 1 3797
192 0 0 6 228 3627 0 0 0 1 4 this 3 3826
193 0 0 6 229 3627 0 0 0 1 4 this 3 3826
194 0 0 4 230 3813 0 0 10 /**
*
*/ 2 4 this 3 3826 3 out 1 3814
195 0 0 4 231 3813 0 0 10 /**
*
*/ 3 4 this 3 3826 3 out 1 3814 12 indent_level 1 3597
196 0 0 6 232 3597 0 0 297 /**
* Returns the maximum priority number (sometimes called override) that may be
* set on any node. This may or may not be enforced, but the scene graph code
* assumes that no priority numbers will be larger than this, and some effects
* may not work properly if you use a larger number.
*/ 0
197 0 0 6 233 3597 0 0 144 /**
* Returns the total number of unique RenderState objects allocated in the
* world. This will go up and down during normal operations.
*/ 0
198 0 0 6 234 3597 0 0 596 /**
* Returns the total number of RenderState objects that have been allocated
* but have no references outside of the internal RenderState cache.
*
* A nonzero return value is not necessarily indicative of leaked references;
* it is normal for two RenderState objects, both of which have references
* held outside the cache, to have to result of their composition stored
* within the cache. This result will be retained within the cache until one
* of the base RenderStates is released.
*
* Use list_cycles() to get an idea of the number of actual "leaked"
* RenderState objects.
*/ 0
199 0 0 6 235 3597 0 0 593 /**
* Empties the cache of composed RenderStates. This makes every RenderState
* forget what results when it is composed with other RenderStates.
*
* This will eliminate any RenderState objects that have been allocated but
* have no references outside of the internal RenderState map. It will not
* eliminate RenderState objects that are still in use.
*
* Nowadays, this method should not be necessary, as reference-count cycles in
* the composition cache should be automatically detected and broken.
*
* The return value is the number of RenderStates freed by this operation.
*/ 0
200 0 0 4 236 3813 0 0 146 /**
* Completely empties the cache of state + gsg -> munger, for all states and
* all gsg's. Normally there is no need to empty this cache.
*/ 0
201 0 0 6 237 3597 0 0 366 /**
* Performs a garbage-collection cycle. This must be called periodically if
* garbage-collect-states is true to ensure that RenderStates get cleaned up
* appropriately. It does no harm to call it even if this variable is not
* true, but there is probably no advantage in that case.
*
* This automatically calls RenderAttrib::garbage_collect() as well.
*/ 0
202 0 0 4 238 3813 0 0 565 /**
* Detects all of the reference-count cycles in the cache and reports them to
* standard output.
*
* These cycles may be inadvertently created when state compositions cycle
* back to a starting point. Nowadays, these cycles should be automatically
* detected and broken, so this method should never list any cycles unless
* there is a bug in that detection logic.
*
* The cycles listed here are not leaks in the strictest sense of the word,
* since they can be reclaimed by a call to clear_cache(); but they will not
* be reclaimed automatically.
*/ 1 3 out 1 3814
203 0 0 4 239 3813 0 0 169 /**
* Lists all of the RenderStates in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/ 1 3 out 1 3814
204 0 0 6 240 3604 0 0 279 /**
* Ensures that the cache is still stored in sorted order, and that none of
* the cache elements have been inadvertently deleted. Returns true if so,
* false if there is a problem (which implies someone has modified one of the
* supposedly-const RenderState objects).
*/ 0
205 0 0 6 241 3627 0 0 0 0
206 0 0 6 242 3597 0 0 160 /**
* Returns the draw order indicated by the CullBinAttrib, if any, associated
* by this state (or 0 if there is no CullBinAttrib). See get_bin_index().
*/ 1 4 this 3 3826
207 0 0 6 243 3597 0 0 246 /**
* Returns the bin index indicated by the CullBinAttrib, if any, associated by
* this state (or the default bin index if there is no CullBinAttrib). This
* function is provided as an optimization for determining this at render
* time.
*/ 1 4 this 3 3826
208 0 0 6 244 3597 0 0 181 /**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this RenderState is applied to a geom which includes the indicated
* geom_rendering bits.
*/ 2 4 this 3 3826 14 geom_rendering 1 3597
209 0 0 7 245 3817 0 0 0 0
210 0 0 7 247 3611 0 0 51 /**
* Constructs a new AlphaTestAttrib object.
*/ 2 4 mode 1 3598 15 reference_alpha 1 3602
211 0 0 7 248 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
212 0 0 6 249 3602 0 0 45 /**
* Returns the alpha reference value.
*/ 1 4 this 3 3834
213 0 0 6 250 3598 0 0 40 /**
* Returns the alpha write mode.
*/ 1 4 this 3 3834
214 0 0 6 253 3597 0 0 0 0
215 0 0 7 255 3817 0 0 0 0
216 0 0 7 259 3611 0 0 1313 /**
* Constructs a new AntialiasAttrib object.
*
* The mode should be either M_none, M_auto, or a union of any or all of
* M_point, M_line, M_polygon, and M_multisample. Also, in addition to the
* above choices, it may include either of M_better of M_faster to specify a
* performance/quality tradeoff hint.
*
* If M_none is specified, no antialiasing is performed.
*
* If M_multisample is specified, it means to use the special framebuffer
* multisample bits for antialiasing, if it is available. If so, the M_point,
* M_line, and M_polygon modes are ignored. This advanced antialiasing mode
* is only available on certain graphics hardware. If it is not available,
* the M_multisample bit is ignored (and the other modes may be used instead,
* if specified).
*
* M_point, M_line, and/or M_polygon specify per-primitive smoothing. When
* enabled, M_point and M_line may force transparency on. M_polygon requires
* a frame buffer that includes an alpha channel, and it works best if the
* primitives are sorted front-to-back.
*
* If M_auto is specified, M_multisample is selected if it is available,
* otherwise M_polygon is selected, unless drawing lines or points, in which
* case M_line or M_point is selected (these two generally produce better
* results than M_multisample)
*/ 1 4 mode 1 3616
217 0 0 7 260 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
218 0 0 6 261 3616 0 0 48 /**
* Returns the specified antialias mode.
*/ 1 4 this 3 3836
219 0 0 6 262 3616 0 0 200 /**
* Returns the specified antialias mode, with the quality bits masked out.
* This therefore indicates only the requested type of antialiasing: M_none,
* M_auto, or some specific combination.
*/ 1 4 this 3 3836
220 0 0 6 263 3616 0 0 211 /**
* Returns the specified antialias mode, with the type bits masked out. This
* therefore indicates only the requested quality settings: one of M_faster,
* M_better, M_dont_care, or zero (unspecified).
*/ 1 4 this 3 3836
221 0 0 6 268 3597 0 0 0 0
222 0 0 7 270 3817 0 0 0 0
223 0 0 6 273 3597 0 0 368 /**
* Provides an arbitrary ordering among all unique RenderEffects, so we can
* store the essentially different ones in a big set and throw away the rest.
*
* This method is not needed outside of the RenderEffect class because all
* equivalent RenderEffect objects are guaranteed to share the same pointer;
* thus, a pointer comparison is always sufficient.
*/ 2 4 this 3 3838 5 other 1 3838
224 0 0 4 274 3813 0 0 10 /**
*
*/ 2 4 this 3 3838 3 out 1 3814
225 0 0 4 275 3813 0 0 10 /**
*
*/ 3 4 this 3 3838 3 out 1 3814 12 indent_level 1 3597
226 0 0 6 276 3597 0 0 145 /**
* Returns the total number of unique RenderEffect objects allocated in the
* world. This will go up and down during normal operations.
*/ 0
227 0 0 4 277 3813 0 0 170 /**
* Lists all of the RenderEffects in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/ 1 3 out 1 3814
228 0 0 6 278 3604 0 0 208 /**
* Ensures that the cache is still stored in sorted order. Returns true if
* so, false if there is a problem (which implies someone has modified one of
* the supposedly-const RenderEffect objects).
*/ 0
229 0 0 7 279 3817 0 0 0 0
230 0 0 6 281 3604 0 0 0 2 4 this 3 3840 5 other 1 3840
231 0 0 6 282 3604 0 0 63 /**
* Returns true if the state is empty, false otherwise.
*/ 1 4 this 3 3840
232 0 0 6 283 3797 0 0 151 /**
* Returns the number of separate effects indicated in the state.
* @deprecated in Python, use len(effects) instead, or effects.size() in C++.
*/ 1 4 this 3 3840
233 0 0 7 284 3838 0 0 127 /**
* Looks for a RenderEffect of the indicated type in the state, and returns it
* if it is found, or NULL if it is not.
*/ 2 4 this 3 3840 4 type 1 3817
234 0 0 7 284 3838 0 0 47 /**
* Returns the nth effect in the state.
*/ 2 4 this 3 3840 1 n 1 3797
235 0 0 6 285 3797 0 0 73 /**
* Returns the number of separate effects indicated in the state.
*/ 1 4 this 3 3840
236 0 0 7 286 3838 0 0 63 /**
* Returns the effect in the state with the given type.
*/ 2 4 this 3 3840 4 type 1 3817
237 0 0 7 286 3838 0 0 47 /**
* Returns the nth effect in the state.
*/ 2 4 this 3 3840 1 n 1 3797
238 0 0 6 287 3597 0 0 132 /**
* Searches for an effect with the indicated type in the state, and returns
* its index if it is found, or -1 if it is not.
*/ 2 4 this 3 3840 4 type 1 3817
239 0 0 7 288 3840 0 0 55 /**
* Returns a RenderEffects with no effects set.
*/ 0
240 0 0 7 289 3840 0 0 55 /**
* Returns a RenderEffects with one effect set.
*/ 1 6 effect 1 3838
241 0 0 7 289 3840 0 0 56 /**
* Returns a RenderEffects with two effects set.
*/ 2 7 effect1 1 3838 7 effect2 1 3838
242 0 0 7 289 3840 0 0 58 /**
* Returns a RenderEffects with three effects set.
*/ 3 7 effect1 1 3838 7 effect2 1 3838 7 effect3 1 3838
243 0 0 7 289 3840 0 0 57 /**
* Returns a RenderEffects with four effects set.
*/ 4 7 effect1 1 3838 7 effect2 1 3838 7 effect3 1 3838 7 effect4 1 3838
244 0 0 7 290 3840 0 0 202 /**
* Returns a new RenderEffects object that represents the same as the source
* state, with the new RenderEffect added. If there is already a RenderEffect
* with the same type, it is replaced.
*/ 2 4 this 3 3840 6 effect 1 3838
245 0 0 7 291 3840 0 0 135 /**
* Returns a new RenderEffects object that represents the same as the source
* state, with the indicated RenderEffect removed.
*/ 2 4 this 3 3840 4 type 1 3817
246 0 0 4 292 3813 0 0 10 /**
*
*/ 2 4 this 3 3840 3 out 1 3814
247 0 0 4 293 3813 0 0 10 /**
*
*/ 3 4 this 3 3840 3 out 1 3814 12 indent_level 1 3597
248 0 0 6 294 3597 0 0 146 /**
* Returns the total number of unique RenderEffects objects allocated in the
* world. This will go up and down during normal operations.
*/ 0
249 0 0 4 295 3813 0 0 170 /**
* Lists all of the RenderEffects in the cache to the output stream, one per
* line. This can be quite a lot of output if the cache is large, so be
* prepared.
*/ 1 3 out 1 3814
250 0 0 6 296 3604 0 0 209 /**
* Ensures that the cache is still stored in sorted order. Returns true if
* so, false if there is a problem (which implies someone has modified one of
* the supposedly-const RenderEffects objects).
*/ 0
251 0 0 7 297 3817 0 0 0 0
252 0 0 7 307 3652 2126 0 10 /**
*
*/ 1 4 name 1 3842
253 0 0 7 309 3652 2126 0 475 /**
* Collapses this PandaNode with the other PandaNode, if possible, and returns
* a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot
* safely be combined.
*
* The return value may be this, other, or a new PandaNode altogether.
*
* This function is called from GraphReducer::flatten(), and need not deal
* with children; its job is just to decide whether to collapse the two
* PandaNodes and what the collapsed PandaNode should look like.
*/ 2 4 this 3 3652 5 other 1 3652
254 0 0 7 310 3652 2126 0 234 /**
* Returns a newly-allocated PandaNode that is a shallow copy of this one. It
* will be a different pointer, but its internal data may or may not be shared
* with that of the original PandaNode. No children will be copied.
*/ 1 4 this 3 3843
255 0 0 7 311 3652 2126 0 264 /**
* Allocates and returns a complete copy of this PandaNode and the entire
* scene graph rooted at this PandaNode. Some data may still be shared from
* the original (e.g. vertex index tables), but nothing that will impede
* normal use of the PandaNode.
*/ 2 4 this 3 3843 14 current_thread 1 3845
256 0 0 7 312 3652 2126 0 0 1 4 this 3 3843
257 0 0 6 313 3627 0 0 0 2 4 this 3 3843 4 memo 1 3627
258 0 0 6 314 3597 0 0 264 /**
* Returns the number of parent nodes this node has. If this number is
* greater than 1, the node has been multiply instanced. The order of the
* parent nodes is not meaningful and is not related to the order in which the
* node was instanced to them.
*/ 2 4 this 3 3843 14 current_thread 1 3845
259 0 0 7 315 3652 2126 0 219 /**
* Returns the nth parent node of this node. See get_num_parents(). Also see
* get_parents(), if your intention is to iterate through the complete list of
* parents; get_parents() is preferable in this case.
*/ 3 4 this 3 3843 1 n 1 3597 14 current_thread 1 3845
260 0 0 6 316 3597 0 0 100 /**
* Returns the index of the indicated parent node, if it is a parent, or -1 if
* it is not.
*/ 3 4 this 3 3843 4 node 1 3652 14 current_thread 1 3845
261 0 0 6 318 3597 0 0 228 /**
* Returns the number of child nodes this node has. The order of the child
* nodes *is* meaningful and is based on the sort number that was passed to
* add_child(), and also on the order in which the nodes were added.
*/ 2 4 this 3 3843 14 current_thread 1 3845
262 0 0 7 319 3652 2126 0 222 /**
* Returns the nth child node of this node. See get_num_children(). Also see
* get_children(), if your intention is to iterate through the complete list
* of children; get_children() is preferable in this case.
*/ 3 4 this 3 3843 1 n 1 3597 14 current_thread 1 3845
263 0 0 6 320 3597 0 0 150 /**
* Returns the sort index of the nth child node of this node (that is, the
* number that was passed to add_child()). See get_num_children().
*/ 3 4 this 3 3843 1 n 1 3597 14 current_thread 1 3845
264 0 0 6 321 3597 0 0 98 /**
* Returns the index of the indicated child node, if it is a child, or -1 if
* it is not.
*/ 3 4 this 3 3843 4 node 1 3652 14 current_thread 1 3845
265 0 0 6 323 3597 0 0 63 /**
* Returns the number of nodes at and below this level.
*/ 1 4 this 3 3843
266 0 0 4 324 3813 0 0 285 /**
* Adds a new child to the node. The child is added in the relative position
* indicated by sort; if all children have the same sort index, the child is
* added at the end.
*
* If the same child is added to a node more than once, the previous instance
* is first removed.
*/ 4 4 this 3 3652 10 child_node 1 3652 4 sort 1 3597 14 current_thread 1 3845
267 0 0 6 325 3604 0 0 218 /**
* Removes the indicated child from the node. Returns true if the child was
* removed, false if it was not already a child of the node. This will also
* successfully remove the child if it had been stashed.
*/ 3 4 this 3 3652 10 child_node 1 3652 14 current_thread 1 3845
268 0 0 4 325 3813 0 0 47 /**
* Removes the nth child from the node.
*/ 3 4 this 3 3652 11 child_index 1 3597 14 current_thread 1 3845
269 0 0 6 326 3604 0 0 241 /**
* Searches for the orig_child node in the node's list of children, and
* replaces it with the new_child instead. Returns true if the replacement is
* made, or false if the node is not a child or if there is some other
* problem.
*/ 4 4 this 3 3652 10 orig_child 1 3652 9 new_child 1 3652 14 current_thread 1 3845
270 0 0 6 327 3604 0 0 560 /**
* Stashes the indicated child node. This removes the child from the list of
* active children and puts it on a special list of stashed children. This
* child node no longer contributes to the bounding volume of the PandaNode,
* and is not visited in normal traversals. It is invisible and uncollidable.
* The child may later be restored by calling unstash_child().
*
* This function returns true if the child node was successfully stashed, or
* false if it was not a child of the node in the first place (e.g. it was
* previously stashed).
*/ 3 4 this 3 3652 10 child_node 1 3652 14 current_thread 1 3845
271 0 0 4 327 3813 0 0 456 /**
* Stashes the indicated child node. This removes the child from the list of
* active children and puts it on a special list of stashed children. This
* child node no longer contributes to the bounding volume of the PandaNode,
* and is not visited in normal traversals. It is invisible and uncollidable.
* The child may later be restored by calling unstash_child().
*
* This can only be called from the top pipeline stage (i.e. from App).
*/ 3 4 this 3 3652 11 child_index 1 3597 14 current_thread 1 3845
272 0 0 6 328 3604 0 0 524 /**
* Returns the indicated stashed node to normal child status. This removes
* the child from the list of stashed children and puts it on the normal list
* of active children. This child node once again contributes to the bounding
* volume of the PandaNode, and will be visited in normal traversals. It is
* visible and collidable.
*
* This function returns true if the child node was successfully stashed, or
* false if it was not a child of the node in the first place (e.g. it was
* previously stashed).
*/ 3 4 this 3 3652 10 child_node 1 3652 14 current_thread 1 3845
273 0 0 4 328 3813 0 0 420 /**
* Returns the indicated stashed node to normal child status. This removes
* the child from the list of stashed children and puts it on the normal list
* of active children. This child node once again contributes to the bounding
* volume of the PandaNode, and will be visited in normal traversals. It is
* visible and collidable.
*
* This can only be called from the top pipeline stage (i.e. from App).
*/ 3 4 this 3 3652 13 stashed_index 1 3597 14 current_thread 1 3845
274 0 0 6 329 3597 0 0 174 /**
* Returns the number of stashed nodes this node has. These are former
* children of the node that have been moved to the special stashed list via
* stash_child().
*/ 2 4 this 3 3843 14 current_thread 1 3845
275 0 0 7 330 3847 2246 0 624 /**
* Returns an object that can be used to walk through the list of children of
* the node. When you intend to visit multiple children, using this is
* slightly faster than calling get_stashed() directly on the PandaNode, since
* this object avoids reopening the PipelineCycler each time.
*
* This object also protects you from self-modifying loops (e.g. adding or
* removing children during traversal), since a virtual copy of the children
* is made ahead of time. The virtual copy is fast--it is a form of copy-on-
* write, so the list is not actually copied unless it is modified during the
* traversal.
*/ 2 4 this 3 3843 14 current_thread 1 3845
276 0 0 7 330 3652 2126 0 230 /**
* Returns the nth stashed child of this node. See get_num_stashed(). Also
* see get_stashed(), if your intention is to iterate through the complete
* list of stashed children; get_stashed() is preferable in this case.
*/ 3 4 this 3 3843 1 n 1 3597 14 current_thread 1 3845
277 0 0 6 331 3597 0 0 151 /**
* Returns the sort index of the nth stashed node of this node (that is, the
* number that was passed to add_child()). See get_num_stashed().
*/ 3 4 this 3 3843 1 n 1 3597 14 current_thread 1 3845
278 0 0 6 332 3597 0 0 108 /**
* Returns the index of the indicated stashed node, if it is a stashed child,
* or -1 if it is not.
*/ 3 4 this 3 3843 4 node 1 3652 14 current_thread 1 3845
279 0 0 4 334 3813 0 0 361 /**
* Adds a new child to the node, directly as a stashed child. The child is
* not added in the normal sense, but will be revealed if unstash_child() is
* called on it later.
*
* If the same child is added to a node more than once, the previous instance
* is first removed.
*
* This can only be called from the top pipeline stage (i.e. from App).
*/ 4 4 this 3 3652 10 child_node 1 3652 4 sort 1 3597 14 current_thread 1 3845
280 0 0 4 335 3813 0 0 55 /**
* Removes the nth stashed child from the node.
*/ 3 4 this 3 3652 11 child_index 1 3597 14 current_thread 1 3845
281 0 0 4 336 3813 0 0 162 /**
* Removes all the children from the node at once, including stashed children.
*
* This can only be called from the top pipeline stage (i.e. from App).
*/ 2 4 this 3 3652 14 current_thread 1 3845
282 0 0 4 337 3813 0 0 177 /**
* Moves all the children from the other node onto this node.
*
* Any NodePaths to child nodes of the other node are truncated, rather than
* moved to the new parent.
*/ 3 4 this 3 3652 5 other 1 3652 14 current_thread 1 3845
283 0 0 4 338 3813 0 0 102 /**
* Makes another instance of all the children of the other node, copying them
* to this node.
*/ 3 4 this 3 3652 5 other 1 3652 14 current_thread 1 3845
284 0 0 4 339 3813 0 0 220 /**
* Adds the indicated render attribute to the scene graph on this node. This
* attribute will now apply to this node and everything below. If there was
* already an attribute of the same type, it is replaced.
*/ 3 4 this 3 3652 6 attrib 1 3611 8 override 1 3597
285 0 0 7 340 3611 0 0 270 /**
* Returns the render attribute of the indicated type, if it is defined on the
* node, or NULL if it is not. This checks only what is set on this
* particular node level, and has nothing to do with what render attributes
* may be inherited from parent nodes.
*/ 2 4 this 3 3843 4 type 1 3817
286 0 0 7 340 3611 0 0 270 /**
* Returns the render attribute of the indicated type, if it is defined on the
* node, or NULL if it is not. This checks only what is set on this
* particular node level, and has nothing to do with what render attributes
* may be inherited from parent nodes.
*/ 2 4 this 3 3843 4 slot 1 3597
287 0 0 6 341 3604 0 0 127 /**
* Returns true if there is a render attribute of the indicated type defined
* on this node, or false if there is not.
*/ 2 4 this 3 3843 4 type 1 3817
288 0 0 6 341 3604 0 0 127 /**
* Returns true if there is a render attribute of the indicated type defined
* on this node, or false if there is not.
*/ 2 4 this 3 3843 4 slot 1 3597
289 0 0 4 342 3813 0 0 194 /**
* Removes the render attribute of the given type from this node. This node,
* and the subgraph below, will now inherit the indicated render attribute
* from the nodes above this one.
*/ 2 4 this 3 3652 4 type 1 3817
290 0 0 4 342 3813 0 0 194 /**
* Removes the render attribute of the given type from this node. This node,
* and the subgraph below, will now inherit the indicated render attribute
* from the nodes above this one.
*/ 2 4 this 3 3652 4 slot 1 3597
291 0 0 4 343 3813 0 0 145 /**
* Adds the indicated render effect to the scene graph on this node. If there
* was already an effect of the same type, it is replaced.
*/ 2 4 this 3 3652 6 effect 1 3838
292 0 0 7 344 3838 0 0 114 /**
* Returns the render effect of the indicated type, if it is defined on the
* node, or NULL if it is not.
*/ 2 4 this 3 3843 4 type 1 3817
293 0 0 6 345 3604 0 0 124 /**
* Returns true if there is a render effect of the indicated type defined on
* this node, or false if there is not.
*/ 2 4 this 3 3843 4 type 1 3817
294 0 0 4 346 3813 0 0 70 /**
* Removes the render effect of the given type from this node.
*/ 2 4 this 3 3652 4 type 1 3817
295 0 0 4 347 3813 0 0 337 /**
* Sets the complete RenderState that will be applied to all nodes at this
* level and below. (The actual state that will be applied to lower nodes is
* based on the composition of RenderStates from above this node as well).
* This completely replaces whatever has been set on this node via repeated
* calls to set_attrib().
*/ 3 4 this 3 3652 5 state 1 3826 14 current_thread 1 3845
296 0 0 7 348 3826 0 0 265 /**
* Returns the complete RenderState that will be applied to all nodes at this
* level and below, as set on this node. This returns only the RenderState
* set on this particular node, and has nothing to do with state that might be
* inherited from above.
*/ 2 4 this 3 3843 14 current_thread 1 3845
297 0 0 4 349 3813 0 0 183 /**
* Resets this node to leave the render state alone. Nodes at this level and
* below will once again inherit their render state unchanged from the nodes
* above this level.
*/ 2 4 this 3 3652 14 current_thread 1 3845
298 0 0 4 352 3813 0 0 177 /**
* Sets the complete RenderEffects that will be applied this node. This
* completely replaces whatever has been set on this node via repeated calls
* to set_attrib().
*/ 3 4 this 3 3652 7 effects 1 3840 14 current_thread 1 3845
299 0 0 7 353 3840 0 0 80 /**
* Returns the complete RenderEffects that will be applied to this node.
*/ 2 4 this 3 3843 14 current_thread 1 3845
300 0 0 4 354 3813 0 0 54 /**
* Resets this node to have no render effects.
*/ 2 4 this 3 3652 14 current_thread 1 3845
301 0 0 4 357 3813 0 0 158 /**
* Sets the transform that will be applied to this node and below. This
* defines a new coordinate space at this point in the scene graph and below.
*/ 3 4 this 3 3652 9 transform 1 3795 14 current_thread 1 3845
302 0 0 7 358 3795 0 0 177 /**
* Returns the transform that has been set on this particular node. This is
* not the net transform from the root, but simply the transform on this
* particular node.
*/ 2 4 this 3 3843 14 current_thread 1 3845
303 0 0 4 359 3813 0 0 71 /**
* Resets the transform on this node to the identity transform.
*/ 2 4 this 3 3652 14 current_thread 1 3845
304 0 0 4 362 3813 0 0 173 /**
* Sets the transform that represents this node's "previous" position, one
* frame ago, for the purposes of detecting motion for accurate collision
* calculations.
*/ 3 4 this 3 3652 9 transform 1 3795 14 current_thread 1 3845
305 0 0 7 363 3795 0 0 115 /**
* Returns the transform that has been set as this node's "previous" position.
* See set_prev_transform().
*/ 2 4 this 3 3843 14 current_thread 1 3845
306 0 0 4 364 3813 0 0 179 /**
* Resets the transform that represents this node's "previous" position to the
* same as the current transform. This is not the same thing as clearing it
* to identity.
*/ 2 4 this 3 3652 14 current_thread 1 3845
307 0 0 6 365 3604 0 0 250 /**
* Returns true if this node has the _dirty_prev_transform flag set, which
* indicates its _prev_transform is different from its _transform value (in
* pipeline stage 0). In this case, the node will be visited by
* reset_prev_transform().
*/ 1 4 this 3 3843
308 0 0 4 366 3813 0 0 242 /**
* Visits all nodes in the world with the _dirty_prev_transform flag--that is,
* all nodes whose _prev_transform is different from the _transform in
* pipeline stage 0--and resets the _prev_transform to be the same as
* _transform.
*/ 1 14 current_thread 1 3845
309 0 0 4 368 3813 0 0 391 /**
* Associates a user-defined value with a user-defined key which is stored on
* the node. This value has no meaning to Panda; but it is stored
* indefinitely on the node until it is requested again.
*
* Each unique key stores a different string value. There is no effective
* limit on the number of different keys that may be stored or on the length
* of any one key's value.
*/ 4 4 this 3 3652 3 key 1 3842 5 value 1 3842 14 current_thread 1 3845
310 0 0 6 369 3842 0 0 182 /**
* Retrieves the user-defined value that was previously set on this node for
* the particular key, if any. If no value has been previously set, returns
* the empty string.
*/ 3 4 this 3 3843 3 key 1 3842 14 current_thread 1 3845
311 0 0 6 370 3604 0 0 170 /**
* Returns true if a value has been defined on this node for the particular
* key (even if that value is the empty string), or false if no value has been
* set.
*/ 3 4 this 3 3843 3 key 1 3842 14 current_thread 1 3845
312 0 0 4 371 3813 0 0 158 /**
* Removes the value defined for this key on this particular node. After a
* call to clear_tag(), has_tag() will return false for the indicated key.
*/ 3 4 this 3 3652 3 key 1 3842 14 current_thread 1 3845
313 0 0 6 378 3627 0 0 0 1 4 this 3 3843
314 0 0 6 379 3627 0 0 0 1 4 this 3 3652
315 0 0 4 380 3813 0 0 0 3 4 this 3 3652 3 key 1 3627 5 value 1 3627
316 0 0 6 381 3627 0 0 0 2 4 this 3 3843 3 key 1 3627
317 0 0 6 382 3604 0 0 0 2 4 this 3 3843 3 key 1 3627
318 0 0 4 383 3813 0 0 0 2 4 this 3 3652 3 key 1 3627
319 0 0 6 384 3627 0 0 0 1 4 this 3 3843
320 0 0 6 389 3597 0 0 0 3 4 this 3 3652 5 visit 1 3848 3 arg 1 3849
321 0 0 6 390 3604 0 0 102 /**
* Returns true if the node has any tags (or any Python tags) at all, false if
* it has none.
*/ 1 4 this 3 3843
322 0 0 4 391 3813 0 0 191 /**
* Copies all of the tags stored on the other node onto this node. If a
* particular tag exists on both nodes, the contents of this node's value is
* replaced by that of the other.
*/ 2 4 this 3 3652 5 other 1 3652
323 0 0 4 392 3813 0 0 364 /**
* Writes a list of all the tag keys assigned to the node to the indicated
* stream. Writes one instance of the separator following each key (but does
* not write a terminal separator). The value associated with each key is not
* written.
*
* This is mainly for the benefit of the realtime user, to see the list of all
* of the associated tag keys.
*/ 3 4 this 3 3843 3 out 1 3814 9 separator 1 3842
324 0 0 6 393 3597 0 0 341 /**
* Returns a number less than 0, 0, or greater than 0, to indicate the
* similarity of tags between this node and the other one. If this returns 0,
* the tags are identical. If it returns other than 0, then the tags are
* different; and the nodes may be sorted into a consistent (but arbitrary)
* ordering based on this number.
*/ 2 4 this 3 3843 5 other 1 3843
325 0 0 4 394 3813 0 0 264 /**
* Copies the TransformState, RenderState, RenderEffects, tags, Python tags,
* and the show/hide state from the other node onto this one. Typically this
* is used to prepare a node to replace another node in the scene graph (also
* see replace_node()).
*/ 2 4 this 3 3652 5 other 1 3652
326 0 0 4 395 3813 0 0 602 /**
* Inserts this node into the scene graph in place of the other one, and
* removes the other node. All scene graph attributes (TransformState,
* RenderState, etc.) are copied to this node.
*
* All children are moved to this node, and removed from the old node. The
* new node is left in the same place in the old node's parent's list of
* children.
*
* Even NodePaths that reference the old node are updated in-place to
* reference the new node instead.
*
* This method is intended to be used to replace a node of a given type in the
* scene graph with a node of a different type.
*/ 2 4 this 3 3652 5 other 1 3652
327 0 0 4 397 3813 0 0 627 /**
* Sets one or more of the PandaNode::UnexpectedChange bits on, indicating
* that the corresponding property should not change again on this node. Once
* one of these bits has been set, if the property changes, an assertion
* failure will be raised, which is designed to assist the developer in
* identifying the troublesome code that modified the property unexpectedly.
*
* The input parameter is the union of bits that are to be set. To clear
* these bits later, use clear_unexpected_change().
*
* Since this is a developer debugging tool only, this function does nothing
* in a production (NDEBUG) build.
*/ 2 4 this 3 3652 5 flags 1 3691
328 0 0 6 398 3691 0 0 409 /**
* Returns nonzero if any of the bits in the input parameter are set on this
* node, or zero if none of them are set. More specifically, this returns the
* particular set of bits (masked by the input parameter) that have been set
* on this node. See set_unexpected_change().
*
* Since this is a developer debugging tool only, this function always returns
* zero in a production (NDEBUG) build.
*/ 2 4 this 3 3843 5 flags 1 3691
329 0 0 4 399 3813 0 0 373 /**
* Sets one or more of the PandaNode::UnexpectedChange bits off, indicating
* that the corresponding property may once again change on this node. See
* set_unexpected_change().
*
* The input parameter is the union of bits that are to be cleared.
*
* Since this is a developer debugging tool only, this function does nothing
* in a production (NDEBUG) build.
*/ 2 4 this 3 3652 5 flags 1 3691
330 0 0 7 400 3850 0 0 189 /**
* Returns the special bit that, when specifically cleared in the node's
* DrawMask, indicates that the node is hidden to all cameras, regardless of
* the remaining DrawMask bits.
*/ 0
331 0 0 7 401 3850 0 0 79 /**
* Returns a DrawMask that is appropriate for rendering to all cameras.
*/ 0
332 0 0 6 402 3604 0 0 98 /**
* Returns true if the node has been hidden to all cameras by clearing its
* overall bit.
*/ 1 4 this 3 3843
333 0 0 4 403 3813 0 0 411 /**
* Sets or clears the hidden flag. When the hidden flag is true, the node and
* all of its children are invisible to all cameras, regardless of the setting
* of any draw masks. Setting the hidden flag to false restores the previous
* visibility as established by the draw masks.
*
* This actually works by twiddling the reserved _overall_bit in the node's
* draw mask, which has special meaning.
*/ 2 4 this 3 3652 14 overall_hidden 1 3604
334 0 0 4 410 3813 0 0 1343 /**
* Adjusts the hide/show bits of this particular node.
*
* These three parameters can be used to adjust the _draw_control_mask and
* _draw_show_mask independently, which work together to provide per-camera
* visibility for the node and its descendents.
*
* _draw_control_mask indicates the bits in _draw_show_mask that are
* significant. Each different bit corresponds to a different camera (and
* these bits are assigned via Camera::set_camera_mask()).
*
* Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates
* the node is visible to that camera, and a 0 bit indicates the node is
* hidden to that camera. Where _draw_control_mask is 0, the node is hidden
* only if a parent node is hidden.
*
* The meaning of the three parameters is as follows:
*
* * Wherever show_mask is 1, _draw_show_mask and _draw_control_mask will be
* set 1. Thus, show_mask indicates the set of cameras to which the node
* should be shown.
*
* * Wherever hide_mask is 1, _draw_show_mask will be set 0 and
* _draw_control_mask will be set 1. Thus, hide_mask indicates the set of
* cameras from which the node should be hidden.
*
* * Wherever clear_mask is 1, _draw_control_mask will be set 0. Thus,
* clear_mask indicates the set of cameras from which the hidden state should
* be inherited from a parent.
*/ 4 4 this 3 3652 9 show_mask 1 3850 9 hide_mask 1 3850 10 clear_mask 1 3850
335 0 0 7 411 3850 0 0 111 /**
* Returns the set of bits in draw_show_mask that are considered meaningful.
* See adjust_draw_mask().
*/ 1 4 this 3 3843
336 0 0 7 412 3850 0 0 90 /**
* Returns the hide/show bits of this particular node. See
* adjust_draw_mask().
*/ 1 4 this 3 3843
337 0 0 7 415 3850 0 0 366 /**
* Returns the set of bits in get_net_draw_show_mask() that have been
* explicitly set via adjust_draw_mask(), rather than implicitly inherited.
*
* A 1 bit in any position of this mask indicates that (a) this node has
* renderable children, and (b) some child of this node has made an explicit
* hide() or show_through() call for the corresponding bit.
*/ 1 4 this 3 3843
338 0 0 7 416 3850 0 0 576 /**
* Returns the union of all draw_show_mask values--of renderable nodes only--
* at this level and below. If any bit in this mask is 0, there is no reason
* to traverse below this node for a camera with the corresponding
* camera_mask.
*
* The bits in this mask that do not correspond to a 1 bit in the
* net_draw_control_mask are meaningless (and will be set to 1). For bits
* that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit
* indicates that at least one child should be visible, while a 0 bit
* indicates that all children are hidden.
*/ 1 4 this 3 3843
339 0 0 4 417 3813 0 0 510 /**
* Sets the "into" CollideMask.
*
* This specifies the set of bits that must be shared with a CollisionNode's
* "from" CollideMask in order for the CollisionNode to detect a collision
* with this particular node.
*
* The actual CollideMask that will be set is masked by the return value from
* get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to
* anything other than nonzero except for those types of nodes that can be
* collided into, such as CollisionNodes and GeomNodes.
*/ 2 4 this 3 3652 4 mask 1 3851
340 0 0 7 418 3851 0 0 57 /**
* Returns the "into" collide mask for this node.
*/ 1 4 this 3 3843
341 0 0 7 419 3851 0 0 314 /**
* Returns the subset of CollideMask bits that may be set for this particular
* type of PandaNode. For most nodes, this is 0; it doesn't make sense to set
* a CollideMask for most kinds of nodes.
*
* For nodes that can be collided with, such as GeomNode and CollisionNode,
* this returns all bits on.
*/ 1 4 this 3 3843
342 0 0 7 423 3851 0 0 112 /**
* Returns the union of all into_collide_mask() values set at CollisionNodes
* at this level and below.
*/ 2 4 this 3 3843 14 current_thread 1 3845
343 0 0 7 424 3611 0 0 145 /**
* Returns a ClipPlaneAttrib which represents the union of all of the clip
* planes that have been turned *off* at this level and below.
*/ 2 4 this 3 3843 14 current_thread 1 3845
344 0 0 4 425 3813 0 0 470 /**
* Walks through the scene graph beginning at this node, and does whatever
* initialization is required to render the scene properly with the indicated
* GSG. It is not strictly necessary to call this, since the GSG will
* initialize itself when the scene is rendered, but this may take some of the
* overhead away from that process.
*
* In particular, this will ensure that textures and vertex buffers within the
* scene are loaded into graphics memory.
*/ 3 4 this 3 3652 3 gsg 1 3852 10 node_state 1 3826
345 0 0 6 426 3604 0 0 173 /**
* Returns true if this particular node is known to be the render root of some
* active DisplayRegion associated with the global GraphicsEngine, false
* otherwise.
*/ 1 4 this 3 3843
346 0 0 6 427 3604 0 0 305 /**
* Returns true if this particular node is in a live scene graph: that is, it
* is a child or descendent of a node that is itself a scene root. If this is
* true, this node may potentially be traversed by the render traverser.
* Stashed nodes don't count for this purpose, but hidden nodes do.
*/ 1 4 this 3 3843
347 0 0 4 428 3813 0 0 10 /**
*
*/ 2 4 this 3 3843 3 out 1 3814
348 0 0 4 429 3813 0 0 10 /**
*
*/ 3 4 this 3 3843 3 out 1 3814 12 indent_level 1 3597
349 0 0 4 430 3813 0 0 76 /**
* Lists all the nodes at and below the current path hierarchically.
*/ 3 4 this 3 3843 3 out 1 3814 12 indent_level 1 3597
350 0 0 4 431 3813 0 0 650 /**
* Specifies the desired type of bounding volume that will be created for this
* node. This is normally BoundingVolume::BT_default, which means to set the
* type according to the config variable "bounds-type".
*
* If this is BT_sphere or BT_box, a BoundingSphere or BoundingBox is
* explicitly created. If it is BT_best, the appropriate type to best enclose
* the node's children is created.
*
* This affects the bounding volume returned by get_bounds(), which is not
* exactly the same bounding volume modified by set_bounds(), because a new
* bounding volume has to be created that includes this node and all of its
* children.
*/ 2 4 this 3 3652 11 bounds_type 1 3635
351 0 0 6 432 3635 0 0 71 /**
* Returns the bounding volume type set with set_bounds_type().
*/ 1 4 this 3 3843
352 0 0 4 436 3813 0 0 478 /**
* Resets the bounding volume so that it is the indicated volume. When it is
* explicitly set, the bounding volume will no longer be automatically
* computed according to the contents of the node itself, for nodes like
* GeomNodes and TextNodes that contain substance (but the bounding volume
* will still be automatically expanded to include its children).
*
* Call clear_bounds() if you would like to return the bounding volume to its
* default behavior later.
*/ 2 4 this 3 3652 6 volume 1 3854
353 0 0 4 437 3813 0 0 49 /**
* Deprecated. Use set_bounds() instead.
*/ 2 4 this 3 3652 6 volume 1 3854
354 0 0 4 438 3813 0 0 184 /**
* Reverses the effect of a previous call to set_bounds(), and allows the
* node's bounding volume to be automatically computed once more based on the
* contents of the node.
*/ 1 4 this 3 3652
355 0 0 7 439 3854 0 0 199 /**
* Returns the external bounding volume of this node: a bounding volume that
* contains the user bounding volume, the internal bounding volume, and all of
* the children's bounding volumes.
*/ 2 4 this 3 3843 14 current_thread 1 3845
356 0 0 7 439 3854 0 0 589 /**
* This flavor of get_bounds() return the external bounding volume, and also
* fills in seq with the bounding volume's current sequence number. When this
* sequence number changes, it indicates that the bounding volume might have
* changed, e.g. because some nested child's bounding volume has changed.
*
* Although this might occasionally increment without changing the bounding
* volume, the bounding volume will never change without incrementing this
* counter, so as long as this counter remains unchanged you can be confident
* the bounding volume is also unchanged.
*/ 3 4 this 3 3843 3 seq 1 3856 14 current_thread 1 3845
357 0 0 6 440 3597 0 0 422 /**
* Returns the total number of vertices that will be rendered by this node and
* all of its descendents.
*
* This is not necessarily an accurate count of vertices that will actually be
* rendered, since this will include all vertices of all LOD's, and it will
* also include hidden nodes. It may also omit or only approximate certain
* kinds of dynamic geometry. However, it will not include stashed nodes.
*/ 2 4 this 3 3843 14 current_thread 1 3845
358 0 0 7 441 3854 0 0 221 /**
* Returns the node's internal bounding volume. This is the bounding volume
* around the node alone, without including children. If the user has called
* set_bounds(), it will be the specified bounding volume.
*/ 2 4 this 3 3843 14 current_thread 1 3845
359 0 0 6 442 3597 0 0 205 /**
* Returns the total number of vertices that will be rendered by this
* particular node alone, not accounting for its children.
*
* This may not include all vertices for certain dynamic effects.
*/ 2 4 this 3 3843 14 current_thread 1 3845
360 0 0 4 447 3813 0 0 547 /**
* Indicates that the bounding volume, or something that influences the
* bounding volume (or any of the other things stored in CData, like
* net_collide_mask), may have changed for this node, and that it must be
* recomputed.
*
* With no parameters, this means to iterate through all stages including and
* upstream of the current pipeline stage.
*
* This method is intended for internal use; usually it is not necessary for a
* user to call this directly. It will be called automatically by derived
* classes when appropriate.
*/ 2 4 this 3 3843 14 current_thread 1 3845
361 0 0 4 448 3813 0 0 461 /**
* Should be called by a derived class to mark the internal bounding volume
* stale, so that compute_internal_bounds() will be called when the bounding
* volume is next requested.
*
* With no parameters, this means to iterate through all stages including and
* upstream of the current pipeline stage.
*
* It is normally not necessary to call this method directly; each node should
* be responsible for calling it when its internals have changed.
*/ 2 4 this 3 3652 14 current_thread 1 3845
362 0 0 6 449 3604 0 0 194 /**
* Returns true if the bounding volume of this node is stale and will be
* implicitly recomputed at the next call to get_bounds(), or false if it is
* fresh and need not be recomputed.
*/ 1 4 this 3 3843
363 0 0 4 451 3813 0 0 623 /**
* Sets the "final" flag on this PandaNode. If this is true, than no bounding
* volume need be tested below it; a positive intersection with this node's
* bounding volume is deemed to be a positive intersection with all geometry
* inside.
*
* This is useful to quickly force a larger bounding volume around a node when
* the GeomNodes themselves are inaccurate for some reason, without forcing a
* recompute of every nested bounding volume. It's also helpful when the
* bounding volume is tricked by some special properties, like billboards,
* that may move geometry out of its bounding volume otherwise.
*/ 2 4 this 3 3652 4 flag 1 3604
364 0 0 6 452 3604 0 0 177 /**
* Returns the current state of the "final" flag. Initially, this flag is off
* (false), but it may be changed by an explicit call to set_final(). See
* set_final().
*/ 2 4 this 3 3843 14 current_thread 1 3845
365 0 0 6 454 3604 0 0 276 /**
* A simple downcast check. Returns true if this kind of node happens to
* inherit from GeomNode, false otherwise.
*
* This is provided as a a faster alternative to calling
* is_of_type(GeomNode::get_class_type()), since this test is so important to
* rendering.
*/ 1 4 this 3 3843
366 0 0 6 455 3604 0 0 225 /**
* A simple downcast check. Returns true if this kind of node happens to
* inherit from LODNode, false otherwise.
*
* This is provided as a a faster alternative to calling
* is_of_type(LODNode::get_class_type()).
*/ 1 4 this 3 3843
367 0 0 6 456 3604 0 0 237 /**
* A simple downcast check. Returns true if this kind of node happens to
* inherit from CollisionNode, false otherwise.
*
* This is provided as a a faster alternative to calling
* is_of_type(CollisionNode::get_class_type()).
*/ 1 4 this 3 3843
368 0 0 6 457 3858 0 0 131 /**
* Cross-casts the node to a Light pointer, if it is one of the four kinds of
* Light nodes, or returns NULL if it is not.
*/ 1 4 this 3 3652
369 0 0 6 458 3604 0 0 117 /**
* Returns true if this is an AmbientLight, false if it is not a light, or it
* is some other kind of light.
*/ 1 4 this 3 3843
370 0 0 6 460 3597 0 0 330 /**
* Returns the union of all of the enum FancyBits values corresponding to the
* various "fancy" attributes that are set on the node. If this returns 0,
* the node has nothing interesting about it. This is intended to speed
* traversal by quickly skipping past nodes that don't particularly affect the
* render state.
*/ 2 4 this 3 3843 14 current_thread 1 3845
371 0 0 7 461 3652 2126 0 470 /**
* Reads the bytes created by a previous call to encode_to_bam_stream(), and
* extracts and returns the single object on those bytes. Returns NULL on
* error.
*
* This method is intended to replace decode_raw_from_bam_stream() when you
* know the stream in question returns an object of type PandaNode, allowing
* for easier reference count management. Note that the caller is still
* responsible for maintaining the reference count on the return value.
*/ 2 4 data 1 3859 6 reader 1 3663
372 0 0 7 479 3817 0 0 0 0
373 0 0 7 299 3861 0 0 0 1 4 this 3 3652
374 0 0 6 302 3862 0 0 0 1 4 this 3 3652
375 0 0 6 305 3863 0 0 0 1 4 this 3 3652
376 0 0 6 372 3797 0 0 59 /**
* Returns the number of tags applied to this node.
*/ 1 4 this 3 3843
377 0 0 6 377 3842 0 0 63 /**
* Returns the key of the nth tag applied to this node.
*/ 2 4 this 3 3843 1 i 1 3797
378 0 0 7 463 3652 2126 0 0 2 4 this 3 3864 1 n 1 3797
379 0 0 6 464 3797 0 0 0 1 4 this 3 3864
380 0 0 7 467 3652 2126 0 0 2 4 this 3 3866 1 n 1 3797
381 0 0 6 468 3797 0 0 0 1 4 this 3 3866
382 0 0 7 471 3652 2126 0 0 2 4 this 3 3868 1 n 1 3797
383 0 0 6 472 3797 0 0 0 1 4 this 3 3868
384 0 0 7 482 3611 0 0 54 /**
* Constructs a new TransparencyAttrib object.
*/ 1 4 mode 1 3643
385 0 0 7 483 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
386 0 0 6 484 3643 0 0 41 /**
* Returns the transparency mode.
*/ 1 4 this 3 3870
387 0 0 6 486 3597 0 0 0 0
388 0 0 7 488 3817 0 0 0 0
389 0 0 7 492 3611 0 0 139 /**
* Constructs a new LogicOpAttrib object that disables special-effect
* blending, allowing normal transparency to be used instead.
*/ 0
390 0 0 7 493 3611 0 0 80 /**
* Constructs a new LogicOpAttrib object with the given logic operation.
*/ 1 2 op 1 3645
391 0 0 7 494 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
392 0 0 6 495 3645 0 0 67 /**
* Returns the logic operation specified by this attribute.
*/ 1 4 this 3 3872
393 0 0 6 497 3597 0 0 0 0
394 0 0 7 499 3817 0 0 0 0
395 0 0 7 504 3877 2281 0 0 3 4 name 1 3874 5 value 1 3627 8 priority 1 3597
396 0 0 7 504 3877 2281 0 10 /**
*
*/ 4 4 name 1 3874 3 tex 1 3756 7 sampler 1 3878 8 priority 1 3597
397 0 0 7 504 3877 2281 0 10 /**
*
*/ 7 4 name 1 3874 3 tex 1 3756 4 read 1 3604 5 write 1 3604 1 z 1 3597 1 n 1 3597 8 priority 1 3597
398 0 0 7 504 3877 2281 0 10 /**
*
*/ 2 4 name 1 3874 8 priority 1 3597
399 0 0 7 504 3877 2281 0 0 1 6 param0 0 3879
400 0 0 6 503 3879 0 0 124 /**
* Returns a static ShaderInput object with name NULL, priority zero, type
* INVALID, and all value-fields cleared.
*/ 0
401 0 0 6 507 3604 0 0 0 2 4 this 3 3879 5 other 1 3879
402 0 0 6 508 3604 0 0 0 2 4 this 3 3879 5 other 1 3879
403 0 0 6 509 3604 0 0 0 2 4 this 3 3879 5 other 1 3879
404 0 0 6 510 3797 0 0 10 /**
*
*/ 2 4 this 3 3879 4 hash 1 3797
405 0 0 7 511 3874 0 0 10 /**
*
*/ 1 4 this 3 3879
406 0 0 6 512 3597 0 0 10 /**
*
*/ 1 4 this 3 3879
407 0 0 6 513 3597 0 0 10 /**
*
*/ 1 4 this 3 3879
408 0 0 6 514 3881 0 0 10 /**
*
*/ 1 4 this 3 3879
409 0 0 6 515 3882 0 0 10 /**
*
*/ 1 4 this 3 3879
410 0 0 7 516 3885 2700 0 107 /**
* Warning: no error checking is done. This *will* crash if get_value_type()
* is not M_nodepath.
*/ 1 4 this 3 3879
411 0 0 7 517 3756 0 0 10 /**
*
*/ 1 4 this 3 3879
412 0 0 6 518 3878 0 0 46 /**
* Warning: no error checking is done.
*/ 1 4 this 3 3879
413 0 0 6 506 3604 0 0 0 1 4 this 3 3879
414 0 0 7 521 3886 2284 0 10 /**
*
*/ 0
415 0 0 7 521 3886 2284 0 10 /**
*
*/ 1 4 copy 1 3887
416 0 0 6 522 3886 0 0 0 2 4 this 3 3886 4 copy 1 3887
417 0 0 4 524 3813 0 0 53 /**
* Adds a new TextureStage to the collection.
*/ 2 4 this 3 3886 18 node_texture_stage 1 3754
418 0 0 6 525 3604 0 0 168 /**
* Removes the indicated TextureStage from the collection. Returns true if
* the texture_stage was removed, false if it was not a member of the
* collection.
*/ 2 4 this 3 3886 18 node_texture_stage 1 3754
419 0 0 4 526 3813 0 0 235 /**
* Adds all the TextureStages indicated in the other collection to this
* texture_stage. The other texture_stages are simply appended to the end of
* the texture_stages in this list; duplicates are not automatically removed.
*/ 2 4 this 3 3886 5 other 1 3887
420 0 0 4 527 3813 0 0 99 /**
* Removes from this collection all of the TextureStages listed in the other
* collection.
*/ 2 4 this 3 3886 5 other 1 3887
421 0 0 4 528 3813 0 0 204 /**
* Removes any duplicate entries of the same TextureStages on this collection.
* If a TextureStage appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/ 1 4 this 3 3886
422 0 0 6 529 3604 0 0 101 /**
* Returns true if the indicated TextureStage appears in this collection,
* false otherwise.
*/ 2 4 this 3 3887 13 texture_stage 1 3754
423 0 0 4 530 3813 0 0 57 /**
* Removes all TextureStages from the collection.
*/ 1 4 this 3 3886
424 0 0 7 531 3754 0 0 133 /**
* Returns the texture_stage in the collection with the indicated name, if
* any, or NULL if no texture_stage has that name.
*/ 2 4 this 3 3887 4 name 1 3842
425 0 0 6 532 3597 0 0 65 /**
* Returns the number of TextureStages in the collection.
*/ 1 4 this 3 3887
426 0 0 7 533 3754 0 0 58 /**
* Returns the nth TextureStage in the collection.
*/ 2 4 this 3 3887 5 index 1 3597
427 0 0 7 535 3754 0 0 153 /**
* Returns the nth TextureStage in the collection. This is the same as
* get_texture_stage(), but it may be a more convenient way to access it.
*/ 2 4 this 3 3887 5 index 1 3597
428 0 0 6 536 3597 0 0 122 /**
* Returns the number of texture stages in the collection. This is the same
* thing as get_num_texture_stages().
*/ 1 4 this 3 3887
429 0 0 6 537 3886 0 0 0 2 4 this 3 3886 5 other 1 3887
430 0 0 7 538 3886 2284 0 0 2 4 this 3 3887 5 other 1 3887
431 0 0 4 539 3813 0 0 116 /**
* Sorts the TextureStages in this collection into order by
* TextureStage::sort(), from lowest to highest.
*/ 1 4 this 3 3886
432 0 0 4 540 3813 0 0 111 /**
* Writes a brief one-line description of the TextureStageCollection to the
* indicated output stream.
*/ 2 4 this 3 3887 3 out 1 3814
433 0 0 4 541 3813 0 0 116 /**
* Writes a complete multi-line description of the TextureStageCollection to
* the indicated output stream.
*/ 3 4 this 3 3887 3 out 1 3814 12 indent_level 1 3597
434 0 0 7 544 3885 2700 0 59 /**
* This constructs an empty NodePath with no nodes.
*/ 0
435 0 0 7 544 3885 2700 0 10 /**
*
*/ 1 4 from 1 3885
436 0 0 7 544 3885 2700 0 10 /**
*
*/ 1 4 copy 1 3889
437 0 0 7 544 3885 2700 0 153 /**
* Constructs a NodePath with the indicated parent NodePath and child node;
* the child node must be a stashed or unstashed child of the parent.
*/ 3 6 parent 1 3889 10 child_node 1 3652 14 current_thread 1 3845
438 0 0 7 544 3885 2700 0 371 /**
* This constructs a NodePath for the indicated node. If the node does not
* have any parents, this creates a singleton NodePath; otherwise, it
* automatically finds the path from the node to the root. If the node has
* multiple paths to the root, one path is chosen arbitrarily and a warning
* message is printed (but see also NodePath::any_path(), below).
*/ 2 4 node 1 3652 14 current_thread 1 3845
439 0 0 7 544 3885 2700 0 135 /**
* This constructs a new NodePath with a single node. An ordinary, unattached
* PandaNode is created with the indicated name.
*/ 2 13 top_node_name 1 3842 14 current_thread 1 3845
440 0 0 7 545 3885 2700 0 236 /**
* Returns a new NodePath that represents any arbitrary path from the root to
* the indicated node. This is the same thing that would be returned by
* NodePath(node), except that no warning is issued if the path is ambiguous.
*/ 2 4 node 1 3652 14 current_thread 1 3845
441 0 0 6 546 3885 0 0 0 2 4 this 3 3885 4 from 1 3885
442 0 0 6 546 3885 0 0 0 2 4 this 3 3885 4 copy 1 3889
443 0 0 4 547 3813 0 0 93 /**
* Sets this NodePath to the empty NodePath. It will no longer point to any
* node.
*/ 1 4 this 3 3885
444 0 0 7 548 3885 2700 0 0 1 4 this 3 3889
445 0 0 6 549 3627 0 0 0 2 4 this 3 3889 4 memo 1 3627
446 0 0 6 550 3627 0 0 0 1 4 this 3 3889
447 0 0 6 551 3627 0 0 0 2 4 this 3 3889 7 pickler 1 3627
448 0 0 7 552 3885 2700 0 67 /**
* Creates a NodePath with the ET_not_found error type set.
*/ 0
449 0 0 7 553 3885 2700 0 65 /**
* Creates a NodePath with the ET_removed error type set.
*/ 0
450 0 0 7 554 3885 2700 0 62 /**
* Creates a NodePath with the ET_fail error type set.
*/ 0
451 0 0 4 555 3813 0 0 798 /**
* Certain operations, such as find() or find_all_matches(), require a
* traversal of the scene graph to search for the target node or nodes. This
* traversal does not attempt to detect cycles, so an arbitrary cap is set on
* the depth of the traversal as a poor man's cycle detection, in the event
* that a cycle has inadvertently been introduced into the scene graph.
*
* There may be other reasons you'd want to truncate a search before the
* bottom of the scene graph has been reached. In any event, this function
* sets the limit on the number of levels that a traversal will continue, and
* hence the maximum length of a path that may be returned by a traversal.
*
* This is a static method, and so changing this parameter affects all of the
* NodePaths in the universe.
*/ 1 16 max_search_depth 1 3597
452 0 0 6 556 3597 0 0 95 /**
* Returns the current setting of the search depth limit. See
* set_max_search_depth.
*/ 0
453 0 0 6 557 3604 0 0 58 /**
* Returns true if the NodePath contains no nodes.
*/ 1 4 this 3 3889
454 0 0 6 559 3604 0 0 66 /**
* Returns true if the NodePath contains exactly one node.
*/ 2 4 this 3 3889 14 current_thread 1 3845
455 0 0 6 560 3597 0 0 51 /**
* Returns the number of nodes in the path.
*/ 2 4 this 3 3889 14 current_thread 1 3845
456 0 0 7 561 3652 2126 0 473 /**
* Returns the nth node of the path, where 0 is the referenced (bottom) node
* and get_num_nodes() - 1 is the top node. This requires iterating through
* the path.
*
* Also see node(), which is a convenience function to return the same thing
* as get_node(0) (since the bottom node is the most important node in the
* NodePath, and is the one most frequently referenced).
*
* Note that this function returns the same thing as
* get_ancestor(index).node().
*/ 3 4 this 3 3889 5 index 1 3597 14 current_thread 1 3845
457 0 0 7 566 3885 2700 0 261 /**
* Returns the nth ancestor of the path, where 0 is the NodePath itself and
* get_num_nodes() - 1 is get_top(). This requires iterating through the path.
*
* Also see get_node(), which returns the same thing as a PandaNode pointer,
* not a NodePath.
*/ 3 4 this 3 3889 5 index 1 3597 14 current_thread 1 3845
458 0 0 6 570 3651 0 0 110 /**
* If is_empty() is true, this returns a code that represents the reason why
* the NodePath is empty.
*/ 1 4 this 3 3889
459 0 0 7 572 3652 2126 0 120 /**
* Returns the top node of the path, or NULL if the path is empty. This
* requires iterating through the path.
*/ 2 4 this 3 3889 14 current_thread 1 3845
460 0 0 7 573 3885 2700 0 120 /**
* Returns a singleton NodePath that represents the top of the path, or empty
* NodePath if this path is empty.
*/ 2 4 this 3 3889 14 current_thread 1 3845
461 0 0 7 574 3652 2126 0 51 /**
* Returns the referenced node of the path.
*/ 1 4 this 3 3889
462 0 0 6 575 3597 0 0 617 /**
* Returns an integer that is guaranteed to be the same for all NodePaths that
* represent the same node instance, and different for all NodePaths that
* represent a different node instance.
*
* The same key will be returned for a particular instance as long as at least
* one NodePath exists that represents that instance; if all NodePaths for a
* particular instance destruct and a new one is later created, it may have a
* different index. However, a given key will never be reused for a different
* instance (unless the app has been running long enough that we overflow the
* integer key value).
*/ 1 4 this 3 3889
463 0 0 6 576 3797 0 0 528 /**
* Adds the NodePath into the running hash. This is intended to be used by
* lower-level code that computes a hash for each NodePath. It modifies the
* hash value passed in by a unique adjustment for each NodePath, and returns
* the modified hash.
*
* This is similar to the unique integer returned by get_key(), but it is not
* guaranteed to remain unique beyond the lifetime of this particular
* NodePath. Once this NodePath destructs, a different NodePath may be
* created which shares the same hash value.
*/ 2 4 this 3 3889 4 hash 1 3797
464 0 0 6 577 3604 0 0 255 /**
* Returns true if the node represented by this NodePath is parented within
* the same graph as that of the other NodePath. This is essentially the same
* thing as asking whether get_top() of both NodePaths is the same (e.g., both
* "render").
*/ 3 4 this 3 3889 5 other 1 3889 14 current_thread 1 3845
465 0 0 6 578 3604 0 0 143 /**
* Returns true if the node represented by this NodePath is a parent or other
* ancestor of the other NodePath, or false if it is not.
*/ 3 4 this 3 3889 5 other 1 3889 14 current_thread 1 3845
466 0 0 7 579 3885 2700 0 205 /**
* Returns the lowest NodePath that both of these two NodePaths have in
* common: the first ancestor that both of them share. If the two NodePaths
* are unrelated, returns NodePath::not_found().
*/ 3 4 this 3 3889 5 other 1 3889 14 current_thread 1 3845
467 0 0 7 580 3890 2376 0 69 /**
* Returns the set of all child nodes of the referenced node.
*/ 2 4 this 3 3889 14 current_thread 1 3845
468 0 0 6 581 3597 0 0 65 /**
* Returns the number of children of the referenced node.
*/ 2 4 this 3 3889 14 current_thread 1 3845
469 0 0 7 582 3885 2700 0 80 /**
* Returns a NodePath representing the nth child of the referenced node.
*/ 3 4 this 3 3889 1 n 1 3597 14 current_thread 1 3845
470 0 0 7 583 3890 2376 0 210 /**
* Returns the set of all child nodes of the referenced node that have been
* stashed. These children are not normally visible on the node, and do not
* appear in the list returned by get_children().
*/ 2 4 this 3 3889 14 current_thread 1 3845
471 0 0 6 629 3597 0 0 63 /**
* Returns the number of nodes at and below this level.
*/ 1 4 this 3 3889
472 0 0 6 630 3604 0 0 117 /**
* Returns true if the referenced node has a parent; i.e. the NodePath chain
* contains at least two nodes.
*/ 2 4 this 3 3889 14 current_thread 1 3845
473 0 0 7 631 3885 2700 0 195 /**
* Returns the NodePath to the parent of the referenced node: that is, this
* NodePath, shortened by one node. The parent of a singleton NodePath is
* defined to be the empty NodePath.
*/ 2 4 this 3 3889 14 current_thread 1 3845
474 0 0 6 632 3597 0 0 246 /**
* Returns the sort value of the referenced node within its parent; that is,
* the sort number passed on the last reparenting operation for this node.
* This will control the position of the node within its parent's list of
* children.
*/ 2 4 this 3 3889 14 current_thread 1 3845
475 0 0 7 635 3885 2700 0 187 /**
* Searches for a node below the referenced node that matches the indicated
* string. Returns the shortest match found, if any, or an empty NodePath if
* no match can be found.
*/ 2 4 this 3 3889 4 path 1 3842
476 0 0 7 636 3885 2700 0 115 /**
* Searches for the indicated node below this node and returns the shortest
* NodePath that connects them.
*/ 2 4 this 3 3889 4 node 1 3652
477 0 0 7 637 3890 2376 0 156 /**
* Returns the complete set of all NodePaths that begin with this NodePath and
* can be extended by path. The shortest paths will be listed first.
*/ 2 4 this 3 3889 4 path 1 3842
478 0 0 7 638 3890 2376 0 147 /**
* Returns the set of all NodePaths that extend from this NodePath down to the
* indicated node. The shortest paths will be listed first.
*/ 2 4 this 3 3889 4 node 1 3652
479 0 0 4 639 3813 0 0 397 /**
* Removes the referenced node of the NodePath from its current parent and
* attaches it to the referenced node of the indicated NodePath.
*
* If the destination NodePath is empty, this is the same thing as
* detach_node().
*
* If the referenced node is already a child of the indicated NodePath (via
* some other instance), this operation fails and leaves the NodePath
* detached.
*/ 4 4 this 3 3885 5 other 1 3889 4 sort 1 3597 14 current_thread 1 3845
480 0 0 4 640 3813 0 0 189 /**
* Similar to reparent_to(), but the node is added to its new parent's stashed
* list, so that the result is equivalent to calling reparent_to() immediately
* followed by stash().
*/ 4 4 this 3 3885 5 other 1 3889 4 sort 1 3597 14 current_thread 1 3845
481 0 0 4 641 3813 0 0 238 /**
* This functions identically to reparent_to(), except the transform on this
* node is also adjusted so that the node remains in the same place in world
* coordinates, even if it is reparented into a different coordinate system.
*/ 4 4 this 3 3885 5 other 1 3889 4 sort 1 3597 14 current_thread 1 3845
482 0 0 7 642 3885 2700 0 962 /**
* Adds the referenced node of the NodePath as a child of the referenced node
* of the indicated other NodePath. Any other parent-child relations of the
* node are unchanged; in particular, the node is not removed from its
* existing parent, if any.
*
* If the node already had an existing parent, this method will create a new
* instance of the node within the scene graph.
*
* This does not change the NodePath itself, but does return a new NodePath
* that reflects the new instance node.
*
* If the destination NodePath is empty, this creates a new instance which is
* not yet parented to any node. A new instance of this sort cannot easily be
* differentiated from other similar instances, but it is nevertheless a
* different instance and it will return a different get_id() value.
*
* If the referenced node is already a child of the indicated NodePath,
* returns that already-existing instance, unstashing it first if necessary.
*/ 4 4 this 3 3889 5 other 1 3889 4 sort 1 3597 14 current_thread 1 3845
483 0 0 7 643 3885 2700 0 236 /**
* Behaves like instance_to(), but implicitly creates a new node to instance
* the geometry under, and returns a NodePath to that new node. This allows
* the programmer to set a unique state and/or transform on this instance.
*/ 5 4 this 3 3889 5 other 1 3889 4 name 1 3842 4 sort 1 3597 14 current_thread 1 3845
484 0 0 7 644 3885 2700 0 221 /**
* Functions like instance_to(), except a deep copy is made of the referenced
* node and all of its descendents, which is then parented to the indicated
* node. A NodePath to the newly created copy is returned.
*/ 4 4 this 3 3889 5 other 1 3889 4 sort 1 3597 14 current_thread 1 3845
485 0 0 7 645 3885 2700 0 454 /**
* Attaches a new node, with or without existing parents, to the scene graph
* below the referenced node of this NodePath. This is the preferred way to
* add nodes to the graph.
*
* If the node was already a child of the parent, this returns a NodePath to
* the existing child.
*
* This does *not* automatically extend the current NodePath to reflect the
* attachment; however, a NodePath that does reflect this extension is
* returned.
*/ 4 4 this 3 3889 4 node 1 3652 4 sort 1 3597 14 current_thread 1 3845
486 0 0 7 645 3885 2700 0 132 /**
* Creates an ordinary PandaNode and attaches it below the current NodePath,
* returning a new NodePath that references it.
*/ 4 4 this 3 3889 4 name 1 3842 4 sort 1 3597 14 current_thread 1 3845
487 0 0 4 646 3813 0 0 754 /**
* Disconnects the referenced node from the scene graph. This will also
* delete the node if there are no other pointers to it.
*
* Normally, this should be called only when you are really done with the
* node. If you want to remove a node from the scene graph but keep it around
* for later, you should probably use detach_node() instead.
*
* In practice, the only difference between remove_node() and detach_node() is
* that remove_node() also resets the NodePath to empty, which will cause the
* node to be deleted immediately if there are no other references. On the
* other hand, detach_node() leaves the NodePath referencing the node, which
* will keep at least one reference to the node for as long as the NodePath
* exists.
*/ 2 4 this 3 3885 14 current_thread 1 3845
488 0 0 4 647 3813 0 0 735 /**
* Disconnects the referenced node from its parent, but does not immediately
* delete it. The NodePath retains a pointer to the node, and becomes a
* singleton NodePath.
*
* This should be called to detach a node from the scene graph, with the
* option of reattaching it later to the same parent or to a different parent.
*
* In practice, the only difference between remove_node() and detach_node() is
* that remove_node() also resets the NodePath to empty, which will cause the
* node to be deleted immediately if there are no other references. On the
* other hand, detach_node() leaves the NodePath referencing the node, which
* will keep at least one reference to the node for as long as the NodePath
* exists.
*/ 2 4 this 3 3885 14 current_thread 1 3845
489 0 0 4 648 3813 0 0 91 /**
* Writes a sensible description of the NodePath to the indicated output
* stream.
*/ 2 4 this 3 3889 3 out 1 3814
490 0 0 4 649 3813 0 0 64 /**
* Lists the hierarchy at and below the referenced node.
*/ 1 4 this 3 3889
491 0 0 4 649 3813 0 0 64 /**
* Lists the hierarchy at and below the referenced node.
*/ 3 4 this 3 3889 3 out 1 3814 12 indent_level 1 3597
492 0 0 4 650 3813 0 0 64 /**
* Lists the hierarchy at and above the referenced node.
*/ 1 4 this 3 3889
493 0 0 6 650 3597 0 0 64 /**
* Lists the hierarchy at and above the referenced node.
*/ 3 4 this 3 3889 3 out 1 3814 12 indent_level 1 3597
494 0 0 7 651 3826 0 0 145 /**
* Returns the state changes that must be made to transition to the render
* state of this node from the render state of the other node.
*/ 3 4 this 3 3889 5 other 1 3889 14 current_thread 1 3845
495 0 0 7 651 3826 0 0 62 /**
* Returns the complete state object set on this node.
*/ 2 4 this 3 3889 14 current_thread 1 3845
496 0 0 4 652 3813 0 0 180 /**
* Sets the state object on this node, relative to the other node. This
* computes a new state object that will have the indicated value when seen
* from the other node.
*/ 4 4 this 3 3885 5 other 1 3889 5 state 1 3826 14 current_thread 1 3845
497 0 0 4 652 3813 0 0 58 /**
* Changes the complete state object on this node.
*/ 3 4 this 3 3885 5 state 1 3826 14 current_thread 1 3845
498 0 0 7 653 3826 0 0 60 /**
* Returns the net state on this node from the root.
*/ 2 4 this 3 3889 14 current_thread 1 3845
499 0 0 4 654 3813 0 0 220 /**
* Adds the indicated render attribute to the scene graph on this node. This
* attribute will now apply to this node and everything below. If there was
* already an attribute of the same type, it is replaced.
*/ 3 4 this 3 3885 6 attrib 1 3611 8 priority 1 3597
500 0 0 7 655 3611 0 0 270 /**
* Returns the render attribute of the indicated type, if it is defined on the
* node, or NULL if it is not. This checks only what is set on this
* particular node level, and has nothing to do with what render attributes
* may be inherited from parent nodes.
*/ 2 4 this 3 3889 4 type 1 3817
501 0 0 6 656 3604 0 0 127 /**
* Returns true if there is a render attribute of the indicated type defined
* on this node, or false if there is not.
*/ 2 4 this 3 3889 4 type 1 3817
502 0 0 4 657 3813 0 0 194 /**
* Removes the render attribute of the given type from this node. This node,
* and the subgraph below, will now inherit the indicated render attribute
* from the nodes above this one.
*/ 2 4 this 3 3885 4 type 1 3817
503 0 0 4 658 3813 0 0 145 /**
* Adds the indicated render effect to the scene graph on this node. If there
* was already an effect of the same type, it is replaced.
*/ 2 4 this 3 3885 6 effect 1 3838
504 0 0 7 659 3838 0 0 114 /**
* Returns the render effect of the indicated type, if it is defined on the
* node, or NULL if it is not.
*/ 2 4 this 3 3889 4 type 1 3817
505 0 0 6 660 3604 0 0 124 /**
* Returns true if there is a render effect of the indicated type defined on
* this node, or false if there is not.
*/ 2 4 this 3 3889 4 type 1 3817
506 0 0 4 661 3813 0 0 70 /**
* Removes the render effect of the given type from this node.
*/ 2 4 this 3 3885 4 type 1 3817
507 0 0 4 662 3813 0 0 177 /**
* Sets the complete RenderEffects that will be applied this node. This
* completely replaces whatever has been set on this node via repeated calls
* to set_attrib().
*/ 2 4 this 3 3885 7 effects 1 3840
508 0 0 7 663 3840 0 0 80 /**
* Returns the complete RenderEffects that will be applied to this node.
*/ 1 4 this 3 3889
509 0 0 4 664 3813 0 0 54 /**
* Resets this node to have no render effects.
*/ 1 4 this 3 3885
510 0 0 7 665 3795 0 0 145 /**
* Returns the relative transform to this node from the other node; i.e. the
* transformation of this node as seen from the other node.
*/ 3 4 this 3 3889 5 other 1 3889 14 current_thread 1 3845
511 0 0 7 665 3795 0 0 66 /**
* Returns the complete transform object set on this node.
*/ 2 4 this 3 3889 14 current_thread 1 3845
512 0 0 4 666 3813 0 0 171 /**
* Sets the transform object on this node to identity, relative to the other
* node. This effectively places this node at the same position as the other
* node.
*/ 3 4 this 3 3885 5 other 1 3889 14 current_thread 1 3845
513 0 0 4 666 3813 0 0 62 /**
* Sets the transform object on this node to identity.
*/ 2 4 this 3 3885 14 current_thread 1 3845
514 0 0 4 667 3813 0 0 188 /**
* Sets the transform object on this node, relative to the other node. This
* computes a new transform object that will have the indicated value when
* seen from the other node.
*/ 4 4 this 3 3885 5 other 1 3889 9 transform 1 3795 14 current_thread 1 3845
515 0 0 4 667 3813 0 0 62 /**
* Changes the complete transform object on this node.
*/ 3 4 this 3 3885 9 transform 1 3795 14 current_thread 1 3845
516 0 0 7 668 3795 0 0 64 /**
* Returns the net transform on this node from the root.
*/ 2 4 this 3 3889 14 current_thread 1 3845
517 0 0 7 669 3795 0 0 196 /**
* Returns the relative "previous" transform to this node from the other node;
* i.e. the position of this node in the previous frame, as seen by the other
* node in the previous frame.
*/ 3 4 this 3 3889 5 other 1 3889 14 current_thread 1 3845
518 0 0 7 669 3795 0 0 115 /**
* Returns the transform that has been set as this node's "previous" position.
* See set_prev_transform().
*/ 2 4 this 3 3889 14 current_thread 1 3845
519 0 0 4 670 3813 0 0 199 /**
* Sets the "previous" transform object on this node, relative to the other
* node. This computes a new transform object that will have the indicated
* value when seen from the other node.
*/ 4 4 this 3 3885 5 other 1 3889 9 transform 1 3795 14 current_thread 1 3845
520 0 0 4 670 3813 0 0 173 /**
* Sets the transform that represents this node's "previous" position, one
* frame ago, for the purposes of detecting motion for accurate collision
* calculations.
*/ 3 4 this 3 3885 9 transform 1 3795 14 current_thread 1 3845
521 0 0 7 671 3795 0 0 105 /**
* Returns the net "previous" transform on this node from the root. See
* set_prev_transform().
*/ 2 4 this 3 3889 14 current_thread 1 3845
522 0 0 4 672 3813 0 0 329 /**
* Sets the translation component of the transform, leaving rotation and scale
* untouched. This also resets the node's "previous" position, so that the
* collision system will see the node as having suddenly appeared in the new
* position, without passing any points in between. See Also:
* NodePath::set_fluid_pos
*/ 2 4 this 3 3885 3 pos 1 3799
523 0 0 4 672 3813 0 0 90 /**
* Sets the translation component of the transform, relative to the other
* node.
*/ 3 4 this 3 3885 5 other 1 3889 3 pos 1 3799
524 0 0 4 672 3813 0 0 90 /**
* Sets the translation component of the transform, relative to the other
* node.
*/ 5 4 this 3 3885 5 other 1 3889 1 x 1 3602 1 y 1 3602 1 z 1 3602
525 0 0 4 672 3813 0 0 291 /**
* Sets the translation component of the transform, leaving rotation and scale
* untouched. This also resets the node's "previous" position, so that the
* collision system will see the node as having suddenly appeared in the new
* position, without passing any points in between.
*/ 4 4 this 3 3885 1 x 1 3602 1 y 1 3602 1 z 1 3602
526 0 0 4 673 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 x 1 3602
527 0 0 4 673 3813 0 0 0 2 4 this 3 3885 1 x 1 3602
528 0 0 4 674 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 y 1 3602
529 0 0 4 674 3813 0 0 0 2 4 this 3 3885 1 y 1 3602
530 0 0 4 675 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 z 1 3602
531 0 0 4 675 3813 0 0 0 2 4 this 3 3885 1 z 1 3602
532 0 0 4 676 3813 0 0 232 /**
* Sets the translation component, without changing the "previous" position,
* so that the collision system will see the node as moving fluidly from its
* previous position to its new position. See Also: NodePath::set_pos
*/ 2 4 this 3 3885 3 pos 1 3799
533 0 0 4 676 3813 0 0 90 /**
* Sets the translation component of the transform, relative to the other
* node.
*/ 3 4 this 3 3885 5 other 1 3889 3 pos 1 3799
534 0 0 4 676 3813 0 0 203 /**
* Sets the translation component, without changing the "previous" position,
* so that the collision system will see the node as moving fluidly from its
* previous position to its new position.
*/ 5 4 this 3 3885 5 other 1 3889 1 x 1 3602 1 y 1 3602 1 z 1 3602
535 0 0 4 676 3813 0 0 203 /**
* Sets the translation component, without changing the "previous" position,
* so that the collision system will see the node as moving fluidly from its
* previous position to its new position.
*/ 4 4 this 3 3885 1 x 1 3602 1 y 1 3602 1 z 1 3602
536 0 0 4 677 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 x 1 3602
537 0 0 4 677 3813 0 0 0 2 4 this 3 3885 1 x 1 3602
538 0 0 4 678 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 y 1 3602
539 0 0 4 678 3813 0 0 0 2 4 this 3 3885 1 y 1 3602
540 0 0 4 679 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 z 1 3602
541 0 0 4 679 3813 0 0 0 2 4 this 3 3885 1 z 1 3602
542 0 0 7 680 3891 0 0 64 /**
* Retrieves the translation component of the transform.
*/ 1 4 this 3 3889
543 0 0 7 680 3891 0 0 95 /**
* Returns the relative position of the referenced node as seen from the other
* node.
*/ 2 4 this 3 3889 5 other 1 3889
544 0 0 6 681 3602 0 0 0 1 4 this 3 3889
545 0 0 6 681 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
546 0 0 6 682 3602 0 0 0 1 4 this 3 3889
547 0 0 6 682 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
548 0 0 6 683 3602 0 0 0 1 4 this 3 3889
549 0 0 6 683 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
550 0 0 7 684 3894 0 0 469 /**
* Returns the delta vector from this node's position in the previous frame
* (according to set_prev_transform(), typically set via the use of
* set_fluid_pos()) and its position in the current frame. This is the vector
* used to determine collisions. Generally, if the node was last repositioned
* via set_pos(), the delta will be zero; if it was adjusted via
* set_fluid_pos(), the delta will represent the change from the previous
* frame's position.
*/ 1 4 this 3 3889
551 0 0 7 684 3894 0 0 519 /**
* Returns the delta vector from this node's position in the previous frame
* (according to set_prev_transform(), typically set via the use of
* set_fluid_pos()) and its position in the current frame, as seen in the
* indicated node's coordinate space. This is the vector used to determine
* collisions. Generally, if the node was last repositioned via set_pos(),
* the delta will be zero; if it was adjusted via set_fluid_pos(), the delta
* will represent the change from the previous frame's position.
*/ 2 4 this 3 3889 5 other 1 3889
552 0 0 4 685 3813 0 0 100 /**
* Sets the rotation component of the transform, leaving translation and scale
* untouched.
*/ 2 4 this 3 3885 3 hpr 1 3799
553 0 0 4 685 3813 0 0 84 /**
* Sets the rotation component of the transform, relative to the other node.
*/ 3 4 this 3 3885 5 other 1 3889 3 hpr 1 3799
554 0 0 4 685 3813 0 0 84 /**
* Sets the rotation component of the transform, relative to the other node.
*/ 5 4 this 3 3885 5 other 1 3889 1 h 1 3602 1 p 1 3602 1 r 1 3602
555 0 0 4 685 3813 0 0 100 /**
* Sets the rotation component of the transform, leaving translation and scale
* untouched.
*/ 4 4 this 3 3885 1 h 1 3602 1 p 1 3602 1 r 1 3602
556 0 0 4 686 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 h 1 3602
557 0 0 4 686 3813 0 0 0 2 4 this 3 3885 1 h 1 3602
558 0 0 4 687 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 p 1 3602
559 0 0 4 687 3813 0 0 0 2 4 this 3 3885 1 p 1 3602
560 0 0 4 688 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 1 r 1 3602
561 0 0 4 688 3813 0 0 0 2 4 this 3 3885 1 r 1 3602
562 0 0 7 689 3895 0 0 61 /**
* Retrieves the rotation component of the transform.
*/ 1 4 this 3 3889
563 0 0 7 689 3895 0 0 94 /**
* Returns the relative orientation of the bottom node as seen from the other
* node.
*/ 2 4 this 3 3889 5 other 1 3889
564 0 0 6 690 3602 0 0 0 1 4 this 3 3889
565 0 0 6 690 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
566 0 0 6 691 3602 0 0 0 1 4 this 3 3889
567 0 0 6 691 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
568 0 0 6 692 3602 0 0 0 1 4 this 3 3889
569 0 0 6 692 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
570 0 0 4 693 3813 0 0 100 /**
* Sets the rotation component of the transform, leaving translation and scale
* untouched.
*/ 2 4 this 3 3885 4 quat 1 3800
571 0 0 4 693 3813 0 0 84 /**
* Sets the rotation component of the transform, relative to the other node.
*/ 3 4 this 3 3885 5 other 1 3889 4 quat 1 3800
572 0 0 7 694 3896 0 0 61 /**
* Retrieves the rotation component of the transform.
*/ 1 4 this 3 3889
573 0 0 7 694 3896 0 0 94 /**
* Returns the relative orientation of the bottom node as seen from the other
* node.
*/ 2 4 this 3 3889 5 other 1 3889
574 0 0 4 695 3813 0 0 100 /**
* Sets the scale component of the transform, leaving translation and rotation
* untouched.
*/ 2 4 this 3 3885 5 scale 1 3799
575 0 0 4 695 3813 0 0 81 /**
* Sets the scale component of the transform, relative to the other node.
*/ 3 4 this 3 3885 5 other 1 3889 5 scale 1 3799
576 0 0 4 695 3813 0 0 81 /**
* Sets the scale component of the transform, relative to the other node.
*/ 3 4 this 3 3885 5 other 1 3889 5 scale 1 3602
577 0 0 4 695 3813 0 0 81 /**
* Sets the scale component of the transform, relative to the other node.
*/ 5 4 this 3 3885 5 other 1 3889 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602
578 0 0 4 695 3813 0 0 100 /**
* Sets the scale component of the transform, leaving translation and rotation
* untouched.
*/ 2 4 this 3 3885 5 scale 1 3602
579 0 0 4 695 3813 0 0 0 4 4 this 3 3885 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602
580 0 0 4 696 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 2 sx 1 3602
581 0 0 4 696 3813 0 0 0 2 4 this 3 3885 2 sx 1 3602
582 0 0 4 697 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 2 sy 1 3602
583 0 0 4 697 3813 0 0 0 2 4 this 3 3885 2 sy 1 3602
584 0 0 4 698 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 2 sz 1 3602
585 0 0 4 698 3813 0 0 0 2 4 this 3 3885 2 sz 1 3602
586 0 0 7 699 3895 0 0 58 /**
* Retrieves the scale component of the transform.
*/ 1 4 this 3 3889
587 0 0 7 699 3895 0 0 85 /**
* Returns the relative scale of the bottom node as seen from the other node.
*/ 2 4 this 3 3889 5 other 1 3889
588 0 0 6 700 3602 0 0 0 1 4 this 3 3889
589 0 0 6 700 3602 0 0 92 /**
* Returns the relative scale of the referenced node as seen from the other
* node.
*/ 2 4 this 3 3889 5 other 1 3889
590 0 0 6 701 3602 0 0 0 1 4 this 3 3889
591 0 0 6 701 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
592 0 0 6 702 3602 0 0 0 1 4 this 3 3889
593 0 0 6 702 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
594 0 0 4 703 3813 0 0 100 /**
* Sets the shear component of the transform, leaving translation and rotation
* untouched.
*/ 2 4 this 3 3885 5 shear 1 3799
595 0 0 4 703 3813 0 0 81 /**
* Sets the shear component of the transform, relative to the other node.
*/ 3 4 this 3 3885 5 other 1 3889 5 shear 1 3799
596 0 0 4 703 3813 0 0 81 /**
* Sets the shear component of the transform, relative to the other node.
*/ 5 4 this 3 3885 5 other 1 3889 4 shxy 1 3602 4 shxz 1 3602 4 shyz 1 3602
597 0 0 4 703 3813 0 0 108 /**
* Sets the shear component of the transform, leaving translation, rotation,
* and scale untouched.
*/ 4 4 this 3 3885 4 shxy 1 3602 4 shxz 1 3602 4 shyz 1 3602
598 0 0 4 704 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 4 shxy 1 3602
599 0 0 4 704 3813 0 0 0 2 4 this 3 3885 4 shxy 1 3602
600 0 0 4 705 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 4 shxz 1 3602
601 0 0 4 705 3813 0 0 0 2 4 this 3 3885 4 shxz 1 3602
602 0 0 4 706 3813 0 0 0 3 4 this 3 3885 5 other 1 3889 4 shyz 1 3602
603 0 0 4 706 3813 0 0 0 2 4 this 3 3885 4 shyz 1 3602
604 0 0 7 707 3895 0 0 58 /**
* Retrieves the shear component of the transform.
*/ 1 4 this 3 3889
605 0 0 7 707 3895 0 0 85 /**
* Returns the relative shear of the bottom node as seen from the other node.
*/ 2 4 this 3 3889 5 other 1 3889
606 0 0 6 708 3602 0 0 0 1 4 this 3 3889
607 0 0 6 708 3602 0 0 92 /**
* Returns the relative shear of the referenced node as seen from the other
* node.
*/ 2 4 this 3 3889 5 other 1 3889
608 0 0 6 709 3602 0 0 0 1 4 this 3 3889
609 0 0 6 709 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
610 0 0 6 710 3602 0 0 0 1 4 this 3 3889
611 0 0 6 710 3602 0 0 0 2 4 this 3 3889 5 other 1 3889
612 0 0 4 711 3813 0 0 100 /**
* Sets the translation and rotation component of the transform, leaving scale
* untouched.
*/ 3 4 this 3 3885 3 pos 1 3799 3 hpr 1 3799
613 0 0 4 711 3813 0 0 103 /**
* Sets the translation and rotation component of the transform, relative to
* the other node.
*/ 4 4 this 3 3885 5 other 1 3889 3 pos 1 3799 3 hpr 1 3799
614 0 0 4 711 3813 0 0 103 /**
* Sets the translation and rotation component of the transform, relative to
* the other node.
*/ 8 4 this 3 3885 5 other 1 3889 1 x 1 3602 1 y 1 3602 1 z 1 3602 1 h 1 3602 1 p 1 3602 1 r 1 3602
615 0 0 4 711 3813 0 0 100 /**
* Sets the translation and rotation component of the transform, leaving scale
* untouched.
*/ 7 4 this 3 3885 1 x 1 3602 1 y 1 3602 1 z 1 3602 1 h 1 3602 1 p 1 3602 1 r 1 3602
616 0 0 4 712 3813 0 0 100 /**
* Sets the translation and rotation component of the transform, leaving scale
* untouched.
*/ 3 4 this 3 3885 3 pos 1 3799 4 quat 1 3800
617 0 0 4 712 3813 0 0 103 /**
* Sets the translation and rotation component of the transform, relative to
* the other node.
*/ 4 4 this 3 3885 5 other 1 3889 3 pos 1 3799 4 quat 1 3800
618 0 0 4 713 3813 0 0 101 /**
* Sets the rotation and scale components of the transform, leaving
* translation untouched.
*/ 3 4 this 3 3885 3 hpr 1 3799 5 scale 1 3799
619 0 0 4 713 3813 0 0 219 /**
* Sets the rotation and scale components of the transform, leaving
* translation untouched. This, or set_pos_hpr_scale, is the preferred way to
* update a transform when both hpr and scale are to be changed.
*/ 4 4 this 3 3885 5 other 1 3889 3 hpr 1 3799 5 scale 1 3799
620 0 0 4 713 3813 0 0 219 /**
* Sets the rotation and scale components of the transform, leaving
* translation untouched. This, or set_pos_hpr_scale, is the preferred way to
* update a transform when both hpr and scale are to be changed.
*/ 8 4 this 3 3885 5 other 1 3889 1 h 1 3602 1 p 1 3602 1 r 1 3602 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602
621 0 0 4 713 3813 0 0 101 /**
* Sets the rotation and scale components of the transform, leaving
* translation untouched.
*/ 7 4 this 3 3885 1 h 1 3602 1 p 1 3602 1 r 1 3602 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602
622 0 0 4 714 3813 0 0 101 /**
* Sets the rotation and scale components of the transform, leaving
* translation untouched.
*/ 3 4 this 3 3885 4 quat 1 3800 5 scale 1 3799
623 0 0 4 714 3813 0 0 221 /**
* Sets the rotation and scale components of the transform, leaving
* translation untouched. This, or set_pos_quat_scale, is the preferred way
* to update a transform when both quat and scale are to be changed.
*/ 4 4 this 3 3885 5 other 1 3889 4 quat 1 3800 5 scale 1 3799
624 0 0 4 715 3813 0 0 102 /**
* Replaces the translation, rotation, and scale components, implicitly
* setting shear to 0.
*/ 4 4 this 3 3885 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799
625 0 0 4 715 3813 0 0 160 /**
* Completely replaces the transform with new translation, rotation, and scale
* components, relative to the other node, implicitly setting shear to 0.
*/ 5 4 this 3 3885 5 other 1 3889 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799
626 0 0 4 715 3813 0 0 129 /**
* Completely replaces the transform with new translation, rotation, and scale
* components, relative to the other node.
*/ 11 4 this 3 3885 5 other 1 3889 1 x 1 3602 1 y 1 3602 1 z 1 3602 1 h 1 3602 1 p 1 3602 1 r 1 3602 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602
627 0 0 4 715 3813 0 0 101 /**
* Completely replaces the transform with new translation, rotation, and scale
* components.
*/ 10 4 this 3 3885 1 x 1 3602 1 y 1 3602 1 z 1 3602 1 h 1 3602 1 p 1 3602 1 r 1 3602 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602
628 0 0 4 716 3813 0 0 102 /**
* Replaces the translation, rotation, and scale components, implicitly
* setting shear to 0.
*/ 4 4 this 3 3885 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799
629 0 0 4 716 3813 0 0 160 /**
* Completely replaces the transform with new translation, rotation, and scale
* components, relative to the other node, implicitly setting shear to 0.
*/ 5 4 this 3 3885 5 other 1 3889 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799
630 0 0 4 717 3813 0 0 108 /**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components.
*/ 5 4 this 3 3885 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799 5 shear 1 3799
631 0 0 4 717 3813 0 0 136 /**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components, relative to the other node.
*/ 6 4 this 3 3885 5 other 1 3889 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799 5 shear 1 3799
632 0 0 4 718 3813 0 0 108 /**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components.
*/ 5 4 this 3 3885 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799 5 shear 1 3799
633 0 0 4 718 3813 0 0 136 /**
* Completely replaces the transform with new translation, rotation, scale,
* and shear components, relative to the other node.
*/ 6 4 this 3 3885 5 other 1 3889 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799 5 shear 1 3799
634 0 0 4 719 3813 0 0 59 /**
* Directly sets an arbitrary 4x4 transform matrix.
*/ 2 4 this 3 3885 3 mat 1 3801
635 0 0 4 719 3813 0 0 136 /**
* Converts the indicated matrix from the other's coordinate space to the
* local coordinate space, and applies it to the node.
*/ 3 4 this 3 3885 5 other 1 3889 3 mat 1 3801
636 0 0 4 720 3813 0 0 69 /**
* Completely removes any transform from the referenced node.
*/ 1 4 this 3 3885
637 0 0 6 721 3604 0 0 119 /**
* Returns true if a non-identity transform matrix has been applied to the
* referenced node, false otherwise.
*/ 1 4 this 3 3889
638 0 0 6 722 3801 0 0 142 /**
* Returns the transform matrix that has been applied to the referenced node,
* or the identity matrix if no matrix has been applied.
*/ 1 4 this 3 3889
639 0 0 7 722 3897 0 0 149 /**
* Returns the matrix that describes the coordinate space of the bottom node,
* relative to the other path's bottom node's coordinate space.
*/ 2 4 this 3 3889 5 other 1 3889
640 0 0 4 723 3813 0 0 100 /**
* Sets the hpr on this NodePath so that it rotates to face the indicated
* point in space.
*/ 3 4 this 3 3885 5 point 1 3810 2 up 1 3898
641 0 0 4 723 3813 0 0 147 /**
* Sets the transform on this NodePath so that it rotates to face the
* indicated point in space, which is relative to the other NodePath.
*/ 4 4 this 3 3885 5 other 1 3889 5 point 1 3810 2 up 1 3898
642 0 0 4 723 3813 0 0 141 /**
* Sets the hpr on this NodePath so that it rotates to face the indicated
* point in space, which is relative to the other NodePath.
*/ 5 4 this 3 3885 5 other 1 3889 1 x 1 3602 1 y 1 3602 1 z 1 3602
643 0 0 4 723 3813 0 0 216 /**
* Sets the transform on this NodePath so that it rotates to face the
* indicated point in space. This will overwrite any previously existing
* scale on the node, although it will preserve any translation.
*/ 4 4 this 3 3885 1 x 1 3602 1 y 1 3602 1 z 1 3602
644 0 0 4 724 3813 0 0 133 /**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/ 3 4 this 3 3885 5 point 1 3810 2 up 1 3898
645 0 0 4 724 3813 0 0 133 /**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/ 4 4 this 3 3885 5 other 1 3889 5 point 1 3810 2 up 1 3898
646 0 0 4 724 3813 0 0 133 /**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/ 5 4 this 3 3885 5 other 1 3889 1 x 1 3602 1 y 1 3602 1 z 1 3602
647 0 0 4 724 3813 0 0 133 /**
* Behaves like look_at(), but with a strong preference to keeping the up
* vector oriented in the indicated "up" direction.
*/ 4 4 this 3 3885 1 x 1 3602 1 y 1 3602 1 z 1 3602
648 0 0 7 725 3891 0 0 148 /**
* Given that the indicated point is in the coordinate system of the other
* node, returns the same point in this node's coordinate system.
*/ 3 4 this 3 3889 5 other 1 3889 5 point 1 3799
649 0 0 7 726 3894 0 0 150 /**
* Given that the indicated vector is in the coordinate system of the other
* node, returns the same vector in this node's coordinate system.
*/ 3 4 this 3 3889 5 other 1 3889 3 vec 1 3799
650 0 0 6 727 3602 0 0 143 /**
* Returns the straight-line distance between this referenced node's
* coordinate frame's origin, and that of the other node's origin.
*/ 2 4 this 3 3889 5 other 1 3889
651 0 0 4 728 3813 0 0 189 /**
* Applies a scene-graph color to the referenced node. This color will apply
* to all geometry at this level and below (that does not specify a new color
* or a set_color_off()).
*/ 3 4 this 3 3885 5 color 1 3821 8 priority 1 3597
652 0 0 4 728 3813 0 0 189 /**
* Applies a scene-graph color to the referenced node. This color will apply
* to all geometry at this level and below (that does not specify a new color
* or a set_color_off()).
*/ 6 4 this 3 3885 1 r 1 3602 1 g 1 3602 1 b 1 3602 1 a 1 3602 8 priority 1 3597
653 0 0 4 729 3813 0 0 277 /**
* Sets the geometry at this level and below to render using the geometry
* color. This is normally the default, but it may be useful to use this to
* contradict set_color() at a higher node level (or, with a priority, to
* override a set_color() at a lower level).
*/ 2 4 this 3 3885 8 priority 1 3597
654 0 0 4 730 3813 0 0 209 /**
* Completely removes any color adjustment from the node. This allows the
* natural color of the geometry, or whatever color transitions might be
* otherwise affecting the geometry, to show instead.
*/ 1 4 this 3 3885
655 0 0 6 731 3604 0 0 90 /**
* Returns true if a color has been applied to the given node, false
* otherwise.
*/ 1 4 this 3 3889
656 0 0 7 732 3900 0 0 107 /**
* Returns the color that has been assigned to the node, or black if no color
* has been assigned.
*/ 1 4 this 3 3889
657 0 0 6 733 3604 0 0 194 /**
* Returns true if a color scale has been applied to the referenced node,
* false otherwise. It is still possible that color at this node might have
* been scaled by an ancestor node.
*/ 1 4 this 3 3889
658 0 0 4 734 3813 0 0 221 /**
* Completely removes any color scale from the referenced node. This is
* preferable to simply setting the color scale to identity, as it also
* removes the overhead associated with having a color scale at all.
*/ 1 4 this 3 3885
659 0 0 4 735 3813 0 0 106 /**
* Sets the color scale component of the transform, leaving translation and
* rotation untouched.
*/ 3 4 this 3 3885 5 scale 1 3881 8 priority 1 3597
660 0 0 4 735 3813 0 0 58 /**
* Sets the color scale component of the transform
*/ 6 4 this 3 3885 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602 2 sa 1 3602 8 priority 1 3597
661 0 0 4 736 3813 0 0 138 /**
* multiplies the color scale component of the transform, with previous color
* scale leaving translation and rotation untouched.
*/ 3 4 this 3 3885 5 scale 1 3881 8 priority 1 3597
662 0 0 4 736 3813 0 0 58 /**
* Sets the color scale component of the transform
*/ 6 4 this 3 3885 2 sx 1 3602 2 sy 1 3602 2 sz 1 3602 2 sa 1 3602 8 priority 1 3597
663 0 0 4 737 3813 0 0 533 /**
* Disables any color scale attribute inherited from above. This is not the
* same thing as clear_color_scale(), which undoes any previous
* set_color_scale() operation on this node; rather, this actively disables
* any set_color_scale() that might be inherited from a parent node. This
* also disables set_alpha_scale() at the same time.
*
* It is legal to specify a new color scale on the same node with a subsequent
* call to set_color_scale() or set_alpha_scale(); this new scale will apply
* to lower geometry.
*/ 2 4 this 3 3885 8 priority 1 3597
664 0 0 4 738 3813 0 0 176 /**
* Sets the alpha scale component of the transform without (much) affecting
* the color scale. Note that any priority specified will also apply to the
* color scale.
*/ 3 4 this 3 3885 5 scale 1 3602 8 priority 1 3597
665 0 0 4 739 3813 0 0 206 /**
* Scales all the color components of the object by the same amount, darkening
* the object, without (much) affecting alpha. Note that any priority
* specified will also apply to the alpha scale.
*/ 3 4 this 3 3885 5 scale 1 3602 8 priority 1 3597
666 0 0 4 740 3813 0 0 56 /**
* Sets the red scale component of the transform
*/ 2 4 this 3 3885 2 sr 1 3602
667 0 0 4 741 3813 0 0 58 /**
* Sets the alpha scale component of the transform
*/ 2 4 this 3 3885 2 sg 1 3602
668 0 0 4 742 3813 0 0 57 /**
* Sets the blue scale component of the transform
*/ 2 4 this 3 3885 2 sb 1 3602
669 0 0 4 743 3813 0 0 58 /**
* Sets the alpha scale component of the transform
*/ 2 4 this 3 3885 2 sa 1 3602
670 0 0 6 744 3881 0 0 234 /**
* Returns the complete color scale vector that has been applied to this node
* via a previous call to set_color_scale() and/or set_alpha_scale(), or all
* 1's (identity) if no scale has been applied to this particular node.
*/ 1 4 this 3 3889
671 0 0 6 745 3602 0 0 56 /**
* Gets the red scale component of the transform
*/ 1 4 this 3 3889
672 0 0 6 746 3602 0 0 58 /**
* Gets the green scale component of the transform
*/ 1 4 this 3 3889
673 0 0 6 747 3602 0 0 57 /**
* Gets the blue scale component of the transform
*/ 1 4 this 3 3889
674 0 0 6 748 3602 0 0 58 /**
* Gets the alpha scale component of the transform
*/ 1 4 this 3 3889
675 0 0 4 749 3813 0 0 309 /**
* Adds the indicated Light or PolylightNode to the list of lights that
* illuminate geometry at this node and below. The light itself should be
* parented into the scene graph elsewhere, to represent the light's position
* in space; but until set_light() is called it will illuminate no geometry.
*/ 3 4 this 3 3885 5 light 1 3889 8 priority 1 3597
676 0 0 4 750 3813 0 0 396 /**
* Sets the geometry at this level and below to render without using the
* indicated Light. This is different from not specifying the Light; rather,
* this specifically contradicts set_light() at a higher node level (or, with
* a priority, overrides a set_light() at a lower level).
*
* This interface does not support PolylightNodes, which cannot be turned off
* at a lower level.
*/ 3 4 this 3 3885 5 light 1 3889 8 priority 1 3597
677 0 0 4 750 3813 0 0 401 /**
* Sets the geometry at this level and below to render using no lights at all.
* This is different from not specifying a light; rather, this specifically
* contradicts set_light() at a higher node level (or, with a priority,
* overrides a set_light() at a lower level).
*
* If no lights are in effect on a particular piece of geometry, that geometry
* is rendered with lighting disabled.
*/ 2 4 this 3 3885 8 priority 1 3597
678 0 0 4 751 3813 0 0 141 /**
* Completely removes any lighting operations that may have been set via
* set_light() or set_light_off() from this particular node.
*/ 1 4 this 3 3885
679 0 0 4 751 3813 0 0 94 /**
* Removes any reference to the indicated Light or PolylightNode from the
* NodePath.
*/ 2 4 this 3 3885 5 light 1 3889
680 0 0 6 752 3604 0 0 207 /**
* Returns true if the indicated Light or PolylightNode has been specifically
* enabled on this particular node. This means that someone called
* set_light() on this node with the indicated light.
*/ 2 4 this 3 3889 5 light 1 3889
681 0 0 6 753 3604 0 0 181 /**
* Returns true if all Lights have been specifically disabled on this
* particular node. This means that someone called set_light_off() on this
* node with no parameters.
*/ 1 4 this 3 3889
682 0 0 6 753 3604 0 0 297 /**
* Returns true if the indicated Light has been specifically disabled on this
* particular node. This means that someone called set_light_off() on this
* node with the indicated light.
*
* This interface does not support PolylightNodes, which cannot be turned off
* at a lower level.
*/ 2 4 this 3 3889 5 light 1 3889
683 0 0 4 754 3813 0 0 324 /**
* Adds the indicated clipping plane to the list of planes that apply to
* geometry at this node and below. The clipping plane itself, a PlaneNode,
* should be parented into the scene graph elsewhere, to represent the plane's
* position in space; but until set_clip_plane() is called it will clip no
* geometry.
*/ 3 4 this 3 3885 10 clip_plane 1 3889 8 priority 1 3597
684 0 0 4 755 3813 0 0 326 /**
* Sets the geometry at this level and below to render without being clipped
* by the indicated PlaneNode. This is different from not specifying the
* PlaneNode; rather, this specifically contradicts set_clip_plane() at a
* higher node level (or, with a priority, overrides a set_clip_plane() at a
* lower level).
*/ 3 4 this 3 3885 10 clip_plane 1 3889 8 priority 1 3597
685 0 0 4 755 3813 0 0 465 /**
* Sets the geometry at this level and below to render using no clip_planes at
* all. This is different from not specifying a clip_plane; rather, this
* specifically contradicts set_clip_plane() at a higher node level (or, with
* a priority, overrides a set_clip_plane() at a lower level).
*
* If no clip_planes are in effect on a particular piece of geometry, that
* geometry is rendered without being clipped (other than by the viewing
* frustum).
*/ 2 4 this 3 3885 8 priority 1 3597
686 0 0 4 756 3813 0 0 143 /**
* Completely removes any clip planes that may have been set via
* set_clip_plane() or set_clip_plane_off() from this particular node.
*/ 1 4 this 3 3885
687 0 0 4 756 3813 0 0 83 /**
* Removes any reference to the indicated clipping plane from the NodePath.
*/ 2 4 this 3 3885 10 clip_plane 1 3889
688 0 0 6 757 3604 0 0 209 /**
* Returns true if the indicated clipping plane has been specifically applied
* to this particular node. This means that someone called set_clip_plane()
* on this node with the indicated clip_plane.
*/ 2 4 this 3 3889 10 clip_plane 1 3889
689 0 0 6 758 3604 0 0 195 /**
* Returns true if all clipping planes have been specifically disabled on this
* particular node. This means that someone called set_clip_plane_off() on
* this node with no parameters.
*/ 1 4 this 3 3889
690 0 0 6 758 3604 0 0 214 /**
* Returns true if the indicated clipping plane has been specifically disabled
* on this particular node. This means that someone called
* set_clip_plane_off() on this node with the indicated clip_plane.
*/ 2 4 this 3 3889 10 clip_plane 1 3889
691 0 0 4 759 3813 0 0 280 /**
* Sets up a scissor region on the nodes rendered at this level and below.
* The two points are understood to be relative to this node. When these
* points are projected into screen space, they define the diagonally-opposite
* points that determine the scissor region.
*/ 3 4 this 3 3885 1 a 1 3810 1 b 1 3810
692 0 0 4 759 3813 0 0 347 /**
* Sets up a scissor region on the nodes rendered at this level and below.
* The four points are understood to be relative to this node. When these
* points are projected into screen space, they define the bounding volume of
* the scissor region (the scissor region is the smallest onscreen rectangle
* that encloses all four points).
*/ 5 4 this 3 3885 1 a 1 3810 1 b 1 3810 1 c 1 3810 1 d 1 3810
693 0 0 4 759 3813 0 0 294 /**
* Sets up a scissor region on the nodes rendered at this level and below.
* The two points are understood to be relative to the indicated other node.
* When these points are projected into screen space, they define the
* diagonally-opposite points that determine the scissor region.
*/ 4 4 this 3 3885 5 other 1 3889 1 a 1 3810 1 b 1 3810
694 0 0 4 759 3813 0 0 361 /**
* Sets up a scissor region on the nodes rendered at this level and below.
* The four points are understood to be relative to the indicated other node.
* When these points are projected into screen space, they define the bounding
* volume of the scissor region (the scissor region is the smallest onscreen
* rectangle that encloses all four points).
*/ 6 4 this 3 3885 5 other 1 3889 1 a 1 3810 1 b 1 3810 1 c 1 3810 1 d 1 3810
695 0 0 4 759 3813 0 0 322 /**
* Sets up a scissor region on the nodes rendered at this level and below.
* The four coordinates are understood to define a rectangle in screen space.
* These numbers are relative to the current DisplayRegion, where (0,0) is the
* lower-left corner of the DisplayRegion, and (1,1) is the upper-right
* corner.
*/ 5 4 this 3 3885 4 left 1 3602 5 right 1 3602 6 bottom 1 3602 3 top 1 3602
696 0 0 4 760 3813 0 0 113 /**
* Removes the scissor region that was defined at this node level by a
* previous call to set_scissor().
*/ 1 4 this 3 3885
697 0 0 6 761 3604 0 0 325 /**
* Returns true if a scissor region was defined at this node by a previous
* call to set_scissor(). This does not check for scissor regions inherited
* from a parent class. It also does not check for the presence of a low-
* level ScissorAttrib, which is different from the ScissorEffect added by
* set_scissor.
*/ 1 4 this 3 3889
698 0 0 4 762 3813 0 0 320 /**
* Adds the indicated occluder to the list of occluders that apply to geometry
* at this node and below. The occluder itself, an OccluderNode, should be
* parented into the scene graph elsewhere, to represent the occluder's
* position in space; but until set_occluder() is called it will clip no
* geometry.
*/ 2 4 this 3 3885 8 occluder 1 3889
699 0 0 4 763 3813 0 0 115 /**
* Completely removes any occluders that may have been set via set_occluder()
* from this particular node.
*/ 1 4 this 3 3885
700 0 0 4 763 3813 0 0 77 /**
* Removes any reference to the indicated occluder from the NodePath.
*/ 2 4 this 3 3885 8 occluder 1 3889
701 0 0 6 764 3604 0 0 199 /**
* Returns true if the indicated occluder has been specifically applied to
* this particular node. This means that someone called set_occluder() on
* this node with the indicated occluder.
*/ 2 4 this 3 3889 8 occluder 1 3889
702 0 0 4 765 3813 0 0 884 /**
* Assigns the geometry at this level and below to the named rendering bin.
* It is the user's responsibility to ensure that such a bin already exists,
* either via the cull-bin Configrc variable, or by explicitly creating a
* GeomBin of the appropriate type at runtime.
*
* There are two default bins created when Panda is started: "default" and
* "fixed". Normally, all geometry is assigned to "default" unless specified
* otherwise. This bin renders opaque geometry in state-sorted order,
* followed by transparent geometry sorted back-to-front. If any geometry is
* assigned to "fixed", this will be rendered following all the geometry in
* "default", in the order specified by draw_order for each piece of geometry
* so assigned.
*
* The draw_order parameter is meaningful only for GeomBinFixed type bins,
* e.g. "fixed". Other kinds of bins ignore it.
*/ 4 4 this 3 3885 8 bin_name 1 3842 10 draw_order 1 3597 8 priority 1 3597
703 0 0 4 766 3813 0 0 115 /**
* Completely removes any bin adjustment that may have been set via set_bin()
* from this particular node.
*/ 1 4 this 3 3885
704 0 0 6 767 3604 0 0 122 /**
* Returns true if the node has been assigned to the a particular rendering
* bin via set_bin(), false otherwise.
*/ 1 4 this 3 3889
705 0 0 6 768 3842 0 0 175 /**
* Returns the name of the bin that this particular node was assigned to via
* set_bin(), or the empty string if no bin was assigned. See set_bin() and
* has_bin().
*/ 1 4 this 3 3889
706 0 0 6 769 3597 0 0 182 /**
* Returns the drawing order associated with the bin that this particular node
* was assigned to via set_bin(), or 0 if no bin was assigned. See set_bin()
* and has_bin().
*/ 1 4 this 3 3889
707 0 0 4 770 3813 0 0 558 /**
* Adds the indicated texture to the list of textures that will be rendered on
* the default texture stage.
*
* The given sampler state will override the sampling settings on the texture
* itself. Note that this method makes a copy of the sampler settings that
* you give; further changes to this object will not be reflected.
*
* This is the convenience single-texture variant of this method; it is now
* superceded by set_texture() that accepts a stage and texture. You may use
* this method if you just want to adjust the default stage.
*/ 4 4 this 3 3885 3 tex 1 3756 7 sampler 1 3878 8 priority 1 3597
708 0 0 4 770 3813 0 0 334 /**
* Adds the indicated texture to the list of textures that will be rendered on
* the default texture stage.
*
* This is the convenience single-texture variant of this method; it is now
* superceded by set_texture() that accepts a stage and texture. You may use
* this method if you just want to adjust the default stage.
*/ 3 4 this 3 3885 3 tex 1 3756 8 priority 1 3597
709 0 0 4 770 3813 0 0 583 /**
* Adds the indicated texture to the list of textures that will be rendered on
* the indicated multitexture stage. If there are multiple texture stages
* specified (possibly on multiple different nodes at different levels), they
* will all be applied to geometry together, according to the stage
* specification set up in the TextureStage object.
*
* The given sampler state will override the sampling settings on the texture
* itself. Note that this method makes a copy of the sampler settings that
* you give; further changes to this object will not be reflected.
*/ 5 4 this 3 3885 5 stage 1 3754 3 tex 1 3756 7 sampler 1 3878 8 priority 1 3597
710 0 0 4 770 3813 0 0 359 /**
* Adds the indicated texture to the list of textures that will be rendered on
* the indicated multitexture stage. If there are multiple texture stages
* specified (possibly on multiple different nodes at different levels), they
* will all be applied to geometry together, according to the stage
* specification set up in the TextureStage object.
*/ 4 4 this 3 3885 5 stage 1 3754 3 tex 1 3756 8 priority 1 3597
711 0 0 4 771 3813 0 0 305 /**
* Sets the geometry at this level and below to render using no texture, on
* the indicated stage. This is different from not specifying a texture;
* rather, this specifically contradicts set_texture() at a higher node level
* (or, with a priority, overrides a set_texture() at a lower level).
*/ 3 4 this 3 3885 5 stage 1 3754 8 priority 1 3597
712 0 0 4 771 3813 0 0 295 /**
* Sets the geometry at this level and below to render using no texture, on
* any stage. This is different from not specifying a texture; rather, this
* specifically contradicts set_texture() at a higher node level (or, with a
* priority, overrides a set_texture() at a lower level).
*/ 2 4 this 3 3885 8 priority 1 3597
713 0 0 4 772 3813 0 0 240 /**
* Completely removes any texture adjustment that may have been set via
* set_texture() or set_texture_off() from this particular node. This allows
* whatever textures might be otherwise affecting the geometry to show
* instead.
*/ 1 4 this 3 3885
714 0 0 4 772 3813 0 0 82 /**
* Removes any reference to the indicated texture stage from the NodePath.
*/ 2 4 this 3 3885 5 stage 1 3754
715 0 0 6 773 3604 0 0 293 /**
* Returns true if a texture has been applied to this particular node via
* set_texture(), false otherwise. This is not the same thing as asking
* whether the geometry at this node will be rendered with texturing, as there
* may be a texture in effect from a higher or lower level.
*/ 1 4 this 3 3889
716 0 0 6 773 3604 0 0 306 /**
* Returns true if texturing has been specifically enabled on this particular
* node for the indicated stage. This means that someone called set_texture()
* on this node with the indicated stage name, or the stage_name is the
* default stage_name, and someone called set_texture() on this node.
*/ 2 4 this 3 3889 5 stage 1 3754
717 0 0 6 774 3604 0 0 307 /**
* Returns true if texturing has been specifically disabled on this particular
* node via set_texture_off(), false otherwise. This is not the same thing as
* asking whether the geometry at this node will be rendered untextured, as
* there may be a texture in effect from a higher or lower level.
*/ 1 4 this 3 3889
718 0 0 6 774 3604 0 0 295 /**
* Returns true if texturing has been specifically disabled on this particular
* node for the indicated stage. This means that someone called
* set_texture_off() on this node with the indicated stage name, or that
* someone called set_texture_off() on this node to remove all stages.
*/ 2 4 this 3 3889 5 stage 1 3754
719 0 0 7 775 3756 0 0 318 /**
* Returns the base-level texture that has been set on this particular node,
* or NULL if no texture has been set. This is not necessarily the texture
* that will be applied to the geometry at or below this level, as another
* texture at a higher or lower level may override.
*
* See also find_texture().
*/ 1 4 this 3 3889
720 0 0 7 775 3756 0 0 151 /**
* Returns the texture that has been set on the indicated stage for this
* particular node, or NULL if no texture has been set for this stage.
*/ 2 4 this 3 3889 5 stage 1 3754
721 0 0 6 776 3878 0 0 321 /**
* Returns the sampler state that has been given for the base-level texture
* that has been set on this particular node. If no sampler state was given,
* this returns the texture's default sampler settings.
*
* It is an error to call this if there is no base-level texture applied to
* this particular node.
*/ 1 4 this 3 3889
722 0 0 6 776 3878 0 0 326 /**
* Returns the sampler state that has been given for the indicated texture
* stage that has been set on this particular node. If no sampler state was
* given, this returns the texture's default sampler settings.
*
* It is an error to call this if there is no texture set for this stage on
* this particular node.
*/ 2 4 this 3 3889 5 stage 1 3754
723 0 0 4 777 3813 0 0 10 /**
*
*/ 3 4 this 3 3885 3 sha 1 3772 8 priority 1 3597
724 0 0 4 778 3813 0 0 10 /**
*
*/ 2 4 this 3 3885 8 priority 1 3597
725 0 0 4 779 3813 0 0 51 /**
* overloaded for auto shader customization
*/ 3 4 this 3 3885 13 shader_switch 1 3901 8 priority 1 3597
726 0 0 4 779 3813 0 0 10 /**
*
*/ 2 4 this 3 3885 8 priority 1 3597
727 0 0 4 780 3813 0 0 10 /**
*
*/ 1 4 this 3 3885
728 0 0 4 781 3813 0 0 10 /**
*
*/ 7 4 this 3 3885 2 id 1 3874 2 n1 1 3602 2 n2 1 3602 2 n3 1 3602 2 n4 1 3602 8 priority 1 3597
729 0 0 4 781 3813 0 0 0 4 4 this 3 3885 6 param0 0 3874 6 param1 0 3627 8 priority 1 3597
730 0 0 4 781 3813 0 0 10 /**
*
*/ 5 4 this 3 3885 2 id 1 3874 3 tex 1 3756 7 sampler 1 3878 8 priority 1 3597
731 0 0 4 781 3813 0 0 10 /**
*
*/ 8 4 this 3 3885 2 id 1 3874 3 tex 1 3756 4 read 1 3604 5 write 1 3604 1 z 1 3597 1 n 1 3597 8 priority 1 3597
732 0 0 4 781 3813 0 0 10 /**
*
*/ 7 4 this 3 3885 2 id 1 3874 2 n1 1 3597 2 n2 1 3597 2 n3 1 3597 2 n4 1 3597 8 priority 1 3597
733 0 0 4 781 3813 0 0 10 /**
*
*/ 2 4 this 3 3885 5 input 1 3877
734 0 0 4 781 3813 0 0 10 /**
*
*/ 2 4 this 3 3885 5 input 1 3879
735 0 0 4 782 3813 0 0 0 3 4 this 3 3885 4 args 1 3627 6 kwargs 1 3627
736 0 0 4 783 3813 0 0 10 /**
*
*/ 2 4 this 3 3885 2 id 1 3874
737 0 0 4 784 3813 0 0 174 /**
* Sets the geometry instance count, or 0 if geometry instancing should be
* disabled. Do not confuse with instanceTo which only applies to animation
* instancing.
*/ 2 4 this 3 3885 14 instance_count 1 3597
738 0 0 7 785 3772 0 0 10 /**
*
*/ 1 4 this 3 3889
739 0 0 7 786 3877 2281 0 10 /**
*
*/ 2 4 this 3 3889 2 id 1 3874
740 0 0 6 787 3597 0 0 93 /**
* Returns the geometry instance count, or 0 if disabled. See
* set_instance_count.
*/ 1 4 this 3 3889
741 0 0 4 788 3813 0 0 105 /**
* Sets the texture matrix on the current node to the indicated transform for
* the given stage.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 9 transform 1 3795
742 0 0 4 788 3813 0 0 105 /**
* Sets the texture matrix on the current node to the indicated transform for
* the given stage.
*/ 3 4 this 3 3885 5 stage 1 3754 9 transform 1 3795
743 0 0 4 789 3813 0 0 62 /**
* Removes all texture matrices from the current node.
*/ 1 4 this 3 3885
744 0 0 4 789 3813 0 0 78 /**
* Removes the texture matrix on the current node for the given stage.
*/ 2 4 this 3 3885 5 stage 1 3754
745 0 0 6 790 3604 0 0 106 /**
* Returns true if there is an explicit texture matrix on the current node for
* the given stage.
*/ 2 4 this 3 3889 5 stage 1 3754
746 0 0 7 791 3795 0 0 109 /**
* Returns the texture matrix on the current node for the given stage,
* relative to the other node.
*/ 3 4 this 3 3889 5 other 1 3889 5 stage 1 3754
747 0 0 7 791 3795 0 0 165 /**
* Returns the texture matrix on the current node for the given stage, or
* identity transform if there is no explicit transform set for the given
* stage.
*/ 2 4 this 3 3889 5 stage 1 3754
748 0 0 4 792 3813 0 0 183 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 2 uv 1 3802
749 0 0 4 792 3813 0 0 183 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 5 4 this 3 3885 5 other 1 3889 5 stage 1 3754 1 u 1 3602 1 v 1 3602
750 0 0 4 792 3813 0 0 183 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 3 4 this 3 3885 5 stage 1 3754 2 uv 1 3802
751 0 0 4 792 3813 0 0 183 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 4 4 this 3 3885 5 stage 1 3754 1 u 1 3602 1 v 1 3602
752 0 0 4 793 3813 0 0 208 /**
* Sets a texture matrix on the current node to apply the indicated rotation,
* clockwise in degrees, to UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 1 r 1 3602
753 0 0 4 793 3813 0 0 208 /**
* Sets a texture matrix on the current node to apply the indicated rotation,
* clockwise in degrees, to UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 3 4 this 3 3885 5 stage 1 3754 1 r 1 3602
754 0 0 4 794 3813 0 0 182 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 5 scale 1 3802
755 0 0 4 794 3813 0 0 174 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 5 scale 1 3799
756 0 0 4 794 3813 0 0 180 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for 2-d or 3-d texture coordinates.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 5 scale 1 3602
757 0 0 4 794 3813 0 0 182 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 5 4 this 3 3885 5 other 1 3889 5 stage 1 3754 2 su 1 3602 2 sv 1 3602
758 0 0 4 794 3813 0 0 174 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 6 4 this 3 3885 5 other 1 3889 5 stage 1 3754 2 su 1 3602 2 sv 1 3602 2 sw 1 3602
759 0 0 4 794 3813 0 0 182 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 3 4 this 3 3885 5 stage 1 3754 5 scale 1 3802
760 0 0 4 794 3813 0 0 174 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 3 4 this 3 3885 5 stage 1 3754 5 scale 1 3799
761 0 0 4 794 3813 0 0 181 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 2-d or 3-d texture coordinates.
*/ 3 4 this 3 3885 5 stage 1 3754 5 scale 1 3602
762 0 0 4 794 3813 0 0 182 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UV's for the given stage.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 4 4 this 3 3885 5 stage 1 3754 2 su 1 3602 2 sv 1 3602
763 0 0 4 794 3813 0 0 174 /**
* Sets a texture matrix on the current node to apply the indicated scale to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 5 4 this 3 3885 5 stage 1 3754 2 su 1 3602 2 sv 1 3602 2 sw 1 3602
764 0 0 7 795 3811 0 0 159 /**
* Returns the offset set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 3 4 this 3 3889 5 other 1 3889 5 stage 1 3754
765 0 0 7 795 3811 0 0 159 /**
* Returns the offset set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 2 4 this 3 3889 5 stage 1 3754
766 0 0 6 796 3602 0 0 161 /**
* Returns the rotation set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 3 4 this 3 3889 5 other 1 3889 5 stage 1 3754
767 0 0 6 796 3602 0 0 161 /**
* Returns the rotation set for the UV's for the given stage on the current
* node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 2 4 this 3 3889 5 stage 1 3754
768 0 0 7 797 3811 0 0 155 /**
* Returns the scale set for the UV's for the given stage on the current node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 3 4 this 3 3889 5 other 1 3889 5 stage 1 3754
769 0 0 7 797 3811 0 0 155 /**
* Returns the scale set for the UV's for the given stage on the current node.
*
* This call is appropriate for ordinary 2-d texture coordinates.
*/ 2 4 this 3 3889 5 stage 1 3754
770 0 0 4 798 3813 0 0 175 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 3 uvw 1 3799
771 0 0 4 798 3813 0 0 175 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 6 4 this 3 3885 5 other 1 3889 5 stage 1 3754 1 u 1 3602 1 v 1 3602 1 w 1 3602
772 0 0 4 798 3813 0 0 175 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 3 4 this 3 3885 5 stage 1 3754 3 uvw 1 3799
773 0 0 4 798 3813 0 0 175 /**
* Sets a texture matrix on the current node to apply the indicated offset to
* UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 5 4 this 3 3885 5 stage 1 3754 1 u 1 3602 1 v 1 3602 1 w 1 3602
774 0 0 4 799 3813 0 0 192 /**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 4 4 this 3 3885 5 other 1 3889 5 stage 1 3754 3 hpr 1 3799
775 0 0 4 799 3813 0 0 192 /**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 6 4 this 3 3885 5 other 1 3889 5 stage 1 3754 1 h 1 3602 1 p 1 3602 1 r 1 3602
776 0 0 4 799 3813 0 0 192 /**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 3 4 this 3 3885 5 stage 1 3754 3 hpr 1 3799
777 0 0 4 799 3813 0 0 192 /**
* Sets a texture matrix on the current node to apply the indicated rotation,
* as a 3-D HPR, to UVW's for the given stage.
*
* This call is appropriate for 3-d texture coordinates.
*/ 5 4 this 3 3885 5 stage 1 3754 1 h 1 3602 1 p 1 3602 1 r 1 3602
778 0 0 7 800 3895 0 0 151 /**
* Returns the offset set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/ 3 4 this 3 3889 5 other 1 3889 5 stage 1 3754
779 0 0 7 800 3895 0 0 151 /**
* Returns the offset set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/ 2 4 this 3 3889 5 stage 1 3754
780 0 0 7 801 3895 0 0 152 /**
* Returns the 3-D HPR set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/ 3 4 this 3 3889 5 other 1 3889 5 stage 1 3754
781 0 0 7 801 3895 0 0 152 /**
* Returns the 3-D HPR set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/ 2 4 this 3 3889 5 stage 1 3754
782 0 0 7 802 3895 0 0 150 /**
* Returns the scale set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/ 3 4 this 3 3889 5 other 1 3889 5 stage 1 3754
783 0 0 7 802 3895 0 0 150 /**
* Returns the scale set for the UVW's for the given stage on the current
* node.
*
* This call is appropriate for 3-d texture coordinates.
*/ 2 4 this 3 3889 5 stage 1 3754
784 0 0 4 803 3813 0 0 213 /**
* Enables automatic texture coordinate generation for the indicated texture
* stage. This version of this method is useful when setting M_constant,
* which requires a constant texture coordinate value.
*/ 5 4 this 3 3885 5 stage 1 3754 4 mode 1 3599 14 constant_value 1 3902 8 priority 1 3597
785 0 0 4 803 3813 0 0 94 /**
* Enables automatic texture coordinate generation for the indicated texture
* stage.
*/ 4 4 this 3 3885 5 stage 1 3754 4 mode 1 3599 8 priority 1 3597
786 0 0 4 804 3813 0 0 98 /**
* Removes the texture coordinate generation mode from all texture stages on
* this node.
*/ 1 4 this 3 3885
787 0 0 4 804 3813 0 0 95 /**
* Disables automatic texture coordinate generation for the indicated texture
* stage.
*/ 2 4 this 3 3885 5 stage 1 3754
788 0 0 6 805 3604 0 0 130 /**
* Returns true if there is a mode for automatic texture coordinate generation
* on the current node for the given stage.
*/ 2 4 this 3 3889 5 stage 1 3754
789 0 0 6 806 3599 0 0 144 /**
* Returns the texture coordinate generation mode for the given stage, or
* M_off if there is no explicit mode set for the given stage.
*/ 2 4 this 3 3889 5 stage 1 3754
790 0 0 4 807 3813 0 0 529 /**
* Establishes a TexProjectorEffect on this node, which can be used to
* establish projective texturing (but see also the
* NodePath::project_texture() convenience function), or it can be used to
* bind this node's texture transform to particular node's position in space,
* allowing a LerpInterval (for instance) to adjust this node's texture
* coordinates.
*
* If to is a LensNode, then the fourth parameter, lens_index, can be provided
* to select a particular lens to apply. Otherwise lens_index is not used.
*/ 5 4 this 3 3885 5 stage 1 3754 4 from 1 3889 2 to 1 3889 10 lens_index 1 3597
791 0 0 4 808 3813 0 0 72 /**
* Removes the TexProjectorEffect for all stages from this node.
*/ 1 4 this 3 3885
792 0 0 4 808 3813 0 0 81 /**
* Removes the TexProjectorEffect for the indicated stage from this node.
*/ 2 4 this 3 3885 5 stage 1 3754
793 0 0 6 809 3604 0 0 106 /**
* Returns true if this node has a TexProjectorEffect for the indicated stage,
* false otherwise.
*/ 2 4 this 3 3889 5 stage 1 3754
794 0 0 7 810 3885 2700 0 227 /**
* Returns the "from" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*/ 2 4 this 3 3889 5 stage 1 3754
795 0 0 7 811 3885 2700 0 225 /**
* Returns the "to" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*/ 2 4 this 3 3889 5 stage 1 3754
796 0 0 4 812 3813 0 0 181 /**
* A convenience function to enable projective texturing at this node level
* and below, using the indicated NodePath (which should contain a LensNode)
* as the projector.
*/ 4 4 this 3 3885 5 stage 1 3754 3 tex 1 3756 9 projector 1 3889
797 0 0 4 813 3813 0 0 50 /**
* Undoes the effect of project_texture().
*/ 2 4 this 3 3885 5 stage 1 3754
798 0 0 6 814 3604 0 0 211 /**
* Returns true if there are at least some vertices at this node and below
* that use the named texture coordinate set, false otherwise. Pass the empty
* string for the default texture coordinate set.
*/ 2 4 this 3 3889 13 texcoord_name 1 3842
799 0 0 6 815 3604 0 0 309 /**
* Returns true if there are at least some vertices at this node and below
* that contain a reference to the indicated vertex data column name, false
* otherwise.
*
* This is particularly useful for testing whether a particular model has a
* given texture coordinate set (but see has_texcoord()).
*/ 2 4 this 3 3889 4 name 1 3874
800 0 0 7 816 3906 3120 0 116 /**
* Returns a list of all vertex array columns stored on some geometry found at
* this node level and below.
*/ 1 4 this 3 3889
801 0 0 7 816 3906 3120 0 189 /**
* Returns a list of all vertex array columns stored on some geometry found at
* this node level and below that match the indicated name (which may contain
* wildcard characters).
*/ 2 4 this 3 3889 4 name 1 3842
802 0 0 7 817 3906 3120 0 110 /**
* Returns a list of all texture coordinate sets used by any geometry at this
* node level and below.
*/ 1 4 this 3 3889
803 0 0 7 817 3906 3120 0 183 /**
* Returns a list of all texture coordinate sets used by any geometry at this
* node level and below that match the indicated name (which may contain
* wildcard characters).
*/ 2 4 this 3 3889 4 name 1 3842
804 0 0 7 818 3756 0 0 198 /**
* Returns the first texture found applied to geometry at this node or below
* that is assigned to the indicated texture stage. Returns the texture if it
* is found, or NULL if it is not.
*/ 2 4 this 3 3889 5 stage 1 3754
805 0 0 7 818 3756 0 0 212 /**
* Returns the first texture found applied to geometry at this node or below
* that matches the indicated name (which may contain wildcards). Returns the
* texture if it is found, or NULL if it is not.
*/ 2 4 this 3 3889 4 name 1 3842
806 0 0 7 819 3908 0 0 83 /**
* Returns a list of a textures applied to geometry at this node and below.
*/ 1 4 this 3 3889
807 0 0 7 819 3908 0 0 127 /**
* Returns a list of a textures on geometry at this node and below that are
* assigned to the indicated texture stage.
*/ 2 4 this 3 3889 5 stage 1 3754
808 0 0 7 819 3908 0 0 156 /**
* Returns a list of a textures applied to geometry at this node and below
* that match the indicated name (which may contain wildcard characters).
*/ 2 4 this 3 3889 4 name 1 3842
809 0 0 7 820 3754 0 0 221 /**
* Returns the first TextureStage found applied to geometry at this node or
* below that matches the indicated name (which may contain wildcards).
* Returns the TextureStage if it is found, or NULL if it is not.
*/ 2 4 this 3 3889 4 name 1 3842
810 0 0 7 821 3886 2284 0 91 /**
* Returns a list of a TextureStages applied to geometry at this node and
* below.
*/ 1 4 this 3 3889
811 0 0 7 821 3886 2284 0 164 /**
* Returns a list of a TextureStages applied to geometry at this node and
* below that match the indicated name (which may contain wildcard
* characters).
*/ 2 4 this 3 3889 4 name 1 3842
812 0 0 4 822 3813 0 0 323 /**
* Searches through all TextureStages at this node and below. Any
* TextureStages that share the same name as the indicated TextureStage object
* are replaced with this object, thus ensuring that all geometry at this node
* and below with a particular TextureStage name is using the same
* TextureStage object.
*/ 2 4 this 3 3885 5 stage 1 3754
813 0 0 7 823 3733 0 0 214 /**
* Returns the first material found applied to geometry at this node or below
* that matches the indicated name (which may contain wildcards). Returns the
* material if it is found, or NULL if it is not.
*/ 2 4 this 3 3889 4 name 1 3842
814 0 0 7 824 3909 3249 0 84 /**
* Returns a list of a materials applied to geometry at this node and below.
*/ 1 4 this 3 3889
815 0 0 7 824 3909 3249 0 157 /**
* Returns a list of a materials applied to geometry at this node and below
* that match the indicated name (which may contain wildcard characters).
*/ 2 4 this 3 3889 4 name 1 3842
816 0 0 4 825 3813 0 0 216 /**
* Sets the geometry at this level and below to render using the indicated
* material.
*
* Previously, this operation made a copy of the material structure, but
* nowadays it assigns the pointer directly.
*/ 3 4 this 3 3885 3 tex 1 3733 8 priority 1 3597
817 0 0 4 826 3813 0 0 275 /**
* Sets the geometry at this level and below to render using no material.
* This is normally the default, but it may be useful to use this to
* contradict set_material() at a higher node level (or, with a priority, to
* override a set_material() at a lower level).
*/ 2 4 this 3 3885 8 priority 1 3597
818 0 0 4 827 3813 0 0 125 /**
* Completely removes any material adjustment that may have been set via
* set_material() from this particular node.
*/ 1 4 this 3 3885
819 0 0 6 828 3604 0 0 118 /**
* Returns true if a material has been applied to this particular node via
* set_material(), false otherwise.
*/ 1 4 this 3 3889
820 0 0 7 829 3733 0 0 312 /**
* Returns the material that has been set on this particular node, or NULL if
* no material has been set. This is not necessarily the material that will
* be applied to the geometry at or below this level, as another material at a
* higher or lower level may override.
*
* See also find_material().
*/ 1 4 this 3 3889
821 0 0 4 830 3813 0 0 129 /**
* Recursively searches the scene graph for references to the given material,
* and replaces them with the new material.
*/ 3 4 this 3 3885 3 mat 1 3733 7 new_mat 1 3733
822 0 0 4 831 3813 0 0 90 /**
* Sets the geometry at this level and below to render using the indicated
* fog.
*/ 3 4 this 3 3885 3 fog 1 3707 8 priority 1 3597
823 0 0 4 832 3813 0 0 261 /**
* Sets the geometry at this level and below to render using no fog. This is
* normally the default, but it may be useful to use this to contradict
* set_fog() at a higher node level (or, with a priority, to override a
* set_fog() at a lower level).
*/ 2 4 this 3 3885 8 priority 1 3597
824 0 0 4 833 3813 0 0 221 /**
* Completely removes any fog adjustment that may have been set via set_fog()
* or set_fog_off() from this particular node. This allows whatever fogs
* might be otherwise affecting the geometry to show instead.
*/ 1 4 this 3 3885
825 0 0 6 834 3604 0 0 275 /**
* Returns true if a fog has been applied to this particular node via
* set_fog(), false otherwise. This is not the same thing as asking whether
* the geometry at this node will be rendered with fog, as there may be a fog
* in effect from a higher or lower level.
*/ 1 4 this 3 3889
826 0 0 6 835 3604 0 0 293 /**
* Returns true if a fog has been specifically disabled on this particular
* node via set_fog_off(), false otherwise. This is not the same thing as
* asking whether the geometry at this node will be rendered unfogged, as
* there may be a fog in effect from a higher or lower level.
*/ 1 4 this 3 3889
827 0 0 7 836 3707 2126 0 260 /**
* Returns the fog that has been set on this particular node, or NULL if no
* fog has been set. This is not necessarily the fog that will be applied to
* the geometry at or below this level, as another fog at a higher or lower
* level may override.
*/ 1 4 this 3 3889
828 0 0 4 837 3813 0 0 107 /**
* Sets up the geometry at this level and below (unless overridden) to render
* in wireframe mode.
*/ 2 4 this 3 3885 8 priority 1 3597
829 0 0 4 838 3813 0 0 126 /**
* Sets up the geometry at this level and below (unless overridden) to render
* in filled (i.e. not wireframe) mode.
*/ 2 4 this 3 3885 8 priority 1 3597
830 0 0 4 839 3813 0 0 197 /**
* Sets up the geometry at this level and below (unless overridden) to render
* in filled, but overlay the wireframe on top with a fixed color. This is
* useful for debug visualizations.
*/ 3 4 this 3 3885 15 wireframe_color 1 3821 8 priority 1 3597
831 0 0 4 840 3813 0 0 359 /**
* Sets up the point geometry at this level and below to render as thick
* points (that is, billboarded quads). The thickness is in pixels, unless
* set_render_mode_perspective is also true, in which case it is in 3-D units.
*
* If you want the quads to be individually textured, you should also set a
* TexGenAttrib::M_point_sprite on the node.
*/ 3 4 this 3 3885 9 thickness 1 3602 8 priority 1 3597
832 0 0 4 841 3813 0 0 461 /**
* Sets up the point geometry at this level and below to render as perspective
* sprites (that is, billboarded quads). The thickness, as specified with
* set_render_mode_thickness(), is the width of each point in 3-D units,
* unless it is overridden on a per-vertex basis. This does not affect
* geometry other than points.
*
* If you want the quads to be individually textured, you should also set a
* TexGenAttrib::M_point_sprite on the node.
*/ 3 4 this 3 3885 11 perspective 1 3604 8 priority 1 3597
833 0 0 4 842 3813 0 0 162 /**
* Sets up the geometry at this level and below (unless overridden) to render
* in the specified mode and with the indicated line and/or point thickness.
*/ 4 4 this 3 3885 4 mode 1 3601 9 thickness 1 3602 8 priority 1 3597
834 0 0 4 843 3813 0 0 156 /**
* Completely removes any render mode adjustment that may have been set on
* this node via set_render_mode_wireframe() or set_render_mode_filled().
*/ 1 4 this 3 3885
835 0 0 6 844 3604 0 0 195 /**
* Returns true if a render mode has been explicitly set on this particular
* node via set_render_mode() (or set_render_mode_wireframe() or
* set_render_mode_filled()), false otherwise.
*/ 1 4 this 3 3889
836 0 0 6 845 3601 0 0 144 /**
* Returns the render mode that has been specifically set on this node via
* set_render_mode(), or M_unchanged if nothing has been set.
*/ 1 4 this 3 3889
837 0 0 6 846 3602 0 0 146 /**
* Returns the render mode thickness that has been specifically set on this
* node via set_render_mode(), or 1.0 if nothing has been set.
*/ 1 4 this 3 3889
838 0 0 6 847 3604 0 0 130 /**
* Returns the flag that has been set on this node via
* set_render_mode_perspective(), or false if no flag has been set.
*/ 1 4 this 3 3889
839 0 0 4 848 3813 0 0 237 /**
* Specifically sets or disables two-sided rendering mode on this particular
* node. If no other nodes override, this will cause backfacing polygons to
* be drawn (in two-sided mode, true) or culled (in one-sided mode, false).
*/ 3 4 this 3 3885 9 two_sided 1 3604 8 priority 1 3597
840 0 0 4 849 3813 0 0 336 /**
* Completely removes any two-sided adjustment that may have been set on this
* node via set_two_sided(). The geometry at this level and below will
* subsequently be rendered either two-sided or one-sided, according to
* whatever other nodes may have had set_two_sided() on it, or according to
* the initial state otherwise.
*/ 1 4 this 3 3885
841 0 0 6 850 3604 0 0 215 /**
* Returns true if a two-sided adjustment has been explicitly set on this
* particular node via set_two_sided(). If this returns true, then
* get_two_sided() may be called to determine which has been set.
*/ 1 4 this 3 3889
842 0 0 6 851 3604 0 0 378 /**
* Returns true if two-sided rendering has been specifically set on this node
* via set_two_sided(), or false if one-sided rendering has been specifically
* set, or if nothing has been specifically set. See also has_two_sided().
* This does not necessarily imply that the geometry will or will not be
* rendered two-sided, as there may be other nodes that override.
*/ 1 4 this 3 3889
843 0 0 4 852 3813 0 0 236 /**
* Specifically sets or disables the testing of the depth buffer on this
* particular node. This is normally on in the 3-d scene graph and off in the
* 2-d scene graph; it should be on for rendering most 3-d objects properly.
*/ 3 4 this 3 3885 10 depth_test 1 3604 8 priority 1 3597
844 0 0 4 853 3813 0 0 116 /**
* Completely removes any depth-test adjustment that may have been set on this
* node via set_depth_test().
*/ 1 4 this 3 3885
845 0 0 6 854 3604 0 0 218 /**
* Returns true if a depth-test adjustment has been explicitly set on this
* particular node via set_depth_test(). If this returns true, then
* get_depth_test() may be called to determine which has been set.
*/ 1 4 this 3 3889
846 0 0 6 855 3604 0 0 262 /**
* Returns true if depth-test rendering has been specifically set on this node
* via set_depth_test(), or false if depth-test rendering has been
* specifically disabled. If nothing has been specifically set, returns true.
* See also has_depth_test().
*/ 1 4 this 3 3889
847 0 0 4 856 3813 0 0 236 /**
* Specifically sets or disables the writing to the depth buffer on this
* particular node. This is normally on in the 3-d scene graph and off in the
* 2-d scene graph; it should be on for rendering most 3-d objects properly.
*/ 3 4 this 3 3885 11 depth_write 1 3604 8 priority 1 3597
848 0 0 4 857 3813 0 0 118 /**
* Completely removes any depth-write adjustment that may have been set on
* this node via set_depth_write().
*/ 1 4 this 3 3885
849 0 0 6 858 3604 0 0 221 /**
* Returns true if a depth-write adjustment has been explicitly set on this
* particular node via set_depth_write(). If this returns true, then
* get_depth_write() may be called to determine which has been set.
*/ 1 4 this 3 3889
850 0 0 6 859 3604 0 0 266 /**
* Returns true if depth-write rendering has been specifically set on this
* node via set_depth_write(), or false if depth-write rendering has been
* specifically disabled. If nothing has been specifically set, returns true.
* See also has_depth_write().
*/ 1 4 this 3 3889
851 0 0 4 860 3813 0 0 542 /**
* This instructs the graphics driver to apply an offset or bias to the
* generated depth values for rendered polygons, before they are written to
* the depth buffer. This can be used to shift polygons forward slightly, to
* resolve depth conflicts, or self-shadowing artifacts on thin objects. The
* bias is always an integer number, and each integer increment represents the
* smallest possible increment in Z that is sufficient to completely resolve
* two coplanar polygons. Positive numbers are closer towards the camera.
*/ 3 4 this 3 3885 4 bias 1 3597 8 priority 1 3597
852 0 0 4 861 3813 0 0 120 /**
* Completely removes any depth-offset adjustment that may have been set on
* this node via set_depth_offset().
*/ 1 4 this 3 3885
853 0 0 6 862 3604 0 0 224 /**
* Returns true if a depth-offset adjustment has been explicitly set on this
* particular node via set_depth_offset(). If this returns true, then
* get_depth_offset() may be called to determine which has been set.
*/ 1 4 this 3 3889
854 0 0 6 863 3597 0 0 106 /**
* Returns the depth offset value if it has been specified using
* set_depth_offset, or 0 if not.
*/ 1 4 this 3 3889
855 0 0 4 864 3813 0 0 170 /**
* Performs a billboard-type rotate to the indicated camera node, one time
* only, and leaves the object rotated. This is similar in principle to
* heads_up().
*/ 3 4 this 3 3885 6 camera 1 3889 6 offset 1 3602
856 0 0 4 865 3813 0 0 266 /**
* Performs a billboard-type rotate to the indicated camera node, one time
* only, and leaves the object rotated. This is similar in principle to
* look_at(), although the point_eye billboard effect cannot be achieved using
* the ordinary look_at() call.
*/ 3 4 this 3 3885 6 camera 1 3889 6 offset 1 3602
857 0 0 4 866 3813 0 0 169 /**
* Performs a billboard-type rotate to the indicated camera node, one time
* only, and leaves the object rotated. This is similar in principle to
* look_at().
*/ 3 4 this 3 3885 6 camera 1 3889 6 offset 1 3602
858 0 0 4 867 3813 0 0 182 /**
* Puts a billboard transition on the node such that it will rotate in two
* dimensions around the up axis, towards a specified "camera" instead of to
* the viewing camera.
*/ 3 4 this 3 3885 6 camera 1 3889 6 offset 1 3602
859 0 0 4 867 3813 0 0 116 /**
* Puts a billboard transition on the node such that it will rotate in two
* dimensions around the up axis.
*/ 2 4 this 3 3885 6 offset 1 3602
860 0 0 4 868 3813 0 0 239 /**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the top of
* the camera, towards a specified "camera" instead of to the viewing camera.
*/ 4 4 this 3 3885 6 camera 1 3889 6 offset 1 3602 11 fixed_depth 1 3604
861 0 0 4 868 3813 0 0 176 /**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the top of
* the camera.
*/ 3 4 this 3 3885 6 offset 1 3602 11 fixed_depth 1 3604
862 0 0 4 869 3813 0 0 225 /**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the sky,
* towards a specified "camera" instead of to the viewing camera.
*/ 3 4 this 3 3885 6 camera 1 3889 6 offset 1 3602
863 0 0 4 869 3813 0 0 159 /**
* Puts a billboard transition on the node such that it will rotate in three
* dimensions about the origin, keeping its up vector oriented to the sky.
*/ 2 4 this 3 3885 6 offset 1 3602
864 0 0 4 870 3813 0 0 54 /**
* Removes any billboard effect from the node.
*/ 1 4 this 3 3885
865 0 0 6 871 3604 0 0 69 /**
* Returns true if there is any billboard effect on the node.
*/ 1 4 this 3 3889
866 0 0 4 872 3813 0 0 204 /**
* Puts a compass effect on the node, so that it will retain a fixed rotation
* relative to the reference node (or render if the reference node is empty)
* regardless of the transforms above it.
*/ 2 4 this 3 3885 9 reference 1 3889
867 0 0 4 873 3813 0 0 52 /**
* Removes any compass effect from the node.
*/ 1 4 this 3 3885
868 0 0 6 874 3604 0 0 67 /**
* Returns true if there is any compass effect on the node.
*/ 1 4 this 3 3889
869 0 0 4 875 3813 0 0 222 /**
* Specifically sets or disables transparent rendering mode on this particular
* node. If no other nodes override, this will cause items with a non-1 value
* for alpha color to be rendered partially transparent.
*/ 3 4 this 3 3885 4 mode 1 3643 8 priority 1 3597
870 0 0 4 876 3813 0 0 285 /**
* Completely removes any transparency adjustment that may have been set on
* this node via set_transparency(). The geometry at this level and below will
* subsequently be rendered either transparent or not, to whatever other nodes
* may have had set_transparency() on them.
*/ 1 4 this 3 3885
871 0 0 6 877 3604 0 0 303 /**
* Returns true if a transparent-rendering adjustment has been explicitly set
* on this particular node via set_transparency(). If this returns true, then
* get_transparency() may be called to determine whether transparency has been
* explicitly enabled or explicitly disabled for this node.
*/ 1 4 this 3 3889
872 0 0 6 878 3643 0 0 399 /**
* Returns the transparent rendering that has been specifically set on this
* node via set_transparency(), or M_none if nontransparent rendering has been
* specifically set, or if nothing has been specifically set. See also
* has_transparency(). This does not necessarily imply that the geometry will
* or will not be rendered transparent, as there may be other nodes that
* override.
*/ 1 4 this 3 3889
873 0 0 4 879 3813 0 0 228 /**
* Specifically sets or disables a logical operation on this particular node.
* If no other nodes override, this will cause geometry to be rendered without
* color blending but instead using the given logical operator.
*/ 3 4 this 3 3885 2 op 1 3645 8 priority 1 3597
874 0 0 4 880 3813 0 0 211 /**
* Completely removes any logical operation that may have been set on this
* node via set_logic_op(). The geometry at this level and below will
* subsequently be rendered using standard color blending.
*/ 1 4 this 3 3885
875 0 0 6 881 3604 0 0 296 /**
* Returns true if a logical operation has been explicitly set on this
* particular node via set_logic_op(). If this returns true, then
* get_logic_op() may be called to determine whether a logical operation has
* been explicitly disabled for this node or set to particular operation.
*/ 1 4 this 3 3889
876 0 0 6 882 3645 0 0 407 /**
* Returns the logical operation that has been specifically set on this node
* via set_logic_op(), or O_none if standard color blending has been
* specifically set, or if nothing has been specifically set. See also
* has_logic_op(). This does not necessarily imply that the geometry will
* or will not be rendered with the given logical operation, as there may be
* other nodes that override.
*/ 1 4 this 3 3889
877 0 0 4 883 3813 0 0 114 /**
* Specifies the antialiasing type that should be applied at this node and
* below. See AntialiasAttrib.
*/ 3 4 this 3 3885 4 mode 1 3616 8 priority 1 3597
878 0 0 4 884 3813 0 0 111 /**
* Completely removes any antialias setting that may have been set on this
* node via set_antialias().
*/ 1 4 this 3 3885
879 0 0 6 885 3604 0 0 216 /**
* Returns true if an antialias setting has been explicitly mode on this
* particular node via set_antialias(). If this returns true, then
* get_antialias() may be called to determine what the setting was.
*/ 1 4 this 3 3889
880 0 0 6 886 3616 0 0 147 /**
* Returns the antialias setting that has been specifically set on this node
* via set_antialias(), or M_none if no setting has been made.
*/ 1 4 this 3 3889
881 0 0 6 887 3604 0 0 197 /**
* Returns true if an audio volume has been applied to the referenced node,
* false otherwise. It is still possible that volume at this node might have
* been scaled by an ancestor node.
*/ 1 4 this 3 3889
882 0 0 4 888 3813 0 0 225 /**
* Completely removes any audio volume from the referenced node. This is
* preferable to simply setting the audio volume to identity, as it also
* removes the overhead associated with having an audio volume at all.
*/ 1 4 this 3 3885
883 0 0 4 889 3813 0 0 59 /**
* Sets the audio volume component of the transform
*/ 3 4 this 3 3885 6 volume 1 3602 8 priority 1 3597
884 0 0 4 890 3813 0 0 447 /**
* Disables any audio volume attribute inherited from above. This is not the
* same thing as clear_audio_volume(), which undoes any previous
* set_audio_volume() operation on this node; rather, this actively disables
* any set_audio_volume() that might be inherited from a parent node.
*
* It is legal to specify a new volume on the same node with a subsequent call
* to set_audio_volume(); this new scale will apply to lower nodes.
*/ 2 4 this 3 3885 8 priority 1 3597
885 0 0 6 891 3602 0 0 200 /**
* Returns the complete audio volume that has been applied to this node via a
* previous call to set_audio_volume(), or 1. (identity) if no volume has been
* applied to this particular node.
*/ 1 4 this 3 3889
886 0 0 6 892 3602 0 0 109 /**
* Returns the complete audio volume for this node taking highers nodes in the
* graph into account.
*/ 1 4 this 3 3889
887 0 0 4 893 3813 0 0 339 /**
* Adds the indicated adjustment amount (which may be negative) to the
* priority for all transitions on the referenced node, and for all nodes in
* the subgraph below. This can be used to force these nodes not to be
* overridden by a high-level state change above. If the priority would drop
* below zero, it is set to zero.
*/ 2 4 this 3 3885 10 adjustment 1 3597
888 0 0 4 894 3813 0 0 228 /**
* Undoes the effect of a previous hide() on this node: makes the referenced
* node (and the entire subgraph below this node) visible to all cameras.
*
* This will not reveal the node if a parent node has been hidden.
*/ 1 4 this 3 3885
889 0 0 4 894 3813 0 0 264 /**
* Makes the referenced node visible just to the cameras whose camera_mask
* shares the indicated bits.
*
* This undoes the effect of a previous hide() call. It will not reveal the
* node if a parent node has been hidden. However, see show_through().
*/ 2 4 this 3 3885 11 camera_mask 1 3850
890 0 0 4 895 3813 0 0 243 /**
* Makes the referenced node visible just to the cameras whose camera_mask
* shares the indicated bits.
*
* Unlike show(), this will reveal the node even if a parent node has been
* hidden, thus "showing through" a parent's hide().
*/ 1 4 this 3 3885
891 0 0 4 895 3813 0 0 390 /**
* Makes the referenced node visible just to the cameras whose camera_mask
* shares the indicated bits.
*
* Unlike show(), this will reveal the node even if a parent node has been
* hidden via the one-parameter hide() method, thus "showing through" a
* parent's hide(). (However, it will not show through a parent's hide() call
* if the no-parameter form of hide() was used.)
*/ 2 4 this 3 3885 11 camera_mask 1 3850
892 0 0 4 896 3813 0 0 271 /**
* Makes the referenced node (and the entire subgraph below this node)
* invisible to all cameras. It remains part of the scene graph, its bounding
* volume still contributes to its parent's bounding volume, and it will still
* be involved in collision tests.
*/ 1 4 this 3 3885
893 0 0 4 896 3813 0 0 328 /**
* Makes the referenced node invisible just to the cameras whose camera_mask
* shares the indicated bits.
*
* This will also hide any nodes below this node in the scene graph, including
* those nodes for which show() has been called, but it will not hide
* descendent nodes for which show_through() has been called.
*/ 2 4 this 3 3885 11 camera_mask 1 3850
894 0 0 6 897 3604 0 0 141 /**
* Returns true if the referenced node is hidden from the indicated camera(s)
* either directly, or because some ancestor is hidden.
*/ 2 4 this 3 3889 11 camera_mask 1 3850
895 0 0 7 898 3885 2700 0 215 /**
* Returns the NodePath at or above the referenced node that is hidden to the
* indicated camera(s), or an empty NodePath if no ancestor of the referenced
* node is hidden (and the node should be visible).
*/ 3 4 this 3 3889 11 camera_mask 1 3850 14 current_thread 1 3845
896 0 0 4 899 3813 0 0 480 /**
* Removes the referenced node (and the entire subgraph below this node) from
* the scene graph in any normal sense. The node will no longer be visible
* and is not tested for collisions; furthermore, no normal scene graph
* traversal will visit the node. The node's bounding volume no longer
* contributes to its parent's bounding volume.
*
* A stashed node cannot be located by a normal find() operation (although a
* special find string can still retrieve it).
*/ 3 4 this 3 3885 4 sort 1 3597 14 current_thread 1 3845
897 0 0 4 900 3813 0 0 174 /**
* Undoes the effect of a previous stash() on this node: makes the referenced
* node (and the entire subgraph below this node) once again part of the scene
* graph.
*/ 3 4 this 3 3885 4 sort 1 3597 14 current_thread 1 3845
898 0 0 4 901 3813 0 0 59 /**
* Unstashes this node and all stashed child nodes.
*/ 2 4 this 3 3885 14 current_thread 1 3845
899 0 0 6 902 3604 0 0 114 /**
* Returns true if the referenced node is stashed either directly, or because
* some ancestor is stashed.
*/ 1 4 this 3 3889
900 0 0 7 903 3885 2700 0 190 /**
* Returns the NodePath at or above the referenced node that is stashed, or an
* empty NodePath if no ancestor of the referenced node is stashed (and the
* node should be visible).
*/ 2 4 this 3 3889 14 current_thread 1 3845
901 0 0 7 904 3851 0 0 309 /**
* Returns the union of all of the into_collide_masks for nodes at this level
* and below. This is the same thing as node()->get_net_collide_mask().
*
* If you want to return what the into_collide_mask of this node itself is,
* without regard to its children, use node()->get_into_collide_mask().
*/ 1 4 this 3 3889
902 0 0 4 905 3813 0 0 489 /**
* Recursively applies the indicated CollideMask to the into_collide_masks for
* all nodes at this level and below. If node_type is not TypeHandle::none(),
* then only nodes matching (or inheriting from) the indicated PandaNode
* subclass are modified.
*
* The default is to change all bits, but if bits_to_change is not all bits
* on, then only the bits that are set in bits_to_change are modified,
* allowing this call to change only a subset of the bits in the subgraph.
*/ 4 4 this 3 3885 8 new_mask 1 3851 14 bits_to_change 1 3851 9 node_type 1 3817
903 0 0 6 906 3604 0 0 21 // Comparison methods 2 4 this 3 3889 5 other 1 3889
904 0 0 6 906 3604 0 0 0 2 4 this 3 3889 5 other 1 3910
905 0 0 6 907 3604 0 0 0 2 4 this 3 3889 5 other 1 3889
906 0 0 6 907 3604 0 0 0 2 4 this 3 3889 5 other 1 3910
907 0 0 6 908 3604 0 0 0 2 4 this 3 3889 5 other 1 3889
908 0 0 6 908 3604 0 0 0 2 4 this 3 3889 5 other 1 3910
909 0 0 6 909 3597 0 0 486 /**
* Returns a number less than zero if this NodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two NodePaths are considered equivalent if they consist of exactly the same
* list of nodes in the same order. Otherwise, they are different; different
* NodePaths will be ranked in a consistent but undefined ordering; the
* ordering is useful only for placing the NodePaths in a sorted container
* like an STL set.
*/ 2 4 this 3 3889 5 other 1 3889
910 0 0 6 909 3597 0 0 486 /**
* Returns a number less than zero if this NodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two NodePaths are considered equivalent if they consist of exactly the same
* list of nodes in the same order. Otherwise, they are different; different
* NodePaths will be ranked in a consistent but undefined ordering; the
* ordering is useful only for placing the NodePaths in a sorted container
* like an STL set.
*/ 2 4 this 3 3889 5 other 1 3910
911 0 0 6 910 3604 0 0 107 /**
* Returns true if all of the nodes described in the NodePath are connected,
* or false otherwise.
*/ 2 4 this 3 3889 14 current_thread 1 3845
912 0 0 4 911 3813 0 0 414 /**
* Walks through the scene graph beginning at the bottom node, and internally
* adjusts any GeomVertexFormats for optimal rendering on the indicated GSG.
* If this step is not done prior to rendering, the formats will be optimized
* at render time instead, for a small cost.
*
* It is not normally necessary to do this on a model loaded directly from
* disk, since the loader will do this by default.
*/ 2 4 this 3 3885 3 gsg 1 3852
913 0 0 4 912 3813 0 0 476 /**
* Walks through the scene graph beginning at the bottom node, and does
* whatever initialization is required to render the scene properly with the
* indicated GSG. It is not strictly necessary to call this, since the GSG
* will initialize itself when the scene is rendered, but this may take some
* of the overhead away from that process.
*
* In particular, this will ensure that textures and vertex buffers within the
* scene are loaded into graphics memory.
*/ 2 4 this 3 3885 3 gsg 1 3852
914 0 0 4 913 3813 0 0 273 /**
* Causes the bounding volume of the bottom node and all of its descendants
* (that is, the bounding volume associated with the the bottom arc) to be
* rendered, if possible. The rendering method is less than optimal; this is
* intended primarily for debugging.
*/ 1 4 this 3 3885
915 0 0 4 914 3813 0 0 288 /**
* Similar to show_bounds(), this draws a bounding box representing the
* "tight" bounds of this node and all of its descendants. The bounding box
* is recomputed every frame by reexamining all of the vertices; this is far
* from efficient, but this is intended for debugging.
*/ 1 4 this 3 3885
916 0 0 4 915 3813 0 0 79 /**
* Stops the rendering of the bounding volume begun with show_bounds().
*/ 1 4 this 3 3885
917 0 0 7 916 3674 0 0 214 /**
* Returns a newly-allocated bounding volume containing the bottom node and
* all of its descendants. This is the bounding volume on the bottom arc,
* converted to the local coordinate space of the node.
*/ 2 4 this 3 3889 14 current_thread 1 3845
918 0 0 4 917 3813 0 0 520 /**
* Forces the recomputing of all the bounding volumes at every node in the
* subgraph beginning at this node and below.
*
* This should not normally need to be called, since the bounding volumes are
* supposed to be recomputed automatically when necessary. It may be useful
* when debugging, to verify that the bounding volumes have not become
* inadvertently stale; it may also be useful to force animated characters to
* update their bounding volumes (which does not presently happen
* automatically).
*/ 1 4 this 3 3885
919 0 0 4 918 3813 0 0 143 /**
* Writes a description of the bounding volume containing the bottom node and
* all of its descendants to the indicated output stream.
*/ 2 4 this 3 3889 3 out 1 3814
920 0 0 6 919 3604 0 0 725 /**
* Calculates the minimum and maximum vertices of all Geoms at this NodePath's
* bottom node and below. This is a tight bounding box; it will generally be
* tighter than the bounding volume returned by get_bounds() (but it is more
* expensive to compute).
*
* The bounding box is computed relative to the parent node's coordinate
* system by default. You can optionally specify a different NodePath to
* compute the bounds relative to. Note that the box is always axis-aligned
* against the given NodePath's coordinate system, so you might get a
* differently sized box depending on which node you pass.
*
* The return value is true if any points are within the bounding volume, or
* false if none are.
*/ 5 4 this 3 3889 9 min_point 1 3891 9 max_point 1 3891 5 other 1 3889 14 current_thread 1 3845
921 0 0 6 920 3627 0 0 0 2 4 this 3 3889 5 other 1 3889
922 0 0 6 921 3597 0 0 811 /**
* Lightly flattens out the hierarchy below this node by applying transforms,
* colors, and texture matrices from the nodes onto the vertices, but does not
* remove any nodes.
*
* This can result in improved rendering performance because there will be
* fewer transforms in the resulting scene graph, but the number of nodes will
* remain the same.
*
* In particular, any NodePaths that reference nodes within this hierarchy
* will not be damaged. However, since this operation will remove transforms
* from the scene graph, it may be dangerous to apply to nodes where you
* expect to dynamically modify the transform, or where you expect the
* geometry to remain in a particular local coordinate system.
*
* The return value is always 0, since flatten_light does not remove any
* nodes.
*/ 1 4 this 3 3885
923 0 0 6 922 3597 0 0 488 /**
* A more thorough flattening than flatten_light(), this first applies all the
* transforms, colors, and texture matrices from the nodes onto the vertices,
* and then removes unneeded grouping nodes--nodes that have exactly one
* child, for instance, but have no special properties in themselves.
*
* This results in improved performance over flatten_light() because the
* number of nodes in the scene graph is reduced.
*
* The return value is the number of nodes removed.
*/ 1 4 this 3 3885
924 0 0 6 923 3597 0 0 630 /**
* The strongest possible flattening. This first applies all of the
* transforms to the vertices, as in flatten_medium(), but then it will
* combine sibling nodes together when possible, in addition to removing
* unnecessary parent-child nodes. This can result in substantially fewer
* nodes, but any nicely-grouped hierachical bounding volumes may be lost.
*
* It is generally a good idea to apply this kind of flattening only to nodes
* that will be culled largely as a single unit, like a car. Applying this to
* an entire scene may result in overall poorer performance because of less-
* effective culling.
*/ 1 4 this 3 3885
925 0 0 4 924 3813 0 0 692 /**
* Removes textures from Geoms at this node and below by applying the texture
* colors to the vertices. This is primarily useful to simplify a low-LOD
* model. The texture colors are replaced by flat colors that approximate the
* original textures.
*
* Only the bottommost texture on each Geom is used (if there is more than
* one), and it is applied as if it were M_modulate, and WM_repeat, regardless
* of its actual settings. If the texture has a simple_ram_image, this may be
* used if the main image isn't resident.
*
* After this call, there will be no texturing specified at this level and
* below. Of course, there might still be texturing inherited from above.
*/ 1 4 this 3 3885
926 0 0 6 925 3597 0 0 315 /**
* Recursively walks through the scene graph at this level and below, looking
* for ModelNodes, and calls model_node->set_preserve_transform(PT_drop_node)
* on each one. This allows a subsequent call to flatten_strong() to
* eliminate all of the ModelNodes.
*
* Returns the number of ModelNodes found.
*/ 1 4 this 3 3885
927 0 0 4 926 3813 0 0 391 /**
* Associates a user-defined value with a user-defined key which is stored on
* the node. This value has no meaning to Panda; but it is stored
* indefinitely on the node until it is requested again.
*
* Each unique key stores a different string value. There is no effective
* limit on the number of different keys that may be stored or on the length
* of any one key's value.
*/ 3 4 this 3 3885 3 key 1 3842 5 value 1 3842
928 0 0 6 927 3842 0 0 207 /**
* Retrieves the user-defined value that was previously set on this node for
* the particular key, if any. If no value has been previously set, returns
* the empty string. See also get_net_tag().
*/ 2 4 this 3 3889 3 key 1 3842
929 0 0 6 928 3627 0 0 0 1 4 this 3 3889
930 0 0 4 928 3813 0 0 232 /**
* Fills the given vector up with the list of tags on this PandaNode.
*
* It is the user's responsibility to ensure that the keys vector is empty
* before making this call; otherwise, the new files will be appended to it.
*/ 2 4 this 3 3889 4 keys 1 3912
931 0 0 6 929 3604 0 0 195 /**
* Returns true if a value has been defined on this node for the particular
* key (even if that value is the empty string), or false if no value has been
* set. See also has_net_tag().
*/ 2 4 this 3 3889 3 key 1 3842
932 0 0 4 930 3813 0 0 158 /**
* Removes the value defined for this key on this particular node. After a
* call to clear_tag(), has_tag() will return false for the indicated key.
*/ 2 4 this 3 3885 3 key 1 3842
933 0 0 6 931 3842 0 0 251 /**
* Returns the tag value that has been defined on this node, or the nearest
* ancestor node, for the indicated key. If no value has been defined for the
* indicated key on any ancestor node, returns the empty string. See also
* get_tag().
*/ 2 4 this 3 3889 3 key 1 3842
934 0 0 6 932 3604 0 0 149 /**
* Returns true if the indicated tag value has been defined on this node or on
* any ancestor node, or false otherwise. See also has_tag().
*/ 2 4 this 3 3889 3 key 1 3842
935 0 0 7 933 3885 2700 0 215 /**
* Returns the lowest ancestor of this node that contains a tag definition
* with the indicated key, if any, or an empty NodePath if no ancestor of this
* node contains this tag definition. See set_tag().
*/ 2 4 this 3 3889 3 key 1 3842
936 0 0 6 936 3627 0 0 0 1 4 this 3 3889
937 0 0 6 938 3627 0 0 0 1 4 this 3 3885
938 0 0 4 939 3813 0 0 0 3 4 this 3 3885 4 keys 1 3627 5 value 1 3627
939 0 0 6 940 3627 0 0 0 2 4 this 3 3889 4 keys 1 3627
940 0 0 6 941 3627 0 0 0 1 4 this 3 3889
941 0 0 6 942 3604 0 0 0 2 4 this 3 3889 4 keys 1 3627
942 0 0 4 943 3813 0 0 0 2 4 this 3 3885 4 keys 1 3627
943 0 0 6 944 3627 0 0 0 2 4 this 3 3889 4 keys 1 3627
944 0 0 6 945 3604 0 0 0 2 4 this 3 3889 4 keys 1 3627
945 0 0 7 946 3885 2700 0 0 2 4 this 3 3889 4 keys 1 3627
946 0 0 6 948 3597 0 0 0 3 4 this 3 3885 5 visit 1 3848 3 arg 1 3849
947 0 0 4 949 3813 0 0 153 /**
* Lists the tags to the nout stream, one per line. See
* PandaNode::list_tags() for a variant that allows you to specify the output
* stream.
*/ 1 4 this 3 3889
948 0 0 4 950 3813 0 0 51 /**
* Changes the name of the referenced node.
*/ 2 4 this 3 3885 4 name 1 3842
949 0 0 6 951 3842 0 0 51 /**
* Returns the name of the referenced node.
*/ 1 4 this 3 3889
950 0 0 6 953 3604 0 0 230 /**
* Writes the contents of this node and below out to a bam file with the
* indicated filename. This file may then be read in again, as is, at some
* later point. Returns true if successful, false on some kind of error.
*/ 2 4 this 3 3889 8 filename 1 3915
951 0 0 6 954 3604 0 0 82 /**
* Writes the contents of this node and below out to the indicated stream.
*/ 2 4 this 3 3889 3 out 1 3814
952 0 0 6 955 3859 0 0 303 /**
* Converts the NodePath object into a single stream of data using a
* BamWriter, and returns that data as a string string. Returns empty string
* on failure. This is similar to write_bam_stream().
*
* This method is used by __reduce__ to handle streaming of NodePaths to a
* pickle file.
*/ 1 4 this 3 3889
953 0 0 6 955 3604 0 0 1067 /**
* Converts the NodePath object into a single stream of data using a
* BamWriter, and stores that data in the indicated string. Returns true on
* success, false on failure.
*
* If the BamWriter is NULL, this behaves the same way as
* NodePath::write_bam_stream() and PandaNode::encode_to_bam_stream(), in the
* sense that it only writes this node and all nodes below it.
*
* However, if the BamWriter is not NULL, it behaves very differently. In
* this case, it encodes the *entire graph* of all nodes connected to the
* NodePath, including all parent nodes and siblings. This is necessary for
* correct streaming of related NodePaths and restoration of instances, etc.,
* but it does mean you must detach() a node before writing it if you want to
* limit the nodes that get written.
*
* This method is used by __reduce__ to handle streaming of NodePaths to a
* pickle file. The BamWriter case is used by the direct.stdpy.pickle module,
* while the saner, non-BamWriter case is used when the standard pickle module
* calls this function.
*/ 3 4 this 3 3889 4 data 1 3916 6 writer 1 3665
954 0 0 7 956 3885 2700 0 162 /**
* Reads the string created by a previous call to encode_to_bam_stream(), and
* extracts and returns the NodePath on that string. Returns NULL on error.
*/ 2 4 data 1 3859 6 reader 1 3663
955 0 0 7 957 3817 0 0 0 0
956 0 0 6 558 3604 0 0 0 1 4 this 3 3889
957 0 0 7 586 3890 2376 0 0 0
958 0 0 7 586 3890 2376 0 0 1 6 param0 0 3917
959 0 0 7 586 3890 2376 0 0 1 8 sequence 1 3627
960 0 0 6 587 3627 0 0 0 1 4 this 3 3917
961 0 0 4 588 3813 0 0 49 /**
* Adds a new NodePath to the collection.
*/ 2 4 this 3 3890 9 node_path 1 3889
962 0 0 6 589 3604 0 0 152 /**
* Removes the indicated NodePath from the collection. Returns true if the
* path was removed, false if it was not a member of the collection.
*/ 2 4 this 3 3890 9 node_path 1 3889
963 0 0 4 590 3813 0 0 204 /**
* Adds all the NodePaths indicated in the other collection to this path. The
* other paths are simply appended to the end of the paths in this list;
* duplicates are not automatically removed.
*/ 2 4 this 3 3890 5 other 1 3917
964 0 0 4 591 3813 0 0 95 /**
* Removes from this collection all of the NodePaths listed in the other
* collection.
*/ 2 4 this 3 3890 5 other 1 3917
965 0 0 4 592 3813 0 0 197 /**
* Removes any duplicate entries of the same NodePaths on this collection. If
* a NodePath appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/ 1 4 this 3 3890
966 0 0 6 593 3604 0 0 97 /**
* Returns true if the indicated NodePath appears in this collection, false
* otherwise.
*/ 2 4 this 3 3917 4 path 1 3889
967 0 0 4 594 3813 0 0 53 /**
* Removes all NodePaths from the collection.
*/ 1 4 this 3 3890
968 0 0 4 595 3813 0 0 157 /**
* This is a hint to Panda to allocate enough memory to hold the given number
* of NodePaths, if you know ahead of time how many you will be adding.
*/ 2 4 this 3 3890 3 num 1 3797
969 0 0 6 596 3604 0 0 85 /**
* Returns true if there are no NodePaths in the collection, false otherwise.
*/ 1 4 this 3 3917
970 0 0 6 597 3597 0 0 61 /**
* Returns the number of NodePaths in the collection.
*/ 1 4 this 3 3917
971 0 0 7 598 3885 2700 0 54 /**
* Returns the nth NodePath in the collection.
*/ 2 4 this 3 3917 5 index 1 3597
972 0 0 7 600 3885 2700 0 0 2 4 this 3 3917 5 index 1 3797
973 0 0 6 601 3797 0 0 104 /**
* Returns the number of paths in the collection. This is the same thing as
* get_num_paths().
*/ 1 4 this 3 3917
974 0 0 6 602 3890 0 0 0 2 4 this 3 3890 5 other 1 3917
975 0 0 7 603 3890 2376 0 0 2 4 this 3 3917 5 other 1 3917
976 0 0 4 604 3813 0 0 153 /**
* Adds a new NodePath to the collection. This method duplicates the
* add_path() method; it is provided to satisfy Python's naming convention.
*/ 2 4 this 3 3890 9 node_path 1 3889
977 0 0 4 605 3813 0 0 157 /**
* Appends the other list onto the end of this one. This method duplicates
* the += operator; it is provided to satisfy Python's naming convention.
*/ 2 4 this 3 3890 5 other 1 3917
978 0 0 4 606 3813 0 0 90 /**
* Lists all the nodes at and below each node in the collection
* hierarchically.
*/ 1 4 this 3 3917
979 0 0 4 606 3813 0 0 90 /**
* Lists all the nodes at and below each node in the collection
* hierarchically.
*/ 3 4 this 3 3917 3 out 1 3814 12 indent_level 1 3597
980 0 0 7 607 3890 2376 0 177 /**
* Returns the complete set of all NodePaths that begin with any NodePath in
* this collection and can be extended by path. The shortest paths will be
* listed first.
*/ 2 4 this 3 3917 4 path 1 3842
981 0 0 4 608 3813 0 0 79 /**
* Reparents all the NodePaths in the collection to the indicated node.
*/ 2 4 this 3 3890 5 other 1 3889
982 0 0 4 609 3813 0 0 147 /**
* Reparents all the NodePaths in the collection to the indicated node,
* adjusting each transform so as not to move in world coordinates.
*/ 2 4 this 3 3890 5 other 1 3889
983 0 0 4 610 3813 0 0 49 /**
* Shows all NodePaths in the collection.
*/ 1 4 this 3 3890
984 0 0 4 611 3813 0 0 49 /**
* Hides all NodePaths in the collection.
*/ 1 4 this 3 3890
985 0 0 4 612 3813 0 0 51 /**
* Stashes all NodePaths in the collection.
*/ 1 4 this 3 3890
986 0 0 4 613 3813 0 0 53 /**
* Unstashes all NodePaths in the collection.
*/ 1 4 this 3 3890
987 0 0 4 614 3813 0 0 52 /**
* Detaches all NodePaths in the collection.
*/ 1 4 this 3 3890
988 0 0 7 615 3851 0 0 309 /**
* Returns the union of all of the into_collide_masks for nodes at this level
* and below. This is the same thing as node()->get_net_collide_mask().
*
* If you want to return what the into_collide_mask of this node itself is,
* without regard to its children, use node()->get_into_collide_mask().
*/ 1 4 this 3 3917
989 0 0 4 616 3813 0 0 349 /**
* Recursively applies the indicated CollideMask to the into_collide_masks for
* all nodes at this level and below.
*
* The default is to change all bits, but if bits_to_change is not all bits
* on, then only the bits that are set in bits_to_change are modified,
* allowing this call to change only a subset of the bits in the subgraph.
*/ 4 4 this 3 3890 8 new_mask 1 3851 14 bits_to_change 1 3851 9 node_type 1 3817
990 0 0 6 617 3604 0 0 369 /**
* Calculates the minimum and maximum vertices of all Geoms at these
* NodePath's bottom nodes and below This is a tight bounding box; it will
* generally be tighter than the bounding volume returned by get_bounds() (but
* it is more expensive to compute).
*
* The return value is true if any points are within the bounding volume, or
* false if none are.
*/ 3 4 this 3 3917 9 min_point 1 3891 9 max_point 1 3891
991 0 0 6 618 3627 0 0 0 1 4 this 3 3917
992 0 0 4 619 3813 0 0 377 /**
* Adds the indicated texture to the list of textures that will be rendered on
* the default texture stage.
*
* This is the deprecated single-texture variant of this method; it is now
* superceded by set_texture() that accepts a stage and texture. However,
* this method may be used in the presence of multitexture if you just want to
* adjust the default stage.
*/ 3 4 this 3 3890 3 tex 1 3756 8 priority 1 3597
993 0 0 4 619 3813 0 0 359 /**
* Adds the indicated texture to the list of textures that will be rendered on
* the indicated multitexture stage. If there are multiple texture stages
* specified (possibly on multiple different nodes at different levels), they
* will all be applied to geometry together, according to the stage
* specification set up in the TextureStage object.
*/ 4 4 this 3 3890 5 stage 1 3754 3 tex 1 3756 8 priority 1 3597
994 0 0 4 620 3813 0 0 305 /**
* Sets the geometry at this level and below to render using no texture, on
* the indicated stage. This is different from not specifying a texture;
* rather, this specifically contradicts set_texture() at a higher node level
* (or, with a priority, overrides a set_texture() at a lower level).
*/ 3 4 this 3 3890 5 stage 1 3754 8 priority 1 3597
995 0 0 4 620 3813 0 0 295 /**
* Sets the geometry at this level and below to render using no texture, on
* any stage. This is different from not specifying a texture; rather, this
* specifically contradicts set_texture() at a higher node level (or, with a
* priority, overrides a set_texture() at a lower level).
*/ 2 4 this 3 3890 8 priority 1 3597
996 0 0 4 621 3813 0 0 49 /**
* Colors all NodePaths in the collection
*/ 3 4 this 3 3890 5 color 1 3821 8 priority 1 3597
997 0 0 4 621 3813 0 0 49 /**
* Colors all NodePaths in the collection
*/ 6 4 this 3 3890 1 r 1 3602 1 g 1 3602 1 b 1 3602 1 a 1 3602 8 priority 1 3597
998 0 0 4 622 3813 0 0 109 /**
* Applies color scales to all NodePaths in the collection. The existing
* color scale is replaced.
*/ 3 4 this 3 3890 5 scale 1 3881 8 priority 1 3597
999 0 0 4 622 3813 0 0 109 /**
* Applies color scales to all NodePaths in the collection. The existing
* color scale is replaced.
*/ 6 4 this 3 3890 1 r 1 3602 1 g 1 3602 1 b 1 3602 1 a 1 3602 8 priority 1 3597
1000 0 0 4 623 3813 0 0 149 /**
* Applies color scales to all NodePaths in the collection. The existing
* color scale, if any, is multiplied by the specified color scale.
*/ 3 4 this 3 3890 5 scale 1 3881 8 priority 1 3597
1001 0 0 4 623 3813 0 0 149 /**
* Applies color scales to all NodePaths in the collection. The existing
* color scale, if any, is multiplied by the specified color scale.
*/ 6 4 this 3 3890 1 r 1 3602 1 g 1 3602 1 b 1 3602 1 a 1 3602 8 priority 1 3597
1002 0 0 4 624 3813 0 0 223 /**
* Applies the indicated RenderAttrib to all NodePaths in the collection. An
* effort is made to apply the attrib to many NodePaths as quickly as
* possible; redundant RenderState compositions are not duplicated.
*/ 3 4 this 3 3890 6 attrib 1 3611 8 priority 1 3597
1003 0 0 4 625 3813 0 0 107 /**
* Writes a brief one-line description of the NodePathCollection to the
* indicated output stream.
*/ 2 4 this 3 3917 3 out 1 3814
1004 0 0 4 626 3813 0 0 112 /**
* Writes a complete multi-line description of the NodePathCollection to the
* indicated output stream.
*/ 3 4 this 3 3917 3 out 1 3814 12 indent_level 1 3597
1005 0 0 4 960 3813 0 0 556 /**
* Adds the indicated NodePath to the registry. The name and type of the node
* are noted at the time of this call; if the name changes later, it will not
* update the registry index.
*
* The NodePath must reference some kind of an attribute node, such as a
* LightNode or a PlaneNode. When bam files that reference an attribute node
* of the same type and the same name are loaded, they will quietly be
* redirected to reference this NodePath.
*
* If there is already a node matching the indicated name and type, it will be
* replaced.
*/ 2 4 this 3 3919 11 attrib_node 1 3889
1006 0 0 6 961 3604 0 0 320 /**
* Removes the indicated NodePath from the registry. The name of the node
* must not have changed since the matching call to add_node(), or it will not
* be successfully removed.
*
* Returns true if the NodePath is found and removed, false if it is not found
* (for instance, because the name has changed).
*/ 2 4 this 3 3919 11 attrib_node 1 3889
1007 0 0 4 961 3813 0 0 50 /**
* Removes the nth node from the registry.
*/ 2 4 this 3 3919 1 n 1 3597
1008 0 0 7 962 3885 2700 0 215 /**
* Looks up the indicated NodePath in the registry. If there is a node
* already in the registry with the matching name and type, returns that
* NodePath instead; otherwise, returns the original NodePath.
*/ 2 4 this 3 3920 9 orig_node 1 3889
1009 0 0 6 963 3597 0 0 61 /**
* Returns the total number of nodes in the registry.
*/ 1 4 this 3 3920
1010 0 0 7 964 3885 2700 0 61 /**
* Returns the nth NodePath recorded in the registry.
*/ 2 4 this 3 3920 1 n 1 3597
1011 0 0 7 966 3817 0 0 73 /**
* Returns the type of the nth node, as recorded in the registry.
*/ 2 4 this 3 3920 1 n 1 3597
1012 0 0 6 967 3842 0 0 236 /**
* Returns the name of the nth node, as recorded in the registry. This will
* be the node name as it was at the time the node was recorded; if the node
* has changed names since then, this will still return the original name.
*/ 2 4 this 3 3920 1 n 1 3597
1013 0 0 6 968 3597 0 0 244 /**
* Returns the index number of the indicated NodePath in the registry
* (assuming its name hasn't changed since it was recorded in the registry),
* or -1 if the NodePath cannot be found (for instance, because its name has
* changed).
*/ 2 4 this 3 3920 11 attrib_node 1 3889
1014 0 0 6 968 3597 0 0 148 /**
* Returns the index number of the node with the indicated type and name in
* the registry, or -1 if there is no such node in the registry.
*/ 3 4 this 3 3920 4 type 1 3817 4 name 1 3842
1015 0 0 4 969 3813 0 0 47 /**
* Removes all nodes from the registry.
*/ 1 4 this 3 3919
1016 0 0 4 970 3813 0 0 10 /**
*
*/ 2 4 this 3 3920 3 out 1 3814
1017 0 0 4 971 3813 0 0 10 /**
*
*/ 2 4 this 3 3920 3 out 1 3814
1018 0 0 6 972 3919 0 0 10 /**
*
*/ 0
1019 0 0 7 975 3611 0 0 54 /**
* Constructs an identity audio volume attrib.
*/ 0
1020 0 0 7 976 3611 0 0 125 /**
* Constructs a new AudioVolumeAttrib object that indicates audio volume
* should be scaled by the indicated factor.
*/ 1 6 volume 1 3602
1021 0 0 7 977 3611 0 0 213 /**
* Constructs a new AudioVolumeAttrib object that ignores any
* AudioVolumeAttrib inherited from above. You may also specify an additional
* volume scale to apply to geometry below (using set_volume()).
*/ 0
1022 0 0 7 978 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1023 0 0 6 979 3604 0 0 257 /**
* Returns true if the AudioVolumeAttrib will ignore any color scales
* inherited from above, false otherwise. This is not the same thing as
* !has_scale(); a AudioVolumeAttrib may have the "off" flag set and also have
* another scale specified.
*/ 1 4 this 3 3922
1024 0 0 6 980 3604 0 0 159 /**
* Returns true if the AudioVolumeAttrib has a non-identity volume, false
* otherwise (in which case it might be an off attrib or an identity attrib).
*/ 1 4 this 3 3922
1025 0 0 6 981 3602 0 0 54 /**
* Returns the volume to be applied to sounds.
*/ 1 4 this 3 3922
1026 0 0 7 982 3611 0 0 118 /**
* Returns a new AudioVolumeAttrib, just like this one, but with the volume
* changed to the indicated value.
*/ 2 4 this 3 3922 6 volume 1 3602
1027 0 0 6 984 3597 0 0 0 0
1028 0 0 7 986 3817 0 0 0 0
1029 0 0 7 990 3611 0 0 57 /**
* Constructs a default AuxBitplaneAttrib object.
*/ 0
1030 0 0 7 990 3611 0 0 59 /**
* Constructs a specified AuxBitplaneAttrib object.
*/ 1 7 outputs 1 3597
1031 0 0 7 991 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1032 0 0 6 992 3597 0 0 53 /**
* Returns the AuxBitplaneAttrib output bits.
*/ 1 4 this 3 3924
1033 0 0 6 994 3597 0 0 0 0
1034 0 0 7 996 3817 0 0 0 0
1035 0 0 7 1008 3676 2740 0 0 1 6 param0 0 3926
1036 0 0 4 1000 3813 0 0 159 /**
* Specifies the minimum length in time, in seconds, to keep this AuxSceneData
* object around in the scene graph after the last time it was rendered.
*/ 2 4 this 3 3676 8 duration 1 3928
1037 0 0 6 1001 3928 0 0 157 /**
* Returns the minimum length in time, in seconds, to keep this AuxSceneData
* object around in the scene graph after the last time it was rendered.
*/ 1 4 this 3 3926
1038 0 0 4 1002 3813 0 0 111 /**
* Should be called with the current frame_time each time the AuxSceneData is
* used during traversal.
*/ 2 4 this 3 3676 11 render_time 1 3928
1039 0 0 6 1003 3928 0 0 112 /**
* Returns the last time this object was used during traversal (according to
* set_last_render_time()).
*/ 1 4 this 3 3926
1040 0 0 6 1004 3928 0 0 129 /**
* Returns the frame_time at which this AuxSceneData object is currently
* scheduled to be removed from the scene graph.
*/ 1 4 this 3 3926
1041 0 0 4 1005 3813 0 0 10 /**
*
*/ 2 4 this 3 3926 3 out 1 3814
1042 0 0 4 1006 3813 0 0 10 /**
*
*/ 3 4 this 3 3926 3 out 1 3814 12 indent_level 1 3597
1043 0 0 7 1007 3817 0 0 0 0
1044 0 0 7 1012 3929 2742 0 10 /**
*
*/ 0
1045 0 0 6 1014 3604 0 0 111 /**
* Attempts to open the indicated filename for reading. Returns true if
* successful, false on error.
*/ 3 4 this 3 3929 12 bam_filename 1 3915 13 report_errors 1 3604
1046 0 0 6 1014 3604 0 0 162 /**
* Attempts to open the indicated stream for reading. The filename is just
* for information purposes only. Returns true if successful, false on error.
*/ 4 4 this 3 3929 2 in 1 3930 12 bam_filename 1 3842 13 report_errors 1 3604
1047 0 0 6 1015 3932 0 0 313 /**
* Reads and returns the next object from the Bam file, or NULL if the end of
* the file has been reached, or if there is an error condition. Use is_eof()
* to differentiate these two cases.
*
* The pointers returned by this method will not be valid for use until
* resolve() is subsequently called.
*/ 1 4 this 3 3929
1048 0 0 6 1016 3604 0 0 138 /**
* Returns true if the reader has reached end-of-file, false otherwise. This
* call is only valid after a call to read_object().
*/ 1 4 this 3 3934
1049 0 0 6 1017 3604 0 0 358 /**
* This must be called after one or more objects have been read via calls to
* read_object() in order to resolve all internal pointer references in the
* objects read and make all the pointers valid. It returns true if all
* objects are successfully resolved, or false if some have not been (in which
* case you must call resolve() again later).
*/ 1 4 this 3 3929
1050 0 0 7 1018 3652 2126 0 758 /**
* Although the bam file format is general enough to store a list of objects
* of arbitrary type, bam files on disk usually contain just one object, a
* PandaNode that is the root of a scene graph. (Bam files that store other
* kinds of things are usually given the extension "boo", for "binary other
* objects", to differentiate them from the normal scene graph type file.)
*
* This is a convenience method for when you believe you are reading a scene
* graph bam file. It reads the one PandaNode and returns it. It also calls
* resolve() to fully resolve the object, since we expect this will be the
* only object in the file.
*
* If the bam file contains something other than a PandaNode, an error is
* printed and NULL is returned.
*/ 2 4 this 3 3929 13 report_errors 1 3604
1051 0 0 6 1019 3604 0 0 190 /**
* Attempts to open the indicated file for writing. If another file by the
* same name already exists, it will be silently removed. Returns true if
* successful, false otherwise.
*/ 3 4 this 3 3929 12 bam_filename 1 3915 13 report_errors 1 3604
1052 0 0 6 1019 3604 0 0 162 /**
* Attempts to open the indicated stream for writing. The filename is just
* for information purposes only. Returns true if successful, false on error.
*/ 4 4 this 3 3929 3 out 1 3814 12 bam_filename 1 3842 13 report_errors 1 3604
1053 0 0 6 1020 3604 0 0 103 /**
* Writes the indicated object to the Bam file. Returns true if successful,
* false on error.
*/ 2 4 this 3 3929 6 object 1 3936
1054 0 0 4 1021 3813 0 0 45 /**
* Closes the input or output stream.
*/ 1 4 this 3 3929
1055 0 0 6 1022 3604 0 0 124 /**
* Returns true if the Bam file is open and ready for reading with no errors
* so far detected, or false otherwise.
*/ 1 4 this 3 3934
1056 0 0 6 1023 3604 0 0 124 /**
* Returns true if the Bam file is open and ready for writing with no errors
* so far detected, or false otherwise.
*/ 1 4 this 3 3934
1057 0 0 6 1024 3597 0 0 168 /**
* Returns the major version number of the file currently being read, or the
* system current major version number if no file is currently open for
* reading.
*/ 1 4 this 3 3929
1058 0 0 6 1025 3597 0 0 168 /**
* Returns the minor version number of the file currently being read, or the
* system current minor version number if no file is currently open for
* reading.
*/ 1 4 this 3 3929
1059 0 0 6 1026 3662 0 0 102 /**
* Returns the endian preference indicated by the Bam file currently being
* read or written.
*/ 1 4 this 3 3934
1060 0 0 6 1027 3604 0 0 122 /**
* Returns true if the file stores all "standard" floats as 64-bit doubles, or
* false if they are 32-bit floats.
*/ 1 4 this 3 3934
1061 0 0 6 1028 3597 0 0 140 /**
* Returns the system current major version number. This is the version
* number that will be assigned to any generated Bam files.
*/ 1 4 this 3 3929
1062 0 0 6 1029 3597 0 0 140 /**
* Returns the system current minor version number. This is the version
* number that will be assigned to any generated Bam files.
*/ 1 4 this 3 3929
1063 0 0 6 1030 3663 0 0 134 /**
* Returns the BamReader in charge of performing the read operations. This
* will return NULL unless open_read() was called.
*/ 1 4 this 3 3929
1064 0 0 6 1031 3665 0 0 136 /**
* Returns the BamWriter in charge of performing the write operations. This
* will return NULL unless open_write() was called.
*/ 1 4 this 3 3929
1065 0 0 7 1042 3838 0 0 81 /**
* Constructs a new BillboardEffect object with the indicated properties.
*/ 7 9 up_vector 1 3898 12 eye_relative 1 3604 12 axial_rotate 1 3604 6 offset 1 3602 7 look_at 1 3889 13 look_at_point 1 3810 11 fixed_depth 1 3604
1066 0 0 7 1043 3838 0 0 76 /**
* A convenience function to make a typical axis-rotating billboard.
*/ 0
1067 0 0 7 1044 3838 0 0 93 /**
* A convenience function to make a typical eye-relative point-rotating
* billboard.
*/ 0
1068 0 0 7 1045 3838 0 0 95 /**
* A convenience function to make a typical world-relative point-rotating
* billboard.
*/ 0
1069 0 0 6 1046 3604 0 0 323 /**
* Returns true if the BillboardEffect is an 'off' BillboardEffect, indicating
* that it does not enable billboarding. This kind of BillboardEffect isn't
* particularly useful and isn't normally created or stored in the graph; it
* might be implicitly discovered as the result of a
* NodePath::get_rel_state().
*/ 1 4 this 3 3938
1070 0 0 6 1047 3898 0 0 62 /**
* Returns the up vector in effect for this billboard.
*/ 1 4 this 3 3938
1071 0 0 6 1048 3604 0 0 134 /**
* Returns true if this billboard interprets the up vector relative to the
* camera, or false if it is relative to the world.
*/ 1 4 this 3 3938
1072 0 0 6 1049 3604 0 0 142 /**
* Returns true if this billboard rotates only around the axis of the up
* vector, or false if it rotates freely in three dimensions.
*/ 1 4 this 3 3938
1073 0 0 6 1050 3604 0 0 96 /**
* Returns true if this billboard always appears at a fixed distance from the
* camera.
*/ 1 4 this 3 3938
1074 0 0 6 1051 3602 0 0 204 /**
* Returns the distance toward the camera (or the look_at_point) the billboard
* is moved towards, after rotating. This can be used to ensure the billboard
* is not obscured by nearby geometry.
*/ 1 4 this 3 3938
1075 0 0 6 1052 3889 0 0 188 /**
* Returns the node this billboard will rotate to look towards. If this is
* empty, it means the billboard will rotate towards the current camera node,
* wherever that might be.
*/ 1 4 this 3 3938
1076 0 0 6 1053 3810 0 0 132 /**
* Returns the point, relative to the look_at node, towards which the
* billboard will rotate. Normally this is (0, 0, 0).
*/ 1 4 this 3 3938
1077 0 0 7 1054 3817 0 0 0 0
1078 0 0 7 1057 3942 2787 0 10 /**
*
*/ 2 4 name 1 3842 4 lens 1 3940
1079 0 0 4 1058 3813 0 0 148 /**
* Sets up the LensNode using a copy of the indicated Lens. If the original
* Lens is changed or destroyed, this LensNode is not affected.
*/ 2 4 this 3 3942 4 lens 1 3943
1080 0 0 4 1058 3813 0 0 61 /**
* Copies the indicated lens into the specified slot.
*/ 3 4 this 3 3942 5 index 1 3597 4 lens 1 3943
1081 0 0 4 1059 3813 0 0 168 /**
* Sets up the LensNode using this particular Lens pointer. If the lens is
* subsequently modified, the LensNode properties immediately reflect the
* change.
*/ 2 4 this 3 3942 4 lens 1 3940
1082 0 0 4 1059 3813 0 0 302 /**
* Sets the indicated lens. Although a LensNode normally holds only one lens,
* it may optionally include multiple lenses, each with a different index
* number. The different lenses may be referenced by index number on the
* DisplayRegion. Adding a new lens automatically makes it active.
*/ 3 4 this 3 3942 5 index 1 3597 4 lens 1 3940
1083 0 0 7 1060 3940 0 0 191 /**
* Returns a pointer to the particular Lens associated with this LensNode, or
* NULL if there is not yet a Lens associated. If an index number is
* specified, returns the nth lens.
*/ 2 4 this 3 3945 5 index 1 3597
1084 0 0 6 1061 3604 0 0 263 /**
* Sets the active flag for the nth lens. When a lens is inactive, it is not
* used for rendering, and any DisplayRegions associated with it are
* implicitly inactive as well. Returns true if the flag is changed, false if
* it already had this value.
*/ 3 4 this 3 3942 5 index 1 3597 6 active 1 3604
1085 0 0 6 1062 3604 0 0 52 /**
* Returns the active flag for the nth lens.
*/ 2 4 this 3 3945 5 index 1 3597
1086 0 0 6 1063 3604 0 0 65 /**
* An alternate way to call set_lens_active(index, true).
*/ 2 4 this 3 3942 5 index 1 3597
1087 0 0 6 1064 3604 0 0 66 /**
* An alternate way to call set_lens_active(index, false).
*/ 2 4 this 3 3942 5 index 1 3597
1088 0 0 6 1065 3604 0 0 135 /**
* Returns true if the given point is within the bounds of the lens of the
* LensNode (i.e. if the camera can see the point).
*/ 2 4 this 3 3942 3 pos 1 3810
1089 0 0 6 1065 3604 0 0 135 /**
* Returns true if the given point is within the bounds of the lens of the
* LensNode (i.e. if the camera can see the point).
*/ 3 4 this 3 3942 5 index 1 3597 3 pos 1 3810
1090 0 0 4 1066 3813 0 0 149 /**
* Enables the drawing of the lens's frustum to aid in visualization. This
* actually creates a GeomNode which is parented to the LensNode.
*/ 1 4 this 3 3942
1091 0 0 4 1067 3813 0 0 78 /**
* Disables the drawing of the lens's frustum to aid in visualization.
*/ 1 4 this 3 3942
1092 0 0 7 1068 3817 0 0 0 0
1093 0 0 7 1071 3947 2789 0 10 /**
*
*/ 1 9 node_path 1 3889
1094 0 0 7 1071 3947 2789 0 10 /**
*
*/ 1 4 copy 1 3910
1095 0 0 6 1073 3947 0 0 0 2 4 this 3 3947 9 node_path 1 3889
1096 0 0 6 1073 3947 0 0 0 2 4 this 3 3947 4 copy 1 3910
1097 0 0 4 1074 3813 0 0 93 /**
* Sets this NodePath to the empty NodePath. It will no longer point to any
* node.
*/ 1 4 this 3 3947
1098 0 0 6 1076 3604 0 0 85 /**
* Returns true if the NodePath contains no nodes, or if it has been deleted.
*/ 1 4 this 3 3910
1099 0 0 6 1077 3604 0 0 116 /**
* Returns true if the NodePath we were referencing has been quietly deleted
* outside of the WeakNodePath.
*/ 1 4 this 3 3910
1100 0 0 7 1078 3885 2700 0 131 /**
* Returns the NodePath held within this object, or an empty NodePath with the
* error flag set if the object was deleted.
*/ 1 4 this 3 3910
1101 0 0 7 1079 3652 2126 0 98 /**
* Returns the PandaNode held within this object, or nullptr if the object was
* deleted.
*/ 1 4 this 3 3910
1102 0 0 6 1080 3604 0 0 0 2 4 this 3 3910 5 other 1 3889
1103 0 0 6 1080 3604 0 0 0 2 4 this 3 3910 5 other 1 3910
1104 0 0 6 1081 3604 0 0 0 2 4 this 3 3910 5 other 1 3889
1105 0 0 6 1081 3604 0 0 0 2 4 this 3 3910 5 other 1 3910
1106 0 0 6 1082 3604 0 0 0 2 4 this 3 3910 5 other 1 3889
1107 0 0 6 1082 3604 0 0 0 2 4 this 3 3910 5 other 1 3910
1108 0 0 6 1083 3597 0 0 486 /**
* Returns a number less than zero if this NodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two NodePaths are considered equivalent if they consist of exactly the same
* list of nodes in the same order. Otherwise, they are different; different
* NodePaths will be ranked in a consistent but undefined ordering; the
* ordering is useful only for placing the NodePaths in a sorted container
* like an STL set.
*/ 2 4 this 3 3910 5 other 1 3889
1109 0 0 6 1083 3597 0 0 502 /**
* Returns a number less than zero if this WeakNodePath sorts before the other
* one, greater than zero if it sorts after, or zero if they are equivalent.
*
* Two WeakNodePaths are considered equivalent if they consist of exactly the
* same list of nodes in the same order. Otherwise, they are different;
* different WeakNodePaths will be ranked in a consistent but undefined
* ordering; the ordering is useful only for placing the WeakNodePaths in a
* sorted container like an STL set.
*/ 2 4 this 3 3910 5 other 1 3910
1110 0 0 6 1084 3597 0 0 58 /**
* Returns the same values as NodePath::get_key().
*/ 1 4 this 3 3910
1111 0 0 4 1085 3813 0 0 10 /**
*
*/ 2 4 this 3 3910 3 out 1 3814
1112 0 0 6 1075 3604 0 0 0 1 4 this 3 3910
1113 0 0 7 1087 3950 2787 0 10 /**
*
*/ 1 4 copy 1 3948
1114 0 0 7 1087 3950 2787 0 10 /**
*
*/ 2 4 name 1 3842 4 lens 1 3940
1115 0 0 4 1088 3813 0 0 107 /**
* Sets the active flag on the camera. When the camera is not active, nothing
* will be rendered.
*/ 2 4 this 3 3950 6 active 1 3604
1116 0 0 6 1089 3604 0 0 72 /**
* Returns the current setting of the active flag on the camera.
*/ 1 4 this 3 3948
1117 0 0 4 1091 3813 0 0 479 /**
* Sets the scene that will be rendered by the camera. This is normally the
* root node of a scene graph, typically a node called 'render', although it
* could represent the root of any subgraph.
*
* Note that the use of this method is now deprecated. In the absence of an
* explicit scene set on the camera, the camera will render whatever scene it
* is parented into. This is the preferred way to specify the scene, since it
* is the more intuitive mechanism.
*/ 2 4 this 3 3950 5 scene 1 3889
1118 0 0 6 1092 3889 0 0 83 /**
* Returns the scene that will be rendered by the camera. See set_scene().
*/ 1 4 this 3 3948
1119 0 0 6 1095 3797 0 0 76 /**
* Returns the number of display regions associated with the camera.
*/ 1 4 this 3 3948
1120 0 0 6 1096 3672 0 0 69 /**
* Returns the nth display region associated with the camera.
*/ 2 4 this 3 3948 1 n 1 3797
1121 0 0 4 1102 3813 0 0 401 /**
* Changes the set of bits that represent the subset of the scene graph the
* camera will render.
*
* During the cull traversal, a node is not visited if none of its draw mask
* bits intersect with the camera's camera mask bits. These masks can be used
* to selectively hide and show different parts of the scene graph from
* different cameras that are otherwise viewing the same scene.
*/ 2 4 this 3 3950 4 mask 1 3850
1122 0 0 7 1103 3850 0 0 130 /**
* Returns the set of bits that represent the subset of the scene graph the
* camera will render. See set_camera_mask().
*/ 1 4 this 3 3948
1123 0 0 4 1105 3813 0 0 320 /**
* Specifies the point from which the culling operations are performed.
* Normally, this is the same as the camera, and that is the default if this
* is not specified; but it may sometimes be useful to perform the culling
* from some other viewpoint, particularly when you are debugging the culling
* itself.
*/ 2 4 this 3 3950 11 cull_center 1 3889
1124 0 0 6 1106 3889 0 0 153 /**
* Returns the point from which the culling operations will be performed, if
* it was set by set_cull_center(), or the empty NodePath otherwise.
*/ 1 4 this 3 3948
1125 0 0 4 1108 3813 0 0 379 /**
* Specifies the bounding volume that should be used to perform culling from
* this camera. Normally, this is the bounding volume returned from the
* active lens' make_bounds() call, but you may override this to specify a
* custom volume if you require. The specified bounding volume will be
* understood to be in the coordinate space of the get_cull_center() node.
*/ 2 4 this 3 3950 11 cull_bounds 1 3674
1126 0 0 7 1109 3674 0 0 129 /**
* Returns the custom cull volume that was set by set_cull_bounds(), if any,
* or NULL if no custom cull volume was set.
*/ 1 4 this 3 3948
1127 0 0 4 1112 3813 0 0 379 /**
* Specifies the point from which the LOD distances are measured. Normally,
* this is the same as the camera, and that is the default if this is not
* specified; but it may sometimes be useful to perform the distance test from
* some other viewpoint. This may be used, for instance, to reduce LOD
* popping when the camera rotates in a small circle about an avatar.
*/ 2 4 this 3 3950 10 lod_center 1 3889
1128 0 0 6 1113 3889 0 0 146 /**
* Returns the point from which the LOD distances will be measured, if it was
* set by set_lod_center(), or the empty NodePath otherwise.
*/ 1 4 this 3 3948
1129 0 0 4 1115 3813 0 0 129 /**
* Sets the initial state which is applied to all nodes in the scene, as if it
* were set at the top of the scene graph.
*/ 2 4 this 3 3950 5 state 1 3826
1130 0 0 7 1116 3826 0 0 86 /**
* Returns the initial state as set by a previous call to set_initial_state().
*/ 1 4 this 3 3948
1131 0 0 4 1118 3813 0 0 218 /**
* Sets the tag key which, when encountered as a tag on nodes in the scene
* graph, causes this Camera to apply an arbitrary state transition based on
* the value of the tag (as specified to set_tag_state()).
*/ 2 4 this 3 3950 13 tag_state_key 1 3842
1132 0 0 6 1119 3842 0 0 80 /**
* Returns the tag key as set by a previous call to set_tag_state_key().
*/ 1 4 this 3 3948
1133 0 0 4 1122 3813 0 0 114 /**
* Sets the multiplier for LOD distances. This value is multiplied with the
* LOD scale set on LodNodes.
*/ 2 4 this 3 3950 5 value 1 3602
1134 0 0 6 1123 3602 0 0 52 /**
* Returns the multiplier for LOD distances.
*/ 1 4 this 3 3948
1135 0 0 4 1125 3813 0 0 585 /**
* Associates a particular state transition with the indicated tag value.
* When a node is encountered during traversal with the tag key specified by
* set_tag_state_key(), if the value of that tag matches tag_state, then the
* indicated state is applied to this node--but only when it is rendered by
* this camera.
*
* This can be used to apply special effects to nodes when they are rendered
* by certain cameras. It is particularly useful for multipass rendering, in
* which specialty cameras might be needed to render the scene with a
* particular set of effects.
*/ 3 4 this 3 3950 9 tag_state 1 3842 5 state 1 3826
1136 0 0 4 1126 3813 0 0 85 /**
* Removes the association established by a previous call to set_tag_state().
*/ 2 4 this 3 3950 9 tag_state 1 3842
1137 0 0 4 1127 3813 0 0 85 /**
* Removes all associations established by previous calls to set_tag_state().
*/ 1 4 this 3 3950
1138 0 0 6 1128 3604 0 0 119 /**
* Returns true if set_tag_state() has previously been called with the
* indicated tag state, false otherwise.
*/ 2 4 this 3 3948 9 tag_state 1 3842
1139 0 0 7 1129 3826 0 0 161 /**
* Returns the state associated with the indicated tag state by a previous
* call to set_tag_state(), or the empty state if nothing has been associated.
*/ 2 4 this 3 3948 9 tag_state 1 3842
1140 0 0 4 1132 3813 0 0 157 /**
* Associates the indicated AuxSceneData object with the given NodePath,
* possibly replacing a previous data defined for the same NodePath, if any.
*/ 3 4 this 3 3950 9 node_path 1 3889 4 data 1 3676
1141 0 0 6 1133 3604 0 0 153 /**
* Removes the AuxSceneData associated with the indicated NodePath. Returns
* true if it is removed successfully, false if it was already gone.
*/ 2 4 this 3 3950 9 node_path 1 3889
1142 0 0 7 1134 3676 2740 0 112 /**
* Returns the AuxSceneData associated with the indicated NodePath, or NULL if
* nothing is associated.
*/ 2 4 this 3 3948 9 node_path 1 3889
1143 0 0 4 1135 3813 0 0 65 /**
* Outputs all of the NodePaths and AuxSceneDatas in use.
*/ 2 4 this 3 3948 3 out 1 3814
1144 0 0 6 1136 3597 0 0 179 /**
* Walks through the list of currently-assigned AuxSceneData objects and
* releases any that are past their expiration times. Returns the number of
* elements released.
*/ 2 4 this 3 3950 14 current_thread 1 3845
1145 0 0 7 1140 3817 0 0 0 0
1146 0 0 7 1142 3955 2848 0 10 /**
*
*/ 2 4 name 1 3842 5 plane 1 3951
1147 0 0 4 1143 3813 0 0 66 /**
* Sets the particular plane represented by the PlaneNode.
*/ 2 4 this 3 3955 5 plane 1 3951
1148 0 0 6 1144 3951 0 0 58 /**
* Returns the plane represented by the PlaneNode.
*/ 1 4 this 3 3956
1149 0 0 4 1145 3813 0 0 115 /**
* Specifies the size of the visual representation of the plane that is drawn
* if the PlaneNode is shown.
*/ 2 4 this 3 3955 9 viz_scale 1 3602
1150 0 0 6 1146 3602 0 0 113 /**
* Returns the size of the visual representation of the plane that is drawn if
* the PlaneNode is shown.
*/ 1 4 this 3 3956
1151 0 0 4 1147 3813 0 0 454 /**
* Changes the relative importance of this PlaneNode (when it is used as a
* clip plane) relative to the other clip planes that are applied
* simultaneously.
*
* The priority number is used to decide which of the requested clip planes
* are to be activated when more clip planes are requested than the hardware
* will support. The highest-priority n planes are selected for rendering.
*
* This is similar to TextureStage::set_priority().
*/ 2 4 this 3 3955 8 priority 1 3597
1152 0 0 6 1148 3597 0 0 85 /**
* Returns the priority associated with this clip plane. See set_priority().
*/ 1 4 this 3 3956
1153 0 0 4 1150 3813 0 0 436 /**
* Specifies the sort of things this plane will actually clip (when it is used
* as a clip plane). This is a bitmask union of ClipEffect values. If it
* includes CE_visible, then it will clip visible geometry; if it includes
* CE_collision, then it will clip collision polygons. If it includes neither
* bit, it will still affect culling, but objects will either be wholly behind
* the clipping plane, or wholly present.
*/ 2 4 this 3 3955 11 clip_effect 1 3597
1154 0 0 6 1151 3597 0 0 84 /**
* Returns the clip_effect bits for this clip plane. See set_clip_effect().
*/ 1 4 this 3 3956
1155 0 0 7 1152 3817 0 0 0 0
1156 0 0 7 1156 3611 0 0 75 // The following is the new, more general interface to the ClipPlaneAttrib. 0
1157 0 0 7 1156 3611 0 0 209 /**
* Constructs a new ClipPlaneAttrib object that enables (or disables,
* according to op) the indicated plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/ 2 2 op 1 3680 5 plane 1 3955
1158 0 0 7 1156 3611 0 0 204 /**
* Constructs a new ClipPlaneAttrib object that turns on (or off, according to
* op) the indicate plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/ 3 2 op 1 3680 6 plane1 1 3955 6 plane2 1 3955
1159 0 0 7 1156 3611 0 0 204 /**
* Constructs a new ClipPlaneAttrib object that turns on (or off, according to
* op) the indicate plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/ 4 2 op 1 3680 6 plane1 1 3955 6 plane2 1 3955 6 plane3 1 3955
1160 0 0 7 1156 3611 0 0 204 /**
* Constructs a new ClipPlaneAttrib object that turns on (or off, according to
* op) the indicate plane(s).
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/ 5 2 op 1 3680 6 plane1 1 3955 6 plane2 1 3955 6 plane3 1 3955 6 plane4 1 3955
1161 0 0 7 1157 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1162 0 0 6 1158 3680 0 0 529 /**
* Returns the basic operation type of the ClipPlaneAttrib. If this is O_set,
* the planes listed here completely replace any planes that were already on.
* If this is O_add, the planes here are added to the set of planes that
* were already on, and if O_remove, the planes here are removed from the set
* of planes that were on.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/ 1 4 this 3 3958
1163 0 0 6 1159 3597 0 0 251 /**
* Returns the number of planes listed in the attribute.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/ 1 4 this 3 3958
1164 0 0 7 1160 3955 2848 0 244 /**
* Returns the nth plane listed in the attribute.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/ 2 4 this 3 3958 1 n 1 3597
1165 0 0 6 1161 3604 0 0 278 /**
* Returns true if the indicated plane is listed in the attrib, false
* otherwise.
*
* This method is now deprecated. ClipPlaneAttribs nowadays have a separate
* list of on_planes and off_planes, so this method doesn't make sense. Query
* the lists independently.
*/ 2 4 this 3 3958 5 plane 1 3955
1166 0 0 7 1162 3611 0 0 210 /**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane added to the list of planes.
*
* This method is now deprecated. Use add_on_plane() or add_off_plane()
* instead.
*/ 2 4 this 3 3958 5 plane 1 3955
1167 0 0 7 1163 3611 0 0 220 /**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane removed from the list of planes.
*
* This method is now deprecated. Use remove_on_plane() or remove_off_plane()
* instead.
*/ 2 4 this 3 3958 5 plane 1 3955
1168 0 0 7 1164 3611 0 0 109 /**
* Constructs a new ClipPlaneAttrib object that disables all planes (and hence
* disables clipping).
*/ 0
1169 0 0 6 1165 3597 0 0 74 /**
* Returns the number of planes that are enabled by the attribute.
*/ 1 4 this 3 3958
1170 0 0 7 1166 3885 2700 0 82 /**
* Returns the nth plane enabled by the attribute, sorted in render order.
*/ 2 4 this 3 3958 1 n 1 3597
1171 0 0 6 1168 3604 0 0 92 /**
* Returns true if the indicated plane is enabled by the attrib, false
* otherwise.
*/ 2 4 this 3 3958 5 plane 1 3889
1172 0 0 6 1169 3597 0 0 75 /**
* Returns the number of planes that are disabled by the attribute.
*/ 1 4 this 3 3958
1173 0 0 7 1170 3885 2700 0 99 /**
* Returns the nth plane disabled by the attribute, sorted in arbitrary
* (pointer) order.
*/ 2 4 this 3 3958 1 n 1 3597
1174 0 0 6 1172 3604 0 0 93 /**
* Returns true if the indicated plane is disabled by the attrib, false
* otherwise.
*/ 2 4 this 3 3958 5 plane 1 3889
1175 0 0 6 1173 3604 0 0 97 /**
* Returns true if this attrib disables all planes (although it may also
* enable some).
*/ 1 4 this 3 3958
1176 0 0 6 1174 3604 0 0 102 /**
* Returns true if this is an identity attrib: it does not change the set of
* planes in use.
*/ 1 4 this 3 3958
1177 0 0 7 1175 3611 0 0 145 /**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane added to the list of planes enabled by this attrib.
*/ 2 4 this 3 3958 5 plane 1 3889
1178 0 0 7 1176 3611 0 0 149 /**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane removed from the list of planes enabled by this attrib.
*/ 2 4 this 3 3958 5 plane 1 3889
1179 0 0 7 1177 3611 0 0 146 /**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane added to the list of planes disabled by this attrib.
*/ 2 4 this 3 3958 5 plane 1 3889
1180 0 0 7 1178 3611 0 0 150 /**
* Returns a new ClipPlaneAttrib, just like this one, but with the indicated
* plane removed from the list of planes disabled by this attrib.
*/ 2 4 this 3 3958 5 plane 1 3889
1181 0 0 7 1179 3958 0 0 216 /**
* Returns a new ClipPlaneAttrib, very much like this one, but with the number
* of on_planes reduced to be no more than max_clip_planes. The number of
* off_planes in the new ClipPlaneAttrib is undefined.
*/ 2 4 this 3 3958 15 max_clip_planes 1 3597
1182 0 0 6 1180 3597 0 0 0 0
1183 0 0 7 1182 3817 0 0 0 0
1184 0 0 7 1186 3611 0 0 127 /**
* Constructs a new ColorAttrib object that indicates geometry should be
* rendered according to its own vertex color.
*/ 0
1185 0 0 7 1187 3611 0 0 116 /**
* Constructs a new ColorAttrib object that indicates geometry should be
* rendered in the indicated color.
*/ 1 5 color 1 3821
1186 0 0 7 1188 3611 0 0 102 /**
* Constructs a new ColorAttrib object that indicates geometry should be
* rendered in white.
*/ 0
1187 0 0 7 1189 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1188 0 0 6 1190 3682 0 0 313 /**
* Returns the type of color specified by this ColorAttrib. The options are:
*
* T_vertex - use the vertex color specified in the geometry itself.
*
* T_flat - use the color specified in this ColorAttrib for all geometry. You
* can get this color via get_color().
*
* T_off - use the color white.
*/ 1 4 this 3 3960
1189 0 0 6 1191 3821 0 0 149 /**
* If the type is T_flat or T_off, this returns the color that will be applied
* to geometry. If the type is T_vertex, this is meaningless.
*/ 1 4 this 3 3960
1190 0 0 6 1194 3597 0 0 0 0
1191 0 0 7 1196 3817 0 0 0 0
1192 0 0 7 1201 3611 0 0 142 /**
* Constructs a new ColorBlendAttrib object that disables special-effect
* blending, allowing normal transparency to be used instead.
*/ 0
1193 0 0 7 1202 3611 0 0 154 /**
* Constructs a new ColorBlendAttrib object. This constructor is deprecated;
* use the one below, which takes three or four parameters, instead.
*/ 1 4 mode 1 3684
1194 0 0 7 1202 3611 0 0 217 /**
* Constructs a new ColorBlendAttrib object that enables special-effect
* blending. This supercedes transparency. This form is used to specify
* separate blending parameters for the RGB and alpha channels.
*/ 7 8 rgb_mode 1 3684 5 rgb_a 1 3685 5 rgb_b 1 3685 10 alpha_mode 1 3684 7 alpha_a 1 3685 7 alpha_b 1 3685 5 color 1 3821
1195 0 0 7 1202 3611 0 0 201 /**
* Constructs a new ColorBlendAttrib object that enables special-effect
* blending. This supercedes transparency. The given mode and operands are
* used for both the RGB and alpha channels.
*/ 4 4 mode 1 3684 1 a 1 3685 1 b 1 3685 5 color 1 3821
1196 0 0 7 1203 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1197 0 0 6 1204 3684 0 0 58 /**
* Returns the blending mode for the RGB channels.
*/ 1 4 this 3 3962
1198 0 0 6 1205 3685 0 0 62 /**
* Returns the RGB multiplier for the first component.
*/ 1 4 this 3 3962
1199 0 0 6 1206 3685 0 0 63 /**
* Returns the RGB multiplier for the second component.
*/ 1 4 this 3 3962
1200 0 0 6 1207 3684 0 0 59 /**
* Returns the blending mode for the alpha channel.
*/ 1 4 this 3 3962
1201 0 0 6 1208 3685 0 0 64 /**
* Returns the alpha multiplier for the first component.
*/ 1 4 this 3 3962
1202 0 0 6 1209 3685 0 0 65 /**
* Returns the alpha multiplier for the second component.
*/ 1 4 this 3 3962
1203 0 0 7 1210 3900 0 0 65 /**
* Returns the constant color associated with the attrib.
*/ 1 4 this 3 3962
1204 0 0 6 1211 3604 0 0 84 /**
* Returns true if the this attrib uses the constant color, false otherwise.
*/ 1 4 this 3 3962
1205 0 0 6 1211 3604 0 0 93 /**
* Returns true if the indicated operand uses the constant color, false
* otherwise.
*/ 1 7 operand 1 3685
1206 0 0 6 1212 3604 0 0 91 /**
* Returns true if the this attrib uses the color scale attrib, false
* otherwise.
*/ 1 4 this 3 3962
1207 0 0 6 1212 3604 0 0 97 /**
* Returns true if the indicated operand uses the color scale attrib, false
* otherwise.
*/ 1 7 operand 1 3685
1208 0 0 6 1220 3597 0 0 0 0
1209 0 0 7 1222 3817 0 0 0 0
1210 0 0 7 1225 3611 0 0 47 /**
* Constructs an identity scale attrib.
*/ 0
1211 0 0 7 1226 3611 0 0 120 /**
* Constructs a new ColorScaleAttrib object that indicates geometry should be
* scaled by the indicated factor.
*/ 1 5 scale 1 3881
1212 0 0 7 1227 3611 0 0 209 /**
* Constructs a new ColorScaleAttrib object that ignores any ColorScaleAttrib
* inherited from above. You may also specify an additional color scale to
* apply to geometry below (using set_scale()).
*/ 0
1213 0 0 7 1228 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1214 0 0 6 1229 3604 0 0 255 /**
* Returns true if the ColorScaleAttrib will ignore any color scales inherited
* from above, false otherwise. This is not the same thing as !has_scale(); a
* ColorScaleAttrib may have the "off" flag set and also have another scale
* specified.
*/ 1 4 this 3 3964
1215 0 0 6 1230 3604 0 0 128 /**
* Returns true if the ColorScaleAttrib is an identity attrib, false if it is
* either an off attrib or it has a scale.
*/ 1 4 this 3 3964
1216 0 0 6 1231 3604 0 0 157 /**
* Returns true if the ColorScaleAttrib has a non-identity scale, false
* otherwise (in which case it might be an off attrib or an identity attrib).
*/ 1 4 this 3 3964
1217 0 0 6 1232 3604 0 0 135 /**
* Returns true if the ColorScaleAttrib has a non-identity scale in the RGB
* components (ignoring alpha), or false otherwise.
*/ 1 4 this 3 3964
1218 0 0 6 1233 3604 0 0 134 /**
* Returns true if the ColorScaleAttrib has a non-identity scale in the alpha
* component (ignoring RGB), or false otherwise.
*/ 1 4 this 3 3964
1219 0 0 6 1234 3881 0 0 53 /**
* Returns the scale to be applied to colors.
*/ 1 4 this 3 3964
1220 0 0 7 1235 3611 0 0 116 /**
* Returns a new ColorScaleAttrib, just like this one, but with the scale
* changed to the indicated value.
*/ 2 4 this 3 3964 5 scale 1 3881
1221 0 0 6 1239 3597 0 0 0 0
1222 0 0 7 1241 3817 0 0 0 0
1223 0 0 7 1245 3611 0 0 52 /**
* Constructs a new ColorWriteAttrib object.
*/ 1 8 channels 1 3691
1224 0 0 7 1246 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1225 0 0 6 1247 3691 0 0 78 /**
* Returns the mask of color channels that are enabled by this attrib.
*/ 1 4 this 3 3966
1226 0 0 6 1250 3597 0 0 0 0
1227 0 0 7 1252 3817 0 0 0 0
1228 0 0 7 1256 3838 0 0 354 /**
* Constructs a new CompassEffect object. If the reference is an empty
* NodePath, it means the CompassEffect is relative to the root of the scene
* graph; otherwise, it's relative to the indicated node. The properties
* bitmask specifies the set of properties that the compass node inherits from
* the reference instead of from its parent.
*/ 2 9 reference 1 3889 10 properties 1 3597
1229 0 0 6 1257 3889 0 0 150 /**
* Returns the reference node from which the CompassEffect inherits its
* transform. If this is empty, it means the root of the scene graph.
*/ 1 4 this 3 3968
1230 0 0 6 1258 3597 0 0 131 /**
* Returns the bitmask of properties that this CompassEffect object inherits
* from its reference node (or from the root).
*/ 1 4 this 3 3968
1231 0 0 7 1259 3817 0 0 0 0
1232 0 0 7 1263 3970 2924 0 0 0
1233 0 0 7 1263 3970 2924 0 0 1 6 param0 0 3971
1234 0 0 7 1266 3973 2126 0 10 /**
*
*/ 1 4 name 1 3842
1235 0 0 4 1267 3813 0 0 123 /**
* Sets the "preserved" flag. When this is true, the GeomNode will be left
* untouched by any flatten operations.
*/ 2 4 this 3 3973 5 value 1 3604
1236 0 0 6 1268 3604 0 0 126 /**
* Returns the "preserved" flag. When this is true, the GeomNode will be left
* untouched by any flatten operations.
*/ 1 4 this 3 3974
1237 0 0 6 1269 3597 0 0 51 /**
* Returns the number of geoms in the node.
*/ 1 4 this 3 3974
1238 0 0 7 1270 3978 0 0 186 /**
* Returns the nth geom of the node. This object should not be modified,
* since the same object might be shared between multiple different GeomNodes,
* but see modify_geom().
*/ 2 4 this 3 3974 1 n 1 3597
1239 0 0 7 1272 3979 0 0 641 /**
* Returns the nth geom of the node, suitable for modifying it. If the nth
* Geom has multiple reference counts to it, reassigns it to an identical copy
* first, and returns the new copy--this provides a "copy on write" that
* ensures that the Geom that is returned is unique to this GeomNode and is
* not shared with any other GeomNodes.
*
* Note that if this method is called in a downstream stage (for instance,
* during cull or draw), then it will propagate the new list of Geoms upstream
* all the way to pipeline stage 0, which may step on changes that were made
* independently in pipeline stage 0. Use with caution.
*/ 2 4 this 3 3973 1 n 1 3597
1240 0 0 7 1274 3826 0 0 296 /**
* Returns the RenderState associated with the nth geom of the node. This is
* just the RenderState directly associated with the Geom; the actual state in
* which the Geom is rendered will also be affected by RenderStates that
* appear on the scene graph in nodes above this GeomNode.
*/ 2 4 this 3 3974 1 n 1 3597
1241 0 0 4 1276 3813 0 0 586 /**
* Changes the RenderState associated with the nth geom of the node. This is
* just the RenderState directly associated with the Geom; the actual state in
* which the Geom is rendered will also be affected by RenderStates that
* appear on the scene graph in nodes above this GeomNode.
*
* Note that if this method is called in a downstream stage (for instance,
* during cull or draw), then it will propagate the new list of Geoms upstream
* all the way to pipeline stage 0, which may step on changes that were made
* independently in pipeline stage 0. Use with caution.
*/ 3 4 this 3 3973 1 n 1 3597 5 state 1 3826
1242 0 0 4 1277 3813 0 0 180 /**
* Adds a new Geom to the node. The geom is given the indicated state (which
* may be RenderState::make_empty(), to completely inherit its state from the
* scene graph).
*/ 3 4 this 3 3973 4 geom 1 3979 5 state 1 3826
1243 0 0 4 1278 3813 0 0 109 /**
* Copies the Geoms (and their associated RenderStates) from the indicated
* GeomNode into this one.
*/ 2 4 this 3 3973 5 other 1 3974
1244 0 0 4 1279 3813 0 0 401 /**
* Replaces the nth Geom of the node with a new pointer. There must already
* be a Geom in this slot.
*
* Note that if this method is called in a downstream stage (for instance,
* during cull or draw), then it will propagate the new list of Geoms upstream
* all the way to pipeline stage 0, which may step on changes that were made
* independently in pipeline stage 0. Use with caution.
*/ 3 4 this 3 3973 1 n 1 3597 4 geom 1 3979
1245 0 0 4 1280 3813 0 0 46 /**
* Removes the nth geom from the node.
*/ 2 4 this 3 3973 1 n 1 3597
1246 0 0 4 1281 3813 0 0 55 /**
* Removes all the geoms from the node at once.
*/ 1 4 this 3 3973
1247 0 0 6 1282 3604 0 0 198 /**
* Verifies that the each Geom within the GeomNode reference vertices that
* actually exist within its GeomVertexData. Returns true if the GeomNode
* appears to be valid, false otherwise.
*/ 1 4 this 3 3974
1248 0 0 4 1283 3813 0 0 431 /**
* Calls decompose() on each Geom with the GeomNode. This decomposes higher-
* order primitive types, like triangle strips, into lower-order types like
* indexed triangles. Normally there is no reason to do this, but it can be
* useful as an early preprocessing step, to allow a later call to unify() to
* proceed more quickly.
*
* See also SceneGraphReducer::decompose(), which is the normal way this is
* called.
*/ 1 4 this 3 3973
1249 0 0 4 1284 3813 0 0 901 /**
* Attempts to unify all of the Geoms contained within this node into a single
* Geom, or at least as few Geoms as possible. In turn, the individual
* GeomPrimitives contained within each resulting Geom are also unified. The
* goal is to reduce the number of GeomPrimitives within the node as far as
* possible. This may result in composite primitives, such as triangle strips
* and triangle fans, being decomposed into triangles. See also
* Geom::unify().
*
* max_indices represents the maximum number of indices that will be put in
* any one GeomPrimitive. If preserve_order is true, then the primitives will
* not be reordered during the operation, even if this results in a suboptimal
* result.
*
* In order for this to be successful, the primitives must reference the same
* GeomVertexData, have the same fundamental primitive type, and have
* compatible shade models.
*/ 3 4 this 3 3973 11 max_indices 1 3597 14 preserve_order 1 3604
1250 0 0 4 1285 3813 0 0 67 /**
* Writes a short description of all the Geoms in the node.
*/ 3 4 this 3 3974 3 out 1 3814 12 indent_level 1 3597
1251 0 0 4 1286 3813 0 0 70 /**
* Writes a detailed description of all the Geoms in the node.
*/ 3 4 this 3 3974 3 out 1 3814 12 indent_level 1 3597
1252 0 0 7 1287 3851 0 0 75 /**
* Returns the default into_collide_mask assigned to new GeomNodes.
*/ 0
1253 0 0 7 1289 3817 0 0 0 0
1254 0 0 7 1291 3611 0 0 297 /**
* Constructs a new CullBinAttrib assigning geometry into the named bin. If
* the bin name is the empty string, the default bin is used.
*
* The draw_order specifies further ordering information which is relevant
* only to certain kinds of bins (in particular CullBinFixed type bins).
*/ 2 8 bin_name 1 3842 10 draw_order 1 3597
1255 0 0 7 1292 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1256 0 0 6 1293 3842 0 0 127 /**
* Returns the name of the bin this attribute specifies. If this is the empty
* string, it refers to the default bin.
*/ 1 4 this 3 3980
1257 0 0 6 1294 3597 0 0 186 /**
* Returns the draw order this attribute specifies. Some bins (in particular,
* CullBinFixed bins) use this to further specify the order in which objects
* should be rendered.
*/ 1 4 this 3 3980
1258 0 0 6 1297 3597 0 0 0 0
1259 0 0 7 1299 3817 0 0 0 0
1260 0 0 6 1302 3597 0 0 232 /**
* Defines a new bin with the indicated name, and returns the new bin_index.
* If there is already a bin with the same name returns its bin_index if it
* had the same properties; otherwise, reports an error and returns -1.
*/ 4 4 this 3 3982 4 name 1 3842 4 type 1 3983 4 sort 1 3597
1261 0 0 4 1303 3813 0 0 357 /**
* Permanently removes the indicated bin. This operation is not protected
* from the pipeline and will disturb whatever is currently rendering in draw.
* You should not call this during the normal course of rendering a frame; it
* is intended only as an aid to development, to allow the developer to
* interactively fiddle with the set of bins.
*/ 2 4 this 3 3982 9 bin_index 1 3597
1262 0 0 6 1304 3597 0 0 51 /**
* Returns the number of bins in the world.
*/ 1 4 this 3 3984
1263 0 0 6 1305 3597 0 0 240 /**
* Returns the bin_index of the nth bin in the set, where n is a number
* between 0 and get_num_bins(). This returns the list of bin_index numbers,
* in sorted order (that is, in the order in which the bins should be
* rendered).
*/ 2 4 this 3 3984 1 n 1 3597
1264 0 0 6 1307 3597 0 0 109 /**
* Returns the bin_index associated with the bin of the given name, or -1 if
* no bin has that name.
*/ 2 4 this 3 3984 4 name 1 3842
1265 0 0 6 1308 3842 0 0 196 /**
* Returns the name of the bin with the indicated bin_index (where bin_index
* was retrieved by get_bin() or find_bin()). The bin's name may not be
* changed during the life of the bin.
*/ 2 4 this 3 3984 9 bin_index 1 3597
1266 0 0 6 1309 3983 0 0 130 /**
* Returns the type of the bin with the indicated bin_index (where bin_index
* was retrieved by get_bin() or find_bin()).
*/ 2 4 this 3 3984 9 bin_index 1 3597
1267 0 0 6 1309 3983 0 0 63 /**
* Returns the type of the bin with the indicated name.
*/ 2 4 this 3 3984 4 name 1 3842
1268 0 0 4 1310 3813 0 0 244 /**
* Changes the type of the bin with the indicated bin_index (where bin_index
* was retrieved by get_bin() or find_bin()).
*
* The change might be effective immediately, or it might take place next
* frame, depending on the bin type.
*/ 3 4 this 3 3982 9 bin_index 1 3597 4 type 1 3983
1269 0 0 4 1310 3813 0 0 177 /**
* Changes the type of the bin with the indicated name.
*
* The change might be effective immediately, or it might take place next
* frame, depending on the bin type.
*/ 3 4 this 3 3982 4 name 1 3842 4 type 1 3983
1270 0 0 6 1311 3597 0 0 274 /**
* Returns the sort order of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/ 2 4 this 3 3984 9 bin_index 1 3597
1271 0 0 6 1311 3597 0 0 207 /**
* Returns the sort order of the bin with the indicated name.
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/ 2 4 this 3 3984 4 name 1 3842
1272 0 0 4 1312 3813 0 0 274 /**
* Changes the sort order of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/ 3 4 this 3 3982 9 bin_index 1 3597 4 sort 1 3597
1273 0 0 4 1312 3813 0 0 207 /**
* Changes the sort order of the bin with the indicated name.
*
* The bins are rendered in increasing order by their sort order; this number
* may be changed from time to time to reorder the bins.
*/ 3 4 this 3 3982 4 name 1 3842 4 sort 1 3597
1274 0 0 6 1313 3604 0 0 219 /**
* Returns the active flag of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/ 2 4 this 3 3984 9 bin_index 1 3597
1275 0 0 6 1313 3604 0 0 152 /**
* Returns the active flag of the bin with the indicated name.
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/ 2 4 this 3 3984 4 name 1 3842
1276 0 0 4 1314 3813 0 0 219 /**
* Changes the active flag of the bin with the indicated bin_index (where
* bin_index was retrieved by get_bin() or find_bin()).
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/ 3 4 this 3 3982 9 bin_index 1 3597 6 active 1 3604
1277 0 0 4 1314 3813 0 0 152 /**
* Changes the active flag of the bin with the indicated name.
*
* When a bin is marked inactive, all geometry assigned to it is not rendered.
*/ 3 4 this 3 3982 4 name 1 3842 6 active 1 3604
1278 0 0 6 1315 3604 0 0 227 /**
* Returns true if the bin with the given bin_index is configured to flash at
* a predetermined color (where bin_index was retrieved by get_bin() or
* find_bin()).
*
* This method is not available in release builds.
*/ 2 4 this 3 3984 9 bin_index 1 3597
1279 0 0 6 1316 3821 0 0 147 /**
* Returns the color that this bin has been configured to flash to, if
* configured.
*
* This method is not available in release builds.
*/ 2 4 this 3 3984 9 bin_index 1 3597
1280 0 0 4 1317 3813 0 0 216 /**
* When set to true, the given bin_index is configured to flash at a
* predetermined color (where bin_index was retrieved by get_bin() or
* find_bin()).
*
* This method is not available in release builds.
*/ 3 4 this 3 3982 9 bin_index 1 3597 6 active 1 3604
1281 0 0 4 1318 3813 0 0 113 /**
* Changes the flash color for the given bin index.
*
* This method is not available in release builds.
*/ 3 4 this 3 3982 9 bin_index 1 3597 5 color 1 3821
1282 0 0 4 1319 3813 0 0 10 /**
*
*/ 2 4 this 3 3984 3 out 1 3814
1283 0 0 6 1320 3982 0 0 67 /**
* Returns the pointer to the global CullBinManager object.
*/ 0
1284 0 0 7 1323 3611 0 0 400 /**
* Constructs a new CullFaceAttrib object that specifies how to cull geometry.
* By Panda convention, vertices are ordered counterclockwise when seen from
* the front, so the M_cull_clockwise will cull backfacing polygons.
*
* M_cull_unchanged is an identity attrib; if this is applied to vertices
* without any other intervening attrib, it is the same as applying the
* default attrib.
*/ 1 4 mode 1 3700
1285 0 0 7 1324 3611 0 0 246 /**
* Constructs a new CullFaceAttrib object that reverses the effects of any
* other CullFaceAttrib objects in the scene graph. M_cull_clockwise will be
* treated as M_cull_counter_clockwise, and vice-versa. M_cull_none is
* unchanged.
*/ 0
1286 0 0 7 1325 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1287 0 0 6 1326 3700 0 0 131 /**
* Returns the actual culling mode, without considering the effects of the
* reverse flag. See also get_effective_mode().
*/ 1 4 this 3 3986
1288 0 0 6 1327 3604 0 0 299 /**
* Returns the 'reverse' flag. If this is true, the actual cull direction
* (clockwise vs. counterclockwise) is the reverse of what is specified here.
* This allows support for make_reverse(), which defines a CullFaceAttrib that
* reverses whatever the sense of culling would have been.
*/ 1 4 this 3 3986
1289 0 0 6 1328 3700 0 0 220 /**
* Returns the effective culling mode. This is the same as the actual culling
* mode, unless the reverse flag is set, which swaps CW for CCW and vice-
* versa. Also, M_cull_unchanged is mapped to M_cull_none.
*/ 1 4 this 3 3986
1290 0 0 6 1332 3597 0 0 0 0
1291 0 0 7 1334 3817 0 0 0 0
1292 0 0 7 1353 3988 2992 0 0 1 6 param0 0 3832
1293 0 0 7 1343 3652 2126 0 48 /**
* Returns the node traversed to so far.
*/ 1 4 this 3 3832
1294 0 0 7 1344 3795 0 0 99 /**
* Returns the modelview transform: the relative transform from the camera to
* the model.
*/ 2 4 this 3 3832 4 trav 1 3989
1295 0 0 7 1345 3795 0 0 110 /**
* Returns the internal transform: the modelview transform in the GSG's
* internal coordinate system.
*/ 2 4 this 3 3832 4 trav 1 3989
1296 0 0 7 1346 3795 0 0 113 /**
* Returns the net transform: the relative transform from root of the scene
* graph to the current node.
*/ 2 4 this 3 3832 4 trav 1 3989
1297 0 0 6 1347 3604 0 0 252 /**
* Returns true if the current node is within the view frustum, false
* otherwise. If the node's bounding volume falls completely within the view
* frustum, this will also reset the view frustum pointer, saving some work
* for future nodes.
*/ 2 4 this 3 3988 11 camera_mask 1 3991
1298 0 0 6 1348 3604 0 0 234 /**
* Returns true if this particular node is hidden, even though we might be
* traversing past this node to find a child node that has had show_through()
* called for it. If this returns true, the node should not be rendered.
*/ 2 4 this 3 3832 11 camera_mask 1 3991
1299 0 0 4 1349 3813 0 0 128 /**
* Applies the transform and state from the current node onto the current
* data. This also evaluates billboards, etc.
*/ 2 4 this 3 3988 4 trav 1 3831
1300 0 0 4 1350 3813 0 0 73 /**
* Applies the indicated transform changes onto the current data.
*/ 2 4 this 3 3988 14 node_transform 1 3795
1301 0 0 7 1386 3995 3024 0 0 1 6 param0 0 3993
1302 0 0 4 1356 3813 0 0 54 /**
* Specifies the display region for the scene.
*/ 2 4 this 3 3995 14 display_region 1 3672
1303 0 0 6 1357 3672 0 0 52 /**
* Returns the display region for the scene.
*/ 1 4 this 3 3993
1304 0 0 4 1358 3813 0 0 74 /**
* Specifies the size of the viewport (display region), in pixels.
*/ 3 4 this 3 3995 5 width 1 3597 6 height 1 3597
1305 0 0 6 1359 3597 0 0 72 /**
* Returns the width of the viewport (display region) in pixels.
*/ 1 4 this 3 3993
1306 0 0 6 1360 3597 0 0 73 /**
* Returns the height of the viewport (display region) in pixels.
*/ 1 4 this 3 3993
1307 0 0 4 1361 3813 0 0 48 /**
* Specifies the root node of the scene.
*/ 2 4 this 3 3995 10 scene_root 1 3889
1308 0 0 6 1362 3889 0 0 46 /**
* Returns the root node of the scene.
*/ 1 4 this 3 3993
1309 0 0 4 1363 3813 0 0 48 /**
* Specifies the NodePath to the camera.
*/ 2 4 this 3 3995 11 camera_path 1 3889
1310 0 0 6 1364 3889 0 0 46 /**
* Returns the NodePath to the camera.
*/ 1 4 this 3 3993
1311 0 0 4 1365 3813 0 0 57 /**
* Specifies the camera used to render the scene.
*/ 2 4 this 3 3995 11 camera_node 1 3950
1312 0 0 7 1366 3950 2787 0 55 /**
* Returns the camera used to render the scene.
*/ 1 4 this 3 3993
1313 0 0 4 1367 3813 0 0 60 /**
* Indicates the particular Lens used for rendering.
*/ 2 4 this 3 3995 4 lens 1 3943
1314 0 0 7 1368 3943 0 0 58 /**
* Returns the particular Lens used for rendering.
*/ 1 4 this 3 3993
1315 0 0 4 1369 3813 0 0 220 /**
* Changes the current setting of the inverted flag. When this is true, the
* scene is rendered into the window upside-down and backwards, that is,
* inverted as if viewed through a mirror placed on the floor.
*/ 2 4 this 3 3995 8 inverted 1 3604
1316 0 0 6 1370 3604 0 0 177 /**
* Returns the current setting of the inverted flag. When this is true, the
* scene is rendered into the window upside-down, flipped like a mirror along
* the X axis.
*/ 1 4 this 3 3993
1317 0 0 6 1371 3889 0 0 207 /**
* Returns the point from which the culling operations will be performed.
* This is normally the camera, but if camera->set_cull_center() has been
* specified, it will be that special node instead.
*/ 1 4 this 3 3993
1318 0 0 7 1372 3674 0 0 246 /**
* Returns the bounding volume that should be used to perform view-frustum
* culling (in the space of get_cull_center()). This is normally the current
* lens' bounding volume, but it may be overridden with
* Camera::set_cull_bounds().
*/ 1 4 this 3 3993
1319 0 0 4 1373 3813 0 0 119 /**
* Returns the camera's cull bounds transformed to world space, or null if
* view frustum culling is disabled.
*/ 2 4 this 3 3995 12 view_frustum 1 3996
1320 0 0 7 1374 3996 0 0 86 /**
* Returns the initial state as set by a previous call to set_initial_state().
*/ 1 4 this 3 3993
1321 0 0 4 1375 3813 0 0 129 /**
* Sets the initial state which is applied to all nodes in the scene, as if it
* were set at the top of the scene graph.
*/ 2 4 this 3 3995 13 initial_state 1 3826
1322 0 0 7 1376 3826 0 0 86 /**
* Returns the initial state as set by a previous call to set_initial_state().
*/ 1 4 this 3 3993
1323 0 0 4 1377 3813 0 0 78 /**
* Specifies the position of the camera relative to the starting node.
*/ 2 4 this 3 3995 16 camera_transform 1 3795
1324 0 0 7 1378 3795 0 0 76 /**
* Returns the position of the camera relative to the starting node.
*/ 1 4 this 3 3993
1325 0 0 4 1379 3813 0 0 127 /**
* Specifies the position of the starting node relative to the camera. This
* is the inverse of the camera transform.
*/ 2 4 this 3 3995 15 world_transform 1 3795
1326 0 0 7 1380 3795 0 0 125 /**
* Returns the position of the starting node relative to the camera. This is
* the inverse of the camera transform.
*/ 1 4 this 3 3993
1327 0 0 4 1381 3813 0 0 114 /**
* Specifies the transform from the camera's coordinate system to the GSG's
* internal coordinate system.
*/ 2 4 this 3 3995 12 cs_transform 1 3795
1328 0 0 7 1382 3795 0 0 112 /**
* Returns the transform from the camera's coordinate system to the GSG's
* internal coordinate system.
*/ 1 4 this 3 3993
1329 0 0 4 1383 3813 0 0 124 /**
* Specifies the position from the starting node relative to the camera, in
* the GSG's internal coordinate system.
*/ 2 4 this 3 3995 18 cs_world_transform 1 3795
1330 0 0 7 1384 3795 0 0 122 /**
* Returns the position from the starting node relative to the camera, in the
* GSG's internal coordinate system.
*/ 1 4 this 3 3993
1331 0 0 7 1385 3817 0 0 0 0
1332 0 0 7 1389 3707 2126 0 10 /**
*
*/ 1 4 name 1 3842
1333 0 0 6 1391 3705 0 0 10 /**
*
*/ 1 4 this 3 3998
1334 0 0 4 1392 3813 0 0 586 /**
* Specifies the computation that is used to determine the fog effect. If
* this is M_linear, then the fog will range from linearly from the onset
* point to the opaque point (or for the distances specified in
* set_linear_range), and the fog object should be parented into the scene
* graph, or to the camera.
*
* If this is anything else, the onset point and opaque point are not used,
* and the fog effect is based on the value specified to set_exp_density(),
* and it doesn't matter to which node the fog object is parented, or if it is
* parented anywhere at all.
*/ 2 4 this 3 3707 4 mode 1 3705
1335 0 0 6 1394 3821 0 0 40 /**
* Returns the color of the fog.
*/ 1 4 this 3 3998
1336 0 0 4 1395 3813 0 0 71 /**
* Sets the color of the fog. The alpha component is not used.
*/ 2 4 this 3 3707 5 color 1 3821
1337 0 0 4 1395 3813 0 0 37 /**
* Sets the color of the fog.
*/ 4 4 this 3 3707 1 r 1 3602 1 g 1 3602 1 b 1 3602
1338 0 0 4 1397 3813 0 0 400 /**
* Specifies the effects of the fog in linear distance units. This is only
* used if the mode is M_linear.
*
* This specifies a fog that begins at distance onset units from the origin,
* and becomes totally opaque at distance opaque units from the origin, along
* the forward axis (usually Y).
*
* This function also implicitly sets the mode the M_linear, if it is not
* already set.
*/ 3 4 this 3 3707 5 onset 1 3602 6 opaque 1 3602
1339 0 0 6 1398 3810 0 0 109 /**
* Returns the point in space at which the fog begins. This is only used if
* the mode is M_linear.
*/ 1 4 this 3 3998
1340 0 0 4 1399 3813 0 0 111 /**
* Specifies the point in space at which the fog begins. This is only used if
* the mode is M_linear.
*/ 2 4 this 3 3707 18 linear_onset_point 1 3810
1341 0 0 4 1399 3813 0 0 111 /**
* Specifies the point in space at which the fog begins. This is only used if
* the mode is M_linear.
*/ 4 4 this 3 3707 1 x 1 3602 1 y 1 3602 1 z 1 3602
1342 0 0 6 1401 3810 0 0 130 /**
* Returns the point in space at which the fog completely obscures geometry.
* This is only used if the mode is M_linear.
*/ 1 4 this 3 3998
1343 0 0 4 1402 3813 0 0 132 /**
* Specifies the point in space at which the fog completely obscures geometry.
* This is only used if the mode is M_linear.
*/ 2 4 this 3 3707 19 linear_opaque_point 1 3810
1344 0 0 4 1402 3813 0 0 132 /**
* Specifies the point in space at which the fog completely obscures geometry.
* This is only used if the mode is M_linear.
*/ 4 4 this 3 3707 1 x 1 3602 1 y 1 3602 1 z 1 3602
1345 0 0 4 1404 3813 0 0 1553 /**
* Fog effects are traditionally defined in camera-relative space, but the
* Panda Fog node has a special mode in which it can define a linear fog
* effect in an arbitrary coordinate space.
*
* This is done by specifying 3-d onset and opaque points, and parenting the
* Fog object somewhere within the scene graph. In this mode, the fog will be
* rendered as if it extended along the vector from the onset point to the
* opaque point, in 3-d space.
*
* However, the underlying fog effect supported by hardware is generally only
* one-dimensional, and must be rendered based on linear distance from the
* camera plane. Thus, this in-the-world effect is most effective when the
* fog vector from onset point to opaque point is most nearly parallel to the
* camera's eye vector.
*
* As the angle between the fog vector and the eye vector increases, the
* accuracy of the effect diminishes, up to a complete breakdown of the effect
* at a 90 degree angle.
*
* This function exists to define the workaround to this problem. The linear
* fallback parameters given here specify how the fog should be rendered when
* the parameters are exceeded in this way.
*
* The angle parameter is the minimum angle, in degrees, of the fog vector to
* the eye vector, at which the fallback effect should be employed. The onset
* and opaque parameters specify the camera-relative onset and opaque
* distances to pass to the rendering hardware when employing the fallback
* effect. This supercedes the 3-d onset point and opaque points.
*/ 4 4 this 3 3707 5 angle 1 3602 5 onset 1 3602 6 opaque 1 3602
1346 0 0 6 1405 3602 0 0 122 /**
* Returns the density of the fog for exponential calculations. This is only
* used if the mode is not M_linear.
*/ 1 4 this 3 3998
1347 0 0 4 1406 3813 0 0 221 /**
* Sets the density of the fog for exponential calculations. This is only
* used if the mode is not M_linear.
*
* If the mode is currently set to M_linear, this function implicitly sets it
* to M_exponential.
*/ 2 4 this 3 3707 11 exp_density 1 3602
1348 0 0 7 1408 3817 0 0 0 0
1349 0 0 7 1410 3611 0 0 103 /**
* Constructs a new FogAttrib object suitable for rendering the indicated fog
* onto geometry.
*/ 1 3 fog 1 3707
1350 0 0 7 1411 3611 0 0 84 /**
* Constructs a new FogAttrib object suitable for rendering unfogd geometry.
*/ 0
1351 0 0 7 1412 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1352 0 0 6 1413 3604 0 0 105 /**
* Returns true if the FogAttrib is an 'off' FogAttrib, indicating that it
* should disable fog.
*/ 1 4 this 3 4000
1353 0 0 7 1414 3707 2126 0 118 /**
* If the FogAttrib is not an 'off' FogAttrib, returns the fog that is
* associated. Otherwise, return NULL.
*/ 1 4 this 3 4000
1354 0 0 6 1417 3597 0 0 0 0
1355 0 0 7 1419 3817 0 0 0 0
1356 0 0 7 1422 3831 3073 0 10 /**
*
*/ 0
1357 0 0 7 1422 3831 3073 0 10 /**
*
*/ 1 4 copy 1 3989
1358 0 0 7 1423 3852 0 0 55 /**
* Returns the GraphicsStateGuardian in effect.
*/ 1 4 this 3 3989
1359 0 0 7 1424 3845 0 0 104 /**
* Returns the currently-executing thread object, as passed to the
* CullTraverser constructor.
*/ 1 4 this 3 3989
1360 0 0 4 1425 3813 0 0 134 /**
* Sets the SceneSetup object that indicates the initial camera position, etc.
* This must be called before traversal begins.
*/ 4 4 this 3 3831 11 scene_setup 1 3995 3 gsg 1 3852 20 dr_incomplete_render 1 3604
1361 0 0 7 1426 3995 3024 0 41 /**
* Returns the SceneSetup object.
*/ 1 4 this 3 3989
1362 0 0 6 1427 3604 0 0 114 /**
* Returns true if a nonempty tag state key has been specified for the scene's
* camera, false otherwise.
*/ 1 4 this 3 3989
1363 0 0 6 1428 3842 0 0 95 /**
* Returns the tag state key that has been specified for the scene's camera,
* if any.
*/ 1 4 this 3 3989
1364 0 0 4 1429 3813 0 0 276 /**
* Changes the visibility mask for the camera viewing the scene. This is
* normally set automatically at the time setup_scene() is called; you should
* change this only if you want to render some set of objects different from
* what the camera normally would draw.
*/ 2 4 this 3 3831 11 camera_mask 1 3991
1365 0 0 6 1430 3991 0 0 73 /**
* Returns the visibility mask from the camera viewing the scene.
*/ 1 4 this 3 3989
1366 0 0 7 1431 3795 0 0 76 /**
* Returns the position of the camera relative to the starting node.
*/ 1 4 this 3 3989
1367 0 0 7 1432 3795 0 0 362 /**
* Returns the position of the starting node relative to the camera. This is
* the inverse of the camera transform.
*
* Note that this value is always the position of the starting node, not the
* current node, even if it is sampled during a traversal. To get the
* transform of the current node use
* CullTraverserData::get_modelview_transform().
*/ 1 4 this 3 3989
1368 0 0 7 1433 3826 0 0 149 /**
* Returns the initial RenderState at the top of the scene graph we are
* traversing, or the empty state if the initial state was never set.
*/ 1 4 this 3 3989
1369 0 0 6 1434 3604 0 0 96 /**
* Returns true, as depth offsets are the only way that we implement decals
* nowadays.
*/ 1 4 this 3 3989
1370 0 0 4 1435 3813 0 0 214 /**
* Specifies the bounding volume that corresponds to the view frustum. Any
* primitives that fall entirely outside of this volume are not drawn.
*
* Nowadays, this gets set automatically by set_scene().
*/ 2 4 this 3 3831 12 view_frustum 1 3996
1371 0 0 7 1436 3996 0 0 423 /**
* Returns the bounding volume that corresponds to the view frustum, or NULL
* if the view frustum is not in use or has not been set.
*
* Note that the view frustum returned here is always in the coordinate space
* of the starting node, not the current node, even if it is sampled during a
* traversal. To get the view frustum in the current node's coordinate space,
* check in the current CullTraverserData.
*/ 1 4 this 3 3989
1372 0 0 4 1437 3813 0 0 115 /**
* Specifies the object that will receive the culled Geoms. This must be set
* before calling traverse().
*/ 2 4 this 3 3831 12 cull_handler 1 4002
1373 0 0 6 1438 4002 0 0 65 /**
* Returns the object that will receive the culled Geoms.
*/ 1 4 this 3 3989
1374 0 0 4 1439 3813 0 0 108 /**
* Specifies _portal_clipper object pointer that subsequent traverse() or
* traverse_below may use.
*/ 2 4 this 3 3831 14 portal_clipper 1 4004
1375 0 0 6 1440 4004 0 0 46 /**
* Returns the _portal_clipper pointer
*/ 1 4 this 3 3989
1376 0 0 6 1441 3604 0 0 341 /**
* Returns true if the cull traversal is effectively in incomplete_render
* state, considering both the GSG's incomplete_render and the current
* DisplayRegion's incomplete_render flags. This returns the flag during the
* cull traversal; see GSG::get_effective_incomplete_render() for this same
* flag during the draw traversal.
*/ 1 4 this 3 3989
1377 0 0 4 1442 3813 0 0 161 /**
* Traverses from the next node with the given data, which has been
* constructed with the node but has not yet been converted into the node's
* space.
*/ 2 4 this 3 3831 4 data 1 3988
1378 0 0 4 1442 3813 0 0 56 /**
* Begins the traversal from the indicated node.
*/ 2 4 this 3 3831 4 root 1 3889
1379 0 0 4 1443 3813 0 0 132 /**
* Traverses all the children of the indicated node, with the given data,
* which has been converted into the node's space.
*/ 2 4 this 3 3831 4 data 1 3988
1380 0 0 4 1444 3813 0 0 141 /**
* Should be called when the traverser has finished traversing its scene, this
* gives it a chance to do any necessary finalization.
*/ 1 4 this 3 3831
1381 0 0 4 1445 3813 0 0 61 /**
* Flushes the PStatCollectors used during traversal.
*/ 0
1382 0 0 4 1446 3813 0 0 79 /**
* Draws an appropriate visualization of the indicated bounding volume.
*/ 3 4 this 3 3989 3 vol 1 3854 18 internal_transform 1 3795
1383 0 0 7 1447 3817 0 0 0 0
1384 0 0 6 1451 4008 0 0 74 /**
* Returns a pointer to the particular object that is being drawn.
*/ 1 4 this 3 4006
1385 0 0 7 1452 3852 0 0 48 /**
* Returns a pointer to the current GSG.
*/ 1 4 this 3 4006
1386 0 0 6 1453 3604 0 0 246 /**
* Returns true if any required data should be forced into memory if necessary
* to render the object, or false if the object should be omitted if some of
* the data is not available (at least until the data becomes available
* later).
*/ 1 4 this 3 4006
1387 0 0 4 1454 3813 0 0 461 /**
* Sets the lost_state flag. If this is true, the callback does not have to
* be quite so careful to clean up after itself; Panda will assume that the
* graphics state is in an unknown state after the callback has finished, and
* will issue all the necessary calls to restore it. If this is false, Panda
* will assume the callback will leave the graphics state exactly as it came
* in, and won't bother to try to restore it. The default is true.
*/ 2 4 this 3 4010 10 lost_state 1 3604
1388 0 0 6 1455 3604 0 0 62 /**
* Returns the lost_state flag. See set_lost_state().
*/ 1 4 this 3 4006
1389 0 0 7 1456 3817 0 0 0 0
1390 0 0 7 1460 3611 0 0 169 /**
* Constructs a new RescaleNormalAttrib object that specifies whether to
* rescale normals to compensate for transform scales or incorrectly defined
* normals.
*/ 1 4 mode 1 3712
1391 0 0 7 1461 3611 0 0 209 /**
* Constructs a RescaleNormalAttrib object that's suitable for putting at the
* top of a scene graph. This will contain whatever attrib was suggested by
* the user's rescale-normals Config variable.
*/ 0
1392 0 0 6 1462 3712 0 0 35 /**
* Returns the render mode.
*/ 1 4 this 3 4011
1393 0 0 6 1464 3597 0 0 0 0
1394 0 0 7 1466 3817 0 0 0 0
1395 0 0 7 1477 4015 0 0 0 1 6 param0 0 4013
1396 0 0 7 1470 4015 0 0 185 /**
* Returns a newly-allocated CullResult object that contains a copy of just
* the subset of the data from this CullResult object that is worth keeping
* around for next frame.
*/ 1 4 this 3 4013
1397 0 0 7 1471 4017 0 0 238 /**
* Returns the CullBin associated with the indicated bin_index, or NULL if the
* bin_index is invalid. If there is the first time this bin_index has been
* requested for this CullResult, creates a new CullBin object on the fly.
*/ 2 4 this 3 4015 9 bin_index 1 3597
1398 0 0 4 1472 3813 0 0 152 /**
* Adds the indicated CullableObject to the appropriate bin. The bin becomes
* the owner of the object pointer, and will eventually delete it.
*/ 3 4 this 3 4015 6 object 1 4008 9 traverser 1 3989
1399 0 0 4 1473 3813 0 0 219 /**
* Called after all the geoms have been added, this indicates that the cull
* process is finished for this frame and gives the bins a chance to do any
* post-processing (like sorting) before moving on to draw.
*/ 3 4 this 3 4015 11 scene_setup 1 3995 14 current_thread 1 3845
1400 0 0 4 1474 3813 0 0 69 /**
* Asks all the bins to draw themselves in the correct order.
*/ 2 4 this 3 4015 14 current_thread 1 3845
1401 0 0 7 1475 3652 2126 0 496 /**
* Returns a special scene graph constructed to represent the results of the
* cull. This will be a hierarchy of nodes, one node for each bin, each of
* which will in term be a parent of a number of GeomNodes, representing the
* geometry drawn in each bin.
*
* This is useful mainly for high-level debugging and abstraction tools; it
* should not be mistaken for the low-level cull result itself. For the low-
* level cull result, use draw() to efficiently draw the culled scene.
*/ 1 4 this 3 4015
1402 0 0 7 1476 3817 0 0 0 0
1403 0 0 7 1479 3838 0 0 47 /**
* Constructs a new DecalEffect object.
*/ 0
1404 0 0 7 1480 3817 0 0 0 0
1405 0 0 7 1483 3611 0 0 152 /**
* Constructs a new DepthOffsetAttrib object that indicates the relative
* amount of bias to write to the depth buffer for subsequent geometry.
*/ 1 6 offset 1 3597
1406 0 0 7 1483 3611 0 0 349 /**
* Constructs a new DepthOffsetAttrib object that indicates the bias, and also
* specifies a minimum and maximum (or, more precisely, nearest and farthest)
* values to write to the depth buffer, in the range 0 .. 1. This range is 0,
* 1 by default; setting it to some other range can be used to create
* additional depth buffer effects.
*/ 3 6 offset 1 3597 9 min_value 1 3602 9 max_value 1 3602
1407 0 0 7 1484 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1408 0 0 6 1485 3597 0 0 63 /**
* Returns the depth offset represented by this attrib.
*/ 1 4 this 3 4018
1409 0 0 6 1486 3602 0 0 118 /**
* Returns the value for the minimum (closest) depth value to be stored in the
* buffer, in the range 0 .. 1.
*/ 1 4 this 3 4018
1410 0 0 6 1487 3602 0 0 119 /**
* Returns the value for the maximum (farthest) depth value to be stored in
* the buffer, in the range 0 .. 1.
*/ 1 4 this 3 4018
1411 0 0 6 1491 3597 0 0 0 0
1412 0 0 7 1493 3817 0 0 0 0
1413 0 0 7 1496 3611 0 0 51 /**
* Constructs a new DepthTestAttrib object.
*/ 1 4 mode 1 3598
1414 0 0 7 1497 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1415 0 0 6 1498 3598 0 0 40 /**
* Returns the depth write mode.
*/ 1 4 this 3 4020
1416 0 0 6 1500 3597 0 0 0 0
1417 0 0 7 1502 3817 0 0 0 0
1418 0 0 7 1506 3611 0 0 52 /**
* Constructs a new DepthWriteAttrib object.
*/ 1 4 mode 1 3719
1419 0 0 7 1507 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1420 0 0 6 1508 3719 0 0 40 /**
* Returns the depth write mode.
*/ 1 4 this 3 4022
1421 0 0 6 1510 3597 0 0 0 0
1422 0 0 7 1512 3817 0 0 0 0
1423 0 0 7 1515 3906 3120 0 10 /**
*
*/ 0
1424 0 0 7 1515 3906 3120 0 10 /**
*
*/ 1 4 copy 1 4024
1425 0 0 6 1516 3906 0 0 0 2 4 this 3 3906 4 copy 1 4024
1426 0 0 4 1518 3813 0 0 53 /**
* Adds a new InternalName to the collection.
*/ 2 4 this 3 3906 4 name 1 3874
1427 0 0 6 1519 3604 0 0 156 /**
* Removes the indicated InternalName from the collection. Returns true if
* the name was removed, false if it was not a member of the collection.
*/ 2 4 this 3 3906 4 name 1 3874
1428 0 0 4 1520 3813 0 0 207 /**
* Adds all the InternalNames indicated in the other collection to this name.
* The other names are simply appended to the end of the names in this list;
* duplicates are not automatically removed.
*/ 2 4 this 3 3906 5 other 1 4024
1429 0 0 4 1521 3813 0 0 99 /**
* Removes from this collection all of the InternalNames listed in the other
* collection.
*/ 2 4 this 3 3906 5 other 1 4024
1430 0 0 4 1522 3813 0 0 204 /**
* Removes any duplicate entries of the same InternalNames on this collection.
* If a InternalName appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/ 1 4 this 3 3906
1431 0 0 6 1523 3604 0 0 101 /**
* Returns true if the indicated InternalName appears in this collection,
* false otherwise.
*/ 2 4 this 3 4024 4 name 1 3874
1432 0 0 4 1524 3813 0 0 57 /**
* Removes all InternalNames from the collection.
*/ 1 4 this 3 3906
1433 0 0 6 1525 3597 0 0 65 /**
* Returns the number of InternalNames in the collection.
*/ 1 4 this 3 4024
1434 0 0 7 1526 3874 0 0 58 /**
* Returns the nth InternalName in the collection.
*/ 2 4 this 3 4024 5 index 1 3597
1435 0 0 7 1528 3874 0 0 144 /**
* Returns the nth InternalName in the collection. This is the same as
* get_name(), but it may be a more convenient way to access it.
*/ 2 4 this 3 4024 5 index 1 3597
1436 0 0 6 1529 3597 0 0 104 /**
* Returns the number of names in the collection. This is the same thing as
* get_num_names().
*/ 1 4 this 3 4024
1437 0 0 6 1530 3906 0 0 0 2 4 this 3 3906 5 other 1 4024
1438 0 0 7 1531 3906 3120 0 0 2 4 this 3 4024 5 other 1 4024
1439 0 0 4 1532 3813 0 0 111 /**
* Writes a brief one-line description of the InternalNameCollection to the
* indicated output stream.
*/ 2 4 this 3 4024 3 out 1 3814
1440 0 0 4 1533 3813 0 0 116 /**
* Writes a complete multi-line description of the InternalNameCollection to
* the indicated output stream.
*/ 3 4 this 3 4024 3 out 1 3814 12 indent_level 1 3597
1441 0 0 7 1536 3652 2126 0 0 1 4 this 3 3858
1442 0 0 6 1537 3604 0 0 95 /**
* Returns true if this is an AmbientLight, false if it is some other kind of
* light.
*/ 1 4 this 3 4026
1443 0 0 6 1538 3821 0 0 48 /**
* Returns the basic color of the light.
*/ 1 4 this 3 4026
1444 0 0 4 1539 3813 0 0 45 /**
* Sets the basic color of the light.
*/ 2 4 this 3 3858 5 color 1 3821
1445 0 0 6 1541 3604 0 0 140 /**
* Returns true if the color was specified as a temperature in kelvins, and
* get_color_temperature is defined.
*
* @since 1.10.0
*/ 1 4 this 3 4026
1446 0 0 6 1542 3602 0 0 130 /**
* Returns the basic color temperature of the light, assuming
* has_color_temperature() returns true.
*
* @since 1.10.0
*/ 1 4 this 3 4026
1447 0 0 4 1543 3813 0 0 234 /**
* Sets the color temperature of the light in kelvins. This will recalculate
* the light's color.
*
* The default value is 6500 K, corresponding to a perfectly white light
* assuming a D65 white point.
*
* @since 1.10.0
*/ 2 4 this 3 3858 11 temperature 1 3602
1448 0 0 6 1545 3602 0 0 168 /**
* For spotlights, returns the exponent that controls the amount of light
* falloff from the center of the spotlight. For other kinds of lights,
* returns 0.
*/ 1 4 this 3 4026
1449 0 0 6 1546 3821 0 0 125 /**
* Returns the color of specular highlights generated by the light. This
* value is meaningless for ambient lights.
*/ 1 4 this 3 4026
1450 0 0 6 1547 3799 0 0 193 /**
* Returns the terms of the attenuation equation for the light. These are, in
* order, the constant, linear, and quadratic terms based on the distance from
* the point to the vertex.
*/ 1 4 this 3 4026
1451 0 0 4 1548 3813 0 0 411 /**
* Changes the relative importance of this light relative to the other lights
* that are applied simultaneously.
*
* The priority number is used to decide which of the requested lights are to
* be selected for rendering when more lights are requested than the hardware
* will support. The highest-priority n lights are selected for rendering.
*
* This is similar to TextureStage::set_priority().
*/ 2 4 this 3 3858 8 priority 1 3597
1452 0 0 6 1549 3597 0 0 80 /**
* Returns the priority associated with this light. See set_priority().
*/ 1 4 this 3 4026
1453 0 0 6 1550 3597 0 0 0 1 4 this 3 4026
1454 0 0 7 1552 3817 0 0 0 0
1455 0 0 7 1555 3611 0 0 71 // The following is the new, more general interface to the LightAttrib. 0
1456 0 0 7 1555 3611 0 0 201 /**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicated light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/ 2 2 op 1 3723 5 light 1 3858
1457 0 0 7 1555 3611 0 0 200 /**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicate light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/ 3 2 op 1 3723 6 light1 1 3858 6 light2 1 3858
1458 0 0 7 1555 3611 0 0 200 /**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicate light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/ 4 2 op 1 3723 6 light1 1 3858 6 light2 1 3858 6 light3 1 3858
1459 0 0 7 1555 3611 0 0 200 /**
* Constructs a new LightAttrib object that turns on (or off, according to op)
* the indicate light(s).
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/ 5 2 op 1 3723 6 light1 1 3858 6 light2 1 3858 6 light3 1 3858 6 light4 1 3858
1460 0 0 7 1556 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1461 0 0 6 1557 3723 0 0 522 /**
* Returns the basic operation type of the LightAttrib. If this is O_set, the
* lights listed here completely replace any lights that were already on. If
* this is O_add, the lights here are added to the set of lights that were
* already on, and if O_remove, the lights here are removed from the set of
* lights that were on.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/ 1 4 this 3 4028
1462 0 0 6 1558 3597 0 0 247 /**
* Returns the number of lights listed in the attribute.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/ 1 4 this 3 4028
1463 0 0 6 1559 3858 0 0 240 /**
* Returns the nth light listed in the attribute.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/ 2 4 this 3 4028 1 n 1 3597
1464 0 0 6 1560 3604 0 0 274 /**
* Returns true if the indicated light is listed in the attrib, false
* otherwise.
*
* This method is now deprecated. LightAttribs nowadays have a separate list
* of on_lights and off_lights, so this method doesn't make sense. Query the
* lists independently.
*/ 2 4 this 3 4028 5 light 1 3858
1465 0 0 7 1561 3611 0 0 206 /**
* Returns a new LightAttrib, just like this one, but with the indicated light
* added to the list of lights.
*
* This method is now deprecated. Use add_on_light() or add_off_light()
* instead.
*/ 2 4 this 3 4028 5 light 1 3858
1466 0 0 7 1562 3611 0 0 216 /**
* Returns a new LightAttrib, just like this one, but with the indicated light
* removed from the list of lights.
*
* This method is now deprecated. Use remove_on_light() or remove_off_light()
* instead.
*/ 2 4 this 3 4028 5 light 1 3858
1467 0 0 7 1563 3611 0 0 106 /**
* Constructs a new LightAttrib object that turns off all lights (and hence
* disables lighting).
*/ 0
1468 0 0 6 1564 3797 0 0 76 /**
* Returns the number of lights that are turned on by the attribute.
*/ 1 4 this 3 4028
1469 0 0 6 1565 3797 0 0 92 /**
* Returns the number of non-ambient lights that are turned on by this
* attribute.
*/ 1 4 this 3 4028
1470 0 0 7 1566 3885 2700 0 84 /**
* Returns the nth light turned on by the attribute, sorted in render order.
*/ 2 4 this 3 4028 1 n 1 3797
1471 0 0 6 1568 3604 0 0 94 /**
* Returns true if the indicated light is turned on by the attrib, false
* otherwise.
*/ 2 4 this 3 4028 5 light 1 3889
1472 0 0 6 1569 3604 0 0 81 /**
* Returns true if any light is turned on by the attrib, false otherwise.
*/ 1 4 this 3 4028
1473 0 0 6 1570 3797 0 0 77 /**
* Returns the number of lights that are turned off by the attribute.
*/ 1 4 this 3 4028
1474 0 0 7 1571 3885 2700 0 101 /**
* Returns the nth light turned off by the attribute, sorted in arbitrary
* (pointer) order.
*/ 2 4 this 3 4028 1 n 1 3797
1475 0 0 6 1573 3604 0 0 95 /**
* Returns true if the indicated light is turned off by the attrib, false
* otherwise.
*/ 2 4 this 3 4028 5 light 1 3889
1476 0 0 6 1574 3604 0 0 99 /**
* Returns true if this attrib turns off all lights (although it may also turn
* some on).
*/ 1 4 this 3 4028
1477 0 0 6 1575 3604 0 0 102 /**
* Returns true if this is an identity attrib: it does not change the set of
* lights in use.
*/ 1 4 this 3 4028
1478 0 0 7 1576 3611 0 0 143 /**
* Returns a new LightAttrib, just like this one, but with the indicated light
* added to the list of lights turned on by this attrib.
*/ 2 4 this 3 4028 5 light 1 3889
1479 0 0 7 1577 3611 0 0 147 /**
* Returns a new LightAttrib, just like this one, but with the indicated light
* removed from the list of lights turned on by this attrib.
*/ 2 4 this 3 4028 5 light 1 3889
1480 0 0 7 1578 3611 0 0 144 /**
* Returns a new LightAttrib, just like this one, but with the indicated light
* added to the list of lights turned off by this attrib.
*/ 2 4 this 3 4028 5 light 1 3889
1481 0 0 7 1579 3611 0 0 148 /**
* Returns a new LightAttrib, just like this one, but with the indicated light
* removed from the list of lights turned off by this attrib.
*/ 2 4 this 3 4028 5 light 1 3889
1482 0 0 7 1580 3885 2700 0 209 /**
* Returns the most important light (that is, the light with the highest
* priority) in the LightAttrib, excluding any ambient lights. Returns an
* empty NodePath if no non-ambient lights are found.
*/ 1 4 this 3 4028
1483 0 0 7 1581 3900 0 0 68 /**
* Returns the total contribution of all the ambient lights.
*/ 1 4 this 3 4028
1484 0 0 6 1586 3597 0 0 0 0
1485 0 0 7 1588 3817 0 0 0 0
1486 0 0 7 1591 3611 0 0 151 /**
* Constructs a new LightRampAttrib object. This is the standard OpenGL
* lighting ramp, which clamps the final light total to the 0-1 range.
*/ 0
1487 0 0 7 1592 3611 0 0 169 /**
* Constructs a new LightRampAttrib object. This differs from the usual
* OpenGL lighting model in that it does not clamp the final lighting total to
* (0,1).
*/ 0
1488 0 0 7 1593 3611 0 0 290 /**
* Constructs a new LightRampAttrib object. This causes the luminance of the
* diffuse lighting contribution to be quantized using a single threshold:
*
* @code
* if (original_luminance > threshold0) {
* luminance = level0;
* } else {
* luminance = 0.0;
* }
* @endcode
*/ 2 7 thresh0 1 3602 4 lev0 1 3602
1489 0 0 7 1594 3611 0 0 360 /**
* Constructs a new LightRampAttrib object. This causes the luminance of the
* diffuse lighting contribution to be quantized using two thresholds:
*
* @code
* if (original_luminance > threshold1) {
* luminance = level1;
* } else if (original_luminance > threshold0) {
* luminance = level0;
* } else {
* luminance = 0.0;
* }
* @endcode
*/ 4 7 thresh0 1 3602 4 lev0 1 3602 7 thresh1 1 3602 4 lev1 1 3602
1490 0 0 7 1595 3611 0 0 814 /**
* Constructs a new LightRampAttrib object. This causes an HDR tone mapping
* operation to be applied.
*
* Normally, brightness values greater than 1 cannot be distinguished from
* each other, causing very brightly lit objects to wash out white and all
* detail to be erased. HDR tone mapping remaps brightness values in the
* range 0-infinity into the range (0,1), making it possible to distinguish
* detail in scenes whose brightness exceeds 1.
*
* However, the monitor has finite contrast. Normally, all of that contrast
* is used to represent brightnesses in the range 0-1. The HDR0 tone mapping
* operator 'steals' one quarter of that contrast to represent brightnesses in
* the range 1-infinity.
*
* @code
* FINAL_RGB = (RGB^3 + RGB^2 + RGB) / (RGB^3 + RGB^2 + RGB + 1)
* @endcode
*/ 0
1491 0 0 7 1596 3611 0 0 796 /**
* Constructs a new LightRampAttrib object. This causes an HDR tone mapping
* operation to be applied.
*
* Normally, brightness values greater than 1 cannot be distinguished from
* each other, causing very brightly lit objects to wash out white and all
* detail to be erased. HDR tone mapping remaps brightness values in the
* range 0-infinity into the range (0,1), making it possible to distinguish
* detail in scenes whose brightness exceeds 1.
*
* However, the monitor has finite contrast. Normally, all of that contrast
* is used to represent brightnesses in the range 0-1. The HDR1 tone mapping
* operator 'steals' one third of that contrast to represent brightnesses in
* the range 1-infinity.
*
* @code
* FINAL_RGB = (RGB^2 + RGB) / (RGB^2 + RGB + 1)
* @endcode
*/ 0
1492 0 0 7 1597 3611 0 0 779 /**
* Constructs a new LightRampAttrib object. This causes an HDR tone mapping
* operation to be applied.
*
* Normally, brightness values greater than 1 cannot be distinguished from
* each other, causing very brightly lit objects to wash out white and all
* detail to be erased. HDR tone mapping remaps brightness values in the
* range 0-infinity into the range (0,1), making it possible to distinguish
* detail in scenes whose brightness exceeds 1.
*
* However, the monitor has finite contrast. Normally, all of that contrast
* is used to represent brightnesses in the range 0-1. The HDR2 tone mapping
* operator 'steals' one half of that contrast to represent brightnesses in
* the range 1-infinity.
*
* @code
* FINAL_RGB = (RGB) / (RGB + 1)
* @endcode
*/ 0
1493 0 0 6 1598 3725 0 0 44 /**
* Returns the LightRampAttrib mode.
*/ 1 4 this 3 4030
1494 0 0 6 1599 3602 0 0 42 /**
* Returns the nth lighting level.
*/ 2 4 this 3 4030 1 n 1 3597
1495 0 0 6 1600 3602 0 0 43 /**
* Returns the nth threshold level.
*/ 2 4 this 3 4030 1 n 1 3597
1496 0 0 6 1602 3597 0 0 0 0
1497 0 0 7 1604 3817 0 0 0 0
1498 0 0 7 1621 3743 3221 0 0 1 6 param0 0 4032
1499 0 0 7 1621 3743 3221 0 10 /**
*
*/ 1 4 name 1 3842
1500 0 0 4 1622 3813 0 0 118 /**
* Specifies the task manager that is used for asynchronous loads. The
* default is the global task manager.
*/ 2 4 this 3 3743 12 task_manager 1 4034
1501 0 0 7 1623 4034 0 0 72 /**
* Returns the task manager that is used for asynchronous loads.
*/ 1 4 this 3 4032
1502 0 0 4 1624 3813 0 0 130 /**
* Specifies the task chain that is used for asynchronous loads. The default
* is the initial name of the Loader object.
*/ 2 4 this 3 3743 10 task_chain 1 3842
1503 0 0 6 1625 3842 0 0 70 /**
* Returns the task chain that is used for asynchronous loads.
*/ 1 4 this 3 4032
1504 0 0 4 1626 3813 0 0 56 /**
* Stop any threads used for asynchronous loads.
*/ 1 4 this 3 3743
1505 0 0 6 1627 3604 0 0 168 /**
* Removes a pending asynchronous load request. Returns true if successful,
* false otherwise.
* @deprecated use task.cancel() to cancel the request instead.
*/ 2 4 this 3 3743 4 task 1 4036
1506 0 0 7 1628 3652 2126 0 187 /**
* Loads the file immediately, waiting for it to complete.
*
* If search is true, the file is searched for along the model path;
* otherwise, only the exact filename is loaded.
*/ 3 4 this 3 4032 8 filename 1 3915 7 options 1 4037
1507 0 0 7 1629 4036 0 0 117 /**
* Returns a new AsyncTask object suitable for adding to load_async() to start
* an asynchronous model load.
*/ 3 4 this 3 3743 8 filename 1 3915 7 options 1 4037
1508 0 0 4 1630 3813 0 0 591 /**
* Begins an asynchronous load request. To use this call, first call
* make_async_request() to create a new ModelLoadRequest object with the
* filename you wish to load, and then add that object to the Loader with
* load_async. This function will return immediately, and the model will be
* loaded in the background.
*
* To determine when the model has completely loaded, you may poll
* request->is_ready() from time to time, or set the done_event on the request
* object and listen for that event. When the model is ready, you may
* retrieve it via request->get_model().
*/ 2 4 this 3 3743 7 request 1 4036
1509 0 0 6 1631 3604 0 0 66 /**
* Saves the file immediately, waiting for it to complete.
*/ 4 4 this 3 4032 8 filename 1 3915 7 options 1 4037 4 node 1 3652
1510 0 0 7 1632 4036 0 0 117 /**
* Returns a new AsyncTask object suitable for adding to save_async() to start
* an asynchronous model save.
*/ 4 4 this 3 3743 8 filename 1 3915 7 options 1 4037 4 node 1 3652
1511 0 0 4 1633 3813 0 0 620 /**
* Begins an asynchronous save request. To use this call, first call
* make_async_save_request() to create a new ModelSaveRequest object with the
* filename you wish to load, and then add that object to the Loader with
* save_async. This function will return immediately, and the model will be
* loaded in the background.
*
* To determine when the model has completely loaded, you may poll
* request->is_ready() from time to time, or set the done_event on the request
* object and listen for that event. When the request is ready, you may
* retrieve the success or failure via request->get_success().
*/ 2 4 this 3 3743 7 request 1 4036
1512 0 0 7 1634 3652 2126 0 109 /**
* Attempts to read a bam file from the indicated stream and return the scene
* graph defined there.
*/ 2 4 this 3 3743 2 in 1 3930
1513 0 0 4 1635 3813 0 0 10 /**
*
*/ 2 4 this 3 4032 3 out 1 3814
1514 0 0 7 1636 3743 3221 0 119 /**
* Returns a pointer to the global Loader. This is the Loader that most code
* should use for loading models.
*/ 0
1515 0 0 7 1637 3817 0 0 0 0
1516 0 0 7 1607 4038 0 0 0 1 4 this 3 3743
1517 0 0 6 1609 3862 0 0 0 1 4 this 3 3743
1518 0 0 7 1612 4039 3199 0 10 /**
*
*/ 0
1519 0 0 7 1612 4039 3199 0 10 /**
*
*/ 1 4 copy 1 4040
1520 0 0 6 1613 4039 0 0 0 2 4 this 3 4039 4 copy 1 4040
1521 0 0 4 1615 3813 0 0 47 /**
* Removes all the files from the list.
*/ 1 4 this 3 4039
1522 0 0 6 1616 3597 0 0 58 /**
* Returns the number of files on the result list.
*/ 1 4 this 3 4040
1523 0 0 6 1617 3915 0 0 51 /**
* Returns the nth file on the result list.
*/ 2 4 this 3 4040 1 n 1 3597
1524 0 0 6 1619 3731 0 0 68 /**
* Returns the file type of the nth file on the result list.
*/ 2 4 this 3 4040 1 n 1 3597
1525 0 0 6 1641 3842 0 0 0 1 4 this 3 4042
1526 0 0 6 1642 3842 0 0 0 1 4 this 3 4042
1527 0 0 6 1643 3842 0 0 146 /**
* Returns a space-separated list of extension, in addition to the one
* returned by get_extension(), that are recognized by this loader.
*/ 1 4 this 3 4042
1528 0 0 6 1644 3604 0 0 132 /**
* Returns true if this file type can transparently load compressed files
* (with a .pz or .gz extension), false otherwise.
*/ 1 4 this 3 4042
1529 0 0 6 1645 3604 0 0 138 /**
* Returns true if the loader flags allow retrieving the model from the on-
* disk bam cache (if it is enabled), false otherwise.
*/ 2 4 this 3 4042 7 options 1 4037
1530 0 0 6 1646 3604 0 0 127 /**
* Returns true if the loader flags allow retrieving the model from the in-
* memory ModelPool cache, false otherwise.
*/ 2 4 this 3 4042 7 options 1 4037
1531 0 0 6 1647 3604 0 0 172 /**
* Returns true if the file type can be used to load files, and load_file() is
* supported. Returns false if load_file() is unimplemented and will always
* fail.
*/ 1 4 this 3 4042
1532 0 0 6 1648 3604 0 0 172 /**
* Returns true if the file type can be used to save files, and save_file() is
* supported. Returns false if save_file() is unimplemented and will always
* fail.
*/ 1 4 this 3 4042
1533 0 0 7 1649 3817 0 0 0 0
1534 0 0 7 1661 4046 3231 0 0 1 6 param0 0 4044
1535 0 0 6 1652 3597 0 0 56 /**
* Returns the total number of types registered.
*/ 1 4 this 3 4044
1536 0 0 6 1653 3731 0 0 43 /**
* Returns the nth type registered.
*/ 2 4 this 3 4044 1 n 1 3597
1537 0 0 6 1658 3731 0 0 163 /**
* Determines the type of the file based on the indicated extension (without a
* leading dot). Returns NULL if the extension matches no known file types.
*/ 2 4 this 3 4046 9 extension 1 3842
1538 0 0 4 1659 3813 0 0 97 /**
* Writes a list of supported file types to the indicated output stream, one
* per line.
*/ 3 4 this 3 4044 3 out 1 3814 12 indent_level 1 3597
1539 0 0 6 1660 4046 0 0 73 /**
* Returns a pointer to the global LoaderFileTypeRegistry object.
*/ 0
1540 0 0 7 1663 3611 0 0 113 /**
* Constructs a new MaterialAttrib object suitable for rendering the indicated
* material onto geometry.
*/ 1 8 material 1 3733
1541 0 0 7 1664 3611 0 0 97 /**
* Constructs a new MaterialAttrib object suitable for rendering unmateriald
* geometry.
*/ 0
1542 0 0 7 1665 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1543 0 0 6 1666 3604 0 0 132 /**
* Returns true if the MaterialAttrib is an 'off' MaterialAttrib, indicating
* that it should disable the use of materials.
*/ 1 4 this 3 4047
1544 0 0 7 1667 3733 0 0 133 /**
* If the MaterialAttrib is not an 'off' MaterialAttrib, returns the material
* that is associated. Otherwise, return NULL.
*/ 1 4 this 3 4047
1545 0 0 6 1671 3597 0 0 0 0
1546 0 0 7 1673 3817 0 0 0 0
1547 0 0 7 1676 3909 3249 0 10 /**
*
*/ 0
1548 0 0 7 1676 3909 3249 0 10 /**
*
*/ 1 4 copy 1 4049
1549 0 0 6 1677 3909 0 0 0 2 4 this 3 3909 4 copy 1 4049
1550 0 0 4 1679 3813 0 0 49 /**
* Adds a new Material to the collection.
*/ 2 4 this 3 3909 13 node_material 1 3733
1551 0 0 6 1680 3604 0 0 156 /**
* Removes the indicated Material from the collection. Returns true if the
* material was removed, false if it was not a member of the collection.
*/ 2 4 this 3 3909 13 node_material 1 3733
1552 0 0 4 1681 3813 0 0 215 /**
* Adds all the Materials indicated in the other collection to this material.
* The other materials are simply appended to the end of the materials in this
* list; duplicates are not automatically removed.
*/ 2 4 this 3 3909 5 other 1 4049
1553 0 0 4 1682 3813 0 0 95 /**
* Removes from this collection all of the Materials listed in the other
* collection.
*/ 2 4 this 3 3909 5 other 1 4049
1554 0 0 4 1683 3813 0 0 197 /**
* Removes any duplicate entries of the same Materials on this collection. If
* a Material appears multiple times, the first appearance is retained;
* subsequent appearances are removed.
*/ 1 4 this 3 3909
1555 0 0 6 1684 3604 0 0 97 /**
* Returns true if the indicated Material appears in this collection, false
* otherwise.
*/ 2 4 this 3 4049 8 material 1 3733
1556 0 0 4 1685 3813 0 0 53 /**
* Removes all Materials from the collection.
*/ 1 4 this 3 3909
1557 0 0 7 1686 3733 0 0 123 /**
* Returns the material in the collection with the indicated name, if any, or
* NULL if no material has that name.
*/ 2 4 this 3 4049 4 name 1 3842
1558 0 0 6 1687 3597 0 0 61 /**
* Returns the number of Materials in the collection.
*/ 1 4 this 3 4049
1559 0 0 7 1688 3733 0 0 54 /**
* Returns the nth Material in the collection.
*/ 2 4 this 3 4049 5 index 1 3597
1560 0 0 7 1689 3733 0 0 144 /**
* Returns the nth Material in the collection. This is the same as
* get_material(), but it may be a more convenient way to access it.
*/ 2 4 this 3 4049 5 index 1 3597
1561 0 0 6 1690 3597 0 0 112 /**
* Returns the number of materials in the collection. This is the same thing
* as get_num_materials().
*/ 1 4 this 3 4049
1562 0 0 6 1691 3909 0 0 0 2 4 this 3 3909 5 other 1 4049
1563 0 0 7 1692 3909 3249 0 0 2 4 this 3 4049 5 other 1 4049
1564 0 0 4 1693 3813 0 0 107 /**
* Writes a brief one-line description of the MaterialCollection to the
* indicated output stream.
*/ 2 4 this 3 4049 3 out 1 3814
1565 0 0 4 1694 3813 0 0 112 /**
* Writes a complete multi-line description of the MaterialCollection to the
* indicated output stream.
*/ 3 4 this 3 4049 3 out 1 3814 12 indent_level 1 3597
1566 0 0 7 1697 4053 3271 0 0 1 6 param0 0 4051
1567 0 0 7 1697 4053 3271 0 121 /**
* Create a new ModelFlattenRequest, and add it to the loader via
* load_async(), to begin an asynchronous load.
*/ 1 4 orig 1 3652
1568 0 0 7 1698 3652 2126 0 50 /**
* Returns the original, unflattened node.
*/ 1 4 this 3 4051
1569 0 0 6 1699 3604 0 0 239 /**
* Returns true if this request has completed, false if it is still pending.
* When this returns true, you may retrieve the model loaded by calling
* result().
* Equivalent to `req.done() and not req.cancelled()`.
* @see done()
*/ 1 4 this 3 4051
1570 0 0 7 1700 3652 2126 0 148 /**
* Returns the flattened copy of the model. It is an error to call this
* unless done() returns true.
* @deprecated Use result() instead.
*/ 1 4 this 3 4051
1571 0 0 7 1702 3817 0 0 0 0
1572 0 0 7 1705 4056 3279 0 0 1 6 param0 0 4054
1573 0 0 7 1705 4056 3279 0 118 /**
* Create a new ModelLoadRequest, and add it to the loader via load_async(),
* to begin an asynchronous load.
*/ 4 4 name 1 3842 8 filename 1 3915 7 options 1 4037 6 loader 1 3743
1574 0 0 6 1706 3915 0 0 83 /**
* Returns the filename associated with this asynchronous ModelLoadRequest.
*/ 1 4 this 3 4054
1575 0 0 6 1707 4037 0 0 91 /**
* Returns the LoaderOptions associated with this asynchronous
* ModelLoadRequest.
*/ 1 4 this 3 4054
1576 0 0 7 1708 3743 3221 0 91 /**
* Returns the Loader object associated with this asynchronous
* ModelLoadRequest.
*/ 1 4 this 3 4054
1577 0 0 6 1709 3604 0 0 271 /**
* Returns true if this request has completed, false if it is still pending or
* if it has been cancelled. When this returns true, you may retrieve the
* model loaded by calling get_model().
* Equivalent to `req.done() and not req.cancelled()`.
* @see done()
*/ 1 4 this 3 4054
1578 0 0 7 1710 3652 2126 0 196 /**
* Returns the model that was loaded asynchronously, if any, or null if there
* was an error. It is an error to call this unless done() returns true.
* @deprecated Use result() instead.
*/ 1 4 this 3 4054
1579 0 0 7 1719 3817 0 0 0 0
1580 0 0 7 1722 4057 3287 0 10 /**
*
*/ 1 4 name 1 3842
1581 0 0 4 1724 3813 0 0 1183 /**
* Sets the preserve_transform flag. This restricts the ability of a flatten
* operation to affect the transform stored on this node, and/or the node
* itself. In the order from weakest to strongest restrictions, the possible
* flags are:
*
* PT_drop_node - This node should be removed at the next flatten call.
*
* PT_none - The transform may be adjusted at will. The node itself will not
* be removed. This is the default.
*
* PT_net - Preserve the net transform from the root, but it's acceptable to
* modify the local transform stored on this particular node if necessary, so
* long as the net transform is not changed. This eliminates the need to drop
* an extra transform on the node above.
*
* PT_local - The local (and net) transform should not be changed in any way.
* If necessary, an extra transform will be left on the node above to
* guarantee this. This is a stronger restriction than PT_net.
*
* PT_no_touch - The local transform will not be changed, the node will not be
* removed, and furthermore any flatten operation will not continue below this
* node--this node and all descendents are protected from the effects of
* flatten.
*/ 2 4 this 3 4057 18 preserve_transform 1 3745
1582 0 0 6 1725 3745 0 0 104 /**
* Returns the current setting of the preserve_transform flag. See
* set_preserve_transform().
*/ 1 4 this 3 4058
1583 0 0 4 1726 3813 0 0 295 /**
* Sets the preserve_attributes flag. This restricts the ability of a flatten
* operation to affect the render attributes stored on this node.
*
* The value should be the union of bits from SceneGraphReducer::AttribTypes
* that represent the attributes that should *not* be changed.
*/ 2 4 this 3 4057 11 attrib_mask 1 3597
1584 0 0 6 1727 3597 0 0 106 /**
* Returns the current setting of the preserve_attributes flag. See
* set_preserve_attributes().
*/ 1 4 this 3 4058
1585 0 0 4 1728 3813 0 0 0 2 4 this 3 4057 5 limit 1 3602
1586 0 0 7 1729 3817 0 0 0 0
1587 0 0 7 1732 4060 3299 0 10 /**
*
*/ 2 8 fullpath 1 3915 9 timestamp 1 3747
1588 0 0 7 1732 4060 3299 0 10 /**
*
*/ 1 4 name 1 3842
1589 0 0 6 1733 3597 0 0 344 /**
* Returns the number of copies that exist of this particular ModelRoot node.
* Each time ModelRoot::copy_subgraph() or make_copy() is called (or some
* other copying mechanism, such as NodePath.copy_to(), is used), this count
* will increment by one in all copies; when one of the copies is destructed,
* this count will decrement.
*/ 1 4 this 3 4061
1590 0 0 6 1735 3915 0 0 206 /**
* Returns the full pathname of the model represented by this node, as found
* on disk. This is mainly useful for reference purposes, but is also used to
* index the ModelRoot into the ModelPool.
*/ 1 4 this 3 4061
1591 0 0 4 1736 3813 0 0 399 /**
* Sets the full pathname of the model represented by this node, as found on
* disk. This is mainly useful for reference purposes, but is also used to
* index the ModelRoot into the ModelPool.
*
* This is normally set automatically when a model is loaded, and should not
* be set directly by the user. If you change this on a loaded model, then
* ModelPool::release_model() may fail.
*/ 2 4 this 3 4060 8 fullpath 1 3915
1592 0 0 6 1738 3747 0 0 324 /**
* Returns the timestamp of the file on disk that was read for this model, at
* the time it was read, if it is known. Returns 0 if the timestamp is not
* known or could not be provided. This can be used as a quick (but fallible)
* check to verify whether the file might have changed since the model was
* read.
*/ 1 4 this 3 4061
1593 0 0 4 1739 3813 0 0 189 /**
* Sets the timestamp of the file on disk that was read for this model. This
* is normally set automatically when a model is loaded, and should not be set
* directly by the user.
*/ 2 4 this 3 4060 9 timestamp 1 3747
1594 0 0 7 1746 3750 3295 0 315 /**
* Returns the pointer that represents the object shared between all copies of
* this ModelRoot. Since there's not much associated with this object other
* than a reference count, normally there's not much reason to get the pointer
* (though it may be compared pointerwise with other ModelRoot objects).
*/ 1 4 this 3 4061
1595 0 0 4 1747 3813 0 0 212 /**
* Changes the pointer that represents the object shared between all copies of
* this ModelRoot. This will disassociate this ModelRoot from all of its
* copies. Normally, there's no reason to do this.
*/ 2 4 this 3 4060 3 ref 1 3750
1596 0 0 7 1750 3817 0 0 0 0
1597 0 0 7 1744 3750 3295 0 10 /**
*
*/ 0
1598 0 0 7 1744 3750 3295 0 0 1 6 param0 0 4063
1599 0 0 6 1753 3604 0 0 149 /**
* Returns true if the model has ever been loaded, false otherwise. Note that
* this does not guarantee that the model is still up-to-date.
*/ 1 8 filename 1 3915
1600 0 0 6 1754 3604 0 0 549 /**
* Loads the given filename up as a model, if it has not already been loaded,
* and returns true to indicate success, or false to indicate failure. If
* this returns true, it is probable that a subsequent call to load_model()
* with the same model name will return a valid PandaNode.
*
* However, even if this returns true, it is still possible for a subsequent
* call to load_model() to fail. This can happen if cache-check-timestamps is
* true, and the on-disk file is subsequently modified to replace it with an
* invalid model.
*/ 1 8 filename 1 3915
1601 0 0 7 1755 4060 3299 0 244 /**
* Returns the model that has already been previously loaded, or NULL
* otherwise. If verify is true, it will check if the file is still up-to-
* date (and hasn't been modified in the meantime), and if not, will still
* return NULL.
*/ 2 8 filename 1 3915 6 verify 1 3604
1602 0 0 7 1756 4060 3299 0 369 /**
* Loads the given filename up as a model, if it has not already been loaded,
* and returns the new model. If a model with the same filename was
* previously loaded, returns that one instead (unless cache-check-timestamps
* is true and the file has recently changed). If the model file cannot be
* found, or cannot be loaded for some reason, returns NULL.
*/ 2 8 filename 1 3915 7 options 1 4037
1603 0 0 4 1757 3813 0 0 273 /**
* Adds the indicated already-loaded model to the pool. The model will
* replace any previously-loaded model in the pool that had the same filename.
*
* This two-parameter version of this method is deprecated; use the one-
* parameter add_model(model) instead.
*/ 2 8 filename 1 3915 5 model 1 4060
1604 0 0 4 1757 3813 0 0 158 /**
* Adds the indicated already-loaded model to the pool. The model will
* replace any previously-loaded model in the pool that had the same filename.
*/ 1 5 model 1 4060
1605 0 0 4 1758 3813 0 0 352 /**
* Removes the indicated model from the pool, indicating it will never be
* loaded again; the model may then be freed. If this function is never
* called, a reference count will be maintained on every model every loaded,
* and models will never be freed.
*
* This version of this method is deprecated; use release_model(model)
* instead.
*/ 1 8 filename 1 3915
1606 0 0 4 1758 3813 0 0 434 /**
* Removes the indicated model from the pool, indicating it will never be
* loaded again; the model may then be freed. If this function (and
* garbage_collect()) is never called, a reference count will be maintained on
* every model every loaded, and models will never be freed.
*
* The model's get_fullpath() value should not have been changed during its
* lifetime, or this function may fail to locate it in the pool.
*/ 1 5 model 1 4060
1607 0 0 4 1759 3813 0 0 84 /**
* Releases all models in the pool and restores the pool to the empty state.
*/ 0
1608 0 0 6 1760 3597 0 0 206 /**
* Releases only those models in the pool that have a reference count of
* exactly 1; i.e. only those models that are not being used outside of the
* pool. Returns the number of models released.
*/ 0
1609 0 0 4 1761 3813 0 0 56 /**
* Lists the contents of the model pool to cout.
*/ 0
1610 0 0 4 1761 3813 0 0 79 /**
* Lists the contents of the model pool to the indicated output stream.
*/ 1 3 out 1 3814
1611 0 0 4 1762 3813 0 0 105 /**
* Lists the contents of the model pool to the indicated output stream. Helps
* with debugging.
*/ 1 3 out 1 3814
1612 0 0 7 1765 4067 3319 0 0 1 6 param0 0 4065
1613 0 0 7 1765 4067 3319 0 118 /**
* Create a new ModelSaveRequest, and add it to the loader via save_async(),
* to begin an asynchronous save.
*/ 5 4 name 1 3842 8 filename 1 3915 7 options 1 4037 4 node 1 3652 6 loader 1 3743
1614 0 0 6 1766 3915 0 0 83 /**
* Returns the filename associated with this asynchronous ModelSaveRequest.
*/ 1 4 this 3 4065
1615 0 0 6 1767 4037 0 0 91 /**
* Returns the LoaderOptions associated with this asynchronous
* ModelSaveRequest.
*/ 1 4 this 3 4065
1616 0 0 7 1768 3652 2126 0 63 /**
* Returns the node that was passed to the constructor.
*/ 1 4 this 3 4065
1617 0 0 7 1769 3743 3221 0 91 /**
* Returns the Loader object associated with this asynchronous
* ModelSaveRequest.
*/ 1 4 this 3 4065
1618 0 0 6 1770 3604 0 0 238 /**
* Returns true if this request has completed, false if it is still pending.
* When this returns true, you may retrieve the success flag with
* get_success().
* Equivalent to `req.done() and not req.cancelled()`.
* @see done()
*/ 1 4 this 3 4065
1619 0 0 6 1771 3604 0 0 141 /**
* Returns the true if the model was saved successfully, false otherwise. It
* is an error to call this unless done() returns true.
*/ 1 4 this 3 4065
1620 0 0 7 1776 3817 0 0 0 0
1621 0 0 7 1779 3611 0 0 255 // The following methods define the new multitexture mode for TextureAttrib.
// Each TextureAttrib can add or remove individual texture stages from the
// complete set of textures that are to be applied; this is similar to the
// mechanism of LightAttrib. 0
1622 0 0 7 1779 3611 0 0 143 /**
* Constructs a new TextureAttrib object suitable for rendering the indicated
* texture onto geometry, using the default TextureStage.
*/ 1 3 tex 1 3756
1623 0 0 7 1780 3611 0 0 95 /**
* Constructs a new TextureAttrib object suitable for rendering untextured
* geometry.
*/ 0
1624 0 0 7 1781 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1625 0 0 6 1782 3604 0 0 365 /**
* Returns true if the TextureAttrib is an 'off' TextureAttrib, indicating
* that it should disable texturing.
*
* If multitexture is in effect, a TextureAttrib may not be strictly "on" or
* "off"; therefore, to get a more precise answer to this question, you should
* consider using has_all_off() or get_num_off_stages() or has_off_stage()
* instead.
*/ 1 4 this 3 4068
1626 0 0 7 1783 3756 0 0 141 /**
* If the TextureAttrib is not an 'off' TextureAttrib, returns the base-level
* texture that is associated. Otherwise, return NULL.
*/ 1 4 this 3 4068
1627 0 0 7 1784 3611 0 0 109 /**
* Constructs a new TextureAttrib object that turns off all stages (and hence
* disables texturing).
*/ 0
1628 0 0 6 1785 3597 0 0 76 /**
* Returns the number of stages that are turned on by the attribute.
*/ 1 4 this 3 4068
1629 0 0 7 1786 3754 0 0 84 /**
* Returns the nth stage turned on by the attribute, sorted in render order.
*/ 2 4 this 3 4068 1 n 1 3597
1630 0 0 6 1788 3597 0 0 154 /**
* Returns the number of on-stages that are relevant to the classic fixed
* function pipeline. This excludes texture stages such as normal maps.
*/ 1 4 this 3 4068
1631 0 0 7 1789 3754 0 0 211 /**
* Returns the nth stage turned on by the attribute, sorted in render order,
* including only those relevant to the classic fixed function pipeline. This
* excludes texture stages such as normal maps.
*/ 2 4 this 3 4068 1 n 1 3597
1632 0 0 6 1791 3597 0 0 315 /**
* For each TextureStage listed in get_on_ff_stage(), this returns a unique
* index number for the texture coordinate name used by that TextureStage. It
* is guaranteed to remain the same index number for each texcoord name (for a
* given set of TextureStages), even if the texture render order changes.
*/ 2 4 this 3 4068 1 n 1 3597
1633 0 0 6 1792 3604 0 0 94 /**
* Returns true if the indicated stage is turned on by the attrib, false
* otherwise.
*/ 2 4 this 3 4068 5 stage 1 3754
1634 0 0 7 1793 3756 0 0 107 /**
* Returns the texture associated with the indicated stage, or NULL if no
* texture is associated.
*/ 2 4 this 3 4068 5 stage 1 3754
1635 0 0 6 1794 3878 0 0 209 /**
* Returns the sampler associated with the indicated stage, or the one
* associated with its texture if no custom stage has been specified. It is
* an error to call this if the stage does not exist.
*/ 2 4 this 3 4068 5 stage 1 3754
1636 0 0 6 1795 3597 0 0 74 /**
* Returns the override value associated with the indicated stage.
*/ 2 4 this 3 4068 5 stage 1 3754
1637 0 0 6 1796 3597 0 0 142 /**
* Returns the index number of the indicated TextureStage within the list of
* on_stages, or -1 if the indicated stage is not listed.
*/ 2 4 this 3 4068 5 stage 1 4070
1638 0 0 6 1809 3597 0 0 77 /**
* Returns the number of stages that are turned off by the attribute.
*/ 1 4 this 3 4068
1639 0 0 7 1810 3754 0 0 101 /**
* Returns the nth stage turned off by the attribute, sorted in arbitrary
* (pointer) order.
*/ 2 4 this 3 4068 1 n 1 3597
1640 0 0 6 1812 3604 0 0 95 /**
* Returns true if the indicated stage is turned off by the attrib, false
* otherwise.
*/ 2 4 this 3 4068 5 stage 1 3754
1641 0 0 6 1813 3604 0 0 99 /**
* Returns true if this attrib turns off all stages (although it may also turn
* some on).
*/ 1 4 this 3 4068
1642 0 0 6 1816 3604 0 0 102 /**
* Returns true if this is an identity attrib: it does not change the set of
* stages in use.
*/ 1 4 this 3 4068
1643 0 0 7 1817 3611 0 0 145 /**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage added to the list of stages turned on by this attrib.
*/ 5 4 this 3 4068 5 stage 1 3754 3 tex 1 3756 7 sampler 1 3878 8 override 1 3597
1644 0 0 7 1817 3611 0 0 145 /**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage added to the list of stages turned on by this attrib.
*/ 4 4 this 3 4068 5 stage 1 3754 3 tex 1 3756 8 override 1 3597
1645 0 0 7 1818 3611 0 0 149 /**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage removed from the list of stages turned on by this attrib.
*/ 2 4 this 3 4068 5 stage 1 3754
1646 0 0 7 1819 3611 0 0 146 /**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage added to the list of stages turned off by this attrib.
*/ 3 4 this 3 4068 5 stage 1 3754 8 override 1 3597
1647 0 0 7 1820 3611 0 0 150 /**
* Returns a new TextureAttrib, just like this one, but with the indicated
* stage removed from the list of stages turned off by this attrib.
*/ 2 4 this 3 4068 5 stage 1 3754
1648 0 0 7 1821 3611 0 0 182 /**
* Returns a new TextureAttrib, just like this one, but with any included
* TextureAttribs that happen to have the same name as the given object
* replaced with the object.
*/ 2 4 this 3 4068 5 stage 1 3754
1649 0 0 6 1822 3597 0 0 0 0
1650 0 0 7 1824 3817 0 0 0 0
1651 0 0 7 1827 3611 0 0 69 /**
* Constructs a TexGenAttrib that generates no stages at all.
*/ 0
1652 0 0 7 1827 3611 0 0 77 /**
* Constructs a TexGenAttrib that generates just the indicated stage.
*/ 2 5 stage 1 3754 4 mode 1 4072
1653 0 0 7 1828 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1654 0 0 7 1829 3611 0 0 172 /**
* Returns a new TexGenAttrib just like this one, with the indicated
* generation mode for the given stage. If this stage already exists, its
* mode is replaced.
*/ 3 4 this 3 4073 5 stage 1 3754 4 mode 1 4072
1655 0 0 7 1829 3611 0 0 271 /**
* Returns a new TexGenAttrib just like this one, with the indicated
* generation mode for the given stage. If this stage already exists, its
* mode is replaced.
*
* This variant also accepts constant_value, which is only meaningful if mode
* is M_constant.
*/ 4 4 this 3 4073 5 stage 1 3754 4 mode 1 4072 14 constant_value 1 3902
1656 0 0 7 1830 3611 0 0 94 /**
* Returns a new TexGenAttrib just like this one, with the indicated stage
* removed.
*/ 2 4 this 3 4073 5 stage 1 3754
1657 0 0 6 1831 3604 0 0 98 /**
* Returns true if no stages are defined in the TexGenAttrib, false if at
* least one is.
*/ 1 4 this 3 4073
1658 0 0 6 1832 3604 0 0 157 /**
* Returns true if there is a mode associated with the indicated stage, or
* false otherwise (in which case get_transform(stage) will return M_off).
*/ 2 4 this 3 4073 5 stage 1 3754
1659 0 0 6 1833 4072 0 0 142 /**
* Returns the generation mode associated with the named texture stage, or
* M_off if nothing is associated with the indicated stage.
*/ 2 4 this 3 4073 5 stage 1 3754
1660 0 0 6 1834 3604 0 0 207 /**
* Returns true if the indicated TextureStage will have texture coordinates
* generated for it automatically (and thus there is no need to upload the
* texture coordinates encoded in the vertices).
*/ 2 4 this 3 4073 5 stage 1 3754
1661 0 0 6 1835 3902 0 0 133 /**
* Returns the constant value associated with the named texture stage. This
* is only meaningful if the mode is M_constant.
*/ 2 4 this 3 4073 5 stage 1 3754
1662 0 0 6 1836 3597 0 0 182 /**
* Returns the union of the Geom::GeomRendering bits that will be required
* once this TexGenAttrib is applied to a geom which includes the indicated
* geom_rendering bits.
*/ 2 4 this 3 4073 14 geom_rendering 1 3597
1663 0 0 6 1837 3597 0 0 0 0
1664 0 0 7 1839 3817 0 0 0 0
1665 0 0 7 1841 4075 2126 0 269 /**
* The default constructor creates a default occlusion polygon in the XZ plane
* (or XY plane in a y-up coordinate system). Use the normal Panda set_pos(),
* set_hpr(), set_scale() to position it appropriately, or replace the
* vertices with set_vertices().
*/ 1 4 name 1 3842
1666 0 0 4 1842 3813 0 0 62 /**
* If true, the back-face will also be used to occlude
*/ 2 4 this 3 4075 5 value 1 3604
1667 0 0 6 1843 3604 0 0 40 /**
* Is this occluder double-sided
*/ 1 4 this 3 4075
1668 0 0 4 1844 3813 0 0 202 /**
* Minimum screen coverage needed before occluder used. Range should be 0 to
* 1. For example, setting to 0.2 would mean that the occluder needs to cover
* 20% of the screen to be considered.
*/ 2 4 this 3 4075 5 value 1 3602
1669 0 0 6 1845 3602 0 0 47 /**
* Returns the minimum screen coverage.
*/ 1 4 this 3 4075
1670 0 0 4 1846 3813 0 0 176 /**
* Replaces the four vertices of the occluder polygon. The vertices should be
* defined in a counterclockwise orientation when looking at the face of the
* occluder.
*/ 5 4 this 3 4075 2 v0 1 3810 2 v1 1 3810 2 v2 1 3810 2 v3 1 3810
1671 0 0 6 1847 3797 0 0 99 /**
* Returns the number of vertices in the occluder polygon. This should always
* return 4.
*/ 1 4 this 3 4076
1672 0 0 6 1848 3810 0 0 58 /**
* Returns the nth vertex of the occluder polygon.
*/ 2 4 this 3 4076 1 n 1 3797
1673 0 0 4 1849 3813 0 0 55 /**
* Sets the nth vertex of the occluder polygon.
*/ 3 4 this 3 4075 1 n 1 3797 1 v 1 3810
1674 0 0 7 1855 3817 0 0 0 0
1675 0 0 7 1857 3838 0 0 68 /**
* Constructs a new OccluderEffect object that does nothing.
*/ 0
1676 0 0 6 1858 3597 0 0 77 /**
* Returns the number of occluders that are enabled by the effectute.
*/ 1 4 this 3 4078
1677 0 0 7 1859 3885 2700 0 85 /**
* Returns the nth occluder enabled by the effectute, sorted in render order.
*/ 2 4 this 3 4078 1 n 1 3597
1678 0 0 6 1861 3604 0 0 95 /**
* Returns true if the indicated occluder is enabled by the effect, false
* otherwise.
*/ 2 4 this 3 4078 8 occluder 1 3889
1679 0 0 6 1862 3604 0 0 105 /**
* Returns true if this is an identity effect: it does not change the set of
* occluders in use.
*/ 1 4 this 3 4078
1680 0 0 7 1863 3838 0 0 150 /**
* Returns a new OccluderEffect, just like this one, but with the indicated
* occluder added to the list of occluders enabled by this effect.
*/ 2 4 this 3 4078 8 occluder 1 3889
1681 0 0 7 1864 3838 0 0 154 /**
* Returns a new OccluderEffect, just like this one, but with the indicated
* occluder removed from the list of occluders enabled by this effect.
*/ 2 4 this 3 4078 8 occluder 1 3889
1682 0 0 7 1865 3817 0 0 0 0
1683 0 0 7 1870 4082 3422 0 0 1 6 param0 0 4080
1684 0 0 7 1870 4082 3422 0 71 /**
* Use PolylightNode() to construct a new PolylightNode object.
*/ 1 4 name 1 3842
1685 0 0 4 1871 3813 0 0 28 /**
* Enable this light
*/ 1 4 this 3 4082
1686 0 0 4 1872 3813 0 0 29 /**
* Disable this light
*/ 1 4 this 3 4082
1687 0 0 4 1873 3813 0 0 36 /**
* Set this light's position
*/ 2 4 this 3 4082 8 position 1 3810
1688 0 0 4 1873 3813 0 0 36 /**
* Set this light's position
*/ 4 4 this 3 4082 1 x 1 3602 1 y 1 3602 1 z 1 3602
1689 0 0 7 1874 3891 0 0 40 /**
* Returns position as a LPoint3
*/ 1 4 this 3 4080
1690 0 0 4 1875 3813 0 0 35 /**
* Set the light's color...
*/ 2 4 this 3 4082 5 color 1 3821
1691 0 0 4 1875 3813 0 0 60 /**
* Set the light's color... 3 floats between 0 and 1
*/ 4 4 this 3 4082 1 r 1 3602 1 g 1 3602 1 b 1 3602
1692 0 0 7 1876 3900 0 0 46 /**
* Returns the light's color as LColor
*/ 1 4 this 3 4080
1693 0 0 7 1877 3900 0 0 173 /**
* This differs from get_color in that when applying the light color we need
* to make sure that a color flattening external to the PolylightNode is not
* ignored.
*/ 1 4 this 3 4080
1694 0 0 4 1878 3813 0 0 51 /**
* Set radius of the spherical light volume
*/ 2 4 this 3 4082 1 r 1 3602
1695 0 0 6 1879 3602 0 0 51 /**
* Get radius of the spherical light volume
*/ 1 4 this 3 4080
1696 0 0 6 1880 3604 0 0 48 /**
* Set ALINEAR or AQUADRATIC attenuation
*/ 2 4 this 3 4082 4 type 1 3765
1697 0 0 6 1881 3765 0 0 55 /**
* Get "linear" or "quadratic" attenuation type
*/ 1 4 this 3 4080
1698 0 0 4 1882 3813 0 0 105 /**
* Set the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/ 2 4 this 3 4082 2 a0 1 3602
1699 0 0 4 1883 3813 0 0 105 /**
* Set the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/ 2 4 this 3 4082 2 a1 1 3602
1700 0 0 4 1884 3813 0 0 105 /**
* Set the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/ 2 4 this 3 4082 2 a2 1 3602
1701 0 0 6 1885 3602 0 0 105 /**
* Get the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/ 1 4 this 3 4080
1702 0 0 6 1886 3602 0 0 105 /**
* Get the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/ 1 4 this 3 4080
1703 0 0 6 1887 3602 0 0 105 /**
* Get the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance +
* a2*distance*distance)
*/ 1 4 this 3 4080
1704 0 0 4 1888 3813 0 0 104 /**
* Set flickering to true so at every loop this light's color is varied based
* on flicker_type
*/ 1 4 this 3 4082
1705 0 0 4 1889 3813 0 0 30 /**
* Turn flickering off
*/ 1 4 this 3 4082
1706 0 0 6 1890 3604 0 0 44 /**
* Check is this light is flickering
*/ 1 4 this 3 4080
1707 0 0 6 1891 3604 0 0 181 /**
* Flicker type can be FRANDOM or FSIN At a later point there might be a
* FCUSTOM Custom flicker will be a set of fix points recorded by animating
* the light's intensity
*/ 2 4 this 3 4082 4 type 1 3764
1708 0 0 6 1892 3764 0 0 34 /**
* Returns FRANDOM or FSIN
*/ 1 4 this 3 4080
1709 0 0 4 1893 3813 0 0 142 /**
* Set the offset value for the random and sin flicker variations... used to
* tweak the flicker This value is added to the variation
*/ 2 4 this 3 4082 6 offset 1 3602
1710 0 0 6 1894 3602 0 0 73 /**
* Get the offset value for the random and sin flicker variations
*/ 1 4 this 3 4080
1711 0 0 4 1895 3813 0 0 148 /**
* Set the scale value for the random and sin flicker variations... used to
* tweak the flicker This value is multiplied with the variation
*/ 2 4 this 3 4082 5 scale 1 3602
1712 0 0 6 1896 3602 0 0 72 /**
* Get the scale value for the random and sin flicker variations
*/ 1 4 this 3 4080
1713 0 0 4 1897 3813 0 0 133 /**
* Set the step size for the sin function in flicker This is the increment
* size for the value supplied to the sin function
*/ 2 4 this 3 4082 4 step 1 3602
1714 0 0 6 1898 3602 0 0 133 /**
* Get the step size for the sin function in flicker This is the increment
* size for the value supplied to the sin function
*/ 1 4 this 3 4080
1715 0 0 4 1899 3813 0 0 39 /**
* Set frequency of sin flicker
*/ 2 4 this 3 4082 1 f 1 3602
1716 0 0 6 1900 3602 0 0 39 /**
* Get frequency of sin flicker
*/ 1 4 this 3 4080
1717 0 0 6 1901 3604 0 0 21 // Comparison methods 2 4 this 3 4080 5 other 1 4080
1718 0 0 6 1902 3604 0 0 0 2 4 this 3 4080 5 other 1 4080
1719 0 0 6 1903 3604 0 0 0 2 4 this 3 4080 5 other 1 4080
1720 0 0 6 1904 3597 0 0 486 /**
* Returns a number less than zero if this PolylightNode sorts before the
* other one, greater than zero if it sorts after, or zero if they are
* equivalent.
*
* Two PolylightNodes are considered equivalent if they consist of exactly the
* same properties Otherwise, they are different; different PolylightNodes
* will be ranked in a consistent but undefined ordering; the ordering is
* useful only for placing the PolylightNodes in a sorted container like an
* STL set.
*/ 2 4 this 3 4080 5 other 1 4080
1721 0 0 6 1905 3604 0 0 45 /**
* Is this light is enabled/disabled?
*/ 1 4 this 3 4080
1722 0 0 7 1906 3817 0 0 0 0
1723 0 0 7 1912 3838 0 0 51 /**
* Constructs a new PolylightEffect object.
*/ 0
1724 0 0 7 1912 3838 0 0 51 /**
* Constructs a new PolylightEffect object.
*/ 3 6 weight 1 3602 7 contrib 1 3767 13 effect_center 1 3810
1725 0 0 7 1912 3838 0 0 51 /**
* Constructs a new PolylightEffect object.
*/ 4 6 weight 1 3602 7 contrib 1 3767 13 effect_center 1 3810 6 lights 1 4083
1726 0 0 7 1913 3838 0 0 76 /**
* Add a PolylightNode object to this effect and return a new effect
*/ 2 4 this 3 4085 8 newlight 1 3889
1727 0 0 7 1914 3838 0 0 74 /**
* Remove a light from this effect. Return the new updated effect
*/ 2 4 this 3 4085 8 newlight 1 3889
1728 0 0 7 1915 3838 0 0 241 /**
* Set weight and return a new effect... the reason this couldnt be done
* through make was because that would return a new effect without the
* lightgroup which is static and cant be accessed Here, we just pass that to
* the make
*/ 2 4 this 3 4085 1 w 1 3602
1729 0 0 7 1916 3838 0 0 247 /**
* Set Contrib Type and return a new effect... the reason this couldnt be done
* through make was because that would return a new effect without the
* lightgroup which is static and cant be accessed Here, we just pass that to
* the make
*/ 2 4 this 3 4085 1 c 1 3767
1730 0 0 7 1917 3838 0 0 241 /**
* Set weight and return a new effect... the reason this couldnt be done
* through make was because that would return a new effect without the
* lightgroup which is static and cant be accessed Here, we just pass that to
* the make
*/ 2 4 this 3 4085 2 ec 1 3810
1731 0 0 6 1918 3602 0 0 31 /**
* Get the weight value
*/ 1 4 this 3 4085
1732 0 0 6 1919 3767 0 0 40 /**
* Returns CT_all or CT_proximal
*/ 1 4 this 3 4085
1733 0 0 7 1920 3891 0 0 49 /**
* Return the value of the _effect_center
*/ 1 4 this 3 4085
1734 0 0 6 1921 3604 0 0 100 /**
* Returns true if the indicated light is listed in the PolylightEffect, false
* otherwise.
*/ 2 4 this 3 4085 5 light 1 3889
1735 0 0 7 1922 3817 0 0 0 0
1736 0 0 7 1925 3611 0 0 65 /**
* Constructs a new ShaderAttrib object with nothing set.
*/ 2 6 shader 1 3772 8 priority 1 3597
1737 0 0 7 1926 3611 0 0 133 /**
* Constructs a new ShaderAttrib object that disables the use of shaders (it
* does not clear out all shader data, however.)
*/ 0
1738 0 0 7 1927 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1739 0 0 6 1929 3604 0 0 109 /**
* If true, the shader field of this attribute overrides the shader field of
* the parent attribute.
*/ 1 4 this 3 4087
1740 0 0 6 1930 3604 0 0 142 /**
* If true, then this ShaderAttrib does not contain an explicit shader -
* instead, it requests the automatic generation of a shader.
*/ 1 4 this 3 4087
1741 0 0 6 1931 3597 0 0 10 /**
*
*/ 1 4 this 3 4087
1742 0 0 6 1932 3597 0 0 105 /**
* Returns the number of geometry instances. A value of 0 means not to use
* instancing at all.
*/ 1 4 this 3 4087
1743 0 0 6 1933 3604 0 0 0 1 4 this 3 4087
1744 0 0 6 1934 3604 0 0 10 /**
*
*/ 1 4 this 3 4087
1745 0 0 6 1935 3604 0 0 10 /**
*
*/ 1 4 this 3 4087
1746 0 0 6 1936 3604 0 0 10 /**
*
*/ 1 4 this 3 4087
1747 0 0 6 1937 3604 0 0 10 /**
*
*/ 1 4 this 3 4087
1748 0 0 7 1938 3611 0 0 10 /**
*
*/ 3 4 this 3 4087 1 s 1 3772 8 priority 1 3597
1749 0 0 7 1939 3611 0 0 10 /**
*
*/ 2 4 this 3 4087 8 priority 1 3597
1750 0 0 7 1940 3611 0 0 104 /**
* Set auto shader with bitmask to customize use, e.g., to keep normal, glow,
* etc., on or off
*/ 3 4 this 3 4087 13 shader_switch 1 3901 8 priority 1 3597
1751 0 0 7 1940 3611 0 0 10 /**
*
*/ 2 4 this 3 4087 8 priority 1 3597
1752 0 0 7 1941 3611 0 0 10 /**
*
*/ 1 4 this 3 4087
1753 0 0 7 1942 3611 0 0 0 4 4 this 3 4087 6 param0 0 3874 6 param1 0 3627 8 priority 1 3597
1754 0 0 7 1942 3611 0 0 10 /**
*
*/ 2 4 this 3 4087 5 input 1 3877
1755 0 0 7 1942 3611 0 0 16 // Shader Inputs 2 4 this 3 4087 5 input 1 3879
1756 0 0 7 1943 3611 0 0 0 3 4 this 3 4087 4 args 1 3627 6 kwargs 1 3627
1757 0 0 7 1944 3611 0 0 211 /**
* Sets the geometry instance count. Do not confuse this with instanceTo,
* which is used for animation instancing, and has nothing to do with this. A
* value of 0 means not to use instancing at all.
*/ 2 4 this 3 4087 14 instance_count 1 3597
1758 0 0 7 1945 3611 0 0 10 /**
*
*/ 3 4 this 3 4087 4 flag 1 3597 5 value 1 3604
1759 0 0 7 1946 3611 0 0 10 /**
*
*/ 2 4 this 3 4087 4 flag 1 3597
1760 0 0 7 1947 3611 0 0 10 /**
*
*/ 2 4 this 3 4087 2 id 1 3874
1761 0 0 7 1947 3611 0 0 10 /**
*
*/ 2 4 this 3 4087 2 id 1 3842
1762 0 0 7 1948 3611 0 0 54 /**
* Clears all the shader inputs on the attrib.
*/ 1 4 this 3 4087
1763 0 0 6 1949 3604 0 0 10 /**
*
*/ 2 4 this 3 4087 4 flag 1 3597
1764 0 0 6 1950 3604 0 0 68 /**
* Returns true if there is a ShaderInput of the given name.
*/ 2 4 this 3 4087 2 id 1 3874
1765 0 0 7 1951 3772 0 0 186 /**
* Returns the shader object associated with the node. If get_override
* returns true, but get_shader returns NULL, that means that this attribute
* should disable the shader.
*/ 1 4 this 3 4087
1766 0 0 6 1952 3879 0 0 158 /**
* Returns the ShaderInput of the given name. If no such name is found, this
* function does not return NULL --- it returns the "blank" ShaderInput.
*/ 2 4 this 3 4087 2 id 1 3874
1767 0 0 6 1952 3879 0 0 158 /**
* Returns the ShaderInput of the given name. If no such name is found, this
* function does not return NULL --- it returns the "blank" ShaderInput.
*/ 2 4 this 3 4087 2 id 1 3842
1768 0 0 7 1953 3885 2700 0 115 /**
* Returns the ShaderInput as a nodepath. Assertion fails if there is none,
* or if it is not a nodepath.
*/ 2 4 this 3 4087 2 id 1 3874
1769 0 0 7 1954 4090 0 0 111 /**
* Returns the ShaderInput as a vector. Assertion fails if there is none, or
* if it is not a vector.
*/ 2 4 this 3 4087 2 id 1 4089
1770 0 0 7 1955 3756 0 0 207 /**
* Returns the ShaderInput as a texture. Assertion fails if there is none, or
* if it is not a texture.
*
* If sampler is not NULL, the sampler state to use for this texture is
* assigned to it.
*/ 3 4 this 3 4087 2 id 1 3874 7 sampler 1 4091
1771 0 0 6 1956 3882 0 0 136 /**
* Returns the ShaderInput as a ShaderPtrData struct. Assertion fails if
* there is none. or if it is not a PTA(double/float)
*/ 2 4 this 3 4087 2 id 1 3874
1772 0 0 6 1956 3604 0 0 136 /**
* Returns the ShaderInput as a ShaderPtrData struct. Assertion fails if
* there is none. or if it is not a PTA(double/float)
*/ 3 4 this 3 4087 2 id 1 3874 4 data 1 4092
1773 0 0 6 1957 3801 0 0 123 /**
* Returns the ShaderInput as a matrix. Assertion fails if there is none, or
* if it is not a matrix or NodePath.
*/ 3 4 this 3 4087 2 id 1 3874 6 matrix 1 3897
1774 0 0 7 1958 4094 0 0 123 /**
* Returns the ShaderInput as a ShaderBuffer. Assertion fails if there is
* none, or if it is not a ShaderBuffer.
*/ 2 4 this 3 4087 2 id 1 3874
1775 0 0 4 1959 3813 0 0 53 /**
* Factory method to generate a Shader object
*/ 0
1776 0 0 6 1965 3597 0 0 0 0
1777 0 0 7 1967 3817 0 0 0 0
1778 0 0 7 1970 3838 0 0 52 /**
* Constructs a new ShowBoundsEffect object.
*/ 1 5 tight 1 3604
1779 0 0 6 1971 3604 0 0 157 /**
* Returns true if the "tight" flag was set, meaning the effect should compute
* and draw the tight bounding-box of the node's vertices every frame.
*/ 1 4 this 3 4095
1780 0 0 7 1972 3817 0 0 0 0
1781 0 0 7 1975 3838 0 0 74 /**
* Constructs a TexProjectorEffect that modifies no stages at all.
*/ 0
1782 0 0 7 1976 3838 0 0 536 /**
* Returns a new TexProjectorEffect just like this one, with the indicated
* projection for the given stage. If this stage already exists, its
* projection definition is replaced.
*
* The relative transform between the "from" and the "to" nodes is
* automatically applied to the texture transform each frame.
*
* Furthermore, if the "to" node is a LensNode, its projection matrix is also
* applied to the texture transform. In this case, the lens_index may be used
* to select the particular lens that should be used.
*/ 5 4 this 3 4097 5 stage 1 3754 4 from 1 3889 2 to 1 3889 10 lens_index 1 3597
1783 0 0 7 1977 3838 0 0 100 /**
* Returns a new TexProjectorEffect just like this one, with the indicated
* stage removed.
*/ 2 4 this 3 4097 5 stage 1 3754
1784 0 0 6 1978 3604 0 0 104 /**
* Returns true if no stages are defined in the TexProjectorEffect, false if
* at least one is.
*/ 1 4 this 3 4097
1785 0 0 6 1979 3604 0 0 182 /**
* Returns true if there is a transform associated with the indicated stage,
* or false otherwise (in which case get_transform(stage) will return the
* identity transform).
*/ 2 4 this 3 4097 5 stage 1 3754
1786 0 0 7 1980 3885 2700 0 227 /**
* Returns the "from" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*/ 2 4 this 3 4097 5 stage 1 3754
1787 0 0 7 1981 3885 2700 0 343 /**
* Returns the "to" node associated with the TexProjectorEffect on the
* indicated stage. The relative transform between the "from" and the "to"
* nodes is automatically applied to the texture transform each frame.
*
* Furthermore, if the "to" node is a LensNode, its projection matrix is also
* applied to the texture transform.
*/ 2 4 this 3 4097 5 stage 1 3754
1788 0 0 6 1982 3597 0 0 221 /**
* Returns the lens_index associated with the TexProjectorEffect on the
* indicated stage. This is only used if the "to" node is a LensNode, in
* which case it specifies the particular lens that should be used.
*/ 2 4 this 3 4097 5 stage 1 3754
1789 0 0 7 1983 3817 0 0 0 0
1790 0 0 7 1985 3838 0 0 169 /**
* Constructs a new screen-relative ScissorEffect. The frame defines a left,
* right, bottom, top region, relative to the DisplayRegion. See
* ScissorAttrib.
*/ 2 5 frame 1 3881 4 clip 1 3604
1791 0 0 7 1986 3838 0 0 249 /**
* Constructs a new node-relative ScissorEffect. The four points are
* understood to be relative to the indicated node, or the current node if the
* indicated NodePath is empty, and determine four points surrounding the
* scissor region.
*/ 5 1 a 1 3810 1 b 1 3810 1 c 1 3810 1 d 1 3810 4 node 1 3889
1792 0 0 7 1986 3838 0 0 249 /**
* Constructs a new node-relative ScissorEffect. The two points are
* understood to be relative to the indicated node, or the current node if the
* NodePath is empty, and determine the diagonally opposite corners of the
* scissor region.
*/ 3 1 a 1 3810 1 b 1 3810 4 node 1 3889
1793 0 0 7 1986 3838 0 0 197 /**
* Constructs a new node-relative ScissorEffect, with no points. This empty
* ScissorEffect does nothing. You must then call add_point a number of times
* to add the points you require.
*/ 1 4 clip 1 3604
1794 0 0 7 1987 3838 0 0 325 /**
* Returns a new ScissorEffect with the indicated point added. It is only
* valid to call this on a "node" type ScissorEffect. The full set of points,
* projected into screen space, defines the bounding volume of the rectangular
* scissor region.
*
* Each point may be relative to a different node, if desired.
*/ 3 4 this 3 4099 5 point 1 3810 4 node 1 3889
1795 0 0 6 1988 3604 0 0 149 /**
* Returns true if the ScissorEffect is a screen-based effect, meaning
* get_frame() has a meaningful value, but get_a() and get_b() do not.
*/ 1 4 this 3 4099
1796 0 0 6 1989 3881 0 0 253 /**
* If is_screen() returns true, this method may be called to query the screen-
* based scissor frame. This is a series of left, right, bottom, top,
* representing the scissor frame relative to the current DisplayRegion. See
* ScissorAttrib.
*/ 1 4 this 3 4099
1797 0 0 6 1990 3597 0 0 77 /**
* Returns the number of node-based scissor points. See get_point().
*/ 1 4 this 3 4099
1798 0 0 6 1991 3810 0 0 293 /**
* If is_screen() returns false, then get_num_points() and get_point() may be
* called to query the node-based scissor frame. These return n points (at
* least two), which are understood to be in the space of this node, and which
* define any opposite corners of the scissor frame.
*/ 2 4 this 3 4099 1 n 1 3597
1799 0 0 7 1993 3885 2700 0 114 /**
* Returns the node to which the nth point is relative, or empty NodePath to
* indicate the current node.
*/ 2 4 this 3 4099 1 n 1 3597
1800 0 0 6 1995 3604 0 0 104 /**
* Returns true if this ScissorEffect actually enables scissoring, or false if
* it culls only.
*/ 1 4 this 3 4099
1801 0 0 7 1996 3817 0 0 0 0
1802 0 0 7 1999 4101 3497 0 10 /**
*
*/ 1 3 gsg 1 3852
1803 0 0 7 1999 4101 3497 0 0 1 6 param0 0 4102
1804 0 0 4 2005 3813 0 0 360 /**
* Specifies the particular GraphicsStateGuardian that this object will
* attempt to optimize to. The GSG may specify parameters such as maximum
* number of vertices per vertex data, max number of vertices per primitive,
* and whether triangle strips are preferred. It also affects the types of
* vertex column data that is created by premunge().
*/ 2 4 this 3 4101 3 gsg 1 3852
1805 0 0 4 2006 3813 0 0 218 /**
* Specifies that no particular GraphicsStateGuardian will be used to guide
* the optimization. The SceneGraphReducer will instead use config variables
* such as max-collect-vertices and max-collect-indices.
*/ 1 4 this 3 4101
1806 0 0 7 2007 3852 0 0 120 /**
* Returns the particular GraphicsStateGuardian that this object will attempt
* to optimize to. See set_gsg().
*/ 1 4 this 3 4102
1807 0 0 4 2008 3813 0 0 413 /**
* Specifies the radius that is used in conjunction with CS_within_radius to
* decide whether a subgraph's siblings should be combined into a single node
* or not.
*
* If the CS_within_radius bit is included in the combine_siblings_bits
* parameter passed to flatten, than any nodes whose bounding volume is
* smaller than the indicated radius will be combined together (as if CS_other
* were set).
*/ 2 4 this 3 4101 14 combine_radius 1 3602
1808 0 0 6 2009 3602 0 0 110 /**
* Returns the radius that is used in conjunction with CS_within_radius. See
* set_combine_radius().
*/ 1 4 this 3 4102
1809 0 0 4 2010 3813 0 0 245 /**
* This flavor of apply_attribs() can be called recursively from within
* another flatten process (e.g. from
* PandaNode::apply_attribs_to_vertices()). The parameters were presumably
* received from a parent SceneGraphReducer object.
*/ 5 4 this 3 4101 4 node 1 3652 7 attribs 1 4104 12 attrib_types 1 3597 11 transformer 1 4107
1810 0 0 4 2010 3813 0 0 509 /**
* Walks the scene graph, accumulating attribs of the indicated types,
* applying them to the vertices, and removing them from the scene graph.
* This has a performance optimization benefit in itself, but is especially
* useful to pave the way for a call to flatten() and greatly improve the
* effectiveness of the flattening operation.
*
* Multiply instanced geometry is duplicated before the attribs are applied.
*
* Of course, this operation does make certain dynamic operations impossible.
*/ 3 4 this 3 4101 4 node 1 3652 12 attrib_types 1 3597
1811 0 0 6 2011 3597 0 0 559 /**
* Simplifies the graph by removing unnecessary nodes and nodes.
*
* In general, a node (and its parent node) is a candidate for removal if the
* node has no siblings and the node has no special properties.
*
* If combine_siblings_bits is nonzero, some sibling nodes (according to the
* bits set in combine_siblings_bits) may also be collapsed into a single
* node. This will further reduce scene graph complexity, sometimes
* substantially, at the cost of reduced spatial separation.
*
* Returns the number of nodes removed from the graph.
*/ 3 4 this 3 4101 4 root 1 3652 21 combine_siblings_bits 1 3597
1812 0 0 6 2012 3597 0 0 154 /**
* Removes the indicated data column from any GeomVertexDatas found at the
* indicated root and below. Returns the number of GeomNodes modified.
*/ 3 4 this 3 4101 4 root 1 3652 6 column 1 3874
1813 0 0 6 2013 3597 0 0 254 /**
* Searches for GeomNodes that contain multiple Geoms that differ only in
* their ColorAttribs. If such a GeomNode is found, then all the colors are
* pushed down into the vertices. This makes it feasible for the geoms to be
* unified later.
*/ 2 4 this 3 4101 4 root 1 3652
1814 0 0 6 2014 3597 0 0 715 /**
* Walks through the tree at this node and below and unifies the
* GeomVertexFormat for any GeomVertexData objects that are found, so that all
* eligible vdatas (according to collect_bits; see collect_vertex_data) will
* share the same vertex format.
*
* This will add unused columns where necessary to match formats. It can
* result in suboptimal performance if used needlessly.
*
* There is usually no reason to call this explicitly, since
* collect_vertex_data() will do this anyway if it has not been done already.
* However, calling it ahead of time can make that future call to
* collect_vertex_data() run a little bit faster.
*
* The return value is the number of vertex datas modified.
*/ 3 4 this 3 4101 4 root 1 3652 12 collect_bits 1 3597
1815 0 0 4 2015 3813 0 0 396 /**
* Calls decompose() on every GeomNode at this level and below.
*
* There is usually no reason to call this explicitly, since unify() will do
* this anyway if it needs to be done. However, calling it ahead of time can
* make that future call to unify() run a little bit faster.
*
* This operation has no effect if the config variable preserve-triangle-
* strips has been set true.
*/ 2 4 this 3 4101 4 root 1 3652
1816 0 0 6 2016 3597 0 0 579 /**
* Collects all different GeomVertexData blocks that have compatible formats
* at this node and below into a single, unified block (or at least multiple
* larger blocks). This is intended to reduce rendering overhead incurred by
* switching vertex buffers. It can also make a subsequent call to unify()
* much more effective than it would have been otherwise.
*
* The set of bits passed in collect_bits indicates which properties are used
* to differentiate GeomVertexData blocks. If it is 0, then more blocks will
* be combined together than if it is nonzero.
*/ 3 4 this 3 4101 4 root 1 3652 12 collect_bits 1 3597
1817 0 0 6 2017 3597 0 0 308 /**
* Converts indexed geometry to nonindexed geometry at the indicated node and
* below, by duplicating vertices where necessary. The parameter
* nonindexed_bits is a union of bits defined in
* SceneGraphReducer::MakeNonindexed, which specifes which types of geometry
* to avoid making nonindexed.
*/ 3 4 this 3 4101 4 root 1 3652 15 nonindexed_bits 1 3597
1818 0 0 4 2018 3813 0 0 224 /**
* Calls unify() on every GeomNode at this level and below. This attempts to
* reduce the total number of individual Geoms and GeomPrimitives by combining
* these objects wherever possible. See GeomNode::unify().
*/ 3 4 this 3 4101 4 root 1 3652 14 preserve_order 1 3604
1819 0 0 4 2019 3813 0 0 273 /**
* Removes any vertices in GeomVertexDatas that are no longer used at this
* level and below. This requires remapping vertex indices in all of the
* GeomPrimitives, to remove holes in the GeomVertexDatas. It is normally not
* necessary to call this explicitly.
*/ 2 4 this 3 4101 4 root 1 3652
1820 0 0 4 2020 3813 0 0 320 /**
* Walks the scene graph rooted at this node and below, and uses the indicated
* GSG to premunge every Geom found to optimize it for eventual rendering on
* the indicated GSG. If there is no GSG indicated for the SceneGraphReducer,
* this is a no-op.
*
* This operation will also apply to stashed children.
*/ 3 4 this 3 4101 4 root 1 3652 13 initial_state 1 3826
1821 0 0 6 2021 3604 0 0 359 /**
* In a non-release build, returns false if the node is correctly not in a
* live scene graph. (Calling flatten on a node that is part of a live scene
* graph, for instance, a node somewhere under render, can cause problems in a
* multithreaded environment.)
*
* If allow_live_flatten is true, or in a release build, this always returns
* true.
*/ 2 4 this 3 4101 4 node 1 3652
1822 0 0 7 2026 4109 0 0 74 /**
* Creates a new ParamNodePath storing the given node path object.
*/ 1 9 node_path 1 3885
1823 0 0 7 2027 3885 2700 0 58 /**
* Retrieves the NodePath stored in the parameter.
*/ 1 4 this 3 4110
1824 0 0 7 2028 3817 0 0 0 0
1825 0 0 7 2030 4112 2126 0 222 /**
* Default constructor, just an empty node, no geo This is used to read portal
* from model. You can also use this from python to create an empty portal.
* Then you can set the vertices yourself, with addVertex.
*/ 1 4 name 1 3842
1826 0 0 7 2030 4112 2126 0 113 /**
* Create a default rectangle as portal. Use this to create an arbitrary
* portal and setup from Python
*/ 3 4 name 1 3842 3 pos 1 3891 5 scale 1 3602
1827 0 0 4 2031 3813 0 0 97 /**
* Simultaneously sets both the "from" and "into" PortalMask values to the
* same thing.
*/ 2 4 this 3 4112 4 mask 1 4113
1828 0 0 4 2032 3813 0 0 218 /**
* Sets the "from" PortalMask. In order for a portal to be detected from this
* object into another object, the intersection of this object's "from" mask
* and the other object's "into" mask must be nonzero.
*/ 2 4 this 3 4112 4 mask 1 4113
1829 0 0 4 2033 3813 0 0 218 /**
* Sets the "into" PortalMask. In order for a portal to be detected from
* another object into this object, the intersection of the other object's
* "from" mask and this object's "into" mask must be nonzero.
*/ 2 4 this 3 4112 4 mask 1 4113
1830 0 0 7 2034 4113 0 0 229 /**
* Returns the current "from" PortalMask. In order for a portal to be
* detected from this object into another object, the intersection of this
* object's "from" mask and the other object's "into" mask must be nonzero.
*/ 1 4 this 3 4114
1831 0 0 7 2035 4113 0 0 229 /**
* Returns the current "into" PortalMask. In order for a portal to be
* detected from another object into this object, the intersection of the
* other object's "from" mask and this object's "into" mask must be nonzero.
*/ 1 4 this 3 4114
1832 0 0 4 2036 3813 0 0 496 /**
* Sets the state of the "portal geom" flag for this PortalNode. Normally,
* this is false; when this is set true, the PortalSolids in this node will
* test for portals with actual renderable geometry, in addition to whatever
* PortalSolids may be indicated by the from_portal_mask.
*
* Setting this to true causes this to test *all* GeomNodes for portals. It
* is an all-or-none thing; there is no way to portal with only some
* GeomNodes, as GeomNodes have no into_portal_mask.
*/ 2 4 this 3 4112 4 flag 1 3604
1833 0 0 6 2037 3604 0 0 85 /**
* Returns the current state of the portal_geom flag. See set_portal_geom().
*/ 1 4 this 3 4114
1834 0 0 4 2038 3813 0 0 63 /**
* Resets the vertices of the portal to the empty list.
*/ 1 4 this 3 4112
1835 0 0 4 2039 3813 0 0 153 /**
* Adds a new vertex to the portal polygon. The vertices should be defined in
* a counterclockwise orientation when viewing through the portal.
*/ 2 4 this 3 4112 6 vertex 1 3810
1836 0 0 6 2040 3597 0 0 64 /**
* Returns the number of vertices in the portal polygon.
*/ 1 4 this 3 4114
1837 0 0 6 2041 3810 0 0 56 /**
* Returns the nth vertex of the portal polygon.
*/ 2 4 this 3 4114 1 n 1 3597
1838 0 0 4 2043 3813 0 0 52 /**
* Sets the cell that this portal belongs to
*/ 2 4 this 3 4112 4 cell 1 3889
1839 0 0 7 2044 3885 2700 0 52 /**
* Sets the cell that this portal belongs to
*/ 1 4 this 3 4114
1840 0 0 4 2045 3813 0 0 54 /**
* Sets the cell that this portal leads out to
*/ 2 4 this 3 4112 4 cell 1 3889
1841 0 0 7 2046 3885 2700 0 54 /**
* Sets the cell that this portal leads out to
*/ 1 4 this 3 4114
1842 0 0 4 2047 3813 0 0 80 /**
* this is set if the portal will clip against its left and right planes
*/ 2 4 this 3 4112 5 value 1 3604
1843 0 0 6 2048 3604 0 0 64 /**
* Is this portal clipping against its left-right planes
*/ 1 4 this 3 4112
1844 0 0 4 2049 3813 0 0 53 /**
* this is set if the portal is facing camera
*/ 2 4 this 3 4112 5 value 1 3604
1845 0 0 6 2050 3604 0 0 43 /**
* Is this portal facing the camera
*/ 1 4 this 3 4112
1846 0 0 4 2051 3813 0 0 63 /**
* Set the maximum depth this portal will be visible at
*/ 2 4 this 3 4112 5 value 1 3597
1847 0 0 6 2052 3597 0 0 67 /**
* Returns the maximum depth this portal will be visible at
*/ 1 4 this 3 4112
1848 0 0 4 2053 3813 0 0 55 /**
* Python sets this based on curent camera zone
*/ 2 4 this 3 4112 5 value 1 3604
1849 0 0 6 2054 3604 0 0 55 /**
* Is this portal open from current camera zone
*/ 1 4 this 3 4112
1850 0 0 7 2067 3817 0 0 0 0
1851 0 0 7 2069 3611 0 0 112 /**
* Constructs a new ScissorAttrib object that removes the scissor region and
* fills the DisplayRegion.
*/ 0
1852 0 0 7 2070 3611 0 0 216 /**
* Constructs a ScissorAttrib that restricts rendering to the indicated frame
* within the current DisplayRegion. (0,0) is the lower-left corner of the
* DisplayRegion, and (1,1) is the upper-right corner.
*/ 1 5 frame 1 3881
1853 0 0 7 2070 3611 0 0 216 /**
* Constructs a ScissorAttrib that restricts rendering to the indicated frame
* within the current DisplayRegion. (0,0) is the lower-left corner of the
* DisplayRegion, and (1,1) is the upper-right corner.
*/ 4 4 left 1 3602 5 right 1 3602 6 bottom 1 3602 3 top 1 3602
1854 0 0 7 2071 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1855 0 0 6 2072 3604 0 0 119 /**
* Returns true if the ScissorAttrib is an 'off' ScissorAttrib, indicating
* that scissor testing is disabled.
*/ 1 4 this 3 4116
1856 0 0 6 2073 3881 0 0 234 /**
* Returns the left, right, bottom, top coordinates of the scissor frame.
* This defines a frame within the current DisplayRegion, where 0,0 is the
* lower-left corner of the DisplayRegion, and 1,1 is the upper-right corner.
*/ 1 4 this 3 4116
1857 0 0 6 2075 3597 0 0 0 0
1858 0 0 7 2077 3817 0 0 0 0
1859 0 0 7 2081 3611 0 0 149 /**
* Constructs a new ShadeModelAttrib object that specifies whether to draw
* polygons with flat shading or with per-vertex (smooth) shading.
*/ 1 4 mode 1 3789
1860 0 0 7 2082 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1861 0 0 6 2083 3789 0 0 34 /**
* Returns the shade mode.
*/ 1 4 this 3 4118
1862 0 0 6 2085 3597 0 0 0 0
1863 0 0 7 2087 3817 0 0 0 0
1864 0 0 7 2093 3611 0 0 69 /**
* Constructs a StencilAttrib that has stenciling turned off.
*/ 0
1865 0 0 7 2094 3611 0 0 145 /**
* Returns a RenderAttrib that corresponds to whatever the standard default
* properties for render attributes of this type ought to be.
*/ 0
1866 0 0 7 2095 3611 0 0 49 /**
* Constructs a front face StencilAttrib.
*/ 8 12 front_enable 1 3604 25 front_comparison_function 1 3598 22 stencil_fail_operation 1 3793 29 stencil_pass_z_fail_operation 1 3793 35 front_stencil_pass_z_pass_operation 1 3793 9 reference 1 3691 9 read_mask 1 3691 10 write_mask 1 3691
1867 0 0 7 2096 3611 0 0 48 /**
* Constructs a two-sided StencilAttrib.
*/ 13 12 front_enable 1 3604 11 back_enable 1 3604 25 front_comparison_function 1 3598 22 stencil_fail_operation 1 3793 29 stencil_pass_z_fail_operation 1 3793 35 front_stencil_pass_z_pass_operation 1 3793 9 reference 1 3691 9 read_mask 1 3691 10 write_mask 1 3691 24 back_comparison_function 1 3598 27 back_stencil_fail_operation 1 3793 34 back_stencil_pass_z_fail_operation 1 3793 34 back_stencil_pass_z_pass_operation 1 3793
1868 0 0 7 2097 3611 0 0 49 /**
* Constructs a front face StencilAttrib.
*/ 10 12 front_enable 1 3604 25 front_comparison_function 1 3598 22 stencil_fail_operation 1 3793 29 stencil_pass_z_fail_operation 1 3793 35 front_stencil_pass_z_pass_operation 1 3793 9 reference 1 3691 9 read_mask 1 3691 10 write_mask 1 3691 5 clear 1 3604 11 clear_value 1 3691
1869 0 0 7 2098 3611 0 0 48 /**
* Constructs a two-sided StencilAttrib.
*/ 15 12 front_enable 1 3604 11 back_enable 1 3604 25 front_comparison_function 1 3598 22 stencil_fail_operation 1 3793 29 stencil_pass_z_fail_operation 1 3793 35 front_stencil_pass_z_pass_operation 1 3793 9 reference 1 3691 9 read_mask 1 3691 10 write_mask 1 3691 24 back_comparison_function 1 3598 27 back_stencil_fail_operation 1 3793 34 back_stencil_pass_z_fail_operation 1 3793 34 back_stencil_pass_z_pass_operation 1 3793 5 clear 1 3604 11 clear_value 1 3691
1870 0 0 6 2099 3691 0 0 32 /**
* Returns render state.
*/ 2 4 this 3 4120 23 render_state_identifier 1 3791
1871 0 0 6 2100 3597 0 0 0 0
1872 0 0 7 2102 3817 0 0 0 0
1873 0 0 6 2105 3604 0 0 76 /**
* Returns true if the shader has ever been loaded, false otherwise.
*/ 1 8 filename 1 3915
1874 0 0 6 2106 3604 0 0 306 /**
* Loads the given filename up into a shader, if it has not already been
* loaded, and returns true to indicate success, or false to indicate failure.
* If this returns true, it is guaranteed that a subsequent call to
* load_shader() with the same shader name will return a valid Shader pointer.
*/ 1 8 filename 1 3915
1875 0 0 7 2107 3772 0 0 261 /**
* Loads the given filename up into a shader, if it has not already been
* loaded, and returns the new shader. If a shader with the same filename was
* previously loaded, returns that one instead. If the shader file cannot be
* found, returns NULL.
*/ 1 8 filename 1 3915
1876 0 0 4 2108 3813 0 0 171 /**
* Adds the indicated already-loaded shader to the pool. The shader will
* always replace any previously-loaded shader in the pool that had the same
* filename.
*/ 2 8 filename 1 3915 6 shader 1 4122
1877 0 0 4 2109 3813 0 0 270 /**
* Removes the indicated shader from the pool, indicating it will never be
* loaded again; the shader may then be freed. If this function is never
* called, a reference count will be maintained on every shader every loaded,
* and shaders will never be freed.
*/ 1 8 filename 1 3915
1878 0 0 4 2110 3813 0 0 85 /**
* Releases all shaders in the pool and restores the pool to the empty state.
*/ 0
1879 0 0 6 2111 3597 0 0 209 /**
* Releases only those shaders in the pool that have a reference count of
* exactly 1; i.e. only those shaders that are not being used outside of the
* pool. Returns the number of shaders released.
*/ 0
1880 0 0 4 2112 3813 0 0 80 /**
* Lists the contents of the shader pool to the indicated output stream.
*/ 1 3 out 1 3814
1881 0 0 4 2113 3813 0 0 80 /**
* Lists the contents of the shader pool to the indicated output stream.
*/ 1 3 out 1 3814
1882 0 0 7 2022 3885 2700 0 0 1 4 data 1 3859
1883 0 0 7 2023 3885 2700 0 0 2 9 unpickler 1 3627 4 data 1 3859
544
3580 14 TransformState 0 16852993 14 TransformState 14 TransformState 0 0 0 0 0 7 4124 4125 4126 4127 4128 4129 4130 97 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 0 0 1 0 3581 0 0 0 0 734
/**
* Indicates a coordinate-system transform on vertices. TransformStates are
* the primary means for storing transformations on the scene graph.
*
* Transforms may be specified in one of two ways: componentwise, with a pos-
* hpr-scale, or with an arbitrary transform matrix. If you specify a
* transform componentwise, it will remember its original components.
*
* TransformState objects are managed very much like RenderState objects.
* They are immutable and reference-counted automatically.
*
* You should not attempt to create or modify a TransformState object
* directly. Instead, call one of the make() functions to create one for you.
* And instead of modifying a TransformState object, create a new one.
*/
3581 24 NodeCachedReferenceCount 0 2048 24 NodeCachedReferenceCount 24 NodeCachedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 1495
/**
* This class further specializes CachedTypedWritableReferenceCount to also
* add a node_ref_count, for the purposes of counting the number of times the
* object is referenced by a "node", presumably a PandaNode.
*
* This essentially combines the functionality of NodeReferenceCount and
* CachedTypedWritableReferenceCount, so that a derivative of this object
* actually has three counters: the standard reference count, the "cache"
* reference count, and the "node" reference count. Rather than multiply
* inheriting from the two reference count classes, we inherit only from
* CachedTypedWritableReferenceCount and simply duplicate the functionality of
* NodeReferenceCount, to avoid all of the problems associated with multiple
* inheritance.
*
* The intended design is to use this as a base class for RenderState and
* TransformState, both of which are held by PandaNodes, and also have caches
* which are independently maintained. By keeping track of how many nodes
* hold a pointer to a particular object, we can classify each object into
* node-referenced, cache-referenced, or other, which is primarily useful for
* PStats reporting.
*
* As with CachedTypedWritableReferenceCount's cache_ref() and cache_unref(),
* the new methods node_ref() and node_unref() automatically increment and
* decrement the primary reference count as well. In this case, however,
* there does exist a NodePointerTo<> class to maintain the node_ref counters
* automatically.
*/
3582 13 LPoint3 const 0 8832 13 LPoint3 const 13 LPoint3 const 0 0 3583 0 0 0 0 0 0 0 0 0 0
3583 7 LPoint3 0 2105344 7 LPoint3 7 LPoint3 0 0 3584 0 0 0 0 0 0 0 0 0 0
3584 8 LPoint3f 0 2048 8 LPoint3f 8 LPoint3f 0 0 0 0 0 0 0 0 0 0 0 0 337
/**
* This is a three-component point in space (as opposed to a three-component
* vector, which represents a direction and a distance). Some of the methods
* are slightly different between LPoint3 and LVector3; in particular,
* subtraction of two points yields a vector, while addition of a vector and a
* point yields a point.
*/
3585 15 LVecBase3 const 0 8832 15 LVecBase3 const 15 LVecBase3 const 0 0 3586 0 0 0 0 0 0 0 0 0 0
3586 9 LVecBase3 0 2105344 9 LVecBase3 9 LVecBase3 0 0 3587 0 0 0 0 0 0 0 0 0 0
3587 10 LVecBase3f 0 2048 10 LVecBase3f 10 LVecBase3f 0 0 0 0 0 0 0 0 0 0 0 0 77
/**
* This is the base class for all three-component vectors and points.
*/
3588 17 LQuaternion const 0 8832 17 LQuaternion const 17 LQuaternion const 0 0 3589 0 0 0 0 0 0 0 0 0 0
3589 11 LQuaternion 0 2105344 11 LQuaternion 11 LQuaternion 0 0 3590 0 0 0 0 0 0 0 0 0 0
3590 12 LQuaternionf 0 2048 12 LQuaternionf 12 LQuaternionf 0 0 0 0 0 0 0 0 0 0 0 0 44
/**
* This is the base quaternion class
*/
3591 14 LMatrix4 const 0 8832 14 LMatrix4 const 14 LMatrix4 const 0 0 3592 0 0 0 0 0 0 0 0 0 0
3592 8 LMatrix4 0 2105344 8 LMatrix4 8 LMatrix4 0 0 3593 0 0 0 0 0 0 0 0 0 0
3593 9 LMatrix4f 0 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 0 0 0 0 0 45
/**
* This is a 4-by-4 transform matrix.
*/
3594 20 RenderAttribRegistry 0 43009 20 RenderAttribRegistry 20 RenderAttribRegistry 0 0 0 0 0 0 10 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 0 0 0 0 0 212
/**
* This class is used to associate each RenderAttrib with a different slot
* index at runtime, so we can store a list of RenderAttribs in the
* RenderState object, and very quickly look them up by type.
*/
3595 12 RenderAttrib 0 75777 12 RenderAttrib 12 RenderAttrib 0 0 0 0 0 1 4131 14 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 0 0 1 0 3596 0 0 0 2 3598 3599 1074
/**
* This is the base class for a number of render attributes (other than
* transform) that may be set on scene graph nodes to control the appearance
* of geometry. This includes TextureAttrib, ColorAttrib, etc.
*
* RenderAttrib represents render attributes that always propagate down to the
* leaves without regard to the particular node they are assigned to. A
* RenderAttrib will have the same effect on a leaf node whether it is
* assigned to the graph at the leaf or several nodes above. This is
* different from RenderEffect, which represents a particular render property
* that is applied immediately to the node on which it is encountered, like
* billboarding or decaling.
*
* You should not attempt to create or modify a RenderAttrib directly;
* instead, use the make() method of the appropriate kind of attrib you want.
* This will allocate and return a new RenderAttrib of the appropriate type,
* and it may share pointers if possible. Do not modify the new RenderAttrib
* if you wish to change its properties; instead, create a new one.
*/
3596 27 TypedWritableReferenceCount 0 2048 27 TypedWritableReferenceCount 27 TypedWritableReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 414
/**
* A base class for things which need to inherit from both TypedWritable and
* from ReferenceCount. It's convenient to define this intermediate base
* class instead of multiply inheriting from the two classes each time they
* are needed, so that we can sensibly pass around pointers to things which
* are both TypedWritables and ReferenceCounters.
*
* See also TypedObject for detailed instructions.
*/
3597 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
3598 16 PandaCompareFunc 0 794624 30 RenderAttrib::PandaCompareFunc 30 RenderAttrib::PandaCompareFunc 3595 0 0 0 0 0 0 0 0 0 9 6 M_none 20 RenderAttrib::M_none 36
// alpha-test disabled (always-draw)
0 7 M_never 21 RenderAttrib::M_never 14
// Never draw.
1 6 M_less 20 RenderAttrib::M_less 29
// incoming < reference_alpha
2 7 M_equal 21 RenderAttrib::M_equal 30
// incoming == reference_alpha
3 12 M_less_equal 26 RenderAttrib::M_less_equal 30
// incoming <= reference_alpha
4 9 M_greater 23 RenderAttrib::M_greater 29
// incoming > reference_alpha
5 11 M_not_equal 25 RenderAttrib::M_not_equal 30
// incoming != reference_alpha
6 15 M_greater_equal 29 RenderAttrib::M_greater_equal 30
// incoming >= reference_alpha
7 8 M_always 22 RenderAttrib::M_always 15
// Always draw.
8 0 44
// intentionally defined to match D3DCMPFUNC
3599 10 TexGenMode 0 794624 24 RenderAttrib::TexGenMode 24 RenderAttrib::TexGenMode 3595 0 0 0 0 0 0 0 0 0 12 5 M_off 19 RenderAttrib::M_off 0
0 16 M_eye_sphere_map 30 RenderAttrib::M_eye_sphere_map 210
// Sphere maps are classic static reflection maps. They are supported on
// just about any hardware, and require a precomputed 360-degree fisheye
// image. Sphere maps only make sense in eye coordinate space.
1 16 M_world_cube_map 30 RenderAttrib::M_world_cube_map 439
/*
* Cube maps are a modern improvement on the sphere map; they don't suffer
* from any polar singularities, but they require six texture images. They
* can also be generated dynamically for real-time reflections (see
* GraphicsOutput::make_cube_map()). Typically, a statically-generated cube
* map will be in eye space, while a dynamically-generated map will be in
* world space. Cube mapping is not supported on all hardware.
*/
2 14 M_eye_cube_map 28 RenderAttrib::M_eye_cube_map 0
3 14 M_world_normal 28 RenderAttrib::M_world_normal 100
// Normal maps are most useful for applying diffuse lighting effects via a
// pregenerated cube map.
4 12 M_eye_normal 26 RenderAttrib::M_eye_normal 0
5 16 M_world_position 30 RenderAttrib::M_world_position 180
// Position maps convert XYZ coordinates directly to texture coordinates.
// This is particularly useful for implementing projective texturing (see
// NodePath::project_texture()).
6 8 M_unused 22 RenderAttrib::M_unused 46
// formerly M_object_position, now deprecated.
7 14 M_eye_position 28 RenderAttrib::M_eye_position 0
8 14 M_point_sprite 28 RenderAttrib::M_point_sprite 683
/*
* With M_point_sprite, texture coordinates will be generated for large points
* in the range (0,0) - (1,1) from upper-left to lower-right across the
* point's face. Without this, each point will have just a single uniform
* texture coordinate value across its face. Unfortunately, the generated
* texture coordinates are inverted (upside-down) from Panda's usual
* convention, but this is what the graphics card manufacturers decided to
* use. You could use a texture matrix to re-invert the texture, but that
* will probably force the sprites' vertices to be computed in the CPU. You'll
* have to paint your textures upside-down if you want true hardware sprites.
*/
9 9 M_unused2 23 RenderAttrib::M_unused2 324
// M_light_vector generated special 3-d texture coordinates that
// represented the vector to a particular Light in the scene graph,
// expressed in each vertex's tangent space. This has now been removed.
// We need to reserve the slot in the enum, though, to make sure the
// following enum value still has the same value.
10 10 M_constant 24 RenderAttrib::M_constant 193
// M_constant generates the same fixed texture coordinates at each vertex.
// Not terribly useful, of course, except for certain special effects
// involving moving a flat color over an object.
11 0 179
// This is the enumerated type for TexGenAttrib. It is inherited into
// TexGenAttrib. It is defined up at this level only to avoid circular
// dependencies in the header files.
3600 16 RenderModeAttrib 0 141313 16 RenderModeAttrib 16 RenderModeAttrib 0 0 0 0 2014 5 4132 4133 4134 4135 4136 9 2005 2006 2007 2008 2009 2010 2011 2012 2013 0 0 1 0 3595 0 0 0 1 3601 50
/**
* Specifies how polygons are to be drawn.
*/
3601 4 Mode 0 794624 22 RenderModeAttrib::Mode 22 RenderModeAttrib::Mode 3600 0 0 0 0 0 0 0 0 0 6 11 M_unchanged 29 RenderModeAttrib::M_unchanged 0
0 8 M_filled 26 RenderModeAttrib::M_filled 27
// Normal, filled polygons.
1 11 M_wireframe 29 RenderModeAttrib::M_wireframe 47
// Wireframe polygons, possibly with thickness.
2 7 M_point 25 RenderModeAttrib::M_point 80
// Points at vertices only, possibly with thickness andor perspective
// sizing.
3 13 M_filled_flat 31 RenderModeAttrib::M_filled_flat 152
// Filled polygons, without any particular emphasis on perspective
// correctness (a particularly useful designation for software rendering
// sprites).
4 18 M_filled_wireframe 36 RenderModeAttrib::M_filled_wireframe 94
// Filled polygons with wireframe rendered in front. The wireframe is
// given a solid color.
5 0 0
3602 11 PN_stdfloat 0 2105344 11 PN_stdfloat 11 PN_stdfloat 0 0 3603 0 0 0 0 0 0 0 0 0 0
3603 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
3604 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
3605 12 LColor const 0 8832 12 LColor const 12 LColor const 0 0 3606 0 0 0 0 0 0 0 0 0 0
3606 6 LColor 0 2105344 6 LColor 6 LColor 0 0 3607 0 0 0 0 0 0 0 0 0 0
3607 7 LColorf 0 2105344 7 LColorf 7 LColorf 0 0 3608 0 0 0 0 0 0 0 0 0 0
3608 10 LVecBase4f 0 2048 10 LVecBase4f 10 LVecBase4f 0 0 0 0 0 0 0 0 0 0 0 0 77
/**
* This is the base class for all three-component vectors and points.
*/
3609 15 TexMatrixAttrib 0 75777 15 TexMatrixAttrib 15 TexMatrixAttrib 0 0 0 0 0 1 4137 14 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 1 4297 0 1 0 3595 0 0 0 0 71
/**
* Applies a transform matrix to UV's before they are rendered.
*/
3610 11 RenderState 0 75777 11 RenderState 11 RenderState 0 0 0 0 0 1 4138 50 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 0 0 1 0 3581 0 0 0 0 340
/**
* This represents a unique collection of RenderAttrib objects that correspond
* to a particular renderable state.
*
* You should not attempt to create or modify a RenderState object directly.
* Instead, call one of the make() functions to create one for you. And
* instead of modifying a RenderState object, create a new one.
*/
3611 20 RenderAttrib const * 0 8576 20 RenderAttrib const * 20 RenderAttrib const * 0 0 3612 0 0 0 0 0 0 0 0 0 0
3612 18 RenderAttrib const 0 8832 18 RenderAttrib const 18 RenderAttrib const 0 0 3595 0 0 0 0 0 0 0 0 0 0
3613 15 AlphaTestAttrib 0 141313 15 AlphaTestAttrib 15 AlphaTestAttrib 0 0 0 0 2086 3 4139 4140 4141 6 2080 2081 2082 2083 2084 2085 0 0 1 0 3595 0 0 0 0 126
/**
* Enables or disables writing of pixel to framebuffer based on its alpha
* value relative to a reference alpha value
*/
3614 15 AntialiasAttrib 0 141313 15 AntialiasAttrib 15 AntialiasAttrib 0 0 0 0 2094 4 4142 4143 4144 4145 7 2087 2088 2089 2090 2091 2092 2093 0 0 1 0 3595 0 0 0 1 3615 100
/**
* Specifies whether or how to enable antialiasing, if supported by the
* backend renderer.
*/
3615 4 Mode 0 794624 21 AntialiasAttrib::Mode 21 AntialiasAttrib::Mode 3614 0 0 0 0 0 0 0 0 0 10 6 M_none 23 AntialiasAttrib::M_none 0
0 7 M_point 24 AntialiasAttrib::M_point 0
1 6 M_line 23 AntialiasAttrib::M_line 0
2 9 M_polygon 26 AntialiasAttrib::M_polygon 0
4 13 M_multisample 30 AntialiasAttrib::M_multisample 0
8 6 M_auto 23 AntialiasAttrib::M_auto 0
31 11 M_type_mask 28 AntialiasAttrib::M_type_mask 0
31 8 M_faster 25 AntialiasAttrib::M_faster 50
// Extra add-on bits for performancequality hints.
32 8 M_better 25 AntialiasAttrib::M_better 0
64 11 M_dont_care 28 AntialiasAttrib::M_dont_care 0
96 0 0
3616 18 unsigned short int 0 8262 18 unsigned short int 18 unsigned short int 0 1 0 0 0 0 0 0 0 0 0 0 0
3617 12 RenderEffect 0 75777 12 RenderEffect 12 RenderEffect 0 0 0 0 0 0 7 2095 2096 2097 2098 2099 2100 2101 0 0 1 0 3596 0 0 0 0 901
/**
* This is the base class for a number of special render effects that may be
* set on scene graph nodes to change the way they render. This includes
* BillboardEffect, DecalEffect, etc.
*
* RenderEffect represents render properties that must be applied as soon as
* they are encountered in the scene graph, rather than propagating down to
* the leaves. This is different from RenderAttrib, which represents
* properties like color and texture that don't do anything until they
* propagate down to a GeomNode.
*
* You should not attempt to create or modify a RenderEffect directly;
* instead, use the make() method of the appropriate kind of effect you want.
* This will allocate and return a new RenderEffect of the appropriate type,
* and it may share pointers if possible. Do not modify the new RenderEffect
* if you wish to change its properties; instead, create a new one.
*/
3618 13 RenderEffects 0 75777 13 RenderEffects 13 RenderEffects 0 0 0 0 0 0 17 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 0 0 1 0 3596 0 0 0 0 344
/**
* This represents a unique collection of RenderEffect objects that correspond
* to a particular renderable state.
*
* You should not attempt to create or modify a RenderEffects object directly.
* Instead, call one of the make() functions to create one for you. And
* instead of modifying a RenderEffects object, create a new one.
*/
3619 9 PandaNode 0 26625 9 PandaNode 9 PandaNode 0 0 0 1 2125 2126 22 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 112 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2252 3 4298 4299 4300 0 3 3 3596 2119 2120 3 3620 2121 2122 3 3621 2123 2124 0 5 3630 3638 3639 3640 3641 175
/**
* A basic node of the scene graph or data graph. This is the base class of
* all specialized nodes, and also serves as a generic node with no special
* properties.
*/
3620 7 Namable 0 2048 7 Namable 7 Namable 0 0 0 0 0 0 0 0 0 0 0 0 125
/**
* A base class for all things which can have a name. The name is either
* empty or nonempty, but it is never NULL.
*/
3621 14 LinkedListNode 0 2048 14 LinkedListNode 14 LinkedListNode 0 0 0 0 0 0 0 0 0 0 0 0 468
/**
* This just stores the pointers to implement a doubly-linked list of some
* kind of object. There are occasions when a hand-rolled linked list is more
* appropriate than an STL container.
*
* Typically, each node of the linked list, as well as the root of the list,
* will inherit from this class.
*
* Note that this class is not inherently thread-safe; derived classes are
* responsible for protecting any calls into it within mutexes, if necessary.
*/
3622 29 ConstPointerTo< RenderState > 0 2048 29 ConstPointerTo< RenderState > 29 ConstPointerTo< RenderState > 0 0 0 0 0 0 0 0 0 0 0 0 0
3623 31 ConstPointerTo< RenderEffects > 0 2048 31 ConstPointerTo< RenderEffects > 31 ConstPointerTo< RenderEffects > 0 0 0 0 0 0 0 0 0 0 0 0 0
3624 32 ConstPointerTo< TransformState > 0 2048 32 ConstPointerTo< TransformState > 32 ConstPointerTo< TransformState > 0 0 0 0 0 0 0 0 0 0 0 0 0
3625 6 string 0 2105344 11 std::string 11 std::string 0 0 3626 0 0 0 0 0 0 0 0 0 0
3626 20 basic_string< char > 0 2048 25 std::basic_string< char > 25 std::basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0
3627 10 PyObject * 0 8576 10 PyObject * 10 PyObject * 0 0 3628 0 0 0 0 0 0 0 0 0 0
3628 8 PyObject 0 2105344 8 PyObject 8 PyObject 0 0 3629 0 0 0 0 0 0 0 0 0 0
3629 7 _object 0 1024 7 _object 7 _object 0 0 0 0 0 0 0 0 0 0 0 0 0
3630 16 UnexpectedChange 0 794624 27 PandaNode::UnexpectedChange 27 PandaNode::UnexpectedChange 3619 0 0 0 0 0 0 0 0 0 5 10 UC_parents 21 PandaNode::UC_parents 0
1 11 UC_children 22 PandaNode::UC_children 0
2 12 UC_transform 23 PandaNode::UC_transform 0
4 8 UC_state 19 PandaNode::UC_state 0
8 12 UC_draw_mask 23 PandaNode::UC_draw_mask 0
16 0 0
3631 8 DrawMask 0 2105344 8 DrawMask 8 DrawMask 0 0 3632 0 0 0 0 0 0 0 0 0 0
3632 9 BitMask32 0 2105344 9 BitMask32 9 BitMask32 0 0 3633 0 0 0 0 0 0 0 0 0 0
3633 23 BitMask< uint32_t, 32 > 0 2048 23 BitMask< uint32_t, 32 > 23 BitMask< uint32_t, 32 > 0 0 0 0 0 0 0 0 0 0 0 0 0
3634 11 CollideMask 0 2105344 11 CollideMask 11 CollideMask 0 0 3632 0 0 0 0 0 0 0 0 0 0
3635 10 BoundsType 0 794624 26 BoundingVolume::BoundsType 26 BoundingVolume::BoundsType 3636 0 0 0 0 0 0 0 0 0 5 10 BT_default 26 BoundingVolume::BT_default 0
0 7 BT_best 23 BoundingVolume::BT_best 0
1 9 BT_sphere 25 BoundingVolume::BT_sphere 0
2 6 BT_box 22 BoundingVolume::BT_box 0
3 10 BT_fastest 26 BoundingVolume::BT_fastest 0
4 0 80
// This enum is used to control the automatic generation of bounding
// volumes.
3636 14 BoundingVolume 0 2048 14 BoundingVolume 14 BoundingVolume 0 0 0 0 0 0 0 0 0 0 0 0 330
/**
* This is an abstract class for any volume in any sense which can be said to
* define the locality of reference of a node in a graph, along with all of
* its descendants. It is not necessarily a geometric volume (although see
* GeometricBoundingVolume); this is simply an abstract interface for bounds
* of any sort.
*/
3637 32 ConstPointerTo< BoundingVolume > 0 2048 32 ConstPointerTo< BoundingVolume > 32 ConstPointerTo< BoundingVolume > 0 0 0 0 0 0 0 0 0 0 0 0 0
3638 9 FancyBits 0 794624 20 PandaNode::FancyBits 20 PandaNode::FancyBits 3619 0 0 0 0 0 0 0 0 0 6 12 FB_transform 23 PandaNode::FB_transform 0
1 8 FB_state 19 PandaNode::FB_state 0
2 10 FB_effects 21 PandaNode::FB_effects 0
4 6 FB_tag 17 PandaNode::FB_tag 0
16 12 FB_draw_mask 23 PandaNode::FB_draw_mask 0
32 16 FB_cull_callback 27 PandaNode::FB_cull_callback 0
64 0 0
3639 8 Children 0 403457 19 PandaNode::Children 19 PandaNode::Children 3619 0 0 0 2243 0 2 2241 2242 0 0 0 0 0 382
// This class is returned from get_children(). Use it to walk through the
// list of children. This is faster, and safer, than walking through the
// children one at a time via get_num_children()/get_child(), since the list
// of children is saved out ahead of time, rather than having to reacquire
// the lock with each iteration, or to keep the lock held for the entire
// pass.
3640 7 Stashed 0 403457 18 PandaNode::Stashed 18 PandaNode::Stashed 3619 0 0 0 2246 0 2 2244 2245 0 0 0 0 0 34
// Similarly for stashed children.
3641 7 Parents 0 403457 18 PandaNode::Parents 18 PandaNode::Parents 3619 0 0 0 2249 0 2 2247 2248 0 0 0 0 0 45
// This class is returned from get_parents().
3642 18 TransparencyAttrib 0 141313 18 TransparencyAttrib 18 TransparencyAttrib 0 0 0 0 2258 2 4168 4169 5 2253 2254 2255 2256 2257 0 0 1 0 3595 0 0 0 1 3643 425
/**
* This controls the enabling of transparency. Simply setting an alpha
* component to non-1 does not in itself make an object transparent; you must
* also enable transparency mode with a suitable TransparencyAttrib.
* Similarly, it is wasteful to render an object with a TransparencyAttrib in
* effect unless you actually want it to be at least partially transparent
* (and it has alpha components less than 1).
*/
3643 4 Mode 0 794624 24 TransparencyAttrib::Mode 24 TransparencyAttrib::Mode 3642 0 0 0 0 0 0 0 0 0 7 6 M_none 26 TransparencyAttrib::M_none 19
// No transparency.
0 7 M_alpha 27 TransparencyAttrib::M_alpha 54
// Normal transparency, panda will sort back-to-front.
1 21 M_premultiplied_alpha 41 TransparencyAttrib::M_premultiplied_alpha 43
// Assume textures use premultiplied alpha.
2 13 M_multisample 33 TransparencyAttrib::M_multisample 48
// Uses ms buffer, alpha values modified to 1.0.
3 18 M_multisample_mask 38 TransparencyAttrib::M_multisample_mask 45
// Uses ms buffer, alpha values not modified.
4 8 M_binary 28 TransparencyAttrib::M_binary 40
// Only writes pixels with alpha >= 0.5.
5 6 M_dual 26 TransparencyAttrib::M_dual 53
// opaque parts first, then sorted transparent parts.
6 0 0
3644 13 LogicOpAttrib 0 141313 13 LogicOpAttrib 13 LogicOpAttrib 0 0 0 0 2265 2 4170 4171 6 2259 2260 2261 2262 2263 2264 0 0 1 0 3595 0 0 0 1 3645 263
/**
* If enabled, specifies that a custom logical operation be performed instead
* of any color blending. Setting it to a value other than M_none will cause
* color blending to be disabled and the given logic operation to be performed.
*
* @since 1.10.0
*/
3645 9 Operation 0 794624 24 LogicOpAttrib::Operation 24 LogicOpAttrib::Operation 3644 0 0 0 0 0 0 0 0 0 17 6 O_none 21 LogicOpAttrib::O_none 45
// LogicOp disabled, regular blending occurs.
0 7 O_clear 22 LogicOpAttrib::O_clear 28
// Clears framebuffer value.
1 5 O_and 20 LogicOpAttrib::O_and 0
2 13 O_and_reverse 28 LogicOpAttrib::O_and_reverse 0
3 6 O_copy 21 LogicOpAttrib::O_copy 48
// Writes the incoming color to the framebuffer.
4 14 O_and_inverted 29 LogicOpAttrib::O_and_inverted 0
5 6 O_noop 21 LogicOpAttrib::O_noop 42
// Leaves the framebuffer value unaltered.
6 5 O_xor 20 LogicOpAttrib::O_xor 0
7 4 O_or 19 LogicOpAttrib::O_or 0
8 5 O_nor 20 LogicOpAttrib::O_nor 0
9 12 O_equivalent 27 LogicOpAttrib::O_equivalent 0
10 8 O_invert 23 LogicOpAttrib::O_invert 0
11 12 O_or_reverse 27 LogicOpAttrib::O_or_reverse 0
12 15 O_copy_inverted 30 LogicOpAttrib::O_copy_inverted 0
13 13 O_or_inverted 28 LogicOpAttrib::O_or_inverted 0
14 6 O_nand 21 LogicOpAttrib::O_nand 0
15 5 O_set 20 LogicOpAttrib::O_set 45
// Sets all the bits in the framebuffer to 1.
16 0 0
3646 11 ShaderInput 0 141313 11 ShaderInput 11 ShaderInput 0 0 0 1 2267 2281 0 13 2266 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 0 1 2268 0 0 2 3647 3648 127
/**
* This is a small container class that can hold any one of the value types
* that can be passed as input to a shader.
*/
3647 11 AccessFlags 0 794624 24 ShaderInput::AccessFlags 24 ShaderInput::AccessFlags 3646 0 0 0 0 0 0 0 0 0 3 6 A_read 19 ShaderInput::A_read 0
1 7 A_write 20 ShaderInput::A_write 0
2 9 A_layered 22 ShaderInput::A_layered 0
4 0 36
// Used when binding texture images.
3648 15 ShaderInputType 0 794624 28 ShaderInput::ShaderInputType 28 ShaderInput::ShaderInputType 3646 0 0 0 0 0 0 0 0 0 9 9 M_invalid 22 ShaderInput::M_invalid 0
0 9 M_texture 22 ShaderInput::M_texture 0
1 10 M_nodepath 23 ShaderInput::M_nodepath 0
2 8 M_vector 21 ShaderInput::M_vector 0
3 9 M_numeric 22 ShaderInput::M_numeric 0
4 17 M_texture_sampler 30 ShaderInput::M_texture_sampler 0
5 7 M_param 20 ShaderInput::M_param 0
6 15 M_texture_image 28 ShaderInput::M_texture_image 0
7 8 M_buffer 21 ShaderInput::M_buffer 0
8 0 0
3649 22 TextureStageCollection 0 26625 22 TextureStageCollection 22 TextureStageCollection 0 0 0 1 2282 2284 0 18 2283 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 1 4301 0 0 0 0 10
/**
*
*/
3650 8 NodePath 0 141313 8 NodePath 8 NodePath 0 0 0 1 2302 2700 11 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 352 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2317 2318 2319 2321 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2 4302 4303 1 2316 0 0 1 3651 762
/**
* NodePath is the fundamental system for disambiguating instances, and also
* provides a higher-level interface for manipulating the scene graph.
*
* A NodePath is a list of connected nodes from the root of the graph to any
* sub-node. Each NodePath therefore uniquely describes one instance of a
* node.
*
* NodePaths themselves are lightweight objects that may easily be copied and
* passed by value. Their data is stored as a series of NodePathComponents
* that are stored on the nodes. Holding a NodePath will keep a reference
* count to all the nodes in the path. However, if any node in the path is
* removed or reparented (perhaps through a different NodePath), the NodePath
* will automatically be updated to reflect the changes.
*/
3651 9 ErrorType 0 794624 19 NodePath::ErrorType 19 NodePath::ErrorType 3650 0 0 0 0 0 0 0 0 0 4 5 ET_ok 15 NodePath::ET_ok 49
// i.e. not empty, or never assigned to anything.
0 12 ET_not_found 22 NodePath::ET_not_found 53
// returned from a failed find() or similar function.
1 10 ET_removed 20 NodePath::ET_removed 56
// remove_node() was previously called on this NodePath.
2 7 ET_fail 17 NodePath::ET_fail 45
// general failure return from some function.
3 0 109
// This enumeration is returned by get_error_type() for an empty NodePath to
// report the reason it's empty.
3652 11 PandaNode * 0 8576 11 PandaNode * 11 PandaNode * 0 0 3619 0 0 0 0 0 0 0 0 0 0
3653 18 NodePathCollection 0 141313 18 NodePathCollection 18 NodePathCollection 0 0 0 1 2336 2376 0 39 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 1 4304 0 0 0 0 178
/**
* This is a set of zero or more NodePaths. It's handy for returning from
* functions that need to return multiple NodePaths (for instance,
* NodePaths::get_children).
*/
3654 18 AttribNodeRegistry 0 141313 18 AttribNodeRegistry 18 AttribNodeRegistry 0 0 0 0 2713 0 12 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 1 4305 0 0 0 0 549
/**
* This global object records NodePaths that are referenced by scene graph
* attribs, such as ClipPlaneAttribs and LightAttribs.
*
* Its primary purpose is to unify attribs that are loaded in from bam files.
* Attrib nodes are identified by name and type; when a bam file that contains
* references to some attrib nodes is loaded, those nodes are first looked up
* here in the AttribNodeRegistry. If there is a match (by name and node
* type), the identified node is used instead of the node referenced within
* the bam file itself.
*/
3655 17 AudioVolumeAttrib 0 141313 17 AudioVolumeAttrib 17 AudioVolumeAttrib 0 0 0 0 2724 2 4183 4184 10 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 0 0 1 0 3595 0 0 0 0 84
/**
* Applies a scale to audio volume for positional sounds in the scene graph.
*/
3656 17 AuxBitplaneAttrib 0 141313 17 AuxBitplaneAttrib 17 AuxBitplaneAttrib 0 0 0 0 2730 2 4185 4186 5 2725 2726 2727 2728 2729 0 0 1 0 3595 0 0 0 1 3657 1237
/**
* Modern frame buffers can have 'aux' bitplanes, which are additional
* bitplanes above and beyond the standard depth and color. This attrib
* controls what gets rendered into those additional bitplanes. It can also
* affect what goes into the alpha channel of the primary color buffer.
*
* ABO_glow: copy the glow map into the alpha channel of the primary frame
* buffer. If there is no glow map, set it to zero. Caveat: it is not
* possible to write glow or depth values to the framebuffer alpha channel at
* the same time as using alpha blending or alpha testing. Any attempt to use
* transparency, blending, or alpha testing will cause this flag to be
* overridden.
*
* ABO_aux_normal: put the camera-space normal into the into the R,G
* components of the first auxiliary bitplane.
*
* ABO_aux_modelz: put the clip-space Z coordinate of the center of the model
* (after perspective divide) into the B channel of the first auxiliary
* bitplane.
*
* ABO_aux_glow: put a copy of the glow map into the alpha channel of the
* first auxiliary bitplane. If there is no glow map, set it to zero.
*
* AuxBitplaneAttrib is relevant only when shader generation is enabled.
* Otherwise, it has no effect.
*
*/
3657 17 AuxBitplaneOutput 0 794624 36 AuxBitplaneAttrib::AuxBitplaneOutput 36 AuxBitplaneAttrib::AuxBitplaneOutput 3656 0 0 0 0 0 0 0 0 0 3 8 ABO_glow 27 AuxBitplaneAttrib::ABO_glow 0
1 14 ABO_aux_normal 33 AuxBitplaneAttrib::ABO_aux_normal 0
2 12 ABO_aux_glow 31 AuxBitplaneAttrib::ABO_aux_glow 0
4 0 0
3658 12 AuxSceneData 0 141313 12 AuxSceneData 12 AuxSceneData 0 0 0 1 2739 2740 0 8 2731 2732 2733 2734 2735 2736 2737 2738 0 0 1 0 3659 0 0 0 0 378
/**
* This is a base class for a generic data structure that can be attached per-
* instance to the camera, to store per-instance data that must be preserved
* over multiple frames.
*
* In particular, this is used to implement the FadeLODNode, which must
* remember during traversal at what point it is in the fade, separately for
* each instance and for each camera.
*/
3659 19 TypedReferenceCount 0 2048 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 410
/**
* A base class for things which need to inherit from both TypedObject and
* from ReferenceCount. It's convenient to define this intermediate base
* class instead of multiply inheriting from the two classes each time they
* are needed, so that we can sensibly pass around pointers to things which
* are both TypedObjects and ReferenceCounters.
*
* See also TypedObject for detailed instructions.
*/
3660 7 BamFile 0 26625 7 BamFile 7 BamFile 0 0 0 1 2741 2742 4 4187 4188 4189 4190 18 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 0 0 1 0 3661 0 0 0 0 574
/**
* The principle public interface to reading and writing Bam disk files. See
* also BamReader and BamWriter, the more general implementation of this
* class.
*
* Bam files are most often used to store scene graphs or subgraphs, and by
* convention they are given filenames ending in the extension ".bam" when
* they are used for this purpose. However, a Bam file may store any
* arbitrary list of TypedWritable objects; in this more general usage, they
* are given filenames ending in ".boo" to differentiate them from the more
* common scene graph files.
*/
3661 8 BamEnums 0 2048 8 BamEnums 8 BamEnums 0 0 0 0 0 0 0 0 0 0 0 0 104
/**
* This class exists just to provide scoping for the enums shared by BamReader
* and BamWriter.
*/
3662 9 BamEndian 0 794624 19 BamEnums::BamEndian 19 BamEnums::BamEndian 3661 0 0 0 0 0 0 0 0 0 3 12 BE_bigendian 22 BamEnums::BE_bigendian 0
0 15 BE_littleendian 25 BamEnums::BE_littleendian 0
1 9 BE_native 19 BamEnums::BE_native 0
1 0 345
// This defines an enumerated type used to represent the endianness of
// certain numeric values stored in a Bam file. It really has only two
// possible values, either BE_bigendian or BE_littleendian; but through a
// preprocessor trick we also add BE_native, which is the same numerically
// as whichever value the hardware supports natively.
3663 11 BamReader * 0 8576 11 BamReader * 11 BamReader * 0 0 3664 0 0 0 0 0 0 0 0 0 0
3664 9 BamReader 0 2048 9 BamReader 9 BamReader 0 0 0 0 0 0 0 0 0 0 0 0 1311
/**
* This is the fundamental interface for extracting binary objects from a Bam
* file, as generated by a BamWriter.
*
* A Bam file can be thought of as a linear collection of objects. Each
* object is an instance of a class that inherits, directly or indirectly,
* from TypedWritable. The objects may include pointers to other objects
* within the Bam file; the BamReader automatically manages these (with help
* from code within each class) and restores the pointers correctly.
*
* This is the abstract interface and does not specifically deal with disk
* files, but rather with a DatagramGenerator of some kind, which is simply a
* linear source of Datagrams. It is probably from a disk file, but it might
* conceivably be streamed directly from a network or some such nonsense.
*
* Bam files are most often used to store scene graphs or subgraphs, and by
* convention they are given filenames ending in the extension ".bam" when
* they are used for this purpose. However, a Bam file may store any
* arbitrary list of TypedWritable objects; in this more general usage, they
* are given filenames ending in ".boo" to differentiate them from the more
* common scene graph files.
*
* See also BamFile, which defines a higher-level interface to read and write
* Bam files on disk.
*/
3665 11 BamWriter * 0 8576 11 BamWriter * 11 BamWriter * 0 0 3666 0 0 0 0 0 0 0 0 0 0
3666 9 BamWriter 0 2048 9 BamWriter 9 BamWriter 0 0 0 0 0 0 0 0 0 0 0 0 1376
/**
* This is the fundamental interface for writing binary objects to a Bam file,
* to be extracted later by a BamReader.
*
* A Bam file can be thought of as a linear collection of objects. Each
* object is an instance of a class that inherits, directly or indirectly,
* from TypedWritable. The objects may include pointers to other objects; the
* BamWriter automatically manages these (with help from code within each
* class) and writes all referenced objects to the file in such a way that the
* pointers may be correctly restored later.
*
* This is the abstract interface and does not specifically deal with disk
* files, but rather with a DatagramSink of some kind, which simply accepts a
* linear stream of Datagrams. It is probably written to a disk file, but it
* might conceivably be streamed directly to a network or some such nonsense.
*
* Bam files are most often used to store scene graphs or subgraphs, and by
* convention they are given filenames ending in the extension ".bam" when
* they are used for this purpose. However, a Bam file may store any
* arbitrary list of TypedWritable objects; in this more general usage, they
* are given filenames ending in ".boo" to differentiate them from the more
* common scene graph files.
*
* See also BamFile, which defines a higher-level interface to read and write
* Bam files on disk.
*/
3667 15 BillboardEffect 0 141313 15 BillboardEffect 15 BillboardEffect 0 0 0 0 2774 0 13 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 0 0 1 0 3617 0 0 0 0 127
/**
* Indicates that geometry at this node should automatically rotate to face
* the camera, or any other arbitrary node.
*/
3668 8 LensNode 0 141313 8 LensNode 8 LensNode 0 0 0 1 2775 2787 0 11 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 0 0 1 0 3619 0 0 0 0 181
/**
* A node that contains a Lens. The most important example of this kind of
* node is a Camera, but other kinds of nodes also contain a lens (for
* instance, a Spotlight).
*/
3669 12 WeakNodePath 0 26625 12 WeakNodePath 12 WeakNodePath 0 0 0 1 2788 2789 0 12 2790 2791 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 0 1 2792 0 0 0 397
/**
* This class is a wrapper around a NodePath that, unlike the actual NodePath
* class, doesn't hold a reference count to the node. Thus the node may be
* detached from the scene graph and destructed at any time.
*
* You can call is_valid() or was_deleted() at any time to determine whether
* the node is still around; if it is, get_node_path() will return the
* associated NodePath.
*/
3670 6 Camera 0 75777 6 Camera 6 Camera 0 0 0 1 2803 2787 12 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 31 2804 2805 2806 2807 2808 2809 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2831 2832 2833 2834 2835 2837 1 4306 0 1 0 3668 0 0 0 0 121
/**
* A node that can be positioned around in the scene graph to represent a
* point of view for rendering a scene.
*/
3671 14 NodePath const 0 8832 14 NodePath const 14 NodePath const 0 0 3650 0 0 0 0 0 0 0 0 0 0
3672 15 DisplayRegion * 0 8576 15 DisplayRegion * 15 DisplayRegion * 0 0 3673 0 0 0 0 0 0 0 0 0 0
3673 13 DisplayRegion 0 2048 13 DisplayRegion 13 DisplayRegion 0 0 0 0 0 0 0 0 0 0 0 0 0
3674 16 BoundingVolume * 0 8576 16 BoundingVolume * 16 BoundingVolume * 0 0 3636 0 0 0 0 0 0 0 0 0 0
3675 12 string const 0 8832 17 std::string const 17 std::string const 0 0 3625 0 0 0 0 0 0 0 0 0 0
3676 14 AuxSceneData * 0 8576 14 AuxSceneData * 14 AuxSceneData * 0 0 3658 0 0 0 0 0 0 0 0 0 0
3677 9 PlaneNode 0 141313 9 PlaneNode 9 PlaneNode 0 0 0 1 2838 2848 0 9 2839 2840 2841 2842 2843 2844 2845 2846 2847 0 0 1 0 3619 0 0 0 1 3678 213
/**
* A node that contains a plane. This is most often used as a clipping plane,
* but it can serve other purposes as well; whenever a plane is needed to be
* defined in some coordinate space in the world.
*/
3678 10 ClipEffect 0 794624 21 PlaneNode::ClipEffect 21 PlaneNode::ClipEffect 3677 0 0 0 0 0 0 0 0 0 2 10 CE_visible 21 PlaneNode::CE_visible 0
1 12 CE_collision 23 PlaneNode::CE_collision 0
2 0 0
3679 15 ClipPlaneAttrib 0 141313 15 ClipPlaneAttrib 15 ClipPlaneAttrib 0 0 0 0 2873 1 4203 24 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2 4307 4308 0 1 0 3595 0 0 0 1 3680 260
/**
* This functions similarly to a LightAttrib. It indicates the set of
* clipping planes that modify the geometry at this level and below. A
* ClipPlaneAttrib can either add planes or remove planes from the total set
* of clipping planes in effect.
*/
3680 9 Operation 0 794624 26 ClipPlaneAttrib::Operation 26 ClipPlaneAttrib::Operation 3679 0 0 0 0 0 0 0 0 0 3 5 O_set 22 ClipPlaneAttrib::O_set 0
0 5 O_add 22 ClipPlaneAttrib::O_add 0
1 8 O_remove 25 ClipPlaneAttrib::O_remove 0
2 0 146
// This is the old, deprecated interface to ClipPlaneAttrib. Do not use any
// of these methods for new code; these methods will be removed soon.
3681 11 ColorAttrib 0 141313 11 ColorAttrib 11 ColorAttrib 0 0 0 0 2882 3 4204 4205 4206 8 2874 2875 2876 2877 2878 2879 2880 2881 0 0 1 0 3595 0 0 0 1 3682 73
/**
* Indicates what color should be applied to renderable geometry.
*/
3682 4 Type 0 794624 17 ColorAttrib::Type 17 ColorAttrib::Type 3681 0 0 0 0 0 0 0 0 0 3 8 T_vertex 21 ColorAttrib::T_vertex 0
0 6 T_flat 19 ColorAttrib::T_flat 0
1 5 T_off 18 ColorAttrib::T_off 0
2 0 0
3683 16 ColorBlendAttrib 0 141313 16 ColorBlendAttrib 16 ColorBlendAttrib 0 0 0 0 2897 8 4207 4208 4209 4210 4211 4212 4213 4214 14 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 0 0 1 0 3595 0 0 0 2 3684 3685 159
/**
* This specifies how colors are blended into the frame buffer, for special
* effects. This overrides transparency if transparency is also specified.
*/
3684 4 Mode 0 794624 22 ColorBlendAttrib::Mode 22 ColorBlendAttrib::Mode 3683 0 0 0 0 0 0 0 0 0 6 6 M_none 24 ColorBlendAttrib::M_none 23
// Blending is disabled
0 5 M_add 23 ColorBlendAttrib::M_add 41
// incoming color * A + fbuffer color * B
1 10 M_subtract 28 ColorBlendAttrib::M_subtract 41
// incoming color * A - fbuffer color * B
2 14 M_inv_subtract 32 ColorBlendAttrib::M_inv_subtract 41
// fbuffer color * B - incoming color * A
3 5 M_min 23 ColorBlendAttrib::M_min 37
// min(incoming color, fbuffer color)
4 5 M_max 23 ColorBlendAttrib::M_max 37
// max(incoming color, fbuffer color)
5 0 0
3685 7 Operand 0 794624 25 ColorBlendAttrib::Operand 25 ColorBlendAttrib::Operand 3683 0 0 0 0 0 0 0 0 0 23 6 O_zero 24 ColorBlendAttrib::O_zero 0
0 5 O_one 23 ColorBlendAttrib::O_one 0
1 16 O_incoming_color 34 ColorBlendAttrib::O_incoming_color 0
2 26 O_one_minus_incoming_color 44 ColorBlendAttrib::O_one_minus_incoming_color 0
3 15 O_fbuffer_color 33 ColorBlendAttrib::O_fbuffer_color 0
4 25 O_one_minus_fbuffer_color 43 ColorBlendAttrib::O_one_minus_fbuffer_color 0
5 16 O_incoming_alpha 34 ColorBlendAttrib::O_incoming_alpha 0
6 26 O_one_minus_incoming_alpha 44 ColorBlendAttrib::O_one_minus_incoming_alpha 0
7 15 O_fbuffer_alpha 33 ColorBlendAttrib::O_fbuffer_alpha 0
8 25 O_one_minus_fbuffer_alpha 43 ColorBlendAttrib::O_one_minus_fbuffer_alpha 0
9 16 O_constant_color 34 ColorBlendAttrib::O_constant_color 0
10 26 O_one_minus_constant_color 44 ColorBlendAttrib::O_one_minus_constant_color 0
11 16 O_constant_alpha 34 ColorBlendAttrib::O_constant_alpha 0
12 26 O_one_minus_constant_alpha 44 ColorBlendAttrib::O_one_minus_constant_alpha 0
13 25 O_incoming_color_saturate 43 ColorBlendAttrib::O_incoming_color_saturate 27
// valid only for operand a
14 17 O_incoming1_color 35 ColorBlendAttrib::O_incoming1_color 135
// The following are used for dual-source blending, where the fragment
// shader outputs a second color that will be used for blending.
15 27 O_one_minus_incoming1_color 45 ColorBlendAttrib::O_one_minus_incoming1_color 0
16 17 O_incoming1_alpha 35 ColorBlendAttrib::O_incoming1_alpha 0
17 27 O_one_minus_incoming1_alpha 45 ColorBlendAttrib::O_one_minus_incoming1_alpha 0
18 13 O_color_scale 31 ColorBlendAttrib::O_color_scale 52
// These modes are being considered for deprecation.
19 23 O_one_minus_color_scale 41 ColorBlendAttrib::O_one_minus_color_scale 0
20 13 O_alpha_scale 31 ColorBlendAttrib::O_alpha_scale 0
21 23 O_one_minus_alpha_scale 41 ColorBlendAttrib::O_one_minus_alpha_scale 0
22 0 0
3686 16 ColorScaleAttrib 0 141313 16 ColorScaleAttrib 16 ColorScaleAttrib 0 0 0 0 2911 2 4215 4216 13 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 0 0 1 0 3595 0 0 0 0 72
/**
* Applies a scale to colors in the scene graph and on vertices.
*/
3687 15 LVecBase4 const 0 8832 15 LVecBase4 const 15 LVecBase4 const 0 0 3688 0 0 0 0 0 0 0 0 0 0
3688 9 LVecBase4 0 2105344 9 LVecBase4 9 LVecBase4 0 0 3608 0 0 0 0 0 0 0 0 0 0
3689 16 ColorWriteAttrib 0 141313 16 ColorWriteAttrib 16 ColorWriteAttrib 0 0 0 0 2917 2 4217 4218 5 2912 2913 2914 2915 2916 0 0 1 0 3595 0 0 0 1 3690 209
/**
* Enables or disables writing to the color buffer. This is primarily useful
* for certain special effects in which it is important to write to the depth
* buffer without affecting the color buffer.
*/
3690 8 Channels 0 794624 26 ColorWriteAttrib::Channels 26 ColorWriteAttrib::Channels 3689 0 0 0 0 0 0 0 0 0 7 5 C_off 23 ColorWriteAttrib::C_off 110
// By coincidence, these bits are the same as those for
// D3DCOLORWRITEENABLE_RED, _GREEN, _BLUE, and _ALPHA.
0 5 C_red 23 ColorWriteAttrib::C_red 0
1 7 C_green 25 ColorWriteAttrib::C_green 0
2 6 C_blue 24 ColorWriteAttrib::C_blue 0
4 5 C_rgb 23 ColorWriteAttrib::C_rgb 30
// == C_red | C_green | C_blue
7 7 C_alpha 25 ColorWriteAttrib::C_alpha 0
8 5 C_all 23 ColorWriteAttrib::C_all 0
15 0 0
3691 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0
3692 13 CompassEffect 0 141313 13 CompassEffect 13 CompassEffect 0 0 0 0 2922 0 4 2918 2919 2920 2921 0 0 1 0 3617 0 0 0 1 3693 1226
/**
* A CompassEffect causes a node to inherit its rotation (or pos or scale, if
* specified) from some other reference node in the graph, or more often from
* the root.
*
* In its purest form, a CompassEffect is used to keep the node's rotation
* fixed relative to the top of the scene graph, despite other transforms that
* may exist above the node. Hence the name: the node behaves like a magnetic
* compass, always pointing in the same direction.
*
* As an couple of generalizing extensions, the CompassEffect may also be set
* up to always orient its node according to some other reference node than
* the root of the scene graph. Furthermore, it may optionally adjust any of
* pos, rotation, or scale, instead of necessarily rotation; and it may adjust
* individual pos and scale components. (Rotation may not be adjusted on an
* individual component basis; that's just asking for trouble.)
*
* Be careful when using the pos and scale modes. In these modes, it's
* possible for the CompassEffect to move its node far from its normal
* bounding volume, causing culling to fail. If this is an issue, you may
* need to explicitly set a large (or infinite) bounding volume on the effect
* node.
*/
3693 10 Properties 0 794624 25 CompassEffect::Properties 25 CompassEffect::Properties 3692 0 0 0 0 0 0 0 0 0 10 3 P_x 18 CompassEffect::P_x 0
1 3 P_y 18 CompassEffect::P_y 0
2 3 P_z 18 CompassEffect::P_z 0
4 5 P_pos 20 CompassEffect::P_pos 0
7 5 P_rot 20 CompassEffect::P_rot 0
8 4 P_sx 19 CompassEffect::P_sx 0
16 4 P_sy 19 CompassEffect::P_sy 0
32 4 P_sz 19 CompassEffect::P_sz 0
64 7 P_scale 22 CompassEffect::P_scale 0
112 5 P_all 20 CompassEffect::P_all 0
127 0 0
3694 12 CullBinEnums 0 141313 12 CullBinEnums 12 CullBinEnums 0 0 0 1 2923 2924 0 0 0 0 0 0 1 3695 92
/**
* Provides scoping for the enumerated type shared by CullBin and
* CullBinManager.
*/
3695 7 BinType 0 794624 21 CullBinEnums::BinType 21 CullBinEnums::BinType 3694 0 0 0 0 0 0 0 0 0 6 10 BT_invalid 24 CullBinEnums::BT_invalid 0
0 11 BT_unsorted 25 CullBinEnums::BT_unsorted 0
1 15 BT_state_sorted 29 CullBinEnums::BT_state_sorted 0
2 16 BT_back_to_front 30 CullBinEnums::BT_back_to_front 0
3 16 BT_front_to_back 30 CullBinEnums::BT_front_to_back 0
4 8 BT_fixed 22 CullBinEnums::BT_fixed 0
5 0 0
3696 8 GeomNode 0 75777 8 GeomNode 8 GeomNode 0 0 0 1 2925 2126 1 4219 19 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 3 4309 4310 4311 0 1 0 3619 0 0 0 0 208
/**
* A node that holds Geom objects, renderable pieces of geometry. This is the
* primary kind of leaf node in the scene graph; almost all visible objects
* will be contained in a GeomNode somewhere.
*/
3697 13 CullBinAttrib 0 141313 13 CullBinAttrib 13 CullBinAttrib 0 0 0 0 2951 3 4220 4221 4222 6 2945 2946 2947 2948 2949 2950 0 0 1 0 3595 0 0 0 0 130
/**
* Assigns geometry to a particular bin by name. The bins must be created
* separately via the CullBinManager interface.
*/
3698 14 CullBinManager 0 43009 14 CullBinManager 14 CullBinManager 0 0 0 0 0 0 18 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 1 4312 0 1 0 3694 0 0 0 0 99
/**
* This is a global object that maintains the collection of named CullBins in
* the world.
*/
3699 14 CullFaceAttrib 0 141313 14 CullFaceAttrib 14 CullFaceAttrib 0 0 0 0 2978 4 4223 4224 4225 4226 8 2970 2971 2972 2973 2974 2975 2976 2977 0 0 1 0 3595 0 0 0 1 3700 81
/**
* Indicates which faces should be culled based on their vertex ordering.
*/
3700 4 Mode 0 794624 20 CullFaceAttrib::Mode 20 CullFaceAttrib::Mode 3699 0 0 0 0 0 0 0 0 0 4 11 M_cull_none 27 CullFaceAttrib::M_cull_none 19
// Cull no polygons
0 16 M_cull_clockwise 32 CullFaceAttrib::M_cull_clockwise 35
// Cull clockwise-oriented polygons
1 24 M_cull_counter_clockwise 40 CullFaceAttrib::M_cull_counter_clockwise 43
// Cull counter-clockwise-oriented polygons
2 16 M_cull_unchanged 32 CullFaceAttrib::M_cull_unchanged 39
// Do not change existing cull behavior
3 0 0
3701 15 WorkingNodePath 0 26625 15 WorkingNodePath 15 WorkingNodePath 0 0 0 0 2979 2 4227 4228 0 0 0 0 0 0 750
/**
* This is a class designed to support low-overhead traversals of the complete
* scene graph, with a memory of the complete path through the graph at any
* given point.
*
* You could just use a regular NodePath to do this, but since the NodePath
* requires storing NodePathComponents on each node as it is constructed, and
* then removing them when it destructs, there is considerable overhead in
* that approach.
*
* The WorkingNodePath eliminates this overhead (but does not guarantee
* consistency if the scene graph changes while the path is held).
*
* At any given point, you may ask the WorkingNodePath for its actual
* NodePath, and it will construct and return a new NodePath representing the
* complete generated chain.
*/
3702 17 CullTraverserData 0 141313 17 CullTraverserData 17 CullTraverserData 0 0 0 1 2991 2992 1 4229 8 2982 2983 2984 2985 2986 2987 2988 2989 0 0 0 0 0 464
/**
* This collects together the pieces of data that are accumulated for each
* node while walking the scene graph during the cull traversal.
*
* Having this as a separate object simplifies the parameter list to
* CullTraverser::r_traverse(), as well as to other functions like
* PandaNode::cull_callback(). It also makes it easier to add cull
* parameters, and provides a place to abstract out some of the cull behavior
* (like view-frustum culling).
*/
3703 10 SceneSetup 0 141313 10 SceneSetup 10 SceneSetup 0 0 0 1 3023 3024 0 30 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 0 0 1 0 3659 0 0 0 0 128
/**
* This object holds the camera position, etc., and other general setup
* information for rendering a particular scene.
*/
3704 3 Fog 0 75777 3 Fog 3 Fog 0 0 0 1 3025 2126 5 4230 4231 4232 4233 4234 13 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 0 0 1 0 3619 0 0 0 1 3705 782
/**
* Specifies how atmospheric fog effects are applied to geometry. The Fog
* object is now a PandaNode, which means it can be used similarly to a Light
* to define effects relative to a particular coordinate system within the
* scene graph.
*
* In exponential mode, the fog effects are always camera-relative, and it
* does not matter where the Fog node is parented. However, in linear mode,
* the onset and opaque distances are defined as offsets along the local
* forward axis (e.g. the Y axis). This allows the fog effect to be
* localized to a particular region in space, rather than always camera-
* relative. If the fog object is not parented to any node, it is used to
* generate traditonal camera-relative fog, as if it were parented to the
* camera.
*/
3705 4 Mode 0 794624 9 Fog::Mode 9 Fog::Mode 3704 0 0 0 0 0 0 0 0 0 3 8 M_linear 13 Fog::M_linear 32
// f = (end - z) / (end - start)
0 13 M_exponential 18 Fog::M_exponential 23
// f = e^(-density * z)
1 21 M_exponential_squared 26 Fog::M_exponential_squared 27
// f = e^((-density * z)^2)
2 0 0
3706 9 FogAttrib 0 141313 9 FogAttrib 9 FogAttrib 0 0 0 0 3046 2 4235 4236 7 3039 3040 3041 3042 3043 3044 3045 0 0 1 0 3595 0 0 0 0 64
/**
* Applies a Fog to the geometry at and below this node.
*/
3707 5 Fog * 0 8576 5 Fog * 5 Fog * 0 0 3704 0 0 0 0 0 0 0 0 0 0
3708 13 CullTraverser 0 141313 13 CullTraverser 13 CullTraverser 0 0 0 1 3047 3073 0 25 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 0 0 1 0 3659 0 0 0 0 279
/**
* This object performs a depth-first traversal of the scene graph, with
* optional view-frustum culling, collecting CullState and searching for
* GeomNodes. Each renderable Geom encountered is passed along with its
* associated RenderState to the CullHandler object.
*/
3709 20 GeomDrawCallbackData 0 141313 20 GeomDrawCallbackData 20 GeomDrawCallbackData 0 0 0 0 3080 0 6 3074 3075 3076 3077 3078 3079 0 0 1 0 3710 0 0 0 0 150
/**
* This specialization on CallbackData is passed when the callback is
* initiated from deep within the draw traversal, for a particular Geom.
*/
3710 12 CallbackData 0 2048 12 CallbackData 12 CallbackData 0 0 0 0 0 0 0 0 0 0 0 0 348
/**
* This is a generic data block that is passed along to a CallbackObject when
* a callback is made. It contains data specific to the particular callback
* type in question.
*
* This is actually an abstract base class and contains no data.
* Specializations of this class will contain the actual data relevant to each
* callback type.
*/
3711 19 RescaleNormalAttrib 0 141313 19 RescaleNormalAttrib 19 RescaleNormalAttrib 0 0 0 0 3086 2 4237 4238 5 3081 3082 3083 3084 3085 0 0 1 0 3595 0 0 0 1 3712 50
/**
* Specifies how polygons are to be drawn.
*/
3712 4 Mode 0 794624 25 RescaleNormalAttrib::Mode 25 RescaleNormalAttrib::Mode 3711 0 0 0 0 0 0 0 0 0 4 6 M_none 27 RescaleNormalAttrib::M_none 38
// No adjustments are made to normals.
0 9 M_rescale 30 RescaleNormalAttrib::M_rescale 99
// Normals are counterscaled by the transform's uniform scale, if
// supported by the graphics API.
1 11 M_normalize 32 RescaleNormalAttrib::M_normalize 60
// Normals are scaled to unit length; potentially expensive.
2 6 M_auto 27 RescaleNormalAttrib::M_auto 141
// Normals are counterscaled in the presence of a uniform scale transform,
// or normalized in the presence of a non-uniform scale transform.
3 0 0
3713 10 CullResult 0 75777 10 CullResult 10 CullResult 0 0 0 1 3094 0 0 7 3087 3088 3089 3090 3091 3092 3093 0 0 1 0 3714 0 0 0 0 349
/**
* This stores the result of a BinCullHandler traversal: an ordered collection
* of CullBins, each of which holds a number of Geoms and RenderStates to be
* rendered in some defined order.
*
* This is also used to keep the results of last frame's cull traversal around
* to make next frame's traversal of the same scene a little easier.
*/
3714 14 ReferenceCount 0 2048 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 203
/**
* A base class for all things that want to be reference-counted.
* ReferenceCount works in conjunction with PointerTo to automatically delete
* objects when the last pointer to them goes away.
*/
3715 11 DecalEffect 0 141313 11 DecalEffect 11 DecalEffect 0 0 0 0 3097 0 2 3095 3096 0 0 1 0 3617 0 0 0 0 151
/**
* Applied to a GeomNode to indicate that the children of this GeomNode are
* coplanar and should be drawn as decals (eliminating Z-fighting).
*/
3716 17 DepthOffsetAttrib 0 141313 17 DepthOffsetAttrib 17 DepthOffsetAttrib 0 0 0 0 3105 4 4239 4240 4241 4242 7 3098 3099 3100 3101 3102 3103 3104 0 0 1 0 3595 0 0 0 0 1333
/**
* This is a special kind of attribute that instructs the graphics driver to
* apply an offset or bias to the generated depth values for rendered
* polygons, before they are written to the depth buffer.
*
* This can be used to shift polygons forward slightly, to resolve depth
* conflicts. The cull traverser may optionally use this, for instance, to
* implement decals. However, driver support for this feature seems to be
* spotty, so use with caution.
*
* The bias is always an integer number, and each integer increment represents
* the smallest possible increment in Z that is sufficient to completely
* resolve two coplanar polygons. Positive numbers are closer towards the
* camera.
*
* Nested DepthOffsetAttrib values accumulate; that is, a DepthOffsetAttrib
* with a value of 1 beneath another DepthOffsetAttrib with a value of 2
* presents a net offset of 3. (A DepthOffsetAttrib will not, however,
* combine with any other DepthOffsetAttribs with a lower override parameter.)
* The net value should probably not exceed 16 or drop below 0 for maximum
* portability.
*
* Also, and only tangentially related, the DepthOffsetAttrib can be used to
* constrain the Z output value to a subset of the usual [0, 1] range (or
* reversing its direction) by specifying a new min_value and max_value.
*/
3717 15 DepthTestAttrib 0 141313 15 DepthTestAttrib 15 DepthTestAttrib 0 0 0 0 3111 2 4243 4244 5 3106 3107 3108 3109 3110 0 0 1 0 3595 0 0 0 0 59
/**
* Enables or disables writing to the depth buffer.
*/
3718 16 DepthWriteAttrib 0 141313 16 DepthWriteAttrib 16 DepthWriteAttrib 0 0 0 0 3117 2 4245 4246 5 3112 3113 3114 3115 3116 0 0 1 0 3595 0 0 0 1 3719 59
/**
* Enables or disables writing to the depth buffer.
*/
3719 4 Mode 0 794624 22 DepthWriteAttrib::Mode 22 DepthWriteAttrib::Mode 3718 0 0 0 0 0 0 0 0 0 2 5 M_off 23 DepthWriteAttrib::M_off 0
0 4 M_on 22 DepthWriteAttrib::M_on 0
1 0 0
3720 22 InternalNameCollection 0 26625 22 InternalNameCollection 22 InternalNameCollection 0 0 0 1 3118 3120 0 16 3119 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 1 4313 0 0 0 0 10
/**
*
*/
3721 5 Light 0 26625 5 Light 5 Light 0 0 0 0 3136 3 4247 4248 4249 14 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 0 0 0 0 0 231
/**
* The abstract interface to all kinds of lights. The actual light objects
* also inherit from PandaNode, and can therefore be added to the scene graph
* at some arbitrary point to define the coordinate system of effect.
*/
3722 11 LightAttrib 0 75777 11 LightAttrib 11 LightAttrib 0 0 0 0 0 3 4250 4251 4252 27 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3178 3179 2 4314 4315 0 1 0 3595 0 0 0 1 3723 209
/**
* Indicates which set of lights should be considered "on" to illuminate
* geometry at this level and below. A LightAttrib can either add lights or
* remove lights from the total set of "on" lights.
*/
3723 9 Operation 0 794624 22 LightAttrib::Operation 22 LightAttrib::Operation 3722 0 0 0 0 0 0 0 0 0 3 5 O_set 18 LightAttrib::O_set 0
0 5 O_add 18 LightAttrib::O_add 0
1 8 O_remove 21 LightAttrib::O_remove 0
2 0 142
// This is the old, deprecated interface to LightAttrib. Do not use any of
// these methods for new code; these methods will be removed soon.
3724 15 LightRampAttrib 0 141313 15 LightRampAttrib 15 LightRampAttrib 0 0 0 0 3192 2 4253 4254 12 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 0 0 1 0 3595 0 0 0 1 3725 302
/**
* A Light Ramp is any unary operator that takes a rendered pixel as input,
* and adjusts the brightness of that pixel. For example, gamma correction is
* a kind of light ramp. So is HDR tone mapping. So is cartoon shading. See
* the constructors for an explanation of each kind of ramp.
*/
3725 13 LightRampMode 0 794624 30 LightRampAttrib::LightRampMode 30 LightRampAttrib::LightRampMode 3724 0 0 0 0 0 0 0 0 0 7 11 LRT_default 28 LightRampAttrib::LRT_default 0
0 12 LRT_identity 29 LightRampAttrib::LRT_identity 0
1 20 LRT_single_threshold 37 LightRampAttrib::LRT_single_threshold 0
2 20 LRT_double_threshold 37 LightRampAttrib::LRT_double_threshold 0
3 8 LRT_hdr0 25 LightRampAttrib::LRT_hdr0 0
4 8 LRT_hdr1 25 LightRampAttrib::LRT_hdr1 0
5 8 LRT_hdr2 25 LightRampAttrib::LRT_hdr2 0
6 0 0
3726 6 Loader 0 141313 6 Loader 6 Loader 0 0 0 1 3204 3221 0 16 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 0 0 2 3 3659 3193 3194 3 3620 3195 3196 0 1 3727 503
/**
* A convenient class for loading models from disk, in bam or egg format (or
* any of a number of other formats implemented by a LoaderFileType, such as
* ptloader).
*
* This class supports synchronous as well as asynchronous loading. In
* asynchronous loading, the model is loaded in the background by a thread,
* and an event will be generated when the model is available. If threading
* is not available, the asynchronous loading interface may be used, but it
* loads synchronously.
*/
3727 7 Results 0 288769 15 Loader::Results 15 Loader::Results 3726 0 0 1 3197 3199 0 5 3198 3200 3201 3202 3203 2 4316 4317 0 0 0 0 0
3728 14 LoaderFileType 0 75777 14 LoaderFileType 14 LoaderFileType 0 0 0 0 0 0 9 3222 3223 3224 3225 3226 3227 3228 3229 3230 0 0 1 0 3729 0 0 0 0 215
/**
* This is the base class for a family of scene-graph file types that the
* Loader supports. Each kind of loader that's available should define a
* corresponding LoaderFileType object and register itself.
*/
3729 11 TypedObject 0 2048 11 TypedObject 11 TypedObject 0 0 0 0 0 0 0 0 0 0 0 0 2508
/**
* This is an abstract class that all classes which use TypeHandle, and also
* provide virtual functions to support polymorphism, should inherit from.
* Each derived class should define get_type(), which should return the
* specific type of the derived class. Inheriting from this automatically
* provides support for is_of_type() and is_exact_type().
*
* All classes that inherit directly or indirectly from TypedObject should
* redefine get_type() and force_init_type(), as shown below. Some classes
* that do not inherit from TypedObject may still declare TypeHandles for
* themselves by defining methods called get_class_type() and init_type().
* Classes such as these may serve as base classes, but the dynamic type
* identification system will be limited. Classes that do not inherit from
* TypedObject need not define the virtual functions get_type() and
* force_init_type() (or any other virtual functions).
*
* There is a specific layout for defining the overrides from this class.
* Keeping the definitions formatted just like these examples will allow
* someone in the future to use a sed (or similar) script to make global
* changes, if necessary. Avoid rearranging the braces or the order of the
* functions unless you're ready to change them in every file all at once.
*
* What follows are some examples that can be used in new classes that you
* create.
*
* @par In the class definition (.h file):
* @code
* public:
* static TypeHandle get_class_type() {
* return _type_handle;
* }
* static void init_type() {
* <<<BaseClassOne>>>::init_type();
* <<<BaseClassTwo>>>::init_type();
* <<<BaseClassN>>>::init_type();
* register_type(_type_handle, "<<<ThisClassStringName>>>",
* <<<BaseClassOne>>>::get_class_type(),
* <<<BaseClassTwo>>>::get_class_type(),
* <<<BaseClassN>>>::get_class_type());
* }
* virtual TypeHandle get_type() const {
* return get_class_type();
* }
* virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
*
* private:
* static TypeHandle _type_handle;
* @endcode
*
* @par In the class .cxx file:
* @code
* TypeHandle <<<ThisClassStringName>>>::_type_handle;
* @endcode
*
* @par In the class config_<<<PackageName>>>.cxx file:
* @code
* ConfigureFn(config_<<<PackageName>>>) {
* <<<ClassOne>>>::init_type();
* <<<ClassTwo>>>::init_type();
* <<<ClassN>>>::init_type();
* }
* @endcode
*/
3730 22 LoaderFileTypeRegistry 0 26625 22 LoaderFileTypeRegistry 22 LoaderFileTypeRegistry 0 0 0 1 3238 3231 1 4255 5 3232 3233 3235 3236 3237 1 4318 0 0 0 0 85
/**
* This class maintains the set of all known LoaderFileTypes in the universe.
*/
3731 16 LoaderFileType * 0 8576 16 LoaderFileType * 16 LoaderFileType * 0 0 3728 0 0 0 0 0 0 0 0 0 0
3732 14 MaterialAttrib 0 141313 14 MaterialAttrib 14 MaterialAttrib 0 0 0 0 3246 2 4256 4257 7 3239 3240 3241 3242 3243 3244 3245 0 0 1 0 3595 0 0 0 0 202
/**
* Indicates which, if any, material should be applied to geometry. The
* material is used primarily to control lighting effects, and isn't necessary
* (or useful) in the absence of lighting.
*/
3733 10 Material * 0 8576 10 Material * 10 Material * 0 0 3734 0 0 0 0 0 0 0 0 0 0
3734 8 Material 0 2048 8 Material 8 Material 0 0 0 0 0 0 0 0 0 0 0 0 682
/**
* Defines the way an object appears in the presence of lighting. A material
* is only necessary if lighting is to be enabled; otherwise, the material
* isn't used.
*
* There are two workflows that are supported: the "classic" workflow of
* providing separate ambient, diffuse and specular colors, and the
* "metalness" workflow, in which a base color is specified along with a
* "metallic" value that indicates whether the material is a metal or a
* dielectric.
*
* The size of the specular highlight can be specified by either specifying
* the specular exponent (shininess) or by specifying a roughness value that
* in perceptually linear in the range of 0-1.
*/
3735 18 MaterialCollection 0 26625 18 MaterialCollection 18 MaterialCollection 0 0 0 1 3247 3249 0 17 3248 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 0 0 0 0 0 10
/**
*
*/
3736 19 ModelFlattenRequest 0 141313 19 ModelFlattenRequest 19 ModelFlattenRequest 0 0 0 1 3266 3271 1 4258 4 3267 3268 3269 3270 0 0 1 0 3737 0 0 0 0 287
/**
* This class object manages a single asynchronous request to flatten a model.
* The model will be duplicated and flattened in a sub-thread (if threading is
* available), without affecting the original model; and when the result is
* done it may be retrieved from this object.
*/
3737 9 AsyncTask 0 2048 9 AsyncTask 9 AsyncTask 0 0 0 0 0 0 0 0 0 0 0 0 217
/**
* This class represents a concrete task performed by an AsyncManager.
* Normally, you would subclass from this class, and override do_task(), to
* define the functionality you wish to have the task perform.
*/
3738 16 ModelLoadRequest 0 141313 16 ModelLoadRequest 16 ModelLoadRequest 0 0 0 1 3272 3279 3 4259 4260 4261 6 3273 3274 3275 3276 3277 3278 0 0 1 0 3737 0 0 0 0 191
/**
* A class object that manages a single asynchronous model load request.
* Create a new ModelLoadRequest, and add it to the loader via load_async(),
* to begin an asynchronous load.
*/
3739 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 3740 0 0 0 0 0 0 0 0 0 0
3740 8 Filename 0 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 550
/**
* The name of a file, such as a texture file or an Egg file. Stores the full
* pathname, and includes functions for extracting out the directory prefix
* part and the file extension and stuff.
*
* A Filename is also aware of the mapping between the Unix-like filename
* convention we use internally, and the local OS's specific filename
* convention, and it knows how to perform basic OS-specific I/O, like testing
* for file existence and searching a searchpath, as well as the best way to
* open an fstream for reading or writing.
*/
3741 19 LoaderOptions const 0 8832 19 LoaderOptions const 19 LoaderOptions const 0 0 3742 0 0 0 0 0 0 0 0 0 0
3742 13 LoaderOptions 0 2048 13 LoaderOptions 13 LoaderOptions 0 0 0 0 0 0 0 0 0 0 0 0 65
/**
* Specifies parameters that may be passed to the loader.
*/
3743 8 Loader * 0 8576 8 Loader * 8 Loader * 0 0 3726 0 0 0 0 0 0 0 0 0 0
3744 9 ModelNode 0 141313 9 ModelNode 9 ModelNode 0 0 0 1 3280 3287 0 6 3281 3282 3283 3284 3285 3286 0 0 1 0 3619 0 0 0 1 3745 411
/**
* This node is placed at key points within the scene graph to indicate the
* roots of "models": subtrees that are conceptually to be treated as a single
* unit, like a car or a room, for instance. It doesn't affect rendering or
* any other operations; it's primarily useful as a high-level model
* indication.
*
* ModelNodes are created in response to a <Model> { 1 } flag within an egg
* file.
*/
3745 17 PreserveTransform 0 794624 28 ModelNode::PreserveTransform 28 ModelNode::PreserveTransform 3744 0 0 0 0 0 0 0 0 0 5 7 PT_none 18 ModelNode::PT_none 0
0 8 PT_local 19 ModelNode::PT_local 0
1 6 PT_net 17 ModelNode::PT_net 0
2 12 PT_drop_node 23 ModelNode::PT_drop_node 0
3 11 PT_no_touch 22 ModelNode::PT_no_touch 0
4 0 0
3746 9 ModelRoot 0 141313 9 ModelRoot 9 ModelRoot 0 0 0 1 3288 3299 4 4262 4263 4264 4265 8 3289 3290 3291 3292 3293 3296 3297 3298 0 0 1 0 3744 0 0 0 1 3749 314
/**
* A node of this type is created automatically at the root of each model file
* that is loaded. It may eventually contain some information about the
* contents of the model; at the moment, it contains no special information,
* but can be used as a flag to indicate the presence of a loaded model file.
*/
3747 6 time_t 0 2105344 6 time_t 6 time_t 0 0 3748 0 0 0 0 0 0 0 0 0 0
3748 8 long int 0 8210 8 long int 8 long int 0 1 0 0 0 0 0 0 0 0 0 0 0
3749 14 ModelReference 0 403457 25 ModelRoot::ModelReference 25 ModelRoot::ModelReference 3746 0 0 1 3294 3295 0 0 0 0 1 0 3714 0 0 0 0 60
// This class is used to unify references to the same model.
3750 16 ModelReference * 0 8576 27 ModelRoot::ModelReference * 27 ModelRoot::ModelReference * 0 0 3749 0 0 0 0 0 0 0 0 0 0
3751 9 ModelPool 0 141313 9 ModelPool 9 ModelPool 0 0 0 0 3310 0 10 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 0 0 0 0 0 804
/**
* This class unifies all references to the same filename, so that multiple
* attempts to load the same model will return the same pointer. Note that
* the default behavior is thus to make instances: use with caution. Use the
* copy_subgraph() method on Node (or use NodePath::copy_to) to make
* modifiable copies of the node.
*
* Unlike TexturePool, this class does not automatically resolve the model
* filenames before loading, so a relative path and an absolute path to the
* same model will appear to be different filenames.
*
* However, see the Loader class, which is now the preferred interface for
* loading models. The Loader class can resolve filenames, supports threaded
* loading, and can automatically consult the ModelPool, according to the
* supplied LoaderOptions.
*/
3752 16 ModelSaveRequest 0 141313 16 ModelSaveRequest 16 ModelSaveRequest 0 0 0 1 3311 3319 4 4266 4267 4268 4269 7 3312 3313 3314 3315 3316 3317 3318 0 0 1 0 3737 0 0 0 0 191
/**
* A class object that manages a single asynchronous model save request.
* Create a new ModelSaveRequest, and add it to the loader via save_async(),
* to begin an asynchronous save.
*/
3753 13 TextureAttrib 0 141313 13 TextureAttrib 13 TextureAttrib 0 0 0 0 3352 5 4270 4271 4272 4273 4274 28 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3339 3340 3341 3342 3344 3345 3346 3347 3348 3349 3350 3351 3 4319 4320 4321 0 1 0 3595 0 0 0 0 130
/**
* Indicates the set of TextureStages and their associated Textures that
* should be applied to (or removed from) a node.
*/
3754 14 TextureStage * 0 8576 14 TextureStage * 14 TextureStage * 0 0 3755 0 0 0 0 0 0 0 0 0 0
3755 12 TextureStage 0 2048 12 TextureStage 12 TextureStage 0 0 0 0 0 0 0 0 0 0 0 0 336
/**
* Defines the properties of a named stage of the multitexture pipeline. The
* TextureAttrib will associated a number of these stages with Texture
* objects, and the GSG will render geometry by sorting all of the currently
* active TextureStages in order and then issuing the appropriate rendering
* calls to activate them.
*/
3756 9 Texture * 0 8576 9 Texture * 9 Texture * 0 0 3757 0 0 0 0 0 0 0 0 0 0
3757 7 Texture 0 2048 7 Texture 7 Texture 0 0 0 0 0 0 0 0 0 0 0 0 688
/**
* Represents a texture object, which is typically a single 2-d image but may
* also represent a 1-d or 3-d texture image, or the six 2-d faces of a cube
* map texture.
*
* A texture's image data might be stored in system RAM (see get_ram_image())
* or its image may be represented in texture memory on one or more
* GraphicsStateGuardians (see prepare()), or both. The typical usage pattern
* is that a texture is loaded from an image file on disk, which copies its
* image data into system RAM; then the first time the texture is rendered its
* image data is copied to texture memory (actually, to the graphics API), and
* the system RAM image is automatically freed.
*/
3758 18 SamplerState const 0 8832 18 SamplerState const 18 SamplerState const 0 0 3759 0 0 0 0 0 0 0 0 0 0
3759 12 SamplerState 0 2048 12 SamplerState 12 SamplerState 0 0 0 0 0 0 0 0 0 0 0 0 176
/**
* Represents a set of settings that indicate how a texture is sampled. This
* can be used to sample the same texture using different settings in
* different places.
*/
3760 12 TexGenAttrib 0 75777 12 TexGenAttrib 12 TexGenAttrib 0 0 0 0 0 1 4275 12 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 0 0 1 0 3595 0 0 0 0 281
/**
* Computes texture coordinates for geometry automatically based on vertex
* position and/or normal. This can be used to implement reflection and/or
* refraction maps, for instance to make shiny surfaces, as well as other
* special effects such as projective texturing.
*/
3761 12 OccluderNode 0 75777 12 OccluderNode 12 OccluderNode 0 0 0 1 3365 2126 3 4276 4277 4278 9 3366 3367 3368 3369 3370 3371 3372 3373 3375 1 4322 0 1 0 3619 0 0 0 0 272
/**
* A node in the scene graph that can hold an occluder polygon, which must be
* a rectangle. When the occluder is activated with something like
* render.set_occluder(), then objects whose bouding volume lies entirely
* behind the occluder will not be rendered.
*/
3762 14 OccluderEffect 0 141313 14 OccluderEffect 14 OccluderEffect 0 0 0 0 3384 0 8 3376 3377 3378 3379 3380 3381 3382 3383 1 4323 0 1 0 3617 0 0 0 0 336
/**
* This functions similarly to a LightAttrib or ClipPlaneAttrib. It indicates
* the set of occluders that modify the geometry at this level and below.
* Unlike a ClipPlaneAttrib, an OccluderEffect takes effect immediately when
* it is encountered during traversal, and thus can only add occluders; it may
* not remove them.
*/
3763 13 PolylightNode 0 141313 13 PolylightNode 13 PolylightNode 0 0 0 1 3385 3422 0 36 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 0 0 1 0 3619 0 0 0 2 3764 3765 26
/**
* A PolylightNode
*/
3764 12 Flicker_Type 0 794624 27 PolylightNode::Flicker_Type 27 PolylightNode::Flicker_Type 3763 0 0 0 0 0 0 0 0 0 3 7 FRANDOM 22 PolylightNode::FRANDOM 0
0 4 FSIN 19 PolylightNode::FSIN 0
1 7 FCUSTOM 22 PolylightNode::FCUSTOM 0
2 0 0
3765 16 Attenuation_Type 0 794624 31 PolylightNode::Attenuation_Type 31 PolylightNode::Attenuation_Type 3763 0 0 0 0 0 0 0 0 0 2 7 ALINEAR 22 PolylightNode::ALINEAR 0
0 10 AQUADRATIC 25 PolylightNode::AQUADRATIC 0
1 0 0
3766 15 PolylightEffect 0 141313 15 PolylightEffect 15 PolylightEffect 0 0 0 0 3434 0 11 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 0 0 1 0 3617 0 0 0 2 3767 3768 306
/**
* A PolylightEffect can be used on a node to define a LightGroup for that
* node. A LightGroup contains PolylightNodes which are essentially nodes
* that add color to the polygons of a model based on distance. PolylightNode
* is a cheap way to get lighting effects specially for night scenes
*/
3767 11 ContribType 0 794624 28 PolylightEffect::ContribType 28 PolylightEffect::ContribType 3766 0 0 0 0 0 0 0 0 0 2 11 CT_proximal 28 PolylightEffect::CT_proximal 0
0 6 CT_all 23 PolylightEffect::CT_all 0
1 0 0
3768 10 LightGroup 0 2367488 27 PolylightEffect::LightGroup 27 PolylightEffect::LightGroup 3766 0 3769 0 0 0 0 0 0 0 0 0 0
3769 19 pvector< NodePath > 0 2048 19 pvector< NodePath > 19 pvector< NodePath > 0 0 0 0 0 0 0 0 0 0 0 0 0
3770 12 ShaderAttrib 0 141313 12 ShaderAttrib 12 ShaderAttrib 0 0 0 0 3471 3 4279 4280 4281 36 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 0 0 1 0 3595 0 0 0 1 3771 10
/**
*
*/
3771 0 0 794624 14 ShaderAttrib:: 0 3770 0 0 0 0 0 0 0 0 0 4 21 F_disable_alpha_write 35 ShaderAttrib::F_disable_alpha_write 49
// Suppress writes to color buffer alpha channel.
0 20 F_subsume_alpha_test 34 ShaderAttrib::F_subsume_alpha_test 58
// Shader promises to subsume the alpha test using TEXKILL
1 19 F_hardware_skinning 33 ShaderAttrib::F_hardware_skinning 37
// Shader needs pre-animated vertices
2 19 F_shader_point_size 33 ShaderAttrib::F_shader_point_size 51
// Shader provides point size, not RenderModeAttrib
3 0 0
3772 14 Shader const * 0 8576 14 Shader const * 14 Shader const * 0 0 3773 0 0 0 0 0 0 0 0 0 0
3773 12 Shader const 0 8832 12 Shader const 12 Shader const 0 0 3774 0 0 0 0 0 0 0 0 0 0
3774 6 Shader 0 2048 6 Shader 6 Shader 0 0 0 0 0 0 0 0 0 0 0 0 8
/**
*/
3775 16 ShowBoundsEffect 0 141313 16 ShowBoundsEffect 16 ShowBoundsEffect 0 0 0 0 3475 0 3 3472 3473 3474 0 0 1 0 3617 0 0 0 0 189
/**
* Applied to a GeomNode to cause a visible bounding volume to be drawn for
* this node. This is generally used only during development to help identify
* bounding volume issues.
*/
3776 18 TexProjectorEffect 0 75777 18 TexProjectorEffect 18 TexProjectorEffect 0 0 0 0 0 0 9 3476 3477 3478 3479 3480 3481 3482 3483 3484 0 0 1 0 3617 0 0 0 0 1344
/**
* This effect automatically applies a computed texture matrix to the
* specified texture stage, according to the relative position of two
* specified nodes.
*
* The relative transform from the "from" node to the "to" node is applied
* directly to the texture matrix each frame. If the "to" node happens to be
* a LensNode, its lens projection matrix is applied as well.
*
* This can be used to apply a number of special effects. Fundamentally, it
* may simply be used to provide a separate PandaNode that may be adjusted
* (e.g. via a LerpInterval) in order to easily apply a linear transformation
* to an object's texture coordinates (rather than having to explicitly call
* NodePath.set_tex_transform() each frame).
*
* In a more sophisticated case, the TexProjectorEffect is particularly useful
* in conjunction with a TexGenAttrib that specifies a mode of
* M_world_position (which copies the world position of each vertex to the
* texture coordinates). Then the TexProjector can be used to convert these
* world coordinates to the relative coordinates of a particular node, causing
* (for instance) a texture to appear to follow a node around as it moves
* through the world. With a LensNode, you can project a texture onto the
* walls, for instance to apply a flashlight effect or an image-based shadow.
*/
3777 13 ScissorEffect 0 141313 13 ScissorEffect 13 ScissorEffect 0 0 0 0 3495 0 10 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 2 4324 4325 0 1 0 3617 0 0 0 0 219
/**
* This provides a higher-level wrapper around ScissorAttrib. It allows for
* the scissor region to be defined via points relative to the current node,
* and also performs culling based on the scissor region.
*/
3778 17 SceneGraphReducer 0 26625 17 SceneGraphReducer 17 SceneGraphReducer 0 0 0 1 3496 3497 0 17 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 0 0 0 0 4 3779 3780 3781 3782 341
/**
* An interface for simplifying ("flattening") scene graphs by eliminating
* unneeded nodes and collapsing out unneeded state changes and transforms.
*
* This class is designed so that it may be inherited from and specialized, if
* needed, to fine-tune the flattening behavior, but normally the default
* behavior is sufficient.
*/
3779 11 AttribTypes 0 794624 30 SceneGraphReducer::AttribTypes 30 SceneGraphReducer::AttribTypes 3778 0 0 0 0 0 0 0 0 0 8 12 TT_transform 31 SceneGraphReducer::TT_transform 0
1 8 TT_color 27 SceneGraphReducer::TT_color 0
2 14 TT_color_scale 33 SceneGraphReducer::TT_color_scale 0
4 13 TT_tex_matrix 32 SceneGraphReducer::TT_tex_matrix 0
8 13 TT_clip_plane 32 SceneGraphReducer::TT_clip_plane 0
16 12 TT_cull_face 31 SceneGraphReducer::TT_cull_face 0
32 22 TT_apply_texture_color 41 SceneGraphReducer::TT_apply_texture_color 0
64 8 TT_other 27 SceneGraphReducer::TT_other 0
128 0 0
3780 15 CombineSiblings 0 794624 34 SceneGraphReducer::CombineSiblings 34 SceneGraphReducer::CombineSiblings 3778 0 0 0 0 0 0 0 0 0 4 12 CS_geom_node 31 SceneGraphReducer::CS_geom_node 0
1 16 CS_within_radius 35 SceneGraphReducer::CS_within_radius 0
2 8 CS_other 27 SceneGraphReducer::CS_other 0
4 10 CS_recurse 29 SceneGraphReducer::CS_recurse 0
8 0 0
3781 17 CollectVertexData 0 794624 36 SceneGraphReducer::CollectVertexData 36 SceneGraphReducer::CollectVertexData 3778 0 0 0 0 0 0 0 0 0 8 8 CVD_name 27 SceneGraphReducer::CVD_name 86
// If set, two GeomVertexDatas with different names will not be collected
// together.
1 9 CVD_model 28 SceneGraphReducer::CVD_model 129
// If set, a ModelNode begins a subgraph of nodes whose GeomVertexDatas
// will not be collected with nodes outside the subgraph.
2 13 CVD_transform 32 SceneGraphReducer::CVD_transform 142
// If set, a non-identity transform begins a subgraph of nodes whose
// GeomVertexDatas will not be collected with nodes outside the subgraph.
4 17 CVD_avoid_dynamic 36 SceneGraphReducer::CVD_avoid_dynamic 237
// If set, GeomVertexDatas with any usage_hint other than UH_static will
// not be collected with any other Geoms in a different GeomNode.
// However, two different dynamic Geoms within the same node might still
// be collected together.
8 17 CVD_one_node_only 36 SceneGraphReducer::CVD_one_node_only 90
// If set, only those GeomVertexDatas within the same node might be
// collected together.
16 10 CVD_format 29 SceneGraphReducer::CVD_format 230
// If set, two GeomVertexDatas with different formats will not be
// collected together. If not set, GeomVertexDatas of different formats
// may be combined by expanding all GeomVertexDatas to the union of all
// defined columns.
32 14 CVD_usage_hint 33 SceneGraphReducer::CVD_usage_hint 134
// If set, two GeomVertexDatas with different usage hints (for instance,
// UH_static vs. UH_dynamic) will not be collected together.
64 18 CVD_animation_type 37 SceneGraphReducer::CVD_animation_type 120
// If set, GeomVertexDatas with unanimated vertices will not be combined
// with GeomVertexDatas with animated vertices.
128 0 0
3782 14 MakeNonindexed 0 794624 33 SceneGraphReducer::MakeNonindexed 33 SceneGraphReducer::MakeNonindexed 3778 0 0 0 0 0 0 0 0 0 3 17 MN_composite_only 36 SceneGraphReducer::MN_composite_only 155
// If set, only composite primitives such as tristrips and trifans will be
// made nonindexed; simple primitives such as triangles will be left
// indexed.
1 17 MN_avoid_animated 36 SceneGraphReducer::MN_avoid_animated 163
// If set any GeomVertexData with any animation indication will not be
// adjusted, whether the animation is to be performed on the CPU or on the
// graphics pipe.
2 16 MN_avoid_dynamic 35 SceneGraphReducer::MN_avoid_dynamic 108
// If set, any GeomVertexData or Geom with a usage_hint other than
// UH_static will not be made nonindexed.
4 0 0
3783 13 ParamNodePath 0 75777 13 ParamNodePath 13 ParamNodePath 0 0 0 1 3517 0 0 2 3518 3519 0 0 1 0 3784 0 0 0 0 64
/**
* A class object for storing a NodePath as a parameter.
*/
3784 14 ParamValueBase 0 2048 14 ParamValueBase 14 ParamValueBase 0 0 0 0 0 0 0 0 0 0 0 0 141
/**
* A non-template base class of ParamValue (below), which serves mainly to
* define the placeholder for the virtual output function.
*/
3785 10 PortalNode 0 75777 10 PortalNode 10 PortalNode 0 0 0 1 3520 2126 10 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 24 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3545 1 4326 0 1 0 3619 0 0 0 0 217
/**
* A node in the scene graph that can hold a Portal Polygon, which is a
* rectangle. Other types of polygons are not supported for now. It also
* holds a PT(PandaNode) Cell that this portal is connected to
*/
3786 10 PortalMask 0 2105344 10 PortalMask 10 PortalMask 0 0 3632 0 0 0 0 0 0 0 0 0 0
3787 13 ScissorAttrib 0 141313 13 ScissorAttrib 13 ScissorAttrib 0 0 0 0 3553 2 4292 4293 7 3546 3547 3548 3549 3550 3551 3552 0 0 1 0 3595 0 0 0 0 528
/**
* This restricts rendering to within a rectangular region of the scene,
* without otherwise affecting the viewport or lens properties. Geometry that
* falls outside the scissor region is not rendered. It is akin to the OpenGL
* glScissor() function.
*
* The ScissorAttrib always specifies its region relative to its enclosing
* DisplayRegion, in screen space, and performs no culling.
*
* See ScissorEffect if you wish to define a region relative to 2-D or 3-D
* coordinates in the scene graph, with culling.
*/
3788 16 ShadeModelAttrib 0 141313 16 ShadeModelAttrib 16 ShadeModelAttrib 0 0 0 0 3559 2 4294 4295 5 3554 3555 3556 3557 3558 0 0 1 0 3595 0 0 0 1 3789 103
/**
* Specifies whether flat shading (per-polygon) or smooth shading (per-vertex)
* is in effect.
*/
3789 4 Mode 0 794624 22 ShadeModelAttrib::Mode 22 ShadeModelAttrib::Mode 3788 0 0 0 0 0 0 0 0 0 2 6 M_flat 24 ShadeModelAttrib::M_flat 0
0 8 M_smooth 26 ShadeModelAttrib::M_smooth 0
1 0 0
3790 13 StencilAttrib 0 141313 13 StencilAttrib 13 StencilAttrib 0 0 0 0 3569 1 4296 9 3560 3561 3562 3563 3564 3565 3566 3567 3568 0 0 1 0 3595 0 0 0 3 3791 3792 3793 312
/**
* A StencilAttrib is a collection of all stencil render states. The render
* states in a StencilAttrib are read-only. A StencilAttrib is created with
* make or make_2_sided. To determine if two sided stencil is supported, call
* the function GraphicsStateGuardian:: get_supports_two_sided_stencil.
*/
3791 18 StencilRenderState 0 794624 33 StencilAttrib::StencilRenderState 33 StencilAttrib::StencilRenderState 3790 0 0 0 0 0 0 0 0 0 14 29 SRS_front_comparison_function 44 StencilAttrib::SRS_front_comparison_function 0
0 32 SRS_front_stencil_fail_operation 47 StencilAttrib::SRS_front_stencil_fail_operation 0
1 39 SRS_front_stencil_pass_z_fail_operation 54 StencilAttrib::SRS_front_stencil_pass_z_fail_operation 0
2 39 SRS_front_stencil_pass_z_pass_operation 54 StencilAttrib::SRS_front_stencil_pass_z_pass_operation 0
3 13 SRS_reference 28 StencilAttrib::SRS_reference 0
4 13 SRS_read_mask 28 StencilAttrib::SRS_read_mask 0
5 14 SRS_write_mask 29 StencilAttrib::SRS_write_mask 0
6 28 SRS_back_comparison_function 43 StencilAttrib::SRS_back_comparison_function 0
7 31 SRS_back_stencil_fail_operation 46 StencilAttrib::SRS_back_stencil_fail_operation 0
8 38 SRS_back_stencil_pass_z_fail_operation 53 StencilAttrib::SRS_back_stencil_pass_z_fail_operation 0
9 38 SRS_back_stencil_pass_z_pass_operation 53 StencilAttrib::SRS_back_stencil_pass_z_pass_operation 0
10 9 SRS_clear 24 StencilAttrib::SRS_clear 0
11 15 SRS_clear_value 30 StencilAttrib::SRS_clear_value 0
12 9 SRS_total 24 StencilAttrib::SRS_total 0
13 0 80
// enums are duplicated here from class StencilRenderStates for use in
// Python
3792 25 StencilComparisonFunction 0 794624 40 StencilAttrib::StencilComparisonFunction 40 StencilAttrib::StencilComparisonFunction 3790 0 0 0 0 0 0 0 0 0 8 9 SCF_never 24 StencilAttrib::SCF_never 0
1 13 SCF_less_than 28 StencilAttrib::SCF_less_than 0
2 9 SCF_equal 24 StencilAttrib::SCF_equal 0
3 22 SCF_less_than_or_equal 37 StencilAttrib::SCF_less_than_or_equal 0
4 16 SCF_greater_than 31 StencilAttrib::SCF_greater_than 0
5 13 SCF_not_equal 28 StencilAttrib::SCF_not_equal 0
6 25 SCF_greater_than_or_equal 40 StencilAttrib::SCF_greater_than_or_equal 0
7 10 SCF_always 25 StencilAttrib::SCF_always 0
8 0 44
// Exists purely for backward compatibility.
3793 16 StencilOperation 0 794624 31 StencilAttrib::StencilOperation 31 StencilAttrib::StencilOperation 3790 0 0 0 0 0 0 0 0 0 8 7 SO_keep 22 StencilAttrib::SO_keep 0
0 7 SO_zero 22 StencilAttrib::SO_zero 0
1 10 SO_replace 25 StencilAttrib::SO_replace 0
2 12 SO_increment 27 StencilAttrib::SO_increment 0
3 12 SO_decrement 27 StencilAttrib::SO_decrement 0
4 9 SO_invert 24 StencilAttrib::SO_invert 0
5 21 SO_increment_saturate 36 StencilAttrib::SO_increment_saturate 0
6 21 SO_decrement_saturate 36 StencilAttrib::SO_decrement_saturate 0
7 0 0
3794 10 ShaderPool 0 141313 10 ShaderPool 10 ShaderPool 0 0 0 0 3579 0 9 3570 3571 3572 3573 3574 3575 3576 3577 3578 0 0 0 0 0 189
/**
* This is the preferred interface for loading shaders for the TextNode
* system. It is similar to ModelPool and TexturePool in that it unifies
* references to the same filename.
*/
3795 22 TransformState const * 0 8576 22 TransformState const * 22 TransformState const * 0 0 3796 0 0 0 0 0 0 0 0 0 0
3796 20 TransformState const 0 8832 20 TransformState const 20 TransformState const 0 0 3580 0 0 0 0 0 0 0 0 0 0
3797 6 size_t 0 2105344 11 std::size_t 11 std::size_t 0 0 3798 0 0 0 0 0 0 0 0 0 0
3798 22 unsigned long long int 0 8230 22 unsigned long long int 22 unsigned long long int 0 8 0 0 0 0 0 0 0 0 0 0 0
3799 17 LVecBase3 const * 0 8576 17 LVecBase3 const * 17 LVecBase3 const * 0 0 3585 0 0 0 0 0 0 0 0 0 0
3800 19 LQuaternion const * 0 8576 19 LQuaternion const * 19 LQuaternion const * 0 0 3588 0 0 0 0 0 0 0 0 0 0
3801 16 LMatrix4 const * 0 8576 16 LMatrix4 const * 16 LMatrix4 const * 0 0 3591 0 0 0 0 0 0 0 0 0 0
3802 17 LVecBase2 const * 0 8576 17 LVecBase2 const * 17 LVecBase2 const * 0 0 3803 0 0 0 0 0 0 0 0 0 0
3803 15 LVecBase2 const 0 8832 15 LVecBase2 const 15 LVecBase2 const 0 0 3804 0 0 0 0 0 0 0 0 0 0
3804 9 LVecBase2 0 2105344 9 LVecBase2 9 LVecBase2 0 0 3805 0 0 0 0 0 0 0 0 0 0
3805 10 LVecBase2f 0 2048 10 LVecBase2f 10 LVecBase2f 0 0 0 0 0 0 0 0 0 0 0 0 75
/**
* This is the base class for all two-component vectors and points.
*/
3806 16 LMatrix3 const * 0 8576 16 LMatrix3 const * 16 LMatrix3 const * 0 0 3807 0 0 0 0 0 0 0 0 0 0
3807 14 LMatrix3 const 0 8832 14 LMatrix3 const 14 LMatrix3 const 0 0 3808 0 0 0 0 0 0 0 0 0 0
3808 8 LMatrix3 0 2105344 8 LMatrix3 8 LMatrix3 0 0 3809 0 0 0 0 0 0 0 0 0 0
3809 9 LMatrix3f 0 2048 9 LMatrix3f 9 LMatrix3f 0 0 0 0 0 0 0 0 0 0 0 0 231
/**
* This is a 3-by-3 transform matrix. It typically will represent either a
* rotation-and-scale (no translation) matrix in 3-d, or a full affine matrix
* (rotation, scale, translation) in 2-d, e.g. for a texture matrix.
*/
3810 15 LPoint3 const * 0 8576 15 LPoint3 const * 15 LPoint3 const * 0 0 3582 0 0 0 0 0 0 0 0 0 0
3811 11 LVecBase2 * 0 8576 11 LVecBase2 * 11 LVecBase2 * 0 0 3804 0 0 0 0 0 0 0 0 0 0
3812 10 LMatrix3 * 0 8576 10 LMatrix3 * 10 LMatrix3 * 0 0 3808 0 0 0 0 0 0 0 0 0 0
3813 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
3814 9 ostream * 0 8576 14 std::ostream * 14 std::ostream * 0 0 3815 0 0 0 0 0 0 0 0 0 0
3815 7 ostream 0 2048 12 std::ostream 12 std::ostream 0 0 0 0 0 0 0 0 0 0 0 0 0
3816 10 TypeHandle 0 16779264 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 732
/**
* TypeHandle is the identifier used to differentiate C++ class types. Any
* C++ classes that inherit from some base class, and must be differentiated
* at run time, should store a static TypeHandle object that can be queried
* through a static member function named get_class_type(). Most of the time,
* it is also desirable to inherit from TypedObject, which provides some
* virtual functions to return the TypeHandle for a particular instance.
*
* At its essence, a TypeHandle is simply a unique identifier that is assigned
* by the TypeRegistry. The TypeRegistry stores a tree of TypeHandles, so
* that ancestry of a particular type may be queried, and the type name may be
* retrieved for run-time display.
*/
3817 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 3816 0 0 0 0 0 0 0 0 0 0
3818 28 RenderAttribRegistry const * 0 8576 28 RenderAttribRegistry const * 28 RenderAttribRegistry const * 0 0 3819 0 0 0 0 0 0 0 0 0 0
3819 26 RenderAttribRegistry const 0 8832 26 RenderAttribRegistry const 26 RenderAttribRegistry const 0 0 3594 0 0 0 0 0 0 0 0 0 0
3820 22 RenderAttribRegistry * 0 8576 22 RenderAttribRegistry * 22 RenderAttribRegistry * 0 0 3594 0 0 0 0 0 0 0 0 0 0
3821 14 LColor const * 0 8576 14 LColor const * 14 LColor const * 0 0 3605 0 0 0 0 0 0 0 0 0 0
3822 24 RenderModeAttrib const * 0 8576 24 RenderModeAttrib const * 24 RenderModeAttrib const * 0 0 3823 0 0 0 0 0 0 0 0 0 0
3823 22 RenderModeAttrib const 0 8832 22 RenderModeAttrib const 22 RenderModeAttrib const 0 0 3600 0 0 0 0 0 0 0 0 0 0
3824 23 TexMatrixAttrib const * 0 8576 23 TexMatrixAttrib const * 23 TexMatrixAttrib const * 0 0 3825 0 0 0 0 0 0 0 0 0 0
3825 21 TexMatrixAttrib const 0 8832 21 TexMatrixAttrib const 21 TexMatrixAttrib const 0 0 3609 0 0 0 0 0 0 0 0 0 0
3826 19 RenderState const * 0 8576 19 RenderState const * 19 RenderState const * 0 0 3827 0 0 0 0 0 0 0 0 0 0
3827 17 RenderState const 0 8832 17 RenderState const 17 RenderState const 0 0 3610 0 0 0 0 0 0 0 0 0 0
3828 10 SlotMask * 0 8576 23 RenderState::SlotMask * 23 RenderState::SlotMask * 0 0 3829 0 0 0 0 0 0 0 0 0 0
3829 8 SlotMask 0 2367488 21 RenderState::SlotMask 21 RenderState::SlotMask 3610 0 3830 0 0 0 0 0 0 0 0 0 0
3830 8 SlotMask 0 2367488 30 RenderAttribRegistry::SlotMask 30 RenderAttribRegistry::SlotMask 3594 0 3632 0 0 0 0 0 0 0 0 0 0
3831 15 CullTraverser * 0 8576 15 CullTraverser * 15 CullTraverser * 0 0 3708 0 0 0 0 0 0 0 0 0 0
3832 25 CullTraverserData const * 0 8576 25 CullTraverserData const * 25 CullTraverserData const * 0 0 3833 0 0 0 0 0 0 0 0 0 0
3833 23 CullTraverserData const 0 8832 23 CullTraverserData const 23 CullTraverserData const 0 0 3702 0 0 0 0 0 0 0 0 0 0
3834 23 AlphaTestAttrib const * 0 8576 23 AlphaTestAttrib const * 23 AlphaTestAttrib const * 0 0 3835 0 0 0 0 0 0 0 0 0 0
3835 21 AlphaTestAttrib const 0 8832 21 AlphaTestAttrib const 21 AlphaTestAttrib const 0 0 3613 0 0 0 0 0 0 0 0 0 0
3836 23 AntialiasAttrib const * 0 8576 23 AntialiasAttrib const * 23 AntialiasAttrib const * 0 0 3837 0 0 0 0 0 0 0 0 0 0
3837 21 AntialiasAttrib const 0 8832 21 AntialiasAttrib const 21 AntialiasAttrib const 0 0 3614 0 0 0 0 0 0 0 0 0 0
3838 20 RenderEffect const * 0 8576 20 RenderEffect const * 20 RenderEffect const * 0 0 3839 0 0 0 0 0 0 0 0 0 0
3839 18 RenderEffect const 0 8832 18 RenderEffect const 18 RenderEffect const 0 0 3617 0 0 0 0 0 0 0 0 0 0
3840 21 RenderEffects const * 0 8576 21 RenderEffects const * 21 RenderEffects const * 0 0 3841 0 0 0 0 0 0 0 0 0 0
3841 19 RenderEffects const 0 8832 19 RenderEffects const 19 RenderEffects const 0 0 3618 0 0 0 0 0 0 0 0 0 0
3842 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
3843 17 PandaNode const * 0 8576 17 PandaNode const * 17 PandaNode const * 0 0 3844 0 0 0 0 0 0 0 0 0 0
3844 15 PandaNode const 0 8832 15 PandaNode const 15 PandaNode const 0 0 3619 0 0 0 0 0 0 0 0 0 0
3845 8 Thread * 0 8576 8 Thread * 8 Thread * 0 0 3846 0 0 0 0 0 0 0 0 0 0
3846 6 Thread 0 2048 6 Thread 6 Thread 0 0 0 0 0 0 0 0 0 0 0 0 396
/**
* A thread; that is, a lightweight process. This is an abstract base class;
* to use it, you must subclass from it and redefine thread_main().
*
* The thread itself will keep a reference count on the Thread object while it
* is running; when the thread returns from its root function, the Thread
* object will automatically be destructed if no other pointers are
* referencing it.
*/
3847 9 Stashed * 0 8576 20 PandaNode::Stashed * 20 PandaNode::Stashed * 0 0 3640 0 0 0 0 0 0 0 0 0 0
3848 9 visitproc 0 2105344 9 visitproc 9 visitproc 0 0 3849 0 0 0 0 0 0 0 0 0 0
3849 6 void * 0 8576 6 void * 6 void * 0 0 3813 0 0 0 0 0 0 0 0 0 0
3850 10 DrawMask * 0 8576 10 DrawMask * 10 DrawMask * 0 0 3631 0 0 0 0 0 0 0 0 0 0
3851 13 CollideMask * 0 8576 13 CollideMask * 13 CollideMask * 0 0 3634 0 0 0 0 0 0 0 0 0 0
3852 27 GraphicsStateGuardianBase * 0 8576 27 GraphicsStateGuardianBase * 27 GraphicsStateGuardianBase * 0 0 3853 0 0 0 0 0 0 0 0 0 0
3853 25 GraphicsStateGuardianBase 0 2048 25 GraphicsStateGuardianBase 25 GraphicsStateGuardianBase 0 0 0 0 0 0 0 0 0 0 0 0 607
/**
* This is a base class for the GraphicsStateGuardian class, which is itself a
* base class for the various GSG's for different platforms. This class
* contains all the function prototypes to support the double-dispatch of GSG
* to geoms, transitions, etc. It lives in a separate class in its own
* package so we can avoid circular build dependency problems.
*
* GraphicsStateGuardians are not actually writable to bam files, of course,
* but they may be passed as event parameters, so they inherit from
* TypedWritableReferenceCount instead of TypedReferenceCount for that
* convenience.
*/
3854 22 BoundingVolume const * 0 8576 22 BoundingVolume const * 22 BoundingVolume const * 0 0 3855 0 0 0 0 0 0 0 0 0 0
3855 20 BoundingVolume const 0 8832 20 BoundingVolume const 20 BoundingVolume const 0 0 3636 0 0 0 0 0 0 0 0 0 0
3856 11 UpdateSeq * 0 8576 11 UpdateSeq * 11 UpdateSeq * 0 0 3857 0 0 0 0 0 0 0 0 0 0
3857 9 UpdateSeq 0 2048 9 UpdateSeq 9 UpdateSeq 0 0 0 0 0 0 0 0 0 0 0 0 761
/**
* This is a sequence number that increments monotonically. It can be used to
* track cache updates, or serve as a kind of timestamp for any changing
* properties.
*
* A special class is used instead of simply an int, so we can elegantly
* handle such things as wraparound and special cases. There are two special
* cases. Firstly, a sequence number is 'initial' when it is first created.
* This sequence is older than any other sequence number. Secondly, a
* sequence number may be explicitly set to 'old'. This is older than any
* other sequence number except 'initial'. Finally, we have the explicit
* number 'fresh', which is newer than any other sequence number. All other
* sequences are numeric and are monotonically increasing.
*/
3858 7 Light * 0 8576 7 Light * 7 Light * 0 0 3721 0 0 0 0 0 0 0 0 0 0
3859 12 vector_uchar 0 2105344 12 vector_uchar 12 vector_uchar 0 0 3860 0 0 0 0 0 0 0 0 0 0
3860 24 pvector< unsigned char > 0 2048 24 pvector< unsigned char > 24 pvector< unsigned char > 0 0 0 0 0 0 0 0 0 0 0 0 0
3861 29 TypedWritableReferenceCount * 0 8576 29 TypedWritableReferenceCount * 29 TypedWritableReferenceCount * 0 0 3596 0 0 0 0 0 0 0 0 0 0
3862 9 Namable * 0 8576 9 Namable * 9 Namable * 0 0 3620 0 0 0 0 0 0 0 0 0 0
3863 16 LinkedListNode * 0 8576 16 LinkedListNode * 16 LinkedListNode * 0 0 3621 0 0 0 0 0 0 0 0 0 0
3864 16 Children const * 0 8576 27 PandaNode::Children const * 27 PandaNode::Children const * 0 0 3865 0 0 0 0 0 0 0 0 0 0
3865 14 Children const 0 8832 25 PandaNode::Children const 25 PandaNode::Children const 0 0 3639 0 0 0 0 0 0 0 0 0 0
3866 15 Stashed const * 0 8576 26 PandaNode::Stashed const * 26 PandaNode::Stashed const * 0 0 3867 0 0 0 0 0 0 0 0 0 0
3867 13 Stashed const 0 8832 24 PandaNode::Stashed const 24 PandaNode::Stashed const 0 0 3640 0 0 0 0 0 0 0 0 0 0
3868 15 Parents const * 0 8576 26 PandaNode::Parents const * 26 PandaNode::Parents const * 0 0 3869 0 0 0 0 0 0 0 0 0 0
3869 13 Parents const 0 8832 24 PandaNode::Parents const 24 PandaNode::Parents const 0 0 3641 0 0 0 0 0 0 0 0 0 0
3870 26 TransparencyAttrib const * 0 8576 26 TransparencyAttrib const * 26 TransparencyAttrib const * 0 0 3871 0 0 0 0 0 0 0 0 0 0
3871 24 TransparencyAttrib const 0 8832 24 TransparencyAttrib const 24 TransparencyAttrib const 0 0 3642 0 0 0 0 0 0 0 0 0 0
3872 21 LogicOpAttrib const * 0 8576 21 LogicOpAttrib const * 21 LogicOpAttrib const * 0 0 3873 0 0 0 0 0 0 0 0 0 0
3873 19 LogicOpAttrib const 0 8832 19 LogicOpAttrib const 19 LogicOpAttrib const 0 0 3644 0 0 0 0 0 0 0 0 0 0
3874 20 InternalName const * 0 8576 20 InternalName const * 20 InternalName const * 0 0 3875 0 0 0 0 0 0 0 0 0 0
3875 18 InternalName const 0 8832 18 InternalName const 18 InternalName const 0 0 3876 0 0 0 0 0 0 0 0 0 0
3876 12 InternalName 0 16779264 12 InternalName 12 InternalName 0 0 0 0 0 0 0 0 0 0 0 0 514
/**
* Encodes a string name in a hash table, mapping it to a pointer. This is
* used to tokenify names so they may be used efficiently in low-level Panda
* structures, for instance to differentiate the multiple sets of texture
* coordinates that might be stored on a Geom.
*
* InternalNames are hierarchical, with the '.' used by convention as a
* separator character. You can construct a single InternalName as a
* composition of one or more other names, or by giving it a source string
* directly.
*/
3877 13 ShaderInput * 0 8576 13 ShaderInput * 13 ShaderInput * 0 0 3646 0 0 0 0 0 0 0 0 0 0
3878 20 SamplerState const * 0 8576 20 SamplerState const * 20 SamplerState const * 0 0 3758 0 0 0 0 0 0 0 0 0 0
3879 19 ShaderInput const * 0 8576 19 ShaderInput const * 19 ShaderInput const * 0 0 3880 0 0 0 0 0 0 0 0 0 0
3880 17 ShaderInput const 0 8832 17 ShaderInput const 17 ShaderInput const 0 0 3646 0 0 0 0 0 0 0 0 0 0
3881 17 LVecBase4 const * 0 8576 17 LVecBase4 const * 17 LVecBase4 const * 0 0 3687 0 0 0 0 0 0 0 0 0 0
3882 21 ShaderPtrData const * 0 8576 29 Shader::ShaderPtrData const * 29 Shader::ShaderPtrData const * 0 0 3883 0 0 0 0 0 0 0 0 0 0
3883 19 ShaderPtrData const 0 8832 27 Shader::ShaderPtrData const 27 Shader::ShaderPtrData const 0 0 3884 0 0 0 0 0 0 0 0 0 0
3884 13 ShaderPtrData 0 263168 21 Shader::ShaderPtrData 21 Shader::ShaderPtrData 3774 0 0 0 0 0 0 0 0 0 0 0 60
// Container structure for data of parameters ShaderPtrSpec.
3885 10 NodePath * 0 8576 10 NodePath * 10 NodePath * 0 0 3650 0 0 0 0 0 0 0 0 0 0
3886 24 TextureStageCollection * 0 8576 24 TextureStageCollection * 24 TextureStageCollection * 0 0 3649 0 0 0 0 0 0 0 0 0 0
3887 30 TextureStageCollection const * 0 8576 30 TextureStageCollection const * 30 TextureStageCollection const * 0 0 3888 0 0 0 0 0 0 0 0 0 0
3888 28 TextureStageCollection const 0 8832 28 TextureStageCollection const 28 TextureStageCollection const 0 0 3649 0 0 0 0 0 0 0 0 0 0
3889 16 NodePath const * 0 8576 16 NodePath const * 16 NodePath const * 0 0 3671 0 0 0 0 0 0 0 0 0 0
3890 20 NodePathCollection * 0 8576 20 NodePathCollection * 20 NodePathCollection * 0 0 3653 0 0 0 0 0 0 0 0 0 0
3891 9 LPoint3 * 0 8576 9 LPoint3 * 9 LPoint3 * 0 0 3583 0 0 0 0 0 0 0 0 0 0
3892 8 LVector3 0 2105344 8 LVector3 8 LVector3 0 0 3893 0 0 0 0 0 0 0 0 0 0
3893 9 LVector3f 0 2048 9 LVector3f 9 LVector3f 0 0 0 0 0 0 0 0 0 0 0 0 338
/**
* This is a three-component vector distance (as opposed to a three-component
* point, which represents a particular point in space). Some of the methods
* are slightly different between LPoint3 and LVector3; in particular,
* subtraction of two points yields a vector, while addition of a vector and a
* point yields a point.
*/
3894 10 LVector3 * 0 8576 10 LVector3 * 10 LVector3 * 0 0 3892 0 0 0 0 0 0 0 0 0 0
3895 11 LVecBase3 * 0 8576 11 LVecBase3 * 11 LVecBase3 * 0 0 3586 0 0 0 0 0 0 0 0 0 0
3896 13 LQuaternion * 0 8576 13 LQuaternion * 13 LQuaternion * 0 0 3589 0 0 0 0 0 0 0 0 0 0
3897 10 LMatrix4 * 0 8576 10 LMatrix4 * 10 LMatrix4 * 0 0 3592 0 0 0 0 0 0 0 0 0 0
3898 16 LVector3 const * 0 8576 16 LVector3 const * 16 LVector3 const * 0 0 3899 0 0 0 0 0 0 0 0 0 0
3899 14 LVector3 const 0 8832 14 LVector3 const 14 LVector3 const 0 0 3892 0 0 0 0 0 0 0 0 0 0
3900 8 LColor * 0 8576 8 LColor * 8 LColor * 0 0 3606 0 0 0 0 0 0 0 0 0 0
3901 11 BitMask32 * 0 8576 11 BitMask32 * 11 BitMask32 * 0 0 3632 0 0 0 0 0 0 0 0 0 0
3902 18 LTexCoord3 const * 0 8576 18 LTexCoord3 const * 18 LTexCoord3 const * 0 0 3903 0 0 0 0 0 0 0 0 0 0
3903 16 LTexCoord3 const 0 8832 16 LTexCoord3 const 16 LTexCoord3 const 0 0 3904 0 0 0 0 0 0 0 0 0 0
3904 10 LTexCoord3 0 2105344 10 LTexCoord3 10 LTexCoord3 0 0 3905 0 0 0 0 0 0 0 0 0 0
3905 11 LTexCoord3f 0 2105344 11 LTexCoord3f 11 LTexCoord3f 0 0 3584 0 0 0 0 0 0 0 0 0 0
3906 24 InternalNameCollection * 0 8576 24 InternalNameCollection * 24 InternalNameCollection * 0 0 3720 0 0 0 0 0 0 0 0 0 0
3907 17 TextureCollection 0 2048 17 TextureCollection 17 TextureCollection 0 0 0 0 0 0 0 0 0 0 0 0 97
/**
* Manages a list of Texture objects, as returned by
* TexturePool::find_all_textures().
*/
3908 19 TextureCollection * 0 8576 19 TextureCollection * 19 TextureCollection * 0 0 3907 0 0 0 0 0 0 0 0 0 0
3909 20 MaterialCollection * 0 8576 20 MaterialCollection * 20 MaterialCollection * 0 0 3735 0 0 0 0 0 0 0 0 0 0
3910 20 WeakNodePath const * 0 8576 20 WeakNodePath const * 20 WeakNodePath const * 0 0 3911 0 0 0 0 0 0 0 0 0 0
3911 18 WeakNodePath const 0 8832 18 WeakNodePath const 18 WeakNodePath const 0 0 3669 0 0 0 0 0 0 0 0 0 0
3912 15 vector_string * 0 8576 15 vector_string * 15 vector_string * 0 0 3913 0 0 0 0 0 0 0 0 0 0
3913 13 vector_string 0 2105344 13 vector_string 13 vector_string 0 0 3914 0 0 0 0 0 0 0 0 0 0
3914 17 pvector< string > 0 2048 22 pvector< std::string > 22 pvector< std::string > 0 0 0 0 0 0 0 0 0 0 0 0 0
3915 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 3739 0 0 0 0 0 0 0 0 0 0
3916 14 vector_uchar * 0 8576 14 vector_uchar * 14 vector_uchar * 0 0 3859 0 0 0 0 0 0 0 0 0 0
3917 26 NodePathCollection const * 0 8576 26 NodePathCollection const * 26 NodePathCollection const * 0 0 3918 0 0 0 0 0 0 0 0 0 0
3918 24 NodePathCollection const 0 8832 24 NodePathCollection const 24 NodePathCollection const 0 0 3653 0 0 0 0 0 0 0 0 0 0
3919 20 AttribNodeRegistry * 0 8576 20 AttribNodeRegistry * 20 AttribNodeRegistry * 0 0 3654 0 0 0 0 0 0 0 0 0 0
3920 26 AttribNodeRegistry const * 0 8576 26 AttribNodeRegistry const * 26 AttribNodeRegistry const * 0 0 3921 0 0 0 0 0 0 0 0 0 0
3921 24 AttribNodeRegistry const 0 8832 24 AttribNodeRegistry const 24 AttribNodeRegistry const 0 0 3654 0 0 0 0 0 0 0 0 0 0
3922 25 AudioVolumeAttrib const * 0 8576 25 AudioVolumeAttrib const * 25 AudioVolumeAttrib const * 0 0 3923 0 0 0 0 0 0 0 0 0 0
3923 23 AudioVolumeAttrib const 0 8832 23 AudioVolumeAttrib const 23 AudioVolumeAttrib const 0 0 3655 0 0 0 0 0 0 0 0 0 0
3924 25 AuxBitplaneAttrib const * 0 8576 25 AuxBitplaneAttrib const * 25 AuxBitplaneAttrib const * 0 0 3925 0 0 0 0 0 0 0 0 0 0
3925 23 AuxBitplaneAttrib const 0 8832 23 AuxBitplaneAttrib const 23 AuxBitplaneAttrib const 0 0 3656 0 0 0 0 0 0 0 0 0 0
3926 20 AuxSceneData const * 0 8576 20 AuxSceneData const * 20 AuxSceneData const * 0 0 3927 0 0 0 0 0 0 0 0 0 0
3927 18 AuxSceneData const 0 8832 18 AuxSceneData const 18 AuxSceneData const 0 0 3658 0 0 0 0 0 0 0 0 0 0
3928 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
3929 9 BamFile * 0 8576 9 BamFile * 9 BamFile * 0 0 3660 0 0 0 0 0 0 0 0 0 0
3930 9 istream * 0 8576 14 std::istream * 14 std::istream * 0 0 3931 0 0 0 0 0 0 0 0 0 0
3931 7 istream 0 2048 12 std::istream 12 std::istream 0 0 0 0 0 0 0 0 0 0 0 0 0
3932 15 TypedWritable * 0 8576 15 TypedWritable * 15 TypedWritable * 0 0 3933 0 0 0 0 0 0 0 0 0 0
3933 13 TypedWritable 0 2048 13 TypedWritable 13 TypedWritable 0 0 0 0 0 0 0 0 0 0 0 0 135
/**
* Base class for objects that can be written to and read from Bam files.
*
* See also TypedObject for detailed instructions.
*/
3934 15 BamFile const * 0 8576 15 BamFile const * 15 BamFile const * 0 0 3935 0 0 0 0 0 0 0 0 0 0
3935 13 BamFile const 0 8832 13 BamFile const 13 BamFile const 0 0 3660 0 0 0 0 0 0 0 0 0 0
3936 21 TypedWritable const * 0 8576 21 TypedWritable const * 21 TypedWritable const * 0 0 3937 0 0 0 0 0 0 0 0 0 0
3937 19 TypedWritable const 0 8832 19 TypedWritable const 19 TypedWritable const 0 0 3933 0 0 0 0 0 0 0 0 0 0
3938 23 BillboardEffect const * 0 8576 23 BillboardEffect const * 23 BillboardEffect const * 0 0 3939 0 0 0 0 0 0 0 0 0 0
3939 21 BillboardEffect const 0 8832 21 BillboardEffect const 21 BillboardEffect const 0 0 3667 0 0 0 0 0 0 0 0 0 0
3940 6 Lens * 0 8576 6 Lens * 6 Lens * 0 0 3941 0 0 0 0 0 0 0 0 0 0
3941 4 Lens 0 2048 4 Lens 4 Lens 0 0 0 0 0 0 0 0 0 0 0 0 398
/**
* A base class for any number of different kinds of lenses, linear and
* otherwise. Presently, this includes perspective and orthographic lenses.
*
* A Lens object is the main part of a Camera node, which defines the
* fundamental interface to point-of-view for rendering. Lenses are also used
* in other contexts, however; for instance, a Spotlight is also defined using
* a lens.
*/
3942 10 LensNode * 0 8576 10 LensNode * 10 LensNode * 0 0 3668 0 0 0 0 0 0 0 0 0 0
3943 12 Lens const * 0 8576 12 Lens const * 12 Lens const * 0 0 3944 0 0 0 0 0 0 0 0 0 0
3944 10 Lens const 0 8832 10 Lens const 10 Lens const 0 0 3941 0 0 0 0 0 0 0 0 0 0
3945 16 LensNode const * 0 8576 16 LensNode const * 16 LensNode const * 0 0 3946 0 0 0 0 0 0 0 0 0 0
3946 14 LensNode const 0 8832 14 LensNode const 14 LensNode const 0 0 3668 0 0 0 0 0 0 0 0 0 0
3947 14 WeakNodePath * 0 8576 14 WeakNodePath * 14 WeakNodePath * 0 0 3669 0 0 0 0 0 0 0 0 0 0
3948 14 Camera const * 0 8576 14 Camera const * 14 Camera const * 0 0 3949 0 0 0 0 0 0 0 0 0 0
3949 12 Camera const 0 8832 12 Camera const 12 Camera const 0 0 3670 0 0 0 0 0 0 0 0 0 0
3950 8 Camera * 0 8576 8 Camera * 8 Camera * 0 0 3670 0 0 0 0 0 0 0 0 0 0
3951 14 LPlane const * 0 8576 14 LPlane const * 14 LPlane const * 0 0 3952 0 0 0 0 0 0 0 0 0 0
3952 12 LPlane const 0 8832 12 LPlane const 12 LPlane const 0 0 3953 0 0 0 0 0 0 0 0 0 0
3953 6 LPlane 0 2105344 6 LPlane 6 LPlane 0 0 3954 0 0 0 0 0 0 0 0 0 0
3954 7 LPlanef 0 2048 7 LPlanef 7 LPlanef 0 0 0 0 0 0 0 0 0 0 0 0 120
/**
* An abstract mathematical description of a plane. A plane is defined by the
* equation Ax + By + Cz + D = 0.
*/
3955 11 PlaneNode * 0 8576 11 PlaneNode * 11 PlaneNode * 0 0 3677 0 0 0 0 0 0 0 0 0 0
3956 17 PlaneNode const * 0 8576 17 PlaneNode const * 17 PlaneNode const * 0 0 3957 0 0 0 0 0 0 0 0 0 0
3957 15 PlaneNode const 0 8832 15 PlaneNode const 15 PlaneNode const 0 0 3677 0 0 0 0 0 0 0 0 0 0
3958 23 ClipPlaneAttrib const * 0 8576 23 ClipPlaneAttrib const * 23 ClipPlaneAttrib const * 0 0 3959 0 0 0 0 0 0 0 0 0 0
3959 21 ClipPlaneAttrib const 0 8832 21 ClipPlaneAttrib const 21 ClipPlaneAttrib const 0 0 3679 0 0 0 0 0 0 0 0 0 0
3960 19 ColorAttrib const * 0 8576 19 ColorAttrib const * 19 ColorAttrib const * 0 0 3961 0 0 0 0 0 0 0 0 0 0
3961 17 ColorAttrib const 0 8832 17 ColorAttrib const 17 ColorAttrib const 0 0 3681 0 0 0 0 0 0 0 0 0 0
3962 24 ColorBlendAttrib const * 0 8576 24 ColorBlendAttrib const * 24 ColorBlendAttrib const * 0 0 3963 0 0 0 0 0 0 0 0 0 0
3963 22 ColorBlendAttrib const 0 8832 22 ColorBlendAttrib const 22 ColorBlendAttrib const 0 0 3683 0 0 0 0 0 0 0 0 0 0
3964 24 ColorScaleAttrib const * 0 8576 24 ColorScaleAttrib const * 24 ColorScaleAttrib const * 0 0 3965 0 0 0 0 0 0 0 0 0 0
3965 22 ColorScaleAttrib const 0 8832 22 ColorScaleAttrib const 22 ColorScaleAttrib const 0 0 3686 0 0 0 0 0 0 0 0 0 0
3966 24 ColorWriteAttrib const * 0 8576 24 ColorWriteAttrib const * 24 ColorWriteAttrib const * 0 0 3967 0 0 0 0 0 0 0 0 0 0
3967 22 ColorWriteAttrib const 0 8832 22 ColorWriteAttrib const 22 ColorWriteAttrib const 0 0 3689 0 0 0 0 0 0 0 0 0 0
3968 21 CompassEffect const * 0 8576 21 CompassEffect const * 21 CompassEffect const * 0 0 3969 0 0 0 0 0 0 0 0 0 0
3969 19 CompassEffect const 0 8832 19 CompassEffect const 19 CompassEffect const 0 0 3692 0 0 0 0 0 0 0 0 0 0
3970 14 CullBinEnums * 0 8576 14 CullBinEnums * 14 CullBinEnums * 0 0 3694 0 0 0 0 0 0 0 0 0 0
3971 20 CullBinEnums const * 0 8576 20 CullBinEnums const * 20 CullBinEnums const * 0 0 3972 0 0 0 0 0 0 0 0 0 0
3972 18 CullBinEnums const 0 8832 18 CullBinEnums const 18 CullBinEnums const 0 0 3694 0 0 0 0 0 0 0 0 0 0
3973 10 GeomNode * 0 8576 10 GeomNode * 10 GeomNode * 0 0 3696 0 0 0 0 0 0 0 0 0 0
3974 16 GeomNode const * 0 8576 16 GeomNode const * 16 GeomNode const * 0 0 3975 0 0 0 0 0 0 0 0 0 0
3975 14 GeomNode const 0 8832 14 GeomNode const 14 GeomNode const 0 0 3696 0 0 0 0 0 0 0 0 0 0
3976 10 Geom const 0 8832 10 Geom const 10 Geom const 0 0 3977 0 0 0 0 0 0 0 0 0 0
3977 4 Geom 0 2048 4 Geom 4 Geom 0 0 0 0 0 0 0 0 0 0 0 0 418
/**
* A container for geometry primitives. This class associates one or more
* GeomPrimitive objects with a table of vertices defined by a GeomVertexData
* object. All of the primitives stored in a particular Geom are drawn from
* the same set of vertices (each primitive uses a subset of all of the
* vertices in the table), and all of them must be rendered at the same time,
* in the same graphics state.
*/
3978 12 Geom const * 0 8576 12 Geom const * 12 Geom const * 0 0 3976 0 0 0 0 0 0 0 0 0 0
3979 6 Geom * 0 8576 6 Geom * 6 Geom * 0 0 3977 0 0 0 0 0 0 0 0 0 0
3980 21 CullBinAttrib const * 0 8576 21 CullBinAttrib const * 21 CullBinAttrib const * 0 0 3981 0 0 0 0 0 0 0 0 0 0
3981 19 CullBinAttrib const 0 8832 19 CullBinAttrib const 19 CullBinAttrib const 0 0 3697 0 0 0 0 0 0 0 0 0 0
3982 16 CullBinManager * 0 8576 16 CullBinManager * 16 CullBinManager * 0 0 3698 0 0 0 0 0 0 0 0 0 0
3983 7 BinType 0 2367488 23 CullBinManager::BinType 23 CullBinManager::BinType 3698 0 3695 0 0 0 0 0 0 0 0 0 0
3984 22 CullBinManager const * 0 8576 22 CullBinManager const * 22 CullBinManager const * 0 0 3985 0 0 0 0 0 0 0 0 0 0
3985 20 CullBinManager const 0 8832 20 CullBinManager const 20 CullBinManager const 0 0 3698 0 0 0 0 0 0 0 0 0 0
3986 22 CullFaceAttrib const * 0 8576 22 CullFaceAttrib const * 22 CullFaceAttrib const * 0 0 3987 0 0 0 0 0 0 0 0 0 0
3987 20 CullFaceAttrib const 0 8832 20 CullFaceAttrib const 20 CullFaceAttrib const 0 0 3699 0 0 0 0 0 0 0 0 0 0
3988 19 CullTraverserData * 0 8576 19 CullTraverserData * 19 CullTraverserData * 0 0 3702 0 0 0 0 0 0 0 0 0 0
3989 21 CullTraverser const * 0 8576 21 CullTraverser const * 21 CullTraverser const * 0 0 3990 0 0 0 0 0 0 0 0 0 0
3990 19 CullTraverser const 0 8832 19 CullTraverser const 19 CullTraverser const 0 0 3708 0 0 0 0 0 0 0 0 0 0
3991 16 DrawMask const * 0 8576 16 DrawMask const * 16 DrawMask const * 0 0 3992 0 0 0 0 0 0 0 0 0 0
3992 14 DrawMask const 0 8832 14 DrawMask const 14 DrawMask const 0 0 3631 0 0 0 0 0 0 0 0 0 0
3993 18 SceneSetup const * 0 8576 18 SceneSetup const * 18 SceneSetup const * 0 0 3994 0 0 0 0 0 0 0 0 0 0
3994 16 SceneSetup const 0 8832 16 SceneSetup const 16 SceneSetup const 0 0 3703 0 0 0 0 0 0 0 0 0 0
3995 12 SceneSetup * 0 8576 12 SceneSetup * 12 SceneSetup * 0 0 3703 0 0 0 0 0 0 0 0 0 0
3996 25 GeometricBoundingVolume * 0 8576 25 GeometricBoundingVolume * 25 GeometricBoundingVolume * 0 0 3997 0 0 0 0 0 0 0 0 0 0
3997 23 GeometricBoundingVolume 0 2048 23 GeometricBoundingVolume 23 GeometricBoundingVolume 0 0 0 0 0 0 0 0 0 0 0 0 167
/**
* This is another abstract class, for a general class of bounding volumes
* that actually enclose points in 3-d space, such as BSP's and bounding
* spheres.
*/
3998 11 Fog const * 0 8576 11 Fog const * 11 Fog const * 0 0 3999 0 0 0 0 0 0 0 0 0 0
3999 9 Fog const 0 8832 9 Fog const 9 Fog const 0 0 3704 0 0 0 0 0 0 0 0 0 0
4000 17 FogAttrib const * 0 8576 17 FogAttrib const * 17 FogAttrib const * 0 0 4001 0 0 0 0 0 0 0 0 0 0
4001 15 FogAttrib const 0 8832 15 FogAttrib const 15 FogAttrib const 0 0 3706 0 0 0 0 0 0 0 0 0 0
4002 13 CullHandler * 0 8576 13 CullHandler * 13 CullHandler * 0 0 4003 0 0 0 0 0 0 0 0 0 0
4003 11 CullHandler 0 2048 11 CullHandler 11 CullHandler 0 0 0 0 0 0 0 0 0 0 0 0 0
4004 15 PortalClipper * 0 8576 15 PortalClipper * 15 PortalClipper * 0 0 4005 0 0 0 0 0 0 0 0 0 0
4005 13 PortalClipper 0 2048 13 PortalClipper 13 PortalClipper 0 0 0 0 0 0 0 0 0 0 0 0 0
4006 28 GeomDrawCallbackData const * 0 8576 28 GeomDrawCallbackData const * 28 GeomDrawCallbackData const * 0 0 4007 0 0 0 0 0 0 0 0 0 0
4007 26 GeomDrawCallbackData const 0 8832 26 GeomDrawCallbackData const 26 GeomDrawCallbackData const 0 0 3709 0 0 0 0 0 0 0 0 0 0
4008 16 CullableObject * 0 8576 16 CullableObject * 16 CullableObject * 0 0 4009 0 0 0 0 0 0 0 0 0 0
4009 14 CullableObject 0 1050624 14 CullableObject 14 CullableObject 0 0 0 0 0 0 0 0 0 0 0 0 133
/**
* The smallest atom of cull. This is normally just a Geom and its associated
* state, but it also contain a draw callback.
*/
4010 22 GeomDrawCallbackData * 0 8576 22 GeomDrawCallbackData * 22 GeomDrawCallbackData * 0 0 3709 0 0 0 0 0 0 0 0 0 0
4011 27 RescaleNormalAttrib const * 0 8576 27 RescaleNormalAttrib const * 27 RescaleNormalAttrib const * 0 0 4012 0 0 0 0 0 0 0 0 0 0
4012 25 RescaleNormalAttrib const 0 8832 25 RescaleNormalAttrib const 25 RescaleNormalAttrib const 0 0 3711 0 0 0 0 0 0 0 0 0 0
4013 18 CullResult const * 0 8576 18 CullResult const * 18 CullResult const * 0 0 4014 0 0 0 0 0 0 0 0 0 0
4014 16 CullResult const 0 8832 16 CullResult const 16 CullResult const 0 0 3713 0 0 0 0 0 0 0 0 0 0
4015 12 CullResult * 0 8576 12 CullResult * 12 CullResult * 0 0 3713 0 0 0 0 0 0 0 0 0 0
4016 7 CullBin 0 1050624 7 CullBin 7 CullBin 0 0 0 0 0 0 0 0 0 0 0 0 320
/**
* A collection of Geoms and their associated state, for a particular scene.
* The cull traversal (and the BinCullHandler) assigns Geoms to bins as it
* comes across them.
*
* This is an abstract base class; derived classes like CullBinStateSorted and
* CullBinBackToFront provide the actual implementation.
*/
4017 9 CullBin * 0 8576 9 CullBin * 9 CullBin * 0 0 4016 0 0 0 0 0 0 0 0 0 0
4018 25 DepthOffsetAttrib const * 0 8576 25 DepthOffsetAttrib const * 25 DepthOffsetAttrib const * 0 0 4019 0 0 0 0 0 0 0 0 0 0
4019 23 DepthOffsetAttrib const 0 8832 23 DepthOffsetAttrib const 23 DepthOffsetAttrib const 0 0 3716 0 0 0 0 0 0 0 0 0 0
4020 23 DepthTestAttrib const * 0 8576 23 DepthTestAttrib const * 23 DepthTestAttrib const * 0 0 4021 0 0 0 0 0 0 0 0 0 0
4021 21 DepthTestAttrib const 0 8832 21 DepthTestAttrib const 21 DepthTestAttrib const 0 0 3717 0 0 0 0 0 0 0 0 0 0
4022 24 DepthWriteAttrib const * 0 8576 24 DepthWriteAttrib const * 24 DepthWriteAttrib const * 0 0 4023 0 0 0 0 0 0 0 0 0 0
4023 22 DepthWriteAttrib const 0 8832 22 DepthWriteAttrib const 22 DepthWriteAttrib const 0 0 3718 0 0 0 0 0 0 0 0 0 0
4024 30 InternalNameCollection const * 0 8576 30 InternalNameCollection const * 30 InternalNameCollection const * 0 0 4025 0 0 0 0 0 0 0 0 0 0
4025 28 InternalNameCollection const 0 8832 28 InternalNameCollection const 28 InternalNameCollection const 0 0 3720 0 0 0 0 0 0 0 0 0 0
4026 13 Light const * 0 8576 13 Light const * 13 Light const * 0 0 4027 0 0 0 0 0 0 0 0 0 0
4027 11 Light const 0 8832 11 Light const 11 Light const 0 0 3721 0 0 0 0 0 0 0 0 0 0
4028 19 LightAttrib const * 0 8576 19 LightAttrib const * 19 LightAttrib const * 0 0 4029 0 0 0 0 0 0 0 0 0 0
4029 17 LightAttrib const 0 8832 17 LightAttrib const 17 LightAttrib const 0 0 3722 0 0 0 0 0 0 0 0 0 0
4030 23 LightRampAttrib const * 0 8576 23 LightRampAttrib const * 23 LightRampAttrib const * 0 0 4031 0 0 0 0 0 0 0 0 0 0
4031 21 LightRampAttrib const 0 8832 21 LightRampAttrib const 21 LightRampAttrib const 0 0 3724 0 0 0 0 0 0 0 0 0 0
4032 14 Loader const * 0 8576 14 Loader const * 14 Loader const * 0 0 4033 0 0 0 0 0 0 0 0 0 0
4033 12 Loader const 0 8832 12 Loader const 12 Loader const 0 0 3726 0 0 0 0 0 0 0 0 0 0
4034 18 AsyncTaskManager * 0 8576 18 AsyncTaskManager * 18 AsyncTaskManager * 0 0 4035 0 0 0 0 0 0 0 0 0 0
4035 16 AsyncTaskManager 0 2048 16 AsyncTaskManager 16 AsyncTaskManager 0 0 0 0 0 0 0 0 0 0 0 0 674
/**
* A class to manage a loose queue of isolated tasks, which can be performed
* either synchronously (in the foreground thread) or asynchronously (by a
* background thread).
*
* The AsyncTaskManager is actually a collection of AsyncTaskChains, each of
* which maintains a list of tasks. Each chain can be either foreground or
* background (it may run only in the main thread, or it may be serviced by
* one or more background threads). See AsyncTaskChain for more information.
*
* If you do not require background processing, it is perfectly acceptable to
* create only one AsyncTaskChain, which runs in the main thread. This is a
* common configuration.
*/
4036 11 AsyncTask * 0 8576 11 AsyncTask * 11 AsyncTask * 0 0 3737 0 0 0 0 0 0 0 0 0 0
4037 21 LoaderOptions const * 0 8576 21 LoaderOptions const * 21 LoaderOptions const * 0 0 3741 0 0 0 0 0 0 0 0 0 0
4038 21 TypedReferenceCount * 0 8576 21 TypedReferenceCount * 21 TypedReferenceCount * 0 0 3659 0 0 0 0 0 0 0 0 0 0
4039 9 Results * 0 8576 17 Loader::Results * 17 Loader::Results * 0 0 3727 0 0 0 0 0 0 0 0 0 0
4040 15 Results const * 0 8576 23 Loader::Results const * 23 Loader::Results const * 0 0 4041 0 0 0 0 0 0 0 0 0 0
4041 13 Results const 0 8832 21 Loader::Results const 21 Loader::Results const 0 0 3727 0 0 0 0 0 0 0 0 0 0
4042 22 LoaderFileType const * 0 8576 22 LoaderFileType const * 22 LoaderFileType const * 0 0 4043 0 0 0 0 0 0 0 0 0 0
4043 20 LoaderFileType const 0 8832 20 LoaderFileType const 20 LoaderFileType const 0 0 3728 0 0 0 0 0 0 0 0 0 0
4044 30 LoaderFileTypeRegistry const * 0 8576 30 LoaderFileTypeRegistry const * 30 LoaderFileTypeRegistry const * 0 0 4045 0 0 0 0 0 0 0 0 0 0
4045 28 LoaderFileTypeRegistry const 0 8832 28 LoaderFileTypeRegistry const 28 LoaderFileTypeRegistry const 0 0 3730 0 0 0 0 0 0 0 0 0 0
4046 24 LoaderFileTypeRegistry * 0 8576 24 LoaderFileTypeRegistry * 24 LoaderFileTypeRegistry * 0 0 3730 0 0 0 0 0 0 0 0 0 0
4047 22 MaterialAttrib const * 0 8576 22 MaterialAttrib const * 22 MaterialAttrib const * 0 0 4048 0 0 0 0 0 0 0 0 0 0
4048 20 MaterialAttrib const 0 8832 20 MaterialAttrib const 20 MaterialAttrib const 0 0 3732 0 0 0 0 0 0 0 0 0 0
4049 26 MaterialCollection const * 0 8576 26 MaterialCollection const * 26 MaterialCollection const * 0 0 4050 0 0 0 0 0 0 0 0 0 0
4050 24 MaterialCollection const 0 8832 24 MaterialCollection const 24 MaterialCollection const 0 0 3735 0 0 0 0 0 0 0 0 0 0
4051 27 ModelFlattenRequest const * 0 8576 27 ModelFlattenRequest const * 27 ModelFlattenRequest const * 0 0 4052 0 0 0 0 0 0 0 0 0 0
4052 25 ModelFlattenRequest const 0 8832 25 ModelFlattenRequest const 25 ModelFlattenRequest const 0 0 3736 0 0 0 0 0 0 0 0 0 0
4053 21 ModelFlattenRequest * 0 8576 21 ModelFlattenRequest * 21 ModelFlattenRequest * 0 0 3736 0 0 0 0 0 0 0 0 0 0
4054 24 ModelLoadRequest const * 0 8576 24 ModelLoadRequest const * 24 ModelLoadRequest const * 0 0 4055 0 0 0 0 0 0 0 0 0 0
4055 22 ModelLoadRequest const 0 8832 22 ModelLoadRequest const 22 ModelLoadRequest const 0 0 3738 0 0 0 0 0 0 0 0 0 0
4056 18 ModelLoadRequest * 0 8576 18 ModelLoadRequest * 18 ModelLoadRequest * 0 0 3738 0 0 0 0 0 0 0 0 0 0
4057 11 ModelNode * 0 8576 11 ModelNode * 11 ModelNode * 0 0 3744 0 0 0 0 0 0 0 0 0 0
4058 17 ModelNode const * 0 8576 17 ModelNode const * 17 ModelNode const * 0 0 4059 0 0 0 0 0 0 0 0 0 0
4059 15 ModelNode const 0 8832 15 ModelNode const 15 ModelNode const 0 0 3744 0 0 0 0 0 0 0 0 0 0
4060 11 ModelRoot * 0 8576 11 ModelRoot * 11 ModelRoot * 0 0 3746 0 0 0 0 0 0 0 0 0 0
4061 17 ModelRoot const * 0 8576 17 ModelRoot const * 17 ModelRoot const * 0 0 4062 0 0 0 0 0 0 0 0 0 0
4062 15 ModelRoot const 0 8832 15 ModelRoot const 15 ModelRoot const 0 0 3746 0 0 0 0 0 0 0 0 0 0
4063 22 ModelReference const * 0 8576 33 ModelRoot::ModelReference const * 33 ModelRoot::ModelReference const * 0 0 4064 0 0 0 0 0 0 0 0 0 0
4064 20 ModelReference const 0 8832 31 ModelRoot::ModelReference const 31 ModelRoot::ModelReference const 0 0 3749 0 0 0 0 0 0 0 0 0 0
4065 24 ModelSaveRequest const * 0 8576 24 ModelSaveRequest const * 24 ModelSaveRequest const * 0 0 4066 0 0 0 0 0 0 0 0 0 0
4066 22 ModelSaveRequest const 0 8832 22 ModelSaveRequest const 22 ModelSaveRequest const 0 0 3752 0 0 0 0 0 0 0 0 0 0
4067 18 ModelSaveRequest * 0 8576 18 ModelSaveRequest * 18 ModelSaveRequest * 0 0 3752 0 0 0 0 0 0 0 0 0 0
4068 21 TextureAttrib const * 0 8576 21 TextureAttrib const * 21 TextureAttrib const * 0 0 4069 0 0 0 0 0 0 0 0 0 0
4069 19 TextureAttrib const 0 8832 19 TextureAttrib const 19 TextureAttrib const 0 0 3753 0 0 0 0 0 0 0 0 0 0
4070 20 TextureStage const * 0 8576 20 TextureStage const * 20 TextureStage const * 0 0 4071 0 0 0 0 0 0 0 0 0 0
4071 18 TextureStage const 0 8832 18 TextureStage const 18 TextureStage const 0 0 3755 0 0 0 0 0 0 0 0 0 0
4072 4 Mode 0 2367488 18 TexGenAttrib::Mode 18 TexGenAttrib::Mode 3760 0 3599 0 0 0 0 0 0 0 0 0 0
4073 20 TexGenAttrib const * 0 8576 20 TexGenAttrib const * 20 TexGenAttrib const * 0 0 4074 0 0 0 0 0 0 0 0 0 0
4074 18 TexGenAttrib const 0 8832 18 TexGenAttrib const 18 TexGenAttrib const 0 0 3760 0 0 0 0 0 0 0 0 0 0
4075 14 OccluderNode * 0 8576 14 OccluderNode * 14 OccluderNode * 0 0 3761 0 0 0 0 0 0 0 0 0 0
4076 20 OccluderNode const * 0 8576 20 OccluderNode const * 20 OccluderNode const * 0 0 4077 0 0 0 0 0 0 0 0 0 0
4077 18 OccluderNode const 0 8832 18 OccluderNode const 18 OccluderNode const 0 0 3761 0 0 0 0 0 0 0 0 0 0
4078 22 OccluderEffect const * 0 8576 22 OccluderEffect const * 22 OccluderEffect const * 0 0 4079 0 0 0 0 0 0 0 0 0 0
4079 20 OccluderEffect const 0 8832 20 OccluderEffect const 20 OccluderEffect const 0 0 3762 0 0 0 0 0 0 0 0 0 0
4080 21 PolylightNode const * 0 8576 21 PolylightNode const * 21 PolylightNode const * 0 0 4081 0 0 0 0 0 0 0 0 0 0
4081 19 PolylightNode const 0 8832 19 PolylightNode const 19 PolylightNode const 0 0 3763 0 0 0 0 0 0 0 0 0 0
4082 15 PolylightNode * 0 8576 15 PolylightNode * 15 PolylightNode * 0 0 3763 0 0 0 0 0 0 0 0 0 0
4083 18 LightGroup const * 0 8576 35 PolylightEffect::LightGroup const * 35 PolylightEffect::LightGroup const * 0 0 4084 0 0 0 0 0 0 0 0 0 0
4084 16 LightGroup const 0 8832 33 PolylightEffect::LightGroup const 33 PolylightEffect::LightGroup const 0 0 3768 0 0 0 0 0 0 0 0 0 0
4085 23 PolylightEffect const * 0 8576 23 PolylightEffect const * 23 PolylightEffect const * 0 0 4086 0 0 0 0 0 0 0 0 0 0
4086 21 PolylightEffect const 0 8832 21 PolylightEffect const 21 PolylightEffect const 0 0 3766 0 0 0 0 0 0 0 0 0 0
4087 20 ShaderAttrib const * 0 8576 20 ShaderAttrib const * 20 ShaderAttrib const * 0 0 4088 0 0 0 0 0 0 0 0 0 0
4088 18 ShaderAttrib const 0 8832 18 ShaderAttrib const 18 ShaderAttrib const 0 0 3770 0 0 0 0 0 0 0 0 0 0
4089 14 InternalName * 0 8576 14 InternalName * 14 InternalName * 0 0 3876 0 0 0 0 0 0 0 0 0 0
4090 11 LVecBase4 * 0 8576 11 LVecBase4 * 11 LVecBase4 * 0 0 3688 0 0 0 0 0 0 0 0 0 0
4091 14 SamplerState * 0 8576 14 SamplerState * 14 SamplerState * 0 0 3759 0 0 0 0 0 0 0 0 0 0
4092 15 ShaderPtrData * 0 8576 23 Shader::ShaderPtrData * 23 Shader::ShaderPtrData * 0 0 3884 0 0 0 0 0 0 0 0 0 0
4093 12 ShaderBuffer 0 2048 12 ShaderBuffer 12 ShaderBuffer 0 0 0 0 0 0 0 0 0 0 0 0 93
/**
* This is a generic buffer object that lives in graphics memory.
*
* @since 1.10.0
*/
4094 14 ShaderBuffer * 0 8576 14 ShaderBuffer * 14 ShaderBuffer * 0 0 4093 0 0 0 0 0 0 0 0 0 0
4095 24 ShowBoundsEffect const * 0 8576 24 ShowBoundsEffect const * 24 ShowBoundsEffect const * 0 0 4096 0 0 0 0 0 0 0 0 0 0
4096 22 ShowBoundsEffect const 0 8832 22 ShowBoundsEffect const 22 ShowBoundsEffect const 0 0 3775 0 0 0 0 0 0 0 0 0 0
4097 26 TexProjectorEffect const * 0 8576 26 TexProjectorEffect const * 26 TexProjectorEffect const * 0 0 4098 0 0 0 0 0 0 0 0 0 0
4098 24 TexProjectorEffect const 0 8832 24 TexProjectorEffect const 24 TexProjectorEffect const 0 0 3776 0 0 0 0 0 0 0 0 0 0
4099 21 ScissorEffect const * 0 8576 21 ScissorEffect const * 21 ScissorEffect const * 0 0 4100 0 0 0 0 0 0 0 0 0 0
4100 19 ScissorEffect const 0 8832 19 ScissorEffect const 19 ScissorEffect const 0 0 3777 0 0 0 0 0 0 0 0 0 0
4101 19 SceneGraphReducer * 0 8576 19 SceneGraphReducer * 19 SceneGraphReducer * 0 0 3778 0 0 0 0 0 0 0 0 0 0
4102 25 SceneGraphReducer const * 0 8576 25 SceneGraphReducer const * 25 SceneGraphReducer const * 0 0 4103 0 0 0 0 0 0 0 0 0 0
4103 23 SceneGraphReducer const 0 8832 23 SceneGraphReducer const 23 SceneGraphReducer const 0 0 3778 0 0 0 0 0 0 0 0 0 0
4104 26 AccumulatedAttribs const * 0 8576 26 AccumulatedAttribs const * 26 AccumulatedAttribs const * 0 0 4105 0 0 0 0 0 0 0 0 0 0
4105 24 AccumulatedAttribs const 0 8832 24 AccumulatedAttribs const 24 AccumulatedAttribs const 0 0 4106 0 0 0 0 0 0 0 0 0 0
4106 18 AccumulatedAttribs 0 1050624 18 AccumulatedAttribs 18 AccumulatedAttribs 0 0 0 0 0 0 0 0 0 0 0 0 206
/**
* This class is used by the SceneGraphReducer to maintain and accumulate the
* set of attributes we have encountered on each node that might eventually be
* applied to the vertices at the leaves.
*/
4107 17 GeomTransformer * 0 8576 17 GeomTransformer * 17 GeomTransformer * 0 0 4108 0 0 0 0 0 0 0 0 0 0
4108 15 GeomTransformer 0 1050624 15 GeomTransformer 15 GeomTransformer 0 0 0 0 0 0 0 0 0 0 0 0 630
/**
* An object specifically designed to transform the vertices of a Geom without
* disturbing indexing or affecting any other Geoms that may share the same
* vertex arrays, and without needlessly wasting memory when different Geoms
* sharing the same vertex arrays are transformed by the same amount.
*
* If you create a single GeomTransformer and use it to transform a number of
* different Geoms by various transformations, then those Geoms which happen
* to share the same arrays and are transformed by the same amounts will still
* share the same arrays as each other (but different from the original
* arrays).
*/
4109 15 ParamNodePath * 0 8576 15 ParamNodePath * 15 ParamNodePath * 0 0 3783 0 0 0 0 0 0 0 0 0 0
4110 21 ParamNodePath const * 0 8576 21 ParamNodePath const * 21 ParamNodePath const * 0 0 4111 0 0 0 0 0 0 0 0 0 0
4111 19 ParamNodePath const 0 8832 19 ParamNodePath const 19 ParamNodePath const 0 0 3783 0 0 0 0 0 0 0 0 0 0
4112 12 PortalNode * 0 8576 12 PortalNode * 12 PortalNode * 0 0 3785 0 0 0 0 0 0 0 0 0 0
4113 12 PortalMask * 0 8576 12 PortalMask * 12 PortalMask * 0 0 3786 0 0 0 0 0 0 0 0 0 0
4114 18 PortalNode const * 0 8576 18 PortalNode const * 18 PortalNode const * 0 0 4115 0 0 0 0 0 0 0 0 0 0
4115 16 PortalNode const 0 8832 16 PortalNode const 16 PortalNode const 0 0 3785 0 0 0 0 0 0 0 0 0 0
4116 21 ScissorAttrib const * 0 8576 21 ScissorAttrib const * 21 ScissorAttrib const * 0 0 4117 0 0 0 0 0 0 0 0 0 0
4117 19 ScissorAttrib const 0 8832 19 ScissorAttrib const 19 ScissorAttrib const 0 0 3787 0 0 0 0 0 0 0 0 0 0
4118 24 ShadeModelAttrib const * 0 8576 24 ShadeModelAttrib const * 24 ShadeModelAttrib const * 0 0 4119 0 0 0 0 0 0 0 0 0 0
4119 22 ShadeModelAttrib const 0 8832 22 ShadeModelAttrib const 22 ShadeModelAttrib const 0 0 3788 0 0 0 0 0 0 0 0 0 0
4120 21 StencilAttrib const * 0 8576 21 StencilAttrib const * 21 StencilAttrib const * 0 0 4121 0 0 0 0 0 0 0 0 0 0
4121 19 StencilAttrib const 0 8832 19 StencilAttrib const 19 StencilAttrib const 0 0 3790 0 0 0 0 0 0 0 0 0 0
4122 8 Shader * 0 8576 8 Shader * 8 Shader * 0 0 3774 0 0 0 0 0 0 0 0 0 0
4123 30 ConstPointerTo< InternalName > 0 2048 30 ConstPointerTo< InternalName > 30 ConstPointerTo< InternalName > 0 0 0 0 0 0 0 0 0 0 0 0 0
0
173
4124 3 pos 0 2 3582 1926 0 0 0 0 0 0 0 19 TransformState::pos 0
4125 3 hpr 0 2 3585 1927 0 0 0 0 0 0 0 19 TransformState::hpr 0
4126 4 quat 0 2 3588 1928 0 0 0 0 0 0 0 20 TransformState::quat 0
4127 9 norm_quat 0 2 3588 1929 0 0 0 0 0 0 0 25 TransformState::norm_quat 0
4128 5 scale 0 2 3585 1930 0 0 0 0 0 0 0 21 TransformState::scale 0
4129 5 shear 0 2 3585 1932 0 0 0 0 0 0 0 21 TransformState::shear 0
4130 3 mat 0 2 3591 1933 0 0 0 0 0 0 0 19 TransformState::mat 0
4131 4 slot 0 2 3597 2003 0 0 0 0 0 0 0 18 RenderAttrib::slot 0
4132 4 mode 0 2 3601 2007 0 0 0 0 0 0 0 22 RenderModeAttrib::mode 0
4133 9 thickness 0 2 3602 2008 0 0 0 0 0 0 0 27 RenderModeAttrib::thickness 0
4134 11 perspective 0 2 3604 2009 0 0 0 0 0 0 0 29 RenderModeAttrib::perspective 0
4135 15 wireframe_color 0 2 3605 2010 0 0 0 0 0 0 0 33 RenderModeAttrib::wireframe_color 0
4136 10 class_slot 0 2 3597 2012 0 0 0 0 0 0 0 28 RenderModeAttrib::class_slot 0
4137 10 class_slot 0 2 3597 2027 0 0 0 0 0 0 0 27 TexMatrixAttrib::class_slot 0
4138 7 attribs 0 138 3611 2048 0 2044 0 0 0 0 0 20 RenderState::attribs 0
4139 15 reference_alpha 0 2 3602 2082 0 0 0 0 0 0 0 32 AlphaTestAttrib::reference_alpha 0
4140 4 mode 0 2 3598 2083 0 0 0 0 0 0 0 21 AlphaTestAttrib::mode 0
4141 10 class_slot 0 2 3597 2084 0 0 0 0 0 0 0 27 AlphaTestAttrib::class_slot 0
4142 4 mode 0 2 3616 2089 0 0 0 0 0 0 0 21 AntialiasAttrib::mode 0
4143 9 mode_type 0 2 3616 2090 0 0 0 0 0 0 0 26 AntialiasAttrib::mode_type 0
4144 12 mode_quality 0 2 3616 2091 0 0 0 0 0 0 0 29 AntialiasAttrib::mode_quality 0
4145 10 class_slot 0 2 3597 2092 0 0 0 0 0 0 0 27 AntialiasAttrib::class_slot 0
4146 5 state 0 6 3622 2163 2162 0 0 0 0 0 0 16 PandaNode::state 0
4147 7 effects 0 6 3623 2166 2165 0 0 0 0 0 0 18 PandaNode::effects 0
4148 9 transform 0 6 3624 2169 2168 0 0 0 0 0 0 20 PandaNode::transform 0
4149 14 prev_transform 0 2 3624 2172 0 0 0 0 0 0 0 25 PandaNode::prev_transform 0
4150 4 tags 0 686 3625 2181 2176 2178 0 2179 2180 0 2182 15 PandaNode::tags 0
4151 11 python_tags 0 2 3627 2184 0 0 0 0 0 0 0 22 PandaNode::python_tags 0
4152 11 overall_bit 0 2 3631 2200 0 0 0 0 0 0 0 22 PandaNode::overall_bit 0
4153 15 all_camera_mask 0 2 3631 2201 0 0 0 0 0 0 0 26 PandaNode::all_camera_mask 0
4154 14 overall_hidden 0 6 3604 2202 2203 0 0 0 0 0 0 25 PandaNode::overall_hidden 0
4155 17 draw_control_mask 0 2 3631 2205 0 0 0 0 0 0 0 28 PandaNode::draw_control_mask 0
4156 14 draw_show_mask 0 2 3631 2206 0 0 0 0 0 0 0 25 PandaNode::draw_show_mask 0
4157 17 into_collide_mask 0 6 3634 2210 2209 0 0 0 0 0 0 28 PandaNode::into_collide_mask 0
4158 18 legal_collide_mask 0 2 3634 2211 0 0 0 0 0 0 0 29 PandaNode::legal_collide_mask 0
4159 11 bounds_type 0 2 3635 2221 0 0 0 0 0 0 0 22 PandaNode::bounds_type 0
4160 15 nested_vertices 0 2 3597 2226 0 0 0 0 0 0 0 26 PandaNode::nested_vertices 0
4161 15 internal_bounds 0 2 3637 2227 0 0 0 0 0 0 0 26 PandaNode::internal_bounds 0
4162 17 internal_vertices 0 2 3597 2228 0 0 0 0 0 0 0 28 PandaNode::internal_vertices 0
4163 12 bounds_stale 0 2 3604 2231 0 0 0 0 0 0 0 23 PandaNode::bounds_stale 0
4164 5 final 0 6 3604 2233 2232 0 0 0 0 0 0 16 PandaNode::final 0
4165 8 children 0 2 3639 2250 0 0 0 0 0 0 0 19 PandaNode::children 0
4166 7 stashed 0 2 3640 2146 0 0 0 0 0 0 0 18 PandaNode::stashed 0
4167 7 parents 0 2 3641 2251 0 0 0 0 0 0 0 18 PandaNode::parents 0
4168 4 mode 0 2 3643 2255 0 0 0 0 0 0 0 24 TransparencyAttrib::mode 0
4169 10 class_slot 0 2 3597 2256 0 0 0 0 0 0 0 30 TransparencyAttrib::class_slot 0
4170 9 operation 0 2 3645 2262 0 0 0 0 0 0 0 24 LogicOpAttrib::operation 0
4171 10 class_slot 0 2 3597 2263 0 0 0 0 0 0 0 25 LogicOpAttrib::class_slot 0
4172 5 nodes 0 66 3652 2320 0 0 0 0 2318 0 0 15 NodePath::nodes 0
4173 9 ancestors 0 66 3650 2322 0 0 0 0 2318 0 0 19 NodePath::ancestors 0
4174 10 error_type 0 2 3651 2323 0 0 0 0 0 0 0 20 NodePath::error_type 0
4175 8 children 0 2 3653 2332 0 0 0 0 0 0 0 18 NodePath::children 0
4176 16 stashed_children 0 2 3653 2335 0 0 0 0 0 0 0 26 NodePath::stashed_children 0
4177 6 parent 0 10 3650 2379 0 2378 0 0 0 0 0 16 NodePath::parent 0
4178 4 sort 0 2 3597 2380 0 0 0 0 0 0 0 14 NodePath::sort 0
4179 8 net_tags 0 138 3625 2680 0 2678 0 0 0 0 0 18 NodePath::net_tags 0
4180 4 tags 0 2 3627 2681 0 0 0 0 0 0 0 14 NodePath::tags 0
4181 11 python_tags 0 2 3627 2682 0 0 0 0 0 0 0 21 NodePath::python_tags 0
4182 4 name 0 6 3625 2694 2693 0 0 0 0 0 0 14 NodePath::name 0
4183 6 volume 0 10 3602 2720 0 2719 0 0 0 0 0 25 AudioVolumeAttrib::volume 0
4184 10 class_slot 0 2 3597 2722 0 0 0 0 0 0 0 29 AudioVolumeAttrib::class_slot 0
4185 7 outputs 0 2 3597 2727 0 0 0 0 0 0 0 26 AuxBitplaneAttrib::outputs 0
4186 10 class_slot 0 2 3597 2728 0 0 0 0 0 0 0 29 AuxBitplaneAttrib::class_slot 0
4187 11 file_endian 0 2 3662 2755 0 0 0 0 0 0 0 20 BamFile::file_endian 0
4188 20 file_stdfloat_double 0 2 3604 2756 0 0 0 0 0 0 0 29 BamFile::file_stdfloat_double 0
4189 6 reader 0 2 3663 2759 0 0 0 0 0 0 0 15 BamFile::reader 0
4190 6 writer 0 2 3665 2760 0 0 0 0 0 0 0 15 BamFile::writer 0
4191 6 active 0 6 3604 2805 2804 0 0 0 0 0 0 14 Camera::active 0
4192 5 scene 0 6 3671 2807 2806 0 0 0 0 0 0 13 Camera::scene 0
4193 15 display_regions 0 66 3672 2810 0 0 0 0 2808 0 0 23 Camera::display_regions 0
4194 11 camera_mask 0 6 3631 2812 2811 0 0 0 0 0 0 19 Camera::camera_mask 0
4195 11 cull_center 0 6 3671 2814 2813 0 0 0 0 0 0 19 Camera::cull_center 0
4196 11 cull_bounds 0 6 3674 2816 2815 0 0 0 0 0 0 19 Camera::cull_bounds 0
4197 10 lod_center 0 6 3671 2818 2817 0 0 0 0 0 0 18 Camera::lod_center 0
4198 13 initial_state 0 6 3622 2820 2819 0 0 0 0 0 0 21 Camera::initial_state 0
4199 13 tag_state_key 0 6 3675 2822 2821 0 0 0 0 0 0 21 Camera::tag_state_key 0
4200 9 lod_scale 0 6 3602 2824 2823 0 0 0 0 0 0 17 Camera::lod_scale 0
4201 10 tag_states 0 174 3622 2830 2825 2828 0 2826 0 0 0 18 Camera::tag_states 0
4202 14 aux_scene_data 0 174 3676 2836 2831 2833 0 2832 0 0 0 22 Camera::aux_scene_data 0
4203 10 class_slot 0 2 3597 2871 0 0 0 0 0 0 0 27 ClipPlaneAttrib::class_slot 0
4204 10 color_type 0 2 3682 2878 0 0 0 0 0 0 0 23 ColorAttrib::color_type 0
4205 5 color 0 2 3605 2879 0 0 0 0 0 0 0 18 ColorAttrib::color 0
4206 10 class_slot 0 2 3597 2880 0 0 0 0 0 0 0 23 ColorAttrib::class_slot 0
4207 8 rgb_mode 0 2 3684 2886 0 0 0 0 0 0 0 26 ColorBlendAttrib::rgb_mode 0
4208 13 rgb_operand_a 0 2 3685 2887 0 0 0 0 0 0 0 31 ColorBlendAttrib::rgb_operand_a 0
4209 13 rgb_operand_b 0 2 3685 2888 0 0 0 0 0 0 0 31 ColorBlendAttrib::rgb_operand_b 0
4210 10 alpha_mode 0 2 3684 2889 0 0 0 0 0 0 0 28 ColorBlendAttrib::alpha_mode 0
4211 15 alpha_operand_a 0 2 3685 2890 0 0 0 0 0 0 0 33 ColorBlendAttrib::alpha_operand_a 0
4212 15 alpha_operand_b 0 2 3685 2891 0 0 0 0 0 0 0 33 ColorBlendAttrib::alpha_operand_b 0
4213 5 color 0 2 3606 2892 0 0 0 0 0 0 0 23 ColorBlendAttrib::color 0
4214 10 class_slot 0 2 3597 2895 0 0 0 0 0 0 0 28 ColorBlendAttrib::class_slot 0
4215 5 scale 0 10 3687 2907 0 2904 0 0 0 0 0 23 ColorScaleAttrib::scale 0
4216 10 class_slot 0 2 3597 2909 0 0 0 0 0 0 0 28 ColorScaleAttrib::class_slot 0
4217 8 channels 0 2 3691 2914 0 0 0 0 0 0 0 26 ColorWriteAttrib::channels 0
4218 10 class_slot 0 2 3597 2915 0 0 0 0 0 0 0 28 ColorWriteAttrib::class_slot 0
4219 20 default_collide_mask 0 2 3634 2943 0 0 0 0 0 0 0 30 GeomNode::default_collide_mask 0
4220 8 bin_name 0 2 3675 2947 0 0 0 0 0 0 0 23 CullBinAttrib::bin_name 0
4221 10 draw_order 0 2 3597 2948 0 0 0 0 0 0 0 25 CullBinAttrib::draw_order 0
4222 10 class_slot 0 2 3597 2949 0 0 0 0 0 0 0 25 CullBinAttrib::class_slot 0
4223 4 mode 0 2 3700 2973 0 0 0 0 0 0 0 20 CullFaceAttrib::mode 0
4224 7 reverse 0 2 3604 2974 0 0 0 0 0 0 0 23 CullFaceAttrib::reverse 0
4225 14 effective_mode 0 2 3700 2975 0 0 0 0 0 0 0 30 CullFaceAttrib::effective_mode 0
4226 10 class_slot 0 2 3597 2976 0 0 0 0 0 0 0 26 CullFaceAttrib::class_slot 0
4227 5 valid 0 2 3604 2980 0 0 0 0 0 0 0 22 WorkingNodePath::valid 0
4228 9 node_path 0 2 3650 2981 0 0 0 0 0 0 0 26 WorkingNodePath::node_path 0
4229 9 node_path 0 2 3650 2990 0 0 0 0 0 0 0 28 CullTraverserData::node_path 0
4230 4 mode 0 6 3705 3026 3027 0 0 0 0 0 0 9 Fog::mode 0
4231 5 color 0 6 3605 3028 3029 0 0 0 0 0 0 10 Fog::color 0
4232 18 linear_onset_point 0 6 3582 3031 3032 0 0 0 0 0 0 23 Fog::linear_onset_point 0
4233 19 linear_opaque_point 0 6 3582 3033 3034 0 0 0 0 0 0 24 Fog::linear_opaque_point 0
4234 11 exp_density 0 6 3602 3036 3037 0 0 0 0 0 0 16 Fog::exp_density 0
4235 3 fog 0 2 3707 3043 0 0 0 0 0 0 0 14 FogAttrib::fog 0
4236 10 class_slot 0 2 3597 3044 0 0 0 0 0 0 0 21 FogAttrib::class_slot 0
4237 4 mode 0 2 3712 3083 0 0 0 0 0 0 0 25 RescaleNormalAttrib::mode 0
4238 10 class_slot 0 2 3597 3084 0 0 0 0 0 0 0 31 RescaleNormalAttrib::class_slot 0
4239 6 offset 0 2 3597 3100 0 0 0 0 0 0 0 25 DepthOffsetAttrib::offset 0
4240 9 min_value 0 2 3602 3101 0 0 0 0 0 0 0 28 DepthOffsetAttrib::min_value 0
4241 9 max_value 0 2 3602 3102 0 0 0 0 0 0 0 28 DepthOffsetAttrib::max_value 0
4242 10 class_slot 0 2 3597 3103 0 0 0 0 0 0 0 29 DepthOffsetAttrib::class_slot 0
4243 4 mode 0 2 3598 3108 0 0 0 0 0 0 0 21 DepthTestAttrib::mode 0
4244 10 class_slot 0 2 3597 3109 0 0 0 0 0 0 0 27 DepthTestAttrib::class_slot 0
4245 4 mode 0 2 3719 3114 0 0 0 0 0 0 0 22 DepthWriteAttrib::mode 0
4246 10 class_slot 0 2 3597 3115 0 0 0 0 0 0 0 28 DepthWriteAttrib::class_slot 0
4247 5 color 0 6 3605 3139 3140 0 0 0 0 0 0 12 Light::color 0
4248 17 color_temperature 0 6 3602 3142 3143 0 0 0 0 0 0 24 Light::color_temperature 0
4249 8 priority 0 6 3597 3148 3147 0 0 0 0 0 0 15 Light::priority 0
4250 9 on_lights 0 66 3650 3176 0 0 0 0 3160 0 0 22 LightAttrib::on_lights 0
4251 10 off_lights 0 66 3650 3177 0 0 0 0 3165 0 0 23 LightAttrib::off_lights 0
4252 10 class_slot 0 2 3597 3178 0 0 0 0 0 0 0 23 LightAttrib::class_slot 0
4253 4 mode 0 2 3725 3187 0 0 0 0 0 0 0 21 LightRampAttrib::mode 0
4254 10 class_slot 0 2 3597 3190 0 0 0 0 0 0 0 27 LightRampAttrib::class_slot 0
4255 5 types 0 66 3731 3234 0 0 0 0 3232 0 0 29 LoaderFileTypeRegistry::types 0
4256 8 material 0 2 3733 3243 0 0 0 0 0 0 0 24 MaterialAttrib::material 0
4257 10 class_slot 0 2 3597 3244 0 0 0 0 0 0 0 26 MaterialAttrib::class_slot 0
4258 4 orig 0 2 3652 3267 0 0 0 0 0 0 0 25 ModelFlattenRequest::orig 0
4259 8 filename 0 2 3739 3273 0 0 0 0 0 0 0 26 ModelLoadRequest::filename 0
4260 7 options 0 2 3741 3274 0 0 0 0 0 0 0 25 ModelLoadRequest::options 0
4261 6 loader 0 2 3743 3275 0 0 0 0 0 0 0 24 ModelLoadRequest::loader 0
4262 15 model_ref_count 0 2 3597 3289 0 0 0 0 0 0 0 26 ModelRoot::model_ref_count 0
4263 8 fullpath 0 6 3739 3290 3291 0 0 0 0 0 0 19 ModelRoot::fullpath 0
4264 9 timestamp 0 6 3747 3292 3293 0 0 0 0 0 0 20 ModelRoot::timestamp 0
4265 9 reference 0 6 3750 3296 3297 0 0 0 0 0 0 20 ModelRoot::reference 0
4266 8 filename 0 2 3739 3312 0 0 0 0 0 0 0 26 ModelSaveRequest::filename 0
4267 7 options 0 2 3741 3313 0 0 0 0 0 0 0 25 ModelSaveRequest::options 0
4268 4 node 0 2 3652 3314 0 0 0 0 0 0 0 22 ModelSaveRequest::node 0
4269 6 loader 0 2 3743 3315 0 0 0 0 0 0 0 24 ModelSaveRequest::loader 0
4270 9 on_stages 0 66 3754 3336 0 0 0 0 3326 0 0 24 TextureAttrib::on_stages 0
4271 8 textures 0 650 3756 3337 0 3331 0 0 3326 0 3327 23 TextureAttrib::textures 0
4272 8 samplers 0 650 3758 3338 0 3331 0 0 3326 0 3327 23 TextureAttrib::samplers 0
4273 10 off_stages 0 66 3754 3343 0 0 0 0 3339 0 0 25 TextureAttrib::off_stages 0
4274 10 class_slot 0 2 3597 3350 0 0 0 0 0 0 0 25 TextureAttrib::class_slot 0
4275 10 class_slot 0 2 3597 3363 0 0 0 0 0 0 0 24 TexGenAttrib::class_slot 0
4276 12 double_sided 0 6 3604 3367 3366 0 0 0 0 0 0 26 OccluderNode::double_sided 0
4277 12 min_coverage 0 6 3602 3369 3368 0 0 0 0 0 0 26 OccluderNode::min_coverage 0
4278 8 vertices 0 70 3582 3374 3373 0 0 0 3371 0 0 22 OccluderNode::vertices 0
4279 6 shader 0 2 3772 3460 0 0 0 0 0 0 0 20 ShaderAttrib::shader 0
4280 14 instance_count 0 2 3597 3441 0 0 0 0 0 0 0 28 ShaderAttrib::instance_count 0
4281 10 class_slot 0 2 3597 3469 0 0 0 0 0 0 0 24 ShaderAttrib::class_slot 0
4282 16 into_portal_mask 0 6 3786 3525 3523 0 0 0 0 0 0 28 PortalNode::into_portal_mask 0
4283 16 from_portal_mask 0 6 3786 3524 3522 0 0 0 0 0 0 28 PortalNode::from_portal_mask 0
4284 11 portal_geom 0 6 3604 3527 3526 0 0 0 0 0 0 23 PortalNode::portal_geom 0
4285 8 vertices 0 66 3582 3544 0 0 0 0 3530 0 0 20 PortalNode::vertices 0
4286 7 cell_in 0 6 3650 3533 3532 0 0 0 0 0 0 19 PortalNode::cell_in 0
4287 8 cell_out 0 6 3650 3535 3534 0 0 0 0 0 0 20 PortalNode::cell_out 0
4288 10 clip_plane 0 6 3604 3537 3536 0 0 0 0 0 0 22 PortalNode::clip_plane 0
4289 7 visible 0 6 3604 3539 3538 0 0 0 0 0 0 19 PortalNode::visible 0
4290 9 max_depth 0 6 3597 3541 3540 0 0 0 0 0 0 21 PortalNode::max_depth 0
4291 4 open 0 6 3604 3543 3542 0 0 0 0 0 0 16 PortalNode::open 0
4292 5 frame 0 2 3687 3550 0 0 0 0 0 0 0 20 ScissorAttrib::frame 0
4293 10 class_slot 0 2 3597 3551 0 0 0 0 0 0 0 25 ScissorAttrib::class_slot 0
4294 4 mode 0 2 3789 3556 0 0 0 0 0 0 0 22 ShadeModelAttrib::mode 0
4295 10 class_slot 0 2 3597 3557 0 0 0 0 0 0 0 28 ShadeModelAttrib::class_slot 0
4296 10 class_slot 0 2 3597 3567 0 0 0 0 0 0 0 25 StencilAttrib::class_slot 0
30
4297 10 get_stages 0 2021 2022 27 TexMatrixAttrib::get_stages 0
4298 11 get_parents 0 2132 2133 22 PandaNode::get_parents 0
4299 12 get_children 0 2135 2136 23 PandaNode::get_children 0
4300 11 get_stashed 0 2145 2146 22 PandaNode::get_stashed 0
4301 18 get_texture_stages 0 2293 2294 42 TextureStageCollection::get_texture_stages 0
4302 9 get_nodes 0 2318 2319 19 NodePath::get_nodes 0
4303 13 get_ancestors 0 2318 2321 23 NodePath::get_ancestors 0
4304 9 get_paths 0 2347 2348 29 NodePathCollection::get_paths 0
4305 9 get_nodes 0 2704 2705 29 AttribNodeRegistry::get_nodes 0
4306 19 get_display_regions 0 2808 2809 27 Camera::get_display_regions 0
4307 13 get_on_planes 0 2858 2859 30 ClipPlaneAttrib::get_on_planes 0
4308 14 get_off_planes 0 2861 2862 31 ClipPlaneAttrib::get_off_planes 0
4309 9 get_geoms 0 2928 2929 19 GeomNode::get_geoms 0
4310 12 modify_geoms 0 2928 2930 22 GeomNode::modify_geoms 0
4311 15 get_geom_states 0 2928 2931 25 GeomNode::get_geom_states 0
4312 8 get_bins 0 2954 2955 24 CullBinManager::get_bins 0
4313 9 get_names 0 3128 3129 33 InternalNameCollection::get_names 0
4314 13 get_on_lights 0 3160 3162 26 LightAttrib::get_on_lights 0
4315 14 get_off_lights 0 3165 3166 27 LightAttrib::get_off_lights 0
4316 9 get_files 0 3201 3202 26 Loader::Results::get_files 0
4317 14 get_file_types 0 3201 3203 31 Loader::Results::get_file_types 0
4318 9 get_types 0 3232 3233 33 LoaderFileTypeRegistry::get_types 0
4319 13 get_on_stages 0 3326 3327 28 TextureAttrib::get_on_stages 0
4320 16 get_on_ff_stages 0 3328 3329 31 TextureAttrib::get_on_ff_stages 0
4321 14 get_off_stages 0 3339 3340 29 TextureAttrib::get_off_stages 0
4322 12 get_vertices 0 3371 3372 26 OccluderNode::get_vertices 0
4323 16 get_on_occluders 0 3377 3378 32 OccluderEffect::get_on_occluders 0
4324 10 get_points 0 3490 3491 25 ScissorEffect::get_points 0
4325 9 get_nodes 0 3490 3492 24 ScissorEffect::get_nodes 0
4326 12 get_vertices 0 3530 3531 24 PortalNode::get_vertices 0