1704722088 3 3 11 libp3pgraph 4 w0Cq 12 panda3d.core 1688 1889 11 operator != 0 4 3577 27 TransformState::operator != 0 1 1 0 75 inline bool TransformState::operator !=(TransformState const &other) const; 1890 10 compare_to 0 4 3577 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; 1891 11 operator == 0 4 3577 27 TransformState::operator == 0 1 4 0 68 bool TransformState::operator ==(TransformState const &other) const; 1892 8 get_hash 0 4 3577 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; 1893 13 make_identity 0 4 3577 29 TransformState::make_identity 0 1 6 44 /** * Constructs an identity transform. */ 76 static ConstPointerTo< TransformState > TransformState::make_identity(void); 1894 12 make_invalid 0 4 3577 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); 1895 8 make_pos 0 4 3577 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); 1896 8 make_hpr 0 4 3577 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); 1897 9 make_quat 0 4 3577 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); 1898 12 make_pos_hpr 0 4 3577 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); 1899 10 make_scale 0 4 3577 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); 1900 10 make_shear 0 4 3577 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); 1901 18 make_pos_hpr_scale 0 4 3577 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); 1902 19 make_pos_quat_scale 0 4 3577 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); 1903 24 make_pos_hpr_scale_shear 0 4 3577 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); 1904 25 make_pos_quat_scale_shear 0 4 3577 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); 1905 8 make_mat 0 4 3577 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); 1906 10 make_pos2d 0 4 3577 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); 1907 13 make_rotate2d 0 4 3577 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); 1908 17 make_pos_rotate2d 0 4 3577 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); 1909 12 make_scale2d 0 4 3577 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); 1910 12 make_shear2d 0 4 3577 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); 1911 23 make_pos_rotate_scale2d 0 4 3577 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); 1912 29 make_pos_rotate_scale_shear2d 0 4 3577 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); 1913 9 make_mat3 0 4 3577 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); 1914 11 is_identity 0 4 3577 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; 1915 10 is_invalid 0 4 3577 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; 1916 11 is_singular 0 4 3577 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; 1917 5 is_2d 0 4 3577 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; 1918 14 has_components 0 4 3577 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; 1919 16 components_given 0 4 3577 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; 1920 9 hpr_given 0 4 3577 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; 1921 10 quat_given 0 4 3577 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; 1922 7 has_pos 0 4 3577 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; 1923 7 has_hpr 0 4 3577 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; 1924 8 has_quat 0 4 3577 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; 1925 9 has_scale 0 4 3577 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; 1926 18 has_identity_scale 0 4 3577 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; 1927 17 has_uniform_scale 0 4 3577 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; 1928 9 has_shear 0 4 3577 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; 1929 17 has_nonzero_shear 0 4 3577 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; 1930 7 has_mat 0 4 3577 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; 1931 7 get_pos 0 4 3577 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; 1932 7 get_hpr 0 4 3577 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; 1933 8 get_quat 0 4 3577 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; 1934 13 get_norm_quat 0 4 3577 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; 1935 9 get_scale 0 4 3577 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; 1936 17 get_uniform_scale 0 4 3577 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; 1937 9 get_shear 0 4 3577 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; 1938 7 get_mat 0 4 3577 23 TransformState::get_mat 0 1 53 59 /** * Returns the matrix that describes the transform. */ 59 inline LMatrix4 const &TransformState::get_mat(void) const; 1939 9 get_pos2d 0 4 3577 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; 1940 12 get_rotate2d 0 4 3577 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; 1941 11 get_scale2d 0 4 3577 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; 1942 11 get_shear2d 0 4 3577 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; 1943 8 get_mat3 0 4 3577 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; 1944 7 set_pos 0 4 3577 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; 1945 7 set_hpr 0 4 3577 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; 1946 8 set_quat 0 4 3577 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; 1947 9 set_scale 0 4 3577 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; 1948 9 set_shear 0 4 3577 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; 1949 9 set_pos2d 0 4 3577 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; 1950 12 set_rotate2d 0 4 3577 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; 1951 11 set_scale2d 0 4 3577 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; 1952 11 set_shear2d 0 4 3577 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; 1953 7 compose 0 4 3577 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; 1954 14 invert_compose 0 4 3577 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; 1955 11 get_inverse 0 4 3577 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; 1956 10 get_unique 0 4 3577 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; 1957 18 get_geom_rendering 0 4 3577 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; 1958 9 cache_ref 0 4 3577 25 TransformState::cache_ref 0 1 73 64 /** * Overrides this method to update PStats appropriately. */ 50 inline void TransformState::cache_ref(void) const; 1959 11 cache_unref 0 4 3577 27 TransformState::cache_unref 0 1 74 64 /** * Overrides this method to update PStats appropriately. */ 52 inline bool TransformState::cache_unref(void) const; 1960 8 node_ref 0 4 3577 24 TransformState::node_ref 0 1 75 64 /** * Overrides this method to update PStats appropriately. */ 49 inline void TransformState::node_ref(void) const; 1961 10 node_unref 0 4 3577 26 TransformState::node_unref 0 1 76 64 /** * Overrides this method to update PStats appropriately. */ 51 inline bool TransformState::node_unref(void) const; 1962 33 get_composition_cache_num_entries 0 4 3577 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; 1963 40 get_invert_composition_cache_num_entries 0 4 3577 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; 1964 26 get_composition_cache_size 0 4 3577 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; 1965 28 get_composition_cache_source 0 4 3577 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; 1966 28 get_composition_cache_result 0 4 3577 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; 1967 33 get_invert_composition_cache_size 0 4 3577 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; 1968 35 get_invert_composition_cache_source 0 4 3577 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; 1969 35 get_invert_composition_cache_result 0 4 3577 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; 1970 26 validate_composition_cache 0 4 3577 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; 1971 21 get_composition_cache 0 4 3577 37 TransformState::get_composition_cache 0 1 86 0 60 PyObject *TransformState::get_composition_cache(void) const; 1972 28 get_invert_composition_cache 0 4 3577 44 TransformState::get_invert_composition_cache 0 1 87 0 67 PyObject *TransformState::get_invert_composition_cache(void) const; 1973 6 output 0 4 3577 22 TransformState::output 0 1 88 10 /** * */ 53 void TransformState::output(std::ostream &out) const; 1974 5 write 0 4 3577 21 TransformState::write 0 1 89 10 /** * */ 70 void TransformState::write(std::ostream &out, int indent_level) const; 1975 23 write_composition_cache 0 4 3577 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; 1976 14 get_num_states 0 4 3577 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); 1977 21 get_num_unused_states 0 4 3577 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); 1978 11 clear_cache 0 4 3577 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); 1979 15 garbage_collect 0 4 3577 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); 1980 11 list_cycles 0 4 3577 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); 1981 11 list_states 0 4 3577 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); 1982 15 validate_states 0 4 3577 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); 1983 10 get_states 0 4 3577 26 TransformState::get_states 0 1 98 0 50 static PyObject *TransformState::get_states(void); 1984 17 get_unused_states 0 4 3577 33 TransformState::get_unused_states 0 1 99 0 57 static PyObject *TransformState::get_unused_states(void); 1985 14 get_class_type 0 4 3577 30 TransformState::get_class_type 0 1 100 0 55 static TypeHandle TransformState::get_class_type(void); 1986 8 get_slot 0 4 3591 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; 1987 13 get_max_slots 0 4 3591 35 RenderAttribRegistry::get_max_slots 0 1 102 0 63 static constexpr int RenderAttribRegistry::get_max_slots(void); 1988 13 get_num_slots 0 4 3591 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; 1989 13 get_slot_type 0 4 3591 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; 1990 13 get_slot_sort 0 4 3591 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; 1991 13 set_slot_sort 0 4 3591 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); 1992 16 get_slot_default 0 4 3591 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; 1993 20 get_num_sorted_slots 0 4 3591 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; 1994 15 get_sorted_slot 0 4 3591 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; 1995 14 get_global_ptr 0 4 3591 36 RenderAttribRegistry::get_global_ptr 0 1 110 10 /** * */ 79 static inline RenderAttribRegistry *RenderAttribRegistry::get_global_ptr(void); 1996 7 compose 0 4 3592 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; 1997 14 invert_compose 0 4 3592 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; 1998 25 lower_attrib_can_override 0 6 3592 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; 1999 10 compare_to 0 4 3592 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; 2000 8 get_hash 0 4 3592 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; 2001 10 get_unique 0 4 3592 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; 2002 6 output 0 6 3592 20 RenderAttrib::output 0 1 117 10 /** * */ 59 virtual void RenderAttrib::output(std::ostream &out) const; 2003 5 write 0 6 3592 19 RenderAttrib::write 0 1 118 10 /** * */ 76 virtual void RenderAttrib::write(std::ostream &out, int indent_level) const; 2004 15 get_num_attribs 0 4 3592 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); 2005 12 list_attribs 0 4 3592 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); 2006 15 garbage_collect 0 4 3592 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); 2007 16 validate_attribs 0 4 3592 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); 2008 8 get_slot 0 6 3592 22 RenderAttrib::get_slot 0 1 123 0 51 virtual int RenderAttrib::get_slot(void) const = 0; 2009 14 get_class_type 0 4 3592 28 RenderAttrib::get_class_type 0 1 124 0 53 static TypeHandle RenderAttrib::get_class_type(void); 2010 4 make 0 4 3597 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()); 2011 12 make_default 0 4 3597 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); 2012 8 get_mode 0 4 3597 26 RenderModeAttrib::get_mode 0 1 127 35 /** * Returns the render mode. */ 69 inline RenderModeAttrib::Mode RenderModeAttrib::get_mode(void) const; 2013 13 get_thickness 0 4 3597 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; 2014 15 get_perspective 0 4 3597 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; 2015 19 get_wireframe_color 0 4 3597 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; 2016 18 get_geom_rendering 0 4 3597 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; 2017 14 get_class_slot 0 4 3597 32 RenderModeAttrib::get_class_slot 0 1 132 0 50 static int RenderModeAttrib::get_class_slot(void); 2018 14 get_class_type 0 4 3597 32 RenderModeAttrib::get_class_type 0 1 133 0 57 static TypeHandle RenderModeAttrib::get_class_type(void); 2019 17 ~RenderModeAttrib 0 516 3597 35 RenderModeAttrib::~RenderModeAttrib 0 0 0 42 RenderModeAttrib::~RenderModeAttrib(void); 2020 4 make 0 4 3606 21 TexMatrixAttrib::make 0 3 134 135 136 391 /** * 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. * * @deprecated Use the constructor that takes a TextureStage instead. */ /** * 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); 2021 12 make_default 0 4 3606 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); 2022 9 add_stage 0 4 3606 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; 2023 12 remove_stage 0 4 3606 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; 2024 8 is_empty 0 4 3606 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; 2025 9 has_stage 0 4 3606 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; 2026 14 get_num_stages 0 4 3606 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; 2027 9 get_stage 0 4 3606 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; 2028 7 get_mat 0 4 3606 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; 2029 13 get_transform 0 4 3606 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; 2030 12 get_override 0 4 3606 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; 2031 18 get_geom_rendering 0 4 3606 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; 2032 14 get_class_slot 0 4 3606 31 TexMatrixAttrib::get_class_slot 0 1 149 0 49 static int TexMatrixAttrib::get_class_slot(void); 2033 14 get_class_type 0 4 3606 31 TexMatrixAttrib::get_class_type 0 1 150 0 56 static TypeHandle TexMatrixAttrib::get_class_type(void); 2034 10 compare_to 0 4 3607 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; 2035 12 compare_sort 0 4 3607 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; 2036 12 compare_mask 0 4 3607 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; 2037 8 get_hash 0 4 3607 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; 2038 8 is_empty 0 4 3607 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; 2039 17 has_cull_callback 0 4 3607 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; 2040 13 cull_callback 0 4 3607 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; 2041 10 make_empty 0 4 3607 23 RenderState::make_empty 0 1 158 56 /** * Returns a RenderState with no attributes set. */ 74 static inline ConstPointerTo< RenderState > RenderState::make_empty(void); 2042 4 make 0 4 3607 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); 2043 7 compose 0 4 3607 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; 2044 14 invert_compose 0 4 3607 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; 2045 10 add_attrib 0 4 3607 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; 2046 10 set_attrib 0 4 3607 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; 2047 13 remove_attrib 0 4 3607 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; 2048 21 adjust_all_priorities 0 4 3607 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; 2049 10 has_attrib 0 4 3607 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; 2050 10 get_attrib 0 4 3607 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; 2051 14 get_attrib_def 0 4 3607 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; 2052 12 get_override 0 4 3607 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; 2053 10 get_unique 0 4 3607 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; 2054 9 cache_ref 0 4 3607 22 RenderState::cache_ref 0 1 180 64 /** * Overrides this method to update PStats appropriately. */ 47 inline void RenderState::cache_ref(void) const; 2055 11 cache_unref 0 4 3607 24 RenderState::cache_unref 0 1 181 64 /** * Overrides this method to update PStats appropriately. */ 49 inline bool RenderState::cache_unref(void) const; 2056 8 node_ref 0 4 3607 21 RenderState::node_ref 0 1 182 64 /** * Overrides this method to update PStats appropriately. */ 46 inline void RenderState::node_ref(void) const; 2057 10 node_unref 0 4 3607 23 RenderState::node_unref 0 1 183 64 /** * Overrides this method to update PStats appropriately. */ 48 inline bool RenderState::node_unref(void) const; 2058 33 get_composition_cache_num_entries 0 4 3607 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; 2059 40 get_invert_composition_cache_num_entries 0 4 3607 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; 2060 26 get_composition_cache_size 0 4 3607 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; 2061 28 get_composition_cache_source 0 4 3607 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; 2062 28 get_composition_cache_result 0 4 3607 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; 2063 33 get_invert_composition_cache_size 0 4 3607 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; 2064 35 get_invert_composition_cache_source 0 4 3607 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; 2065 35 get_invert_composition_cache_result 0 4 3607 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; 2066 21 get_composition_cache 0 4 3607 34 RenderState::get_composition_cache 0 1 192 0 57 PyObject *RenderState::get_composition_cache(void) const; 2067 28 get_invert_composition_cache 0 4 3607 41 RenderState::get_invert_composition_cache 0 1 193 0 64 PyObject *RenderState::get_invert_composition_cache(void) const; 2068 6 output 0 4 3607 19 RenderState::output 0 1 194 10 /** * */ 50 void RenderState::output(std::ostream &out) const; 2069 5 write 0 4 3607 18 RenderState::write 0 1 195 10 /** * */ 67 void RenderState::write(std::ostream &out, int indent_level) const; 2070 16 get_max_priority 0 4 3607 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); 2071 14 get_num_states 0 4 3607 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); 2072 21 get_num_unused_states 0 4 3607 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); 2073 11 clear_cache 0 4 3607 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); 2074 18 clear_munger_cache 0 4 3607 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); 2075 15 garbage_collect 0 4 3607 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); 2076 11 list_cycles 0 4 3607 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); 2077 11 list_states 0 4 3607 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); 2078 15 validate_states 0 4 3607 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); 2079 10 get_states 0 4 3607 23 RenderState::get_states 0 1 205 0 47 static PyObject *RenderState::get_states(void); 2080 17 get_unused_states 0 4 3607 30 RenderState::get_unused_states 0 1 206 0 54 static PyObject *RenderState::get_unused_states(void); 2081 14 get_draw_order 0 4 3607 27 RenderState::get_draw_order 0 1 207 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; 2082 13 get_bin_index 0 4 3607 26 RenderState::get_bin_index 0 1 208 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; 2083 18 get_geom_rendering 0 4 3607 31 RenderState::get_geom_rendering 0 1 209 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; 2084 14 get_class_type 0 4 3607 27 RenderState::get_class_type 0 1 210 0 52 static TypeHandle RenderState::get_class_type(void); 2085 4 make 0 4 3610 21 AlphaTestAttrib::make 0 1 211 51 /** * Constructs a new AlphaTestAttrib object. */ 126 static ConstPointerTo< RenderAttrib > AlphaTestAttrib::make(RenderAttrib::PandaCompareFunc mode, PN_stdfloat reference_alpha); 2086 12 make_default 0 4 3610 29 AlphaTestAttrib::make_default 0 1 212 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); 2087 19 get_reference_alpha 0 4 3610 36 AlphaTestAttrib::get_reference_alpha 0 1 213 45 /** * Returns the alpha reference value. */ 68 inline PN_stdfloat AlphaTestAttrib::get_reference_alpha(void) const; 2088 8 get_mode 0 4 3610 25 AlphaTestAttrib::get_mode 0 1 214 40 /** * Returns the alpha write mode. */ 76 inline RenderAttrib::PandaCompareFunc AlphaTestAttrib::get_mode(void) const; 2089 14 get_class_slot 0 4 3610 31 AlphaTestAttrib::get_class_slot 0 1 215 0 49 static int AlphaTestAttrib::get_class_slot(void); 2090 14 get_class_type 0 4 3610 31 AlphaTestAttrib::get_class_type 0 1 216 0 56 static TypeHandle AlphaTestAttrib::get_class_type(void); 2091 16 ~AlphaTestAttrib 0 516 3610 33 AlphaTestAttrib::~AlphaTestAttrib 0 0 0 40 AlphaTestAttrib::~AlphaTestAttrib(void); 2092 4 make 0 4 3611 21 AntialiasAttrib::make 0 1 217 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); 2093 12 make_default 0 4 3611 29 AntialiasAttrib::make_default 0 1 218 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); 2094 8 get_mode 0 4 3611 25 AntialiasAttrib::get_mode 0 1 219 48 /** * Returns the specified antialias mode. */ 64 inline unsigned short int AntialiasAttrib::get_mode(void) const; 2095 13 get_mode_type 0 4 3611 30 AntialiasAttrib::get_mode_type 0 1 220 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; 2096 16 get_mode_quality 0 4 3611 33 AntialiasAttrib::get_mode_quality 0 1 221 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; 2097 14 get_class_slot 0 4 3611 31 AntialiasAttrib::get_class_slot 0 1 222 0 49 static int AntialiasAttrib::get_class_slot(void); 2098 14 get_class_type 0 4 3611 31 AntialiasAttrib::get_class_type 0 1 223 0 56 static TypeHandle AntialiasAttrib::get_class_type(void); 2099 16 ~AntialiasAttrib 0 516 3611 33 AntialiasAttrib::~AntialiasAttrib 0 0 0 40 AntialiasAttrib::~AntialiasAttrib(void); 2100 10 compare_to 0 4 3614 24 RenderEffect::compare_to 0 1 224 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; 2101 6 output 0 6 3614 20 RenderEffect::output 0 1 225 10 /** * */ 59 virtual void RenderEffect::output(std::ostream &out) const; 2102 5 write 0 6 3614 19 RenderEffect::write 0 1 226 10 /** * */ 76 virtual void RenderEffect::write(std::ostream &out, int indent_level) const; 2103 15 get_num_effects 0 4 3614 29 RenderEffect::get_num_effects 0 1 227 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); 2104 12 list_effects 0 4 3614 26 RenderEffect::list_effects 0 1 228 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); 2105 16 validate_effects 0 4 3614 30 RenderEffect::validate_effects 0 1 229 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); 2106 14 get_class_type 0 4 3614 28 RenderEffect::get_class_type 0 1 230 0 53 static TypeHandle RenderEffect::get_class_type(void); 2107 10 operator < 0 4 3615 25 RenderEffects::operator < 0 1 231 0 65 bool RenderEffects::operator <(RenderEffects const &other) const; 2108 8 is_empty 0 4 3615 23 RenderEffects::is_empty 0 1 232 63 /** * Returns true if the state is empty, false otherwise. */ 48 inline bool RenderEffects::is_empty(void) const; 2109 15 get_num_effects 0 4 3615 30 RenderEffects::get_num_effects 0 1 233 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; 2110 10 get_effect 0 4 3615 25 RenderEffects::get_effect 0 2 234 235 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; 2111 4 size 0 4 3615 19 RenderEffects::size 0 1 236 73 /** * Returns the number of separate effects indicated in the state. */ 51 inline std::size_t RenderEffects::size(void) const; 2112 11 operator [] 0 4 3615 26 RenderEffects::operator [] 0 2 237 238 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; 2113 11 find_effect 0 4 3615 26 RenderEffects::find_effect 0 1 239 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; 2114 10 make_empty 0 4 3615 25 RenderEffects::make_empty 0 1 240 55 /** * Returns a RenderEffects with no effects set. */ 71 static ConstPointerTo< RenderEffects > RenderEffects::make_empty(void); 2115 4 make 0 4 3615 19 RenderEffects::make 0 4 241 242 243 244 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); 2116 10 add_effect 0 4 3615 25 RenderEffects::add_effect 0 1 245 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; 2117 13 remove_effect 0 4 3615 28 RenderEffects::remove_effect 0 1 246 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; 2118 6 output 0 4 3615 21 RenderEffects::output 0 1 247 10 /** * */ 52 void RenderEffects::output(std::ostream &out) const; 2119 5 write 0 4 3615 20 RenderEffects::write 0 1 248 10 /** * */ 69 void RenderEffects::write(std::ostream &out, int indent_level) const; 2120 14 get_num_states 0 4 3615 29 RenderEffects::get_num_states 0 1 249 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); 2121 11 list_states 0 4 3615 26 RenderEffects::list_states 0 1 250 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); 2122 15 validate_states 0 4 3615 30 RenderEffects::validate_states 0 1 251 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); 2123 14 get_class_type 0 4 3615 29 RenderEffects::get_class_type 0 1 252 0 54 static TypeHandle RenderEffects::get_class_type(void); 2124 37 upcast_to_TypedWritableReferenceCount 0 12 3616 48 PandaNode::upcast_to_TypedWritableReferenceCount 0 1 374 52 upcast from PandaNode to TypedWritableReferenceCount 84 TypedWritableReferenceCount *PandaNode::upcast_to_TypedWritableReferenceCount(void); 2125 21 downcast_to_PandaNode 0 12 3593 50 TypedWritableReferenceCount::downcast_to_PandaNode 0 0 54 downcast from TypedWritableReferenceCount to PandaNode 68 PandaNode *TypedWritableReferenceCount::downcast_to_PandaNode(void); 2126 17 upcast_to_Namable 0 12 3616 28 PandaNode::upcast_to_Namable 0 1 375 32 upcast from PandaNode to Namable 44 Namable *PandaNode::upcast_to_Namable(void); 2127 21 downcast_to_PandaNode 0 12 3617 30 Namable::downcast_to_PandaNode 0 0 34 downcast from Namable to PandaNode 48 PandaNode *Namable::downcast_to_PandaNode(void); 2128 24 upcast_to_LinkedListNode 0 12 3616 35 PandaNode::upcast_to_LinkedListNode 0 1 376 39 upcast from PandaNode to LinkedListNode 58 LinkedListNode *PandaNode::upcast_to_LinkedListNode(void); 2129 21 downcast_to_PandaNode 0 12 3618 37 LinkedListNode::downcast_to_PandaNode 0 0 41 downcast from LinkedListNode to PandaNode 55 PandaNode *LinkedListNode::downcast_to_PandaNode(void); 2130 9 PandaNode 0 260 3616 20 PandaNode::PandaNode 0 1 253 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); 2131 10 ~PandaNode 0 518 3616 21 PandaNode::~PandaNode 0 0 10 /** * */ 36 virtual PandaNode::~PandaNode(void); 2132 12 combine_with 0 6 3616 23 PandaNode::combine_with 0 1 254 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); 2133 9 make_copy 0 6 3616 20 PandaNode::make_copy 0 1 255 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; 2134 13 copy_subgraph 0 4 3616 24 PandaNode::copy_subgraph 0 1 256 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; 2135 8 __copy__ 0 4 3616 19 PandaNode::__copy__ 0 1 257 0 55 PointerTo< PandaNode > PandaNode::__copy__(void) const; 2136 12 __deepcopy__ 0 4 3616 23 PandaNode::__deepcopy__ 0 1 258 0 72 PyObject *PandaNode::__deepcopy__(PyObject *self, PyObject *memo) const; 2137 15 get_num_parents 0 4 3616 26 PandaNode::get_num_parents 0 1 259 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; 2138 10 get_parent 0 4 3616 21 PandaNode::get_parent 0 1 260 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; 2139 11 find_parent 0 4 3616 22 PandaNode::find_parent 0 1 261 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; 2140 16 get_num_children 0 4 3616 27 PandaNode::get_num_children 0 1 262 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; 2141 9 get_child 0 4 3616 20 PandaNode::get_child 0 1 263 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; 2142 14 get_child_sort 0 4 3616 25 PandaNode::get_child_sort 0 1 264 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; 2143 10 find_child 0 4 3616 21 PandaNode::find_child 0 1 265 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; 2144 21 count_num_descendants 0 4 3616 32 PandaNode::count_num_descendants 0 1 266 63 /** * Returns the number of nodes at and below this level. */ 49 int PandaNode::count_num_descendants(void) const; 2145 9 add_child 0 4 3616 20 PandaNode::add_child 0 1 267 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()); 2146 12 remove_child 0 4 3616 23 PandaNode::remove_child 0 2 268 269 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()); 2147 13 replace_child 0 4 3616 24 PandaNode::replace_child 0 1 270 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()); 2148 11 stash_child 0 4 3616 22 PandaNode::stash_child 0 2 271 272 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()); 2149 13 unstash_child 0 4 3616 24 PandaNode::unstash_child 0 2 273 274 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()); 2150 15 get_num_stashed 0 4 3616 26 PandaNode::get_num_stashed 0 1 275 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; 2151 11 get_stashed 0 4 3616 22 PandaNode::get_stashed 0 2 276 277 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; 2152 16 get_stashed_sort 0 4 3616 27 PandaNode::get_stashed_sort 0 1 278 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; 2153 12 find_stashed 0 4 3616 23 PandaNode::find_stashed 0 1 279 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; 2154 11 add_stashed 0 4 3616 22 PandaNode::add_stashed 0 1 280 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()); 2155 14 remove_stashed 0 4 3616 25 PandaNode::remove_stashed 0 1 281 55 /** * Removes the nth stashed child from the node. */ 103 void PandaNode::remove_stashed(int child_index, Thread *current_thread = Thread::get_current_thread()); 2156 19 remove_all_children 0 4 3616 30 PandaNode::remove_all_children 0 1 282 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()); 2157 14 steal_children 0 4 3616 25 PandaNode::steal_children 0 1 283 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()); 2158 13 copy_children 0 4 3616 24 PandaNode::copy_children 0 1 284 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()); 2159 10 set_attrib 0 4 3616 21 PandaNode::set_attrib 0 1 285 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); 2160 10 get_attrib 0 4 3616 21 PandaNode::get_attrib 0 2 286 287 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; 2161 10 has_attrib 0 4 3616 21 PandaNode::has_attrib 0 2 288 289 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; 2162 12 clear_attrib 0 4 3616 23 PandaNode::clear_attrib 0 2 290 291 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); 2163 10 set_effect 0 4 3616 21 PandaNode::set_effect 0 1 292 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); 2164 10 get_effect 0 4 3616 21 PandaNode::get_effect 0 1 293 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; 2165 10 has_effect 0 4 3616 21 PandaNode::has_effect 0 1 294 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; 2166 12 clear_effect 0 4 3616 23 PandaNode::clear_effect 0 1 295 70 /** * Removes the render effect of the given type from this node. */ 46 void PandaNode::clear_effect(TypeHandle type); 2167 9 set_state 0 4 3616 20 PandaNode::set_state 0 1 296 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()); 2168 9 get_state 0 4 3616 20 PandaNode::get_state 0 1 297 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; 2169 11 clear_state 0 4 3616 22 PandaNode::clear_state 0 1 298 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()); 2170 11 set_effects 0 4 3616 22 PandaNode::set_effects 0 1 299 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()); 2171 11 get_effects 0 4 3616 22 PandaNode::get_effects 0 1 300 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; 2172 13 clear_effects 0 4 3616 24 PandaNode::clear_effects 0 1 301 54 /** * Resets this node to have no render effects. */ 92 inline void PandaNode::clear_effects(Thread *current_thread = Thread::get_current_thread()); 2173 13 set_transform 0 4 3616 24 PandaNode::set_transform 0 1 302 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()); 2174 13 get_transform 0 4 3616 24 PandaNode::get_transform 0 1 303 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; 2175 15 clear_transform 0 4 3616 26 PandaNode::clear_transform 0 1 304 71 /** * Resets the transform on this node to the identity transform. */ 94 inline void PandaNode::clear_transform(Thread *current_thread = Thread::get_current_thread()); 2176 18 set_prev_transform 0 4 3616 29 PandaNode::set_prev_transform 0 1 305 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()); 2177 18 get_prev_transform 0 4 3616 29 PandaNode::get_prev_transform 0 1 306 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; 2178 20 reset_prev_transform 0 4 3616 31 PandaNode::reset_prev_transform 0 1 307 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()); 2179 24 has_dirty_prev_transform 0 4 3616 35 PandaNode::has_dirty_prev_transform 0 1 308 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; 2180 24 reset_all_prev_transform 0 4 3616 35 PandaNode::reset_all_prev_transform 0 1 309 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()); 2181 7 set_tag 0 4 3616 18 PandaNode::set_tag 0 1 310 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()); 2182 7 get_tag 0 4 3616 18 PandaNode::get_tag 0 1 311 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; 2183 7 has_tag 0 4 3616 18 PandaNode::has_tag 0 1 312 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; 2184 9 clear_tag 0 4 3616 20 PandaNode::clear_tag 0 1 313 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()); 2185 12 get_num_tags 0 4 3616 23 PandaNode::get_num_tags 0 1 377 59 /** * Returns the number of tags applied to this node. */ 55 inline std::size_t PandaNode::get_num_tags(void) const; 2186 11 get_tag_key 0 4 3616 22 PandaNode::get_tag_key 0 1 378 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; 2187 12 get_tag_keys 0 4 3616 23 PandaNode::get_tag_keys 0 1 314 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; 2188 15 get_python_tags 0 4 3616 26 PandaNode::get_python_tags 0 1 315 0 43 PyObject *PandaNode::get_python_tags(void); 2189 14 set_python_tag 0 4 3616 25 PandaNode::set_python_tag 0 1 316 0 63 void PandaNode::set_python_tag(PyObject *key, PyObject *value); 2190 14 get_python_tag 0 4 3616 25 PandaNode::get_python_tag 0 1 317 0 57 PyObject *PandaNode::get_python_tag(PyObject *key) const; 2191 14 has_python_tag 0 4 3616 25 PandaNode::has_python_tag 0 1 318 0 52 bool PandaNode::has_python_tag(PyObject *key) const; 2192 16 clear_python_tag 0 4 3616 27 PandaNode::clear_python_tag 0 1 319 0 48 void PandaNode::clear_python_tag(PyObject *key); 2193 19 get_python_tag_keys 0 4 3616 30 PandaNode::get_python_tag_keys 0 1 320 0 53 PyObject *PandaNode::get_python_tag_keys(void) const; 2194 12 __traverse__ 0 4 3616 23 PandaNode::__traverse__ 0 1 321 0 56 int PandaNode::__traverse__(visitproc visit, void *arg); 2195 8 has_tags 0 4 3616 19 PandaNode::has_tags 0 1 322 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; 2196 9 copy_tags 0 4 3616 20 PandaNode::copy_tags 0 1 323 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); 2197 9 list_tags 0 4 3616 20 PandaNode::list_tags 0 1 324 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; 2198 12 compare_tags 0 4 3616 23 PandaNode::compare_tags 0 1 325 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; 2199 19 copy_all_properties 0 4 3616 30 PandaNode::copy_all_properties 0 1 326 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); 2200 12 replace_node 0 4 3616 23 PandaNode::replace_node 0 1 327 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); 2201 21 set_unexpected_change 0 4 3616 32 PandaNode::set_unexpected_change 0 1 328 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); 2202 21 get_unexpected_change 0 4 3616 32 PandaNode::get_unexpected_change 0 1 329 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; 2203 23 clear_unexpected_change 0 4 3616 34 PandaNode::clear_unexpected_change 0 1 330 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); 2204 15 get_overall_bit 0 4 3616 26 PandaNode::get_overall_bit 0 1 331 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); 2205 19 get_all_camera_mask 0 4 3616 30 PandaNode::get_all_camera_mask 0 1 332 79 /** * Returns a DrawMask that is appropriate for rendering to all cameras. */ 60 static inline DrawMask PandaNode::get_all_camera_mask(void); 2206 17 is_overall_hidden 0 4 3616 28 PandaNode::is_overall_hidden 0 1 333 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; 2207 18 set_overall_hidden 0 4 3616 29 PandaNode::set_overall_hidden 0 1 334 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); 2208 16 adjust_draw_mask 0 4 3616 27 PandaNode::adjust_draw_mask 0 1 335 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); 2209 21 get_draw_control_mask 0 4 3616 32 PandaNode::get_draw_control_mask 0 1 336 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; 2210 18 get_draw_show_mask 0 4 3616 29 PandaNode::get_draw_show_mask 0 1 337 90 /** * Returns the hide/show bits of this particular node. See * adjust_draw_mask(). */ 58 inline DrawMask PandaNode::get_draw_show_mask(void) const; 2211 25 get_net_draw_control_mask 0 4 3616 36 PandaNode::get_net_draw_control_mask 0 1 338 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; 2212 22 get_net_draw_show_mask 0 4 3616 33 PandaNode::get_net_draw_show_mask 0 1 339 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; 2213 21 set_into_collide_mask 0 4 3616 32 PandaNode::set_into_collide_mask 0 1 340 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); 2214 21 get_into_collide_mask 0 4 3616 32 PandaNode::get_into_collide_mask 0 1 341 57 /** * Returns the "into" collide mask for this node. */ 64 inline CollideMask PandaNode::get_into_collide_mask(void) const; 2215 22 get_legal_collide_mask 0 6 3616 33 PandaNode::get_legal_collide_mask 0 1 342 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; 2216 20 get_net_collide_mask 0 4 3616 31 PandaNode::get_net_collide_mask 0 1 343 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; 2217 19 get_off_clip_planes 0 4 3616 30 PandaNode::get_off_clip_planes 0 1 344 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; 2218 13 prepare_scene 0 4 3616 24 PandaNode::prepare_scene 0 1 345 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); 2219 13 is_scene_root 0 4 3616 24 PandaNode::is_scene_root 0 1 346 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; 2220 19 is_under_scene_root 0 4 3616 30 PandaNode::is_under_scene_root 0 1 347 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; 2221 6 output 0 6 3616 17 PandaNode::output 0 1 348 10 /** * */ 56 virtual void PandaNode::output(std::ostream &out) const; 2222 5 write 0 6 3616 16 PandaNode::write 0 1 349 10 /** * */ 73 virtual void PandaNode::write(std::ostream &out, int indent_level) const; 2223 2 ls 0 4 3616 13 PandaNode::ls 0 1 350 76 /** * Lists all the nodes at and below the current path hierarchically. */ 69 inline void PandaNode::ls(std::ostream &out, int indent_level) const; 2224 15 set_bounds_type 0 4 3616 26 PandaNode::set_bounds_type 0 1 351 1282 // 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. // 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); 2225 15 get_bounds_type 0 4 3616 26 PandaNode::get_bounds_type 0 1 352 71 /** * Returns the bounding volume type set with set_bounds_type(). */ 66 BoundingVolume::BoundsType PandaNode::get_bounds_type(void) const; 2226 10 set_bounds 0 4 3616 21 PandaNode::set_bounds 0 1 353 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); 2227 9 set_bound 0 4 3616 20 PandaNode::set_bound 0 1 354 48 /** * @deprecated Use set_bounds() instead. */ 56 void PandaNode::set_bound(BoundingVolume const *volume); 2228 12 clear_bounds 0 4 3616 23 PandaNode::clear_bounds 0 1 355 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); 2229 10 get_bounds 0 4 3616 21 PandaNode::get_bounds 0 2 356 357 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; 2230 19 get_nested_vertices 0 4 3616 30 PandaNode::get_nested_vertices 0 1 358 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; 2231 19 get_internal_bounds 0 4 3616 30 PandaNode::get_internal_bounds 0 1 359 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; 2232 21 get_internal_vertices 0 4 3616 32 PandaNode::get_internal_vertices 0 1 360 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; 2233 17 mark_bounds_stale 0 4 3616 28 PandaNode::mark_bounds_stale 0 1 361 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; 2234 26 mark_internal_bounds_stale 0 4 3616 37 PandaNode::mark_internal_bounds_stale 0 1 362 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()); 2235 15 is_bounds_stale 0 4 3616 26 PandaNode::is_bounds_stale 0 1 363 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; 2236 9 set_final 0 4 3616 20 PandaNode::set_final 0 1 364 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); 2237 8 is_final 0 4 3616 19 PandaNode::is_final 0 1 365 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; 2238 12 is_geom_node 0 6 3616 23 PandaNode::is_geom_node 0 1 366 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; 2239 11 is_lod_node 0 6 3616 22 PandaNode::is_lod_node 0 1 367 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; 2240 17 is_collision_node 0 6 3616 28 PandaNode::is_collision_node 0 1 368 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; 2241 8 as_light 0 6 3616 19 PandaNode::as_light 0 1 369 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); 2242 16 is_ambient_light 0 6 3616 27 PandaNode::is_ambient_light 0 1 370 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; 2243 14 get_fancy_bits 0 4 3616 25 PandaNode::get_fancy_bits 0 1 371 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; 2244 22 decode_from_bam_stream 0 4 3616 33 PandaNode::decode_from_bam_stream 0 1 372 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); 2245 11 operator [] 0 4 3636 32 PandaNode::Children::operator [] 0 1 379 0 72 inline PandaNode *PandaNode::Children::operator [](std::size_t n) const; 2246 4 size 0 4 3636 25 PandaNode::Children::size 0 1 380 0 57 inline std::size_t PandaNode::Children::size(void) const; 2247 9 ~Children 0 516 3636 30 PandaNode::Children::~Children 0 0 0 37 PandaNode::Children::~Children(void); 2248 11 operator [] 0 4 3637 31 PandaNode::Stashed::operator [] 0 1 381 0 71 inline PandaNode *PandaNode::Stashed::operator [](std::size_t n) const; 2249 4 size 0 4 3637 24 PandaNode::Stashed::size 0 1 382 0 56 inline std::size_t PandaNode::Stashed::size(void) const; 2250 8 ~Stashed 0 516 3637 28 PandaNode::Stashed::~Stashed 0 0 0 35 PandaNode::Stashed::~Stashed(void); 2251 11 operator [] 0 4 3638 31 PandaNode::Parents::operator [] 0 1 383 0 71 inline PandaNode *PandaNode::Parents::operator [](std::size_t n) const; 2252 4 size 0 4 3638 24 PandaNode::Parents::size 0 1 384 0 56 inline std::size_t PandaNode::Parents::size(void) const; 2253 8 ~Parents 0 516 3638 28 PandaNode::Parents::~Parents 0 0 0 35 PandaNode::Parents::~Parents(void); 2254 12 get_children 0 4 3616 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; 2255 11 get_parents 0 4 3616 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; 2256 14 get_class_type 0 4 3616 25 PandaNode::get_class_type 0 1 373 0 50 static TypeHandle PandaNode::get_class_type(void); 2257 4 make 0 4 3639 24 TransparencyAttrib::make 0 1 385 54 /** * Constructs a new TransparencyAttrib object. */ 94 static ConstPointerTo< RenderAttrib > TransparencyAttrib::make(TransparencyAttrib::Mode mode); 2258 12 make_default 0 4 3639 32 TransparencyAttrib::make_default 0 1 386 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); 2259 8 get_mode 0 4 3639 28 TransparencyAttrib::get_mode 0 1 387 41 /** * Returns the transparency mode. */ 73 inline TransparencyAttrib::Mode TransparencyAttrib::get_mode(void) const; 2260 14 get_class_slot 0 4 3639 34 TransparencyAttrib::get_class_slot 0 1 388 0 52 static int TransparencyAttrib::get_class_slot(void); 2261 14 get_class_type 0 4 3639 34 TransparencyAttrib::get_class_type 0 1 389 0 59 static TypeHandle TransparencyAttrib::get_class_type(void); 2262 19 ~TransparencyAttrib 0 516 3639 39 TransparencyAttrib::~TransparencyAttrib 0 0 0 46 TransparencyAttrib::~TransparencyAttrib(void); 2263 8 make_off 0 4 3641 23 LogicOpAttrib::make_off 0 1 390 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); 2264 4 make 0 4 3641 19 LogicOpAttrib::make 0 1 391 80 /** * Constructs a new LogicOpAttrib object with the given logic operation. */ 87 static ConstPointerTo< RenderAttrib > LogicOpAttrib::make(LogicOpAttrib::Operation op); 2265 12 make_default 0 4 3641 27 LogicOpAttrib::make_default 0 1 392 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); 2266 13 get_operation 0 4 3641 28 LogicOpAttrib::get_operation 0 1 393 67 /** * Returns the logic operation specified by this attribute. */ 73 inline LogicOpAttrib::Operation LogicOpAttrib::get_operation(void) const; 2267 14 get_class_slot 0 4 3641 29 LogicOpAttrib::get_class_slot 0 1 394 0 47 static int LogicOpAttrib::get_class_slot(void); 2268 14 get_class_type 0 4 3641 29 LogicOpAttrib::get_class_type 0 1 395 0 54 static TypeHandle LogicOpAttrib::get_class_type(void); 2269 14 ~LogicOpAttrib 0 516 3641 29 LogicOpAttrib::~LogicOpAttrib 0 0 0 36 LogicOpAttrib::~LogicOpAttrib(void); 2270 9 get_blank 0 4 3643 22 ShaderInput::get_blank 0 1 401 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); 2271 11 ShaderInput 0 260 3643 24 ShaderInput::ShaderInput 0 5 396 397 398 399 400 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; 2272 22 operator typecast bool 0 132 3643 35 ShaderInput::operator typecast bool 0 1 414 0 34 inline operator bool (void) const; 2273 11 operator == 0 4 3643 24 ShaderInput::operator == 0 1 402 0 69 inline bool ShaderInput::operator ==(ShaderInput const &other) const; 2274 11 operator != 0 4 3643 24 ShaderInput::operator != 0 1 403 0 69 inline bool ShaderInput::operator !=(ShaderInput const &other) const; 2275 10 operator < 0 4 3643 23 ShaderInput::operator < 0 1 404 0 68 inline bool ShaderInput::operator <(ShaderInput const &other) const; 2276 8 add_hash 0 4 3643 21 ShaderInput::add_hash 0 1 405 10 /** * */ 58 std::size_t ShaderInput::add_hash(std::size_t hash) const; 2277 8 get_name 0 4 3643 21 ShaderInput::get_name 0 1 406 10 /** * */ 61 inline InternalName const *ShaderInput::get_name(void) const; 2278 14 get_value_type 0 4 3643 27 ShaderInput::get_value_type 0 1 407 10 /** * */ 51 inline int ShaderInput::get_value_type(void) const; 2279 12 get_priority 0 4 3643 25 ShaderInput::get_priority 0 1 408 10 /** * */ 49 inline int ShaderInput::get_priority(void) const; 2280 10 get_vector 0 4 3643 23 ShaderInput::get_vector 0 1 409 10 /** * */ 60 inline LVecBase4 const &ShaderInput::get_vector(void) const; 2281 7 get_ptr 0 4 3643 20 ShaderInput::get_ptr 0 1 410 10 /** * */ 69 inline Shader::ShaderPtrData const &ShaderInput::get_ptr(void) const; 2282 12 get_nodepath 0 4 3643 25 ShaderInput::get_nodepath 0 1 411 107 /** * Warning: no error checking is done. This *will* crash if get_value_type() * is not M_nodepath. */ 54 NodePath const &ShaderInput::get_nodepath(void) const; 2283 11 get_texture 0 4 3643 24 ShaderInput::get_texture 0 1 412 10 /** * */ 46 Texture *ShaderInput::get_texture(void) const; 2284 11 get_sampler 0 4 3643 24 ShaderInput::get_sampler 0 1 413 46 /** * Warning: no error checking is done. */ 57 SamplerState const &ShaderInput::get_sampler(void) const; 2285 12 ~ShaderInput 0 516 3643 25 ShaderInput::~ShaderInput 0 0 0 32 ShaderInput::~ShaderInput(void); 2286 22 InternalNameCollection 0 260 3646 46 InternalNameCollection::InternalNameCollection 0 2 415 416 22 /** * */ /** * */ 137 InternalNameCollection::InternalNameCollection(void); InternalNameCollection::InternalNameCollection(InternalNameCollection const ©); 2287 10 operator = 0 4 3646 34 InternalNameCollection::operator = 0 1 417 0 76 void InternalNameCollection::operator =(InternalNameCollection const ©); 2288 23 ~InternalNameCollection 0 516 3646 47 InternalNameCollection::~InternalNameCollection 0 0 10 /** * */ 61 inline InternalNameCollection::~InternalNameCollection(void); 2289 8 add_name 0 4 3646 32 InternalNameCollection::add_name 0 1 418 53 /** * Adds a new InternalName to the collection. */ 64 void InternalNameCollection::add_name(InternalName const *name); 2290 11 remove_name 0 4 3646 35 InternalNameCollection::remove_name 0 1 419 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); 2291 14 add_names_from 0 4 3646 38 InternalNameCollection::add_names_from 0 1 420 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); 2292 17 remove_names_from 0 4 3646 41 InternalNameCollection::remove_names_from 0 1 421 99 /** * Removes from this collection all of the InternalNames listed in the other * collection. */ 84 void InternalNameCollection::remove_names_from(InternalNameCollection const &other); 2293 22 remove_duplicate_names 0 4 3646 46 InternalNameCollection::remove_duplicate_names 0 1 422 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); 2294 8 has_name 0 4 3646 32 InternalNameCollection::has_name 0 1 423 101 /** * Returns true if the indicated InternalName appears in this collection, * false otherwise. */ 70 bool InternalNameCollection::has_name(InternalName const *name) const; 2295 5 clear 0 4 3646 29 InternalNameCollection::clear 0 1 424 57 /** * Removes all InternalNames from the collection. */ 41 void InternalNameCollection::clear(void); 2296 13 get_num_names 0 4 3646 37 InternalNameCollection::get_num_names 0 1 425 65 /** * Returns the number of InternalNames in the collection. */ 54 int InternalNameCollection::get_num_names(void) const; 2297 8 get_name 0 4 3646 32 InternalNameCollection::get_name 0 1 426 58 /** * Returns the nth InternalName in the collection. */ 70 InternalName const *InternalNameCollection::get_name(int index) const; 2298 11 operator [] 0 4 3646 35 InternalNameCollection::operator [] 0 1 427 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; 2299 4 size 0 4 3646 28 InternalNameCollection::size 0 1 428 104 /** * Returns the number of names in the collection. This is the same thing as * get_num_names(). */ 45 int InternalNameCollection::size(void) const; 2300 11 operator += 0 4 3646 35 InternalNameCollection::operator += 0 1 429 0 85 inline void InternalNameCollection::operator +=(InternalNameCollection const &other); 2301 10 operator + 0 4 3646 34 InternalNameCollection::operator + 0 1 430 0 108 inline InternalNameCollection InternalNameCollection::operator +(InternalNameCollection const &other) const; 2302 6 output 0 4 3646 30 InternalNameCollection::output 0 1 431 111 /** * Writes a brief one-line description of the InternalNameCollection to the * indicated output stream. */ 61 void InternalNameCollection::output(std::ostream &out) const; 2303 5 write 0 4 3646 29 InternalNameCollection::write 0 1 432 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; 2304 18 MaterialCollection 0 260 3647 38 MaterialCollection::MaterialCollection 0 2 433 434 22 /** * */ /** * */ 117 MaterialCollection::MaterialCollection(void); MaterialCollection::MaterialCollection(MaterialCollection const ©); 2305 10 operator = 0 4 3647 30 MaterialCollection::operator = 0 1 435 0 68 void MaterialCollection::operator =(MaterialCollection const ©); 2306 19 ~MaterialCollection 0 516 3647 39 MaterialCollection::~MaterialCollection 0 0 10 /** * */ 53 inline MaterialCollection::~MaterialCollection(void); 2307 12 add_material 0 4 3647 32 MaterialCollection::add_material 0 1 436 49 /** * Adds a new Material to the collection. */ 63 void MaterialCollection::add_material(Material *node_material); 2308 15 remove_material 0 4 3647 35 MaterialCollection::remove_material 0 1 437 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); 2309 18 add_materials_from 0 4 3647 38 MaterialCollection::add_materials_from 0 1 438 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); 2310 21 remove_materials_from 0 4 3647 41 MaterialCollection::remove_materials_from 0 1 439 95 /** * Removes from this collection all of the Materials listed in the other * collection. */ 80 void MaterialCollection::remove_materials_from(MaterialCollection const &other); 2311 26 remove_duplicate_materials 0 4 3647 46 MaterialCollection::remove_duplicate_materials 0 1 440 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); 2312 12 has_material 0 4 3647 32 MaterialCollection::has_material 0 1 441 97 /** * Returns true if the indicated Material appears in this collection, false * otherwise. */ 64 bool MaterialCollection::has_material(Material *material) const; 2313 5 clear 0 4 3647 25 MaterialCollection::clear 0 1 442 53 /** * Removes all Materials from the collection. */ 37 void MaterialCollection::clear(void); 2314 13 find_material 0 4 3647 33 MaterialCollection::find_material 0 1 443 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; 2315 17 get_num_materials 0 4 3647 37 MaterialCollection::get_num_materials 0 1 444 61 /** * Returns the number of Materials in the collection. */ 54 int MaterialCollection::get_num_materials(void) const; 2316 12 get_material 0 4 3647 32 MaterialCollection::get_material 0 1 445 54 /** * Returns the nth Material in the collection. */ 60 Material *MaterialCollection::get_material(int index) const; 2317 11 operator [] 0 4 3647 31 MaterialCollection::operator [] 0 1 446 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; 2318 4 size 0 4 3647 24 MaterialCollection::size 0 1 447 112 /** * Returns the number of materials in the collection. This is the same thing * as get_num_materials(). */ 41 int MaterialCollection::size(void) const; 2319 11 operator += 0 4 3647 31 MaterialCollection::operator += 0 1 448 0 77 inline void MaterialCollection::operator +=(MaterialCollection const &other); 2320 10 operator + 0 4 3647 30 MaterialCollection::operator + 0 1 449 0 96 inline MaterialCollection MaterialCollection::operator +(MaterialCollection const &other) const; 2321 6 output 0 4 3647 26 MaterialCollection::output 0 1 450 107 /** * Writes a brief one-line description of the MaterialCollection to the * indicated output stream. */ 57 void MaterialCollection::output(std::ostream &out) const; 2322 5 write 0 4 3647 25 MaterialCollection::write 0 1 451 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; 2323 22 TextureStageCollection 0 260 3648 46 TextureStageCollection::TextureStageCollection 0 2 452 453 22 /** * */ /** * */ 137 TextureStageCollection::TextureStageCollection(void); TextureStageCollection::TextureStageCollection(TextureStageCollection const ©); 2324 10 operator = 0 4 3648 34 TextureStageCollection::operator = 0 1 454 0 76 void TextureStageCollection::operator =(TextureStageCollection const ©); 2325 23 ~TextureStageCollection 0 516 3648 47 TextureStageCollection::~TextureStageCollection 0 0 10 /** * */ 61 inline TextureStageCollection::~TextureStageCollection(void); 2326 17 add_texture_stage 0 4 3648 41 TextureStageCollection::add_texture_stage 0 1 455 53 /** * Adds a new TextureStage to the collection. */ 81 void TextureStageCollection::add_texture_stage(TextureStage *node_texture_stage); 2327 20 remove_texture_stage 0 4 3648 44 TextureStageCollection::remove_texture_stage 0 1 456 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); 2328 23 add_texture_stages_from 0 4 3648 47 TextureStageCollection::add_texture_stages_from 0 1 457 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); 2329 26 remove_texture_stages_from 0 4 3648 50 TextureStageCollection::remove_texture_stages_from 0 1 458 99 /** * Removes from this collection all of the TextureStages listed in the other * collection. */ 93 void TextureStageCollection::remove_texture_stages_from(TextureStageCollection const &other); 2330 31 remove_duplicate_texture_stages 0 4 3648 55 TextureStageCollection::remove_duplicate_texture_stages 0 1 459 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); 2331 17 has_texture_stage 0 4 3648 41 TextureStageCollection::has_texture_stage 0 1 460 101 /** * Returns true if the indicated TextureStage appears in this collection, * false otherwise. */ 82 bool TextureStageCollection::has_texture_stage(TextureStage *texture_stage) const; 2332 5 clear 0 4 3648 29 TextureStageCollection::clear 0 1 461 57 /** * Removes all TextureStages from the collection. */ 41 void TextureStageCollection::clear(void); 2333 18 find_texture_stage 0 4 3648 42 TextureStageCollection::find_texture_stage 0 1 462 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; 2334 22 get_num_texture_stages 0 4 3648 46 TextureStageCollection::get_num_texture_stages 0 1 463 65 /** * Returns the number of TextureStages in the collection. */ 63 int TextureStageCollection::get_num_texture_stages(void) const; 2335 17 get_texture_stage 0 4 3648 41 TextureStageCollection::get_texture_stage 0 1 464 58 /** * Returns the nth TextureStage in the collection. */ 73 TextureStage *TextureStageCollection::get_texture_stage(int index) const; 2336 11 operator [] 0 4 3648 35 TextureStageCollection::operator [] 0 1 465 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; 2337 4 size 0 4 3648 28 TextureStageCollection::size 0 1 466 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; 2338 11 operator += 0 4 3648 35 TextureStageCollection::operator += 0 1 467 0 85 inline void TextureStageCollection::operator +=(TextureStageCollection const &other); 2339 10 operator + 0 4 3648 34 TextureStageCollection::operator + 0 1 468 0 108 inline TextureStageCollection TextureStageCollection::operator +(TextureStageCollection const &other) const; 2340 4 sort 0 4 3648 28 TextureStageCollection::sort 0 1 469 116 /** * Sorts the TextureStages in this collection into order by * TextureStage::sort(), from lowest to highest. */ 40 void TextureStageCollection::sort(void); 2341 6 output 0 4 3648 30 TextureStageCollection::output 0 1 470 111 /** * Writes a brief one-line description of the TextureStageCollection to the * indicated output stream. */ 61 void TextureStageCollection::output(std::ostream &out) const; 2342 5 write 0 4 3648 29 TextureStageCollection::write 0 1 471 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; 2343 8 NodePath 0 260 3649 18 NodePath::NodePath 0 5 472 473 474 475 476 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. */ 445 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 ©); 2344 8 any_path 0 4 3649 18 NodePath::any_path 0 1 477 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()); 2345 10 operator = 0 4 3649 20 NodePath::operator = 0 1 478 0 55 inline void NodePath::operator =(NodePath const ©); 2346 5 clear 0 4 3649 15 NodePath::clear 0 1 479 93 /** * Sets this NodePath to the empty NodePath. It will no longer point to any * node. */ 34 inline void NodePath::clear(void); 2347 8 __copy__ 0 4 3649 18 NodePath::__copy__ 0 1 480 0 40 NodePath NodePath::__copy__(void) const; 2348 12 __deepcopy__ 0 4 3649 22 NodePath::__deepcopy__ 0 1 481 0 71 PyObject *NodePath::__deepcopy__(PyObject *self, PyObject *memo) const; 2349 10 __reduce__ 0 4 3649 20 NodePath::__reduce__ 0 1 482 0 53 PyObject *NodePath::__reduce__(PyObject *self) const; 2350 18 __reduce_persist__ 0 4 3649 28 NodePath::__reduce_persist__ 0 1 483 0 80 PyObject *NodePath::__reduce_persist__(PyObject *self, PyObject *pickler) const; 2351 9 not_found 0 4 3649 19 NodePath::not_found 0 1 484 67 /** * Creates a NodePath with the ET_not_found error type set. */ 49 static inline NodePath NodePath::not_found(void); 2352 7 removed 0 4 3649 17 NodePath::removed 0 1 485 65 /** * Creates a NodePath with the ET_removed error type set. */ 47 static inline NodePath NodePath::removed(void); 2353 4 fail 0 4 3649 14 NodePath::fail 0 1 486 62 /** * Creates a NodePath with the ET_fail error type set. */ 44 static inline NodePath NodePath::fail(void); 2354 20 set_max_search_depth 0 4 3649 30 NodePath::set_max_search_depth 0 1 487 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); 2355 20 get_max_search_depth 0 4 3649 30 NodePath::get_max_search_depth 0 1 488 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); 2356 8 is_empty 0 4 3649 18 NodePath::is_empty 0 1 489 102 // Methods to query a NodePath's contents. /** * Returns true if the NodePath contains no nodes. */ 43 inline bool NodePath::is_empty(void) const; 2357 22 operator typecast bool 0 132 3649 32 NodePath::operator typecast bool 0 1 994 0 27 operator bool (void) const; 2358 12 is_singleton 0 4 3649 22 NodePath::is_singleton 0 1 490 66 /** * Returns true if the NodePath contains exactly one node. */ 96 inline bool NodePath::is_singleton(Thread *current_thread = Thread::get_current_thread()) const; 2359 13 get_num_nodes 0 4 3649 23 NodePath::get_num_nodes 0 1 491 51 /** * Returns the number of nodes in the path. */ 89 int NodePath::get_num_nodes(Thread *current_thread = Thread::get_current_thread()) const; 2360 8 get_node 0 4 3649 18 NodePath::get_node 0 1 492 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; 2361 12 get_ancestor 0 4 3649 22 NodePath::get_ancestor 0 1 493 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; 2362 14 get_error_type 0 4 3649 24 NodePath::get_error_type 0 1 494 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; 2363 12 get_top_node 0 4 3649 22 NodePath::get_top_node 0 1 495 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; 2364 7 get_top 0 4 3649 17 NodePath::get_top 0 1 496 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; 2365 4 node 0 4 3649 14 NodePath::node 0 1 497 51 /** * Returns the referenced node of the path. */ 45 inline PandaNode *NodePath::node(void) const; 2366 7 get_key 0 4 3649 17 NodePath::get_key 0 1 498 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; 2367 8 add_hash 0 4 3649 18 NodePath::add_hash 0 1 499 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; 2368 13 is_same_graph 0 4 3649 23 NodePath::is_same_graph 0 1 500 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; 2369 14 is_ancestor_of 0 4 3649 24 NodePath::is_ancestor_of 0 1 501 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; 2370 19 get_common_ancestor 0 4 3649 29 NodePath::get_common_ancestor 0 1 502 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; 2371 12 get_children 0 4 3649 22 NodePath::get_children 0 1 503 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; 2372 16 get_num_children 0 4 3649 26 NodePath::get_num_children 0 1 504 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; 2373 9 get_child 0 4 3649 19 NodePath::get_child 0 1 505 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; 2374 20 get_stashed_children 0 4 3649 30 NodePath::get_stashed_children 0 1 506 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; 2375 18 NodePathCollection 0 260 3652 38 NodePathCollection::NodePathCollection 0 3 995 996 997 0 216 NodePathCollection::NodePathCollection(void) = default; NodePathCollection::NodePathCollection(PyObject *self, PyObject *sequence); inline NodePathCollection::NodePathCollection(NodePathCollection const &) = default; 2376 10 __reduce__ 0 4 3652 30 NodePathCollection::__reduce__ 0 1 998 0 63 PyObject *NodePathCollection::__reduce__(PyObject *self) const; 2377 8 add_path 0 4 3652 28 NodePathCollection::add_path 0 1 999 49 /** * Adds a new NodePath to the collection. */ 61 void NodePathCollection::add_path(NodePath const &node_path); 2378 11 remove_path 0 4 3652 31 NodePathCollection::remove_path 0 1 1000 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); 2379 14 add_paths_from 0 4 3652 34 NodePathCollection::add_paths_from 0 1 1001 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); 2380 17 remove_paths_from 0 4 3652 37 NodePathCollection::remove_paths_from 0 1 1002 95 /** * Removes from this collection all of the NodePaths listed in the other * collection. */ 76 void NodePathCollection::remove_paths_from(NodePathCollection const &other); 2381 22 remove_duplicate_paths 0 4 3652 42 NodePathCollection::remove_duplicate_paths 0 1 1003 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); 2382 8 has_path 0 4 3652 28 NodePathCollection::has_path 0 1 1004 97 /** * Returns true if the indicated NodePath appears in this collection, false * otherwise. */ 62 bool NodePathCollection::has_path(NodePath const &path) const; 2383 5 clear 0 4 3652 25 NodePathCollection::clear 0 1 1005 53 /** * Removes all NodePaths from the collection. */ 37 void NodePathCollection::clear(void); 2384 7 reserve 0 4 3652 27 NodePathCollection::reserve 0 1 1006 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); 2385 8 is_empty 0 4 3652 28 NodePathCollection::is_empty 0 1 1007 85 /** * Returns true if there are no NodePaths in the collection, false otherwise. */ 46 bool NodePathCollection::is_empty(void) const; 2386 13 get_num_paths 0 4 3652 33 NodePathCollection::get_num_paths 0 1 1008 61 /** * Returns the number of NodePaths in the collection. */ 50 int NodePathCollection::get_num_paths(void) const; 2387 8 get_path 0 4 3652 28 NodePathCollection::get_path 0 1 1009 54 /** * Returns the nth NodePath in the collection. */ 55 NodePath NodePathCollection::get_path(int index) const; 2388 11 operator [] 0 4 3652 31 NodePathCollection::operator [] 0 1 1010 0 66 NodePath NodePathCollection::operator [](std::size_t index) const; 2389 4 size 0 4 3652 24 NodePathCollection::size 0 1 1011 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; 2390 11 operator += 0 4 3652 31 NodePathCollection::operator += 0 1 1012 0 77 inline void NodePathCollection::operator +=(NodePathCollection const &other); 2391 10 operator + 0 4 3652 30 NodePathCollection::operator + 0 1 1013 0 96 inline NodePathCollection NodePathCollection::operator +(NodePathCollection const &other) const; 2392 6 append 0 4 3652 26 NodePathCollection::append 0 1 1014 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); 2393 6 extend 0 4 3652 26 NodePathCollection::extend 0 1 1015 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); 2394 2 ls 0 4 3652 22 NodePathCollection::ls 0 2 1016 1017 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; 2395 16 find_all_matches 0 4 3652 36 NodePathCollection::find_all_matches 0 1 1018 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; 2396 11 reparent_to 0 4 3652 31 NodePathCollection::reparent_to 0 1 1019 79 /** * Reparents all the NodePaths in the collection to the indicated node. */ 60 void NodePathCollection::reparent_to(NodePath const &other); 2397 15 wrt_reparent_to 0 4 3652 35 NodePathCollection::wrt_reparent_to 0 1 1020 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); 2398 4 show 0 4 3652 24 NodePathCollection::show 0 1 1021 49 /** * Shows all NodePaths in the collection. */ 36 void NodePathCollection::show(void); 2399 4 hide 0 4 3652 24 NodePathCollection::hide 0 1 1022 49 /** * Hides all NodePaths in the collection. */ 36 void NodePathCollection::hide(void); 2400 5 stash 0 4 3652 25 NodePathCollection::stash 0 1 1023 51 /** * Stashes all NodePaths in the collection. */ 37 void NodePathCollection::stash(void); 2401 7 unstash 0 4 3652 27 NodePathCollection::unstash 0 1 1024 53 /** * Unstashes all NodePaths in the collection. */ 39 void NodePathCollection::unstash(void); 2402 6 detach 0 4 3652 26 NodePathCollection::detach 0 1 1025 52 /** * Detaches all NodePaths in the collection. */ 38 void NodePathCollection::detach(void); 2403 16 get_collide_mask 0 4 3652 36 NodePathCollection::get_collide_mask 0 1 1026 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; 2404 16 set_collide_mask 0 4 3652 36 NodePathCollection::set_collide_mask 0 1 1027 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()); 2405 17 calc_tight_bounds 0 4 3652 37 NodePathCollection::calc_tight_bounds 0 1 1028 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; 2406 16 get_tight_bounds 0 4 3652 36 NodePathCollection::get_tight_bounds 0 1 1029 0 59 PyObject *NodePathCollection::get_tight_bounds(void) const; 2407 11 set_texture 0 4 3652 31 NodePathCollection::set_texture 0 2 1030 1031 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); 2408 15 set_texture_off 0 4 3652 35 NodePathCollection::set_texture_off 0 2 1032 1033 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); 2409 9 set_color 0 4 3652 29 NodePathCollection::set_color 0 2 1034 1035 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); 2410 15 set_color_scale 0 4 3652 35 NodePathCollection::set_color_scale 0 2 1036 1037 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); 2411 19 compose_color_scale 0 4 3652 39 NodePathCollection::compose_color_scale 0 2 1038 1039 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); 2412 10 set_attrib 0 4 3652 30 NodePathCollection::set_attrib 0 1 1040 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); 2413 6 output 0 4 3652 26 NodePathCollection::output 0 1 1041 107 /** * Writes a brief one-line description of the NodePathCollection to the * indicated output stream. */ 57 void NodePathCollection::output(std::ostream &out) const; 2414 5 write 0 4 3652 25 NodePathCollection::write 0 1 1042 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; 2415 19 ~NodePathCollection 0 516 3652 39 NodePathCollection::~NodePathCollection 0 0 0 46 NodePathCollection::~NodePathCollection(void); 2416 21 count_num_descendants 0 4 3649 31 NodePath::count_num_descendants 0 1 507 63 /** * Returns the number of nodes at and below this level. */ 55 inline int NodePath::count_num_descendants(void) const; 2417 10 has_parent 0 4 3649 20 NodePath::has_parent 0 1 508 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; 2418 10 get_parent 0 4 3649 20 NodePath::get_parent 0 1 509 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; 2419 8 get_sort 0 4 3649 18 NodePath::get_sort 0 1 510 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; 2420 4 find 0 4 3649 14 NodePath::find 0 1 511 253 /** * 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. * * The referenced node itself is not considered in the search. */ 55 NodePath NodePath::find(std::string const &path) const; 2421 12 find_path_to 0 4 3649 22 NodePath::find_path_to 0 1 512 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; 2422 16 find_all_matches 0 4 3649 26 NodePath::find_all_matches 0 1 513 222 /** * 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. * * The referenced node itself is not considered in the search. */ 77 NodePathCollection NodePath::find_all_matches(std::string const &path) const; 2423 17 find_all_paths_to 0 4 3649 27 NodePath::find_all_paths_to 0 1 514 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; 2424 11 reparent_to 0 4 3649 21 NodePath::reparent_to 0 1 515 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()); 2425 8 stash_to 0 4 3649 18 NodePath::stash_to 0 1 516 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()); 2426 15 wrt_reparent_to 0 4 3649 25 NodePath::wrt_reparent_to 0 1 517 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()); 2427 11 instance_to 0 4 3649 21 NodePath::instance_to 0 1 518 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; 2428 19 instance_under_node 0 4 3649 29 NodePath::instance_under_node 0 1 519 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; 2429 7 copy_to 0 4 3649 17 NodePath::copy_to 0 1 520 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; 2430 15 attach_new_node 0 4 3649 25 NodePath::attach_new_node 0 2 521 522 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; 2431 11 remove_node 0 4 3649 21 NodePath::remove_node 0 1 523 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()); 2432 11 detach_node 0 4 3649 21 NodePath::detach_node 0 1 524 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()); 2433 6 output 0 4 3649 16 NodePath::output 0 1 525 91 /** * Writes a sensible description of the NodePath to the indicated output * stream. */ 47 void NodePath::output(std::ostream &out) const; 2434 2 ls 0 4 3649 12 NodePath::ls 0 2 526 527 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; 2435 10 reverse_ls 0 4 3649 20 NodePath::reverse_ls 0 2 528 529 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; 2436 9 get_state 0 4 3649 19 NodePath::get_state 0 2 530 531 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; 2437 9 set_state 0 4 3649 19 NodePath::set_state 0 2 532 533 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()); 2438 13 get_net_state 0 4 3649 23 NodePath::get_net_state 0 1 534 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; 2439 10 set_attrib 0 4 3649 20 NodePath::set_attrib 0 1 535 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); 2440 10 get_attrib 0 4 3649 20 NodePath::get_attrib 0 1 536 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; 2441 10 has_attrib 0 4 3649 20 NodePath::has_attrib 0 1 537 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; 2442 12 clear_attrib 0 4 3649 22 NodePath::clear_attrib 0 1 538 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); 2443 10 set_effect 0 4 3649 20 NodePath::set_effect 0 1 539 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); 2444 10 get_effect 0 4 3649 20 NodePath::get_effect 0 1 540 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; 2445 10 has_effect 0 4 3649 20 NodePath::has_effect 0 1 541 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; 2446 12 clear_effect 0 4 3649 22 NodePath::clear_effect 0 1 542 70 /** * Removes the render effect of the given type from this node. */ 52 inline void NodePath::clear_effect(TypeHandle type); 2447 11 set_effects 0 4 3649 21 NodePath::set_effects 0 1 543 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); 2448 11 get_effects 0 4 3649 21 NodePath::get_effects 0 1 544 80 /** * Returns the complete RenderEffects that will be applied to this node. */ 62 inline RenderEffects const *NodePath::get_effects(void) const; 2449 13 clear_effects 0 4 3649 23 NodePath::clear_effects 0 1 545 54 /** * Resets this node to have no render effects. */ 42 inline void NodePath::clear_effects(void); 2450 13 get_transform 0 4 3649 23 NodePath::get_transform 0 2 546 547 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; 2451 15 clear_transform 0 4 3649 25 NodePath::clear_transform 0 2 548 549 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()); 2452 13 set_transform 0 4 3649 23 NodePath::set_transform 0 2 550 551 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()); 2453 17 get_net_transform 0 4 3649 27 NodePath::get_net_transform 0 1 552 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; 2454 18 get_prev_transform 0 4 3649 28 NodePath::get_prev_transform 0 2 553 554 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; 2455 18 set_prev_transform 0 4 3649 28 NodePath::set_prev_transform 0 2 555 556 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()); 2456 22 get_net_prev_transform 0 4 3649 32 NodePath::get_net_prev_transform 0 1 557 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; 2457 7 set_pos 0 4 3649 17 NodePath::set_pos 0 4 558 559 560 561 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); 2458 5 set_x 0 4 3649 15 NodePath::set_x 0 2 562 563 115 /** * Sets the X component of the position transform, leaving other components * untouched. * @see set_pos() */ 96 void NodePath::set_x(PN_stdfloat x); void NodePath::set_x(NodePath const &other, PN_stdfloat x); 2459 5 set_y 0 4 3649 15 NodePath::set_y 0 2 564 565 115 /** * Sets the Y component of the position transform, leaving other components * untouched. * @see set_pos() */ 96 void NodePath::set_y(PN_stdfloat y); void NodePath::set_y(NodePath const &other, PN_stdfloat y); 2460 5 set_z 0 4 3649 15 NodePath::set_z 0 2 566 567 115 /** * Sets the Z component of the position transform, leaving other components * untouched. * @see set_pos() */ 96 void NodePath::set_z(PN_stdfloat z); void NodePath::set_z(NodePath const &other, PN_stdfloat z); 2461 13 set_fluid_pos 0 4 3649 23 NodePath::set_fluid_pos 0 4 568 569 570 571 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); 2462 11 set_fluid_x 0 4 3649 21 NodePath::set_fluid_x 0 2 572 573 0 108 void NodePath::set_fluid_x(PN_stdfloat x); void NodePath::set_fluid_x(NodePath const &other, PN_stdfloat x); 2463 11 set_fluid_y 0 4 3649 21 NodePath::set_fluid_y 0 2 574 575 0 108 void NodePath::set_fluid_y(PN_stdfloat y); void NodePath::set_fluid_y(NodePath const &other, PN_stdfloat y); 2464 11 set_fluid_z 0 4 3649 21 NodePath::set_fluid_z 0 2 576 577 0 108 void NodePath::set_fluid_z(PN_stdfloat z); void NodePath::set_fluid_z(NodePath const &other, PN_stdfloat z); 2465 7 get_pos 0 4 3649 17 NodePath::get_pos 0 2 578 579 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; 2466 5 get_x 0 4 3649 15 NodePath::get_x 0 2 580 581 0 112 inline PN_stdfloat NodePath::get_x(void) const; inline PN_stdfloat NodePath::get_x(NodePath const &other) const; 2467 5 get_y 0 4 3649 15 NodePath::get_y 0 2 582 583 0 112 inline PN_stdfloat NodePath::get_y(void) const; inline PN_stdfloat NodePath::get_y(NodePath const &other) const; 2468 5 get_z 0 4 3649 15 NodePath::get_z 0 2 584 585 0 112 inline PN_stdfloat NodePath::get_z(void) const; inline PN_stdfloat NodePath::get_z(NodePath const &other) const; 2469 13 get_pos_delta 0 4 3649 23 NodePath::get_pos_delta 0 2 586 587 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; 2470 7 set_hpr 0 4 3649 17 NodePath::set_hpr 0 4 588 589 590 591 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); 2471 5 set_h 0 4 3649 15 NodePath::set_h 0 2 592 593 0 96 void NodePath::set_h(PN_stdfloat h); void NodePath::set_h(NodePath const &other, PN_stdfloat h); 2472 5 set_p 0 4 3649 15 NodePath::set_p 0 2 594 595 0 96 void NodePath::set_p(PN_stdfloat p); void NodePath::set_p(NodePath const &other, PN_stdfloat p); 2473 5 set_r 0 4 3649 15 NodePath::set_r 0 2 596 597 0 96 void NodePath::set_r(PN_stdfloat r); void NodePath::set_r(NodePath const &other, PN_stdfloat r); 2474 7 get_hpr 0 4 3649 17 NodePath::get_hpr 0 2 598 599 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; 2475 5 get_h 0 4 3649 15 NodePath::get_h 0 2 600 601 0 112 inline PN_stdfloat NodePath::get_h(void) const; inline PN_stdfloat NodePath::get_h(NodePath const &other) const; 2476 5 get_p 0 4 3649 15 NodePath::get_p 0 2 602 603 0 112 inline PN_stdfloat NodePath::get_p(void) const; inline PN_stdfloat NodePath::get_p(NodePath const &other) const; 2477 5 get_r 0 4 3649 15 NodePath::get_r 0 2 604 605 0 112 inline PN_stdfloat NodePath::get_r(void) const; inline PN_stdfloat NodePath::get_r(NodePath const &other) const; 2478 8 set_quat 0 4 3649 18 NodePath::set_quat 0 2 606 607 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); 2479 8 get_quat 0 4 3649 18 NodePath::get_quat 0 2 608 609 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; 2480 9 set_scale 0 4 3649 19 NodePath::set_scale 0 6 610 611 612 613 614 615 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); 2481 6 set_sx 0 4 3649 16 NodePath::set_sx 0 2 616 617 114 /** * Sets the x-scale component of the transform, leaving other components * untouched. * @see set_scale() */ 100 void NodePath::set_sx(PN_stdfloat sx); void NodePath::set_sx(NodePath const &other, PN_stdfloat sx); 2482 6 set_sy 0 4 3649 16 NodePath::set_sy 0 2 618 619 114 /** * Sets the y-scale component of the transform, leaving other components * untouched. * @see set_scale() */ 100 void NodePath::set_sy(PN_stdfloat sy); void NodePath::set_sy(NodePath const &other, PN_stdfloat sy); 2483 6 set_sz 0 4 3649 16 NodePath::set_sz 0 2 620 621 114 /** * Sets the z-scale component of the transform, leaving other components * untouched. * @see set_scale() */ 100 void NodePath::set_sz(PN_stdfloat sz); void NodePath::set_sz(NodePath const &other, PN_stdfloat sz); 2484 9 get_scale 0 4 3649 19 NodePath::get_scale 0 2 622 623 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; 2485 6 get_sx 0 4 3649 16 NodePath::get_sx 0 2 624 625 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; 2486 6 get_sy 0 4 3649 16 NodePath::get_sy 0 2 626 627 0 114 inline PN_stdfloat NodePath::get_sy(void) const; inline PN_stdfloat NodePath::get_sy(NodePath const &other) const; 2487 6 get_sz 0 4 3649 16 NodePath::get_sz 0 2 628 629 0 114 inline PN_stdfloat NodePath::get_sz(void) const; inline PN_stdfloat NodePath::get_sz(NodePath const &other) const; 2488 9 set_shear 0 4 3649 19 NodePath::set_shear 0 4 630 631 632 633 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); 2489 8 set_shxy 0 4 3649 18 NodePath::set_shxy 0 2 634 635 0 108 void NodePath::set_shxy(PN_stdfloat shxy); void NodePath::set_shxy(NodePath const &other, PN_stdfloat shxy); 2490 8 set_shxz 0 4 3649 18 NodePath::set_shxz 0 2 636 637 0 108 void NodePath::set_shxz(PN_stdfloat shxz); void NodePath::set_shxz(NodePath const &other, PN_stdfloat shxz); 2491 8 set_shyz 0 4 3649 18 NodePath::set_shyz 0 2 638 639 0 108 void NodePath::set_shyz(PN_stdfloat shyz); void NodePath::set_shyz(NodePath const &other, PN_stdfloat shyz); 2492 9 get_shear 0 4 3649 19 NodePath::get_shear 0 2 640 641 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; 2493 8 get_shxy 0 4 3649 18 NodePath::get_shxy 0 2 642 643 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; 2494 8 get_shxz 0 4 3649 18 NodePath::get_shxz 0 2 644 645 0 118 inline PN_stdfloat NodePath::get_shxz(void) const; inline PN_stdfloat NodePath::get_shxz(NodePath const &other) const; 2495 8 get_shyz 0 4 3649 18 NodePath::get_shyz 0 2 646 647 0 118 inline PN_stdfloat NodePath::get_shyz(void) const; inline PN_stdfloat NodePath::get_shyz(NodePath const &other) const; 2496 11 set_pos_hpr 0 4 3649 21 NodePath::set_pos_hpr 0 4 648 649 650 651 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); 2497 12 set_pos_quat 0 4 3649 22 NodePath::set_pos_quat 0 2 652 653 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); 2498 13 set_hpr_scale 0 4 3649 23 NodePath::set_hpr_scale 0 4 654 655 656 657 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); 2499 14 set_quat_scale 0 4 3649 24 NodePath::set_quat_scale 0 2 658 659 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); 2500 17 set_pos_hpr_scale 0 4 3649 27 NodePath::set_pos_hpr_scale 0 4 660 661 662 663 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); 2501 18 set_pos_quat_scale 0 4 3649 28 NodePath::set_pos_quat_scale 0 2 664 665 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); 2502 23 set_pos_hpr_scale_shear 0 4 3649 33 NodePath::set_pos_hpr_scale_shear 0 2 666 667 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); 2503 24 set_pos_quat_scale_shear 0 4 3649 34 NodePath::set_pos_quat_scale_shear 0 2 668 669 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); 2504 7 set_mat 0 4 3649 17 NodePath::set_mat 0 2 670 671 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); 2505 9 clear_mat 0 4 3649 19 NodePath::clear_mat 0 1 672 69 /** * Completely removes any transform from the referenced node. */ 38 inline void NodePath::clear_mat(void); 2506 7 has_mat 0 4 3649 17 NodePath::has_mat 0 1 673 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; 2507 7 get_mat 0 4 3649 17 NodePath::get_mat 0 2 674 675 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; 2508 7 look_at 0 4 3649 17 NodePath::look_at 0 4 676 677 678 679 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()); 2509 8 heads_up 0 4 3649 18 NodePath::heads_up 0 4 680 681 682 683 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()); 2510 18 get_relative_point 0 4 3649 28 NodePath::get_relative_point 0 1 684 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; 2511 19 get_relative_vector 0 4 3649 29 NodePath::get_relative_vector 0 1 685 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; 2512 12 get_distance 0 4 3649 22 NodePath::get_distance 0 1 686 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; 2513 9 set_color 0 4 3649 19 NodePath::set_color 0 2 687 688 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); 2514 13 set_color_off 0 4 3649 23 NodePath::set_color_off 0 1 689 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); 2515 11 clear_color 0 4 3649 21 NodePath::clear_color 0 1 690 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); 2516 9 has_color 0 4 3649 19 NodePath::has_color 0 1 691 90 /** * Returns true if a color has been applied to the given node, false * otherwise. */ 37 bool NodePath::has_color(void) const; 2517 9 get_color 0 4 3649 19 NodePath::get_color 0 1 692 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; 2518 15 has_color_scale 0 4 3649 25 NodePath::has_color_scale 0 1 693 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; 2519 17 clear_color_scale 0 4 3649 27 NodePath::clear_color_scale 0 1 694 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); 2520 15 set_color_scale 0 4 3649 25 NodePath::set_color_scale 0 2 695 696 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); 2521 19 compose_color_scale 0 4 3649 29 NodePath::compose_color_scale 0 2 697 698 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); 2522 19 set_color_scale_off 0 4 3649 29 NodePath::set_color_scale_off 0 1 699 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); 2523 15 set_alpha_scale 0 4 3649 25 NodePath::set_alpha_scale 0 1 700 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); 2524 19 set_all_color_scale 0 4 3649 29 NodePath::set_all_color_scale 0 1 701 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); 2525 6 set_sr 0 4 3649 16 NodePath::set_sr 0 1 702 79 /** * Sets the red component of the color scale. * @see set_color_scale() */ 45 inline void NodePath::set_sr(PN_stdfloat sr); 2526 6 set_sg 0 4 3649 16 NodePath::set_sg 0 1 703 81 /** * Sets the green component of the color scale. * @see set_color_scale() */ 45 inline void NodePath::set_sg(PN_stdfloat sg); 2527 6 set_sb 0 4 3649 16 NodePath::set_sb 0 1 704 80 /** * Sets the blue component of the color scale. * @see set_color_scale() */ 45 inline void NodePath::set_sb(PN_stdfloat sb); 2528 6 set_sa 0 4 3649 16 NodePath::set_sa 0 1 705 81 /** * Sets the alpha component of the color scale. * @see set_color_scale() */ 45 inline void NodePath::set_sa(PN_stdfloat sa); 2529 15 get_color_scale 0 4 3649 25 NodePath::get_color_scale 0 1 706 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; 2530 6 get_sr 0 4 3649 16 NodePath::get_sr 0 1 707 79 /** * Gets the red component of the color scale. * @see get_color_scale() */ 48 inline PN_stdfloat NodePath::get_sr(void) const; 2531 6 get_sg 0 4 3649 16 NodePath::get_sg 0 1 708 81 /** * Gets the green component of the color scale. * @see get_color_scale() */ 48 inline PN_stdfloat NodePath::get_sg(void) const; 2532 6 get_sb 0 4 3649 16 NodePath::get_sb 0 1 709 80 /** * Gets the blue component of the color scale. * @see get_color_scale() */ 48 inline PN_stdfloat NodePath::get_sb(void) const; 2533 6 get_sa 0 4 3649 16 NodePath::get_sa 0 1 710 81 /** * Gets the alpha component of the color scale. * @see get_color_scale() */ 48 inline PN_stdfloat NodePath::get_sa(void) const; 2534 9 set_light 0 4 3649 19 NodePath::set_light 0 1 711 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); 2535 13 set_light_off 0 4 3649 23 NodePath::set_light_off 0 2 712 713 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); 2536 11 clear_light 0 4 3649 21 NodePath::clear_light 0 2 714 715 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); 2537 9 has_light 0 4 3649 19 NodePath::has_light 0 1 716 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; 2538 13 has_light_off 0 4 3649 23 NodePath::has_light_off 0 2 717 718 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; 2539 14 set_clip_plane 0 4 3649 24 NodePath::set_clip_plane 0 1 719 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); 2540 18 set_clip_plane_off 0 4 3649 28 NodePath::set_clip_plane_off 0 2 720 721 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); 2541 16 clear_clip_plane 0 4 3649 26 NodePath::clear_clip_plane 0 2 722 723 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); 2542 14 has_clip_plane 0 4 3649 24 NodePath::has_clip_plane 0 1 724 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; 2543 18 has_clip_plane_off 0 4 3649 28 NodePath::has_clip_plane_off 0 2 725 726 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; 2544 11 set_scissor 0 4 3649 21 NodePath::set_scissor 0 5 727 728 729 730 731 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); 2545 13 clear_scissor 0 4 3649 23 NodePath::clear_scissor 0 1 732 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); 2546 11 has_scissor 0 4 3649 21 NodePath::has_scissor 0 1 733 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; 2547 12 set_occluder 0 4 3649 22 NodePath::set_occluder 0 1 734 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); 2548 14 clear_occluder 0 4 3649 24 NodePath::clear_occluder 0 2 735 736 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); 2549 12 has_occluder 0 4 3649 22 NodePath::has_occluder 0 1 737 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; 2550 7 set_bin 0 4 3649 17 NodePath::set_bin 0 1 738 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); 2551 9 clear_bin 0 4 3649 19 NodePath::clear_bin 0 1 739 115 /** * Completely removes any bin adjustment that may have been set via set_bin() * from this particular node. */ 31 void NodePath::clear_bin(void); 2552 7 has_bin 0 4 3649 17 NodePath::has_bin 0 1 740 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; 2553 12 get_bin_name 0 4 3649 22 NodePath::get_bin_name 0 1 741 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; 2554 18 get_bin_draw_order 0 4 3649 28 NodePath::get_bin_draw_order 0 1 742 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; 2555 11 set_texture 0 4 3649 21 NodePath::set_texture 0 4 743 744 745 746 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); 2556 15 set_texture_off 0 4 3649 25 NodePath::set_texture_off 0 2 747 748 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); 2557 13 clear_texture 0 4 3649 23 NodePath::clear_texture 0 2 749 750 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); 2558 11 has_texture 0 4 3649 21 NodePath::has_texture 0 2 751 752 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; 2559 15 has_texture_off 0 4 3649 25 NodePath::has_texture_off 0 2 753 754 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; 2560 11 get_texture 0 4 3649 21 NodePath::get_texture 0 2 755 756 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; 2561 15 replace_texture 0 4 3649 25 NodePath::replace_texture 0 2 757 758 267 // Let interrogate know this also accepts None /** * Recursively searches the scene graph for references to the given texture, * and replaces them with the new texture. * * As of Panda3D 1.10.13, new_tex may be null to remove the texture. * * @since 1.10.4 */ 133 void NodePath::replace_texture(Texture *tex, Texture *new_tex); void NodePath::replace_texture(Texture *tex, std::nullptr_t new_tex); 2562 19 get_texture_sampler 0 4 3649 29 NodePath::get_texture_sampler 0 2 759 760 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; 2563 10 set_shader 0 4 3649 20 NodePath::set_shader 0 1 761 10 /** * */ 63 void NodePath::set_shader(Shader const *sha, int priority = 0); 2564 14 set_shader_off 0 4 3649 24 NodePath::set_shader_off 0 1 762 10 /** * */ 48 void NodePath::set_shader_off(int priority = 0); 2565 15 set_shader_auto 0 4 3649 25 NodePath::set_shader_auto 0 2 763 764 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); 2566 12 clear_shader 0 4 3649 22 NodePath::clear_shader 0 1 765 10 /** * */ 34 void NodePath::clear_shader(void); 2567 16 set_shader_input 0 4 3649 26 NodePath::set_shader_input 0 6 766 767 768 769 770 771 334 /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ 671 void NodePath::set_shader_input(ShaderInput const &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); 2568 17 set_shader_inputs 0 4 3649 27 NodePath::set_shader_inputs 0 1 772 0 67 void NodePath::set_shader_inputs(PyObject *args, PyObject *kwargs); 2569 18 clear_shader_input 0 4 3649 28 NodePath::clear_shader_input 0 1 773 10 /** * */ 55 void NodePath::clear_shader_input(CPT_InternalName id); 2570 18 set_instance_count 0 4 3649 28 NodePath::set_instance_count 0 1 774 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); 2571 10 get_shader 0 4 3649 20 NodePath::get_shader 0 1 775 10 /** * */ 47 Shader const *NodePath::get_shader(void) const; 2572 16 get_shader_input 0 4 3649 26 NodePath::get_shader_input 0 1 776 10 /** * */ 66 ShaderInput NodePath::get_shader_input(CPT_InternalName id) const; 2573 18 get_instance_count 0 4 3649 28 NodePath::get_instance_count 0 1 777 93 /** * Returns the geometry instance count, or 0 if disabled. See * set_instance_count. */ 45 int NodePath::get_instance_count(void) const; 2574 17 set_tex_transform 0 4 3649 27 NodePath::set_tex_transform 0 2 778 779 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); 2575 19 clear_tex_transform 0 4 3649 29 NodePath::clear_tex_transform 0 2 780 781 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); 2576 17 has_tex_transform 0 4 3649 27 NodePath::has_tex_transform 0 1 782 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; 2577 17 get_tex_transform 0 4 3649 27 NodePath::get_tex_transform 0 2 783 784 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; 2578 14 set_tex_offset 0 4 3649 24 NodePath::set_tex_offset 0 4 785 786 787 788 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); 2579 14 set_tex_rotate 0 4 3649 24 NodePath::set_tex_rotate 0 2 789 790 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); 2580 13 set_tex_scale 0 4 3649 23 NodePath::set_tex_scale 0 10 791 792 793 794 795 796 797 798 799 800 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); 2581 14 get_tex_offset 0 4 3649 24 NodePath::get_tex_offset 0 2 801 802 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; 2582 14 get_tex_rotate 0 4 3649 24 NodePath::get_tex_rotate 0 2 803 804 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; 2583 13 get_tex_scale 0 4 3649 23 NodePath::get_tex_scale 0 2 805 806 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; 2584 11 set_tex_pos 0 4 3649 21 NodePath::set_tex_pos 0 4 807 808 809 810 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); 2585 11 set_tex_hpr 0 4 3649 21 NodePath::set_tex_hpr 0 4 811 812 813 814 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); 2586 11 get_tex_pos 0 4 3649 21 NodePath::get_tex_pos 0 2 815 816 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; 2587 11 get_tex_hpr 0 4 3649 21 NodePath::get_tex_hpr 0 2 817 818 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; 2588 16 get_tex_scale_3d 0 4 3649 26 NodePath::get_tex_scale_3d 0 2 819 820 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; 2589 11 set_tex_gen 0 4 3649 21 NodePath::set_tex_gen 0 2 821 822 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); 2590 13 clear_tex_gen 0 4 3649 23 NodePath::clear_tex_gen 0 2 823 824 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); 2591 11 has_tex_gen 0 4 3649 21 NodePath::has_tex_gen 0 1 825 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; 2592 11 get_tex_gen 0 4 3649 21 NodePath::get_tex_gen 0 1 826 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; 2593 17 set_tex_projector 0 4 3649 27 NodePath::set_tex_projector 0 1 827 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); 2594 19 clear_tex_projector 0 4 3649 29 NodePath::clear_tex_projector 0 2 828 829 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); 2595 17 has_tex_projector 0 4 3649 27 NodePath::has_tex_projector 0 1 830 106 /** * Returns true if this node has a TexProjectorEffect for the indicated stage, * false otherwise. */ 60 bool NodePath::has_tex_projector(TextureStage *stage) const; 2596 22 get_tex_projector_from 0 4 3649 32 NodePath::get_tex_projector_from 0 1 831 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; 2597 20 get_tex_projector_to 0 4 3649 30 NodePath::get_tex_projector_to 0 1 832 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; 2598 15 project_texture 0 4 3649 25 NodePath::project_texture 0 1 833 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); 2599 21 clear_project_texture 0 4 3649 31 NodePath::clear_project_texture 0 1 834 50 /** * Undoes the effect of project_texture(). */ 65 inline void NodePath::clear_project_texture(TextureStage *stage); 2600 12 has_texcoord 0 4 3649 22 NodePath::has_texcoord 0 1 835 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; 2601 17 has_vertex_column 0 4 3649 27 NodePath::has_vertex_column 0 1 836 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; 2602 23 find_all_vertex_columns 0 4 3649 33 NodePath::find_all_vertex_columns 0 2 837 838 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; 2603 18 find_all_texcoords 0 4 3649 28 NodePath::find_all_texcoords 0 2 839 840 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; 2604 12 find_texture 0 4 3649 22 NodePath::find_texture 0 2 841 842 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; 2605 17 find_all_textures 0 4 3649 27 NodePath::find_all_textures 0 3 843 844 845 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; 2606 18 find_texture_stage 0 4 3649 28 NodePath::find_texture_stage 0 1 846 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; 2607 23 find_all_texture_stages 0 4 3649 33 NodePath::find_all_texture_stages 0 2 847 848 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; 2608 20 unify_texture_stages 0 4 3649 30 NodePath::unify_texture_stages 0 1 849 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); 2609 13 find_material 0 4 3649 23 NodePath::find_material 0 1 850 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; 2610 18 find_all_materials 0 4 3649 28 NodePath::find_all_materials 0 2 851 852 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; 2611 12 set_material 0 4 3649 22 NodePath::set_material 0 1 853 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); 2612 16 set_material_off 0 4 3649 26 NodePath::set_material_off 0 1 854 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); 2613 14 clear_material 0 4 3649 24 NodePath::clear_material 0 1 855 125 /** * Completely removes any material adjustment that may have been set via * set_material() from this particular node. */ 36 void NodePath::clear_material(void); 2614 12 has_material 0 4 3649 22 NodePath::has_material 0 1 856 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; 2615 12 get_material 0 4 3649 22 NodePath::get_material 0 1 857 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; 2616 16 replace_material 0 4 3649 26 NodePath::replace_material 0 2 858 859 270 // Let interrogate know this also accepts None /** * Recursively searches the scene graph for references to the given material, * and replaces them with the new material. * * As of Panda3D 1.10.13, new_mat may be null to remove the material. * * @since 1.10.0 */ 138 void NodePath::replace_material(Material *mat, Material *new_mat); void NodePath::replace_material(Material *mat, std::nullptr_t new_mat); 2617 7 set_fog 0 4 3649 17 NodePath::set_fog 0 1 860 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); 2618 11 set_fog_off 0 4 3649 21 NodePath::set_fog_off 0 1 861 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); 2619 9 clear_fog 0 4 3649 19 NodePath::clear_fog 0 1 862 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); 2620 7 has_fog 0 4 3649 17 NodePath::has_fog 0 1 863 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; 2621 11 has_fog_off 0 4 3649 21 NodePath::has_fog_off 0 1 864 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; 2622 7 get_fog 0 4 3649 17 NodePath::get_fog 0 1 865 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; 2623 25 set_render_mode_wireframe 0 4 3649 35 NodePath::set_render_mode_wireframe 0 1 866 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); 2624 22 set_render_mode_filled 0 4 3649 32 NodePath::set_render_mode_filled 0 1 867 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); 2625 32 set_render_mode_filled_wireframe 0 4 3649 42 NodePath::set_render_mode_filled_wireframe 0 1 868 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); 2626 25 set_render_mode_thickness 0 4 3649 35 NodePath::set_render_mode_thickness 0 1 869 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); 2627 27 set_render_mode_perspective 0 4 3649 37 NodePath::set_render_mode_perspective 0 1 870 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); 2628 15 set_render_mode 0 4 3649 25 NodePath::set_render_mode 0 1 871 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); 2629 17 clear_render_mode 0 4 3649 27 NodePath::clear_render_mode 0 1 872 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); 2630 15 has_render_mode 0 4 3649 25 NodePath::has_render_mode 0 1 873 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; 2631 15 get_render_mode 0 4 3649 25 NodePath::get_render_mode 0 1 874 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; 2632 25 get_render_mode_thickness 0 4 3649 35 NodePath::get_render_mode_thickness 0 1 875 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; 2633 27 get_render_mode_perspective 0 4 3649 37 NodePath::get_render_mode_perspective 0 1 876 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; 2634 13 set_two_sided 0 4 3649 23 NodePath::set_two_sided 0 1 877 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); 2635 15 clear_two_sided 0 4 3649 25 NodePath::clear_two_sided 0 1 878 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); 2636 13 has_two_sided 0 4 3649 23 NodePath::has_two_sided 0 1 879 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; 2637 13 get_two_sided 0 4 3649 23 NodePath::get_two_sided 0 1 880 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; 2638 14 set_depth_test 0 4 3649 24 NodePath::set_depth_test 0 1 881 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); 2639 16 clear_depth_test 0 4 3649 26 NodePath::clear_depth_test 0 1 882 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); 2640 14 has_depth_test 0 4 3649 24 NodePath::has_depth_test 0 1 883 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; 2641 14 get_depth_test 0 4 3649 24 NodePath::get_depth_test 0 1 884 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; 2642 15 set_depth_write 0 4 3649 25 NodePath::set_depth_write 0 1 885 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); 2643 17 clear_depth_write 0 4 3649 27 NodePath::clear_depth_write 0 1 886 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); 2644 15 has_depth_write 0 4 3649 25 NodePath::has_depth_write 0 1 887 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; 2645 15 get_depth_write 0 4 3649 25 NodePath::get_depth_write 0 1 888 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; 2646 16 set_depth_offset 0 4 3649 26 NodePath::set_depth_offset 0 1 889 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); 2647 18 clear_depth_offset 0 4 3649 28 NodePath::clear_depth_offset 0 1 890 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); 2648 16 has_depth_offset 0 4 3649 26 NodePath::has_depth_offset 0 1 891 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; 2649 16 get_depth_offset 0 4 3649 26 NodePath::get_depth_offset 0 1 892 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; 2650 17 do_billboard_axis 0 4 3649 27 NodePath::do_billboard_axis 0 1 893 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); 2651 22 do_billboard_point_eye 0 4 3649 32 NodePath::do_billboard_point_eye 0 1 894 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); 2652 24 do_billboard_point_world 0 4 3649 34 NodePath::do_billboard_point_world 0 1 895 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); 2653 18 set_billboard_axis 0 4 3649 28 NodePath::set_billboard_axis 0 2 896 897 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); 2654 23 set_billboard_point_eye 0 4 3649 33 NodePath::set_billboard_point_eye 0 2 898 899 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); 2655 25 set_billboard_point_world 0 4 3649 35 NodePath::set_billboard_point_world 0 2 900 901 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); 2656 15 clear_billboard 0 4 3649 25 NodePath::clear_billboard 0 1 902 54 /** * Removes any billboard effect from the node. */ 37 void NodePath::clear_billboard(void); 2657 13 has_billboard 0 4 3649 23 NodePath::has_billboard 0 1 903 69 /** * Returns true if there is any billboard effect on the node. */ 41 bool NodePath::has_billboard(void) const; 2658 11 set_compass 0 4 3649 21 NodePath::set_compass 0 1 904 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()); 2659 13 clear_compass 0 4 3649 23 NodePath::clear_compass 0 1 905 52 /** * Removes any compass effect from the node. */ 35 void NodePath::clear_compass(void); 2660 11 has_compass 0 4 3649 21 NodePath::has_compass 0 1 906 67 /** * Returns true if there is any compass effect on the node. */ 39 bool NodePath::has_compass(void) const; 2661 16 set_transparency 0 4 3649 26 NodePath::set_transparency 0 1 907 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); 2662 18 clear_transparency 0 4 3649 28 NodePath::clear_transparency 0 1 908 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); 2663 16 has_transparency 0 4 3649 26 NodePath::has_transparency 0 1 909 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; 2664 16 get_transparency 0 4 3649 26 NodePath::get_transparency 0 1 910 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; 2665 12 set_logic_op 0 4 3649 22 NodePath::set_logic_op 0 1 911 248 /** * 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. * * @since 1.10.0 */ 75 void NodePath::set_logic_op(LogicOpAttrib::Operation op, int priority = 0); 2666 14 clear_logic_op 0 4 3649 24 NodePath::clear_logic_op 0 1 912 231 /** * 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. * * @since 1.10.0 */ 36 void NodePath::clear_logic_op(void); 2667 12 has_logic_op 0 4 3649 22 NodePath::has_logic_op 0 1 913 316 /** * 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. * * @since 1.10.0 */ 40 bool NodePath::has_logic_op(void) const; 2668 12 get_logic_op 0 4 3649 22 NodePath::get_logic_op 0 1 914 427 /** * 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. * * @since 1.10.0 */ 60 LogicOpAttrib::Operation NodePath::get_logic_op(void) const; 2669 13 set_antialias 0 4 3649 23 NodePath::set_antialias 0 1 915 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); 2670 15 clear_antialias 0 4 3649 25 NodePath::clear_antialias 0 1 916 111 /** * Completely removes any antialias setting that may have been set on this * node via set_antialias(). */ 37 void NodePath::clear_antialias(void); 2671 13 has_antialias 0 4 3649 23 NodePath::has_antialias 0 1 917 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; 2672 13 get_antialias 0 4 3649 23 NodePath::get_antialias 0 1 918 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; 2673 16 has_audio_volume 0 4 3649 26 NodePath::has_audio_volume 0 1 919 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; 2674 18 clear_audio_volume 0 4 3649 28 NodePath::clear_audio_volume 0 1 920 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); 2675 16 set_audio_volume 0 4 3649 26 NodePath::set_audio_volume 0 1 921 59 /** * Sets the audio volume component of the transform */ 70 void NodePath::set_audio_volume(PN_stdfloat volume, int priority = 0); 2676 20 set_audio_volume_off 0 4 3649 30 NodePath::set_audio_volume_off 0 1 922 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); 2677 16 get_audio_volume 0 4 3649 26 NodePath::get_audio_volume 0 1 923 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; 2678 20 get_net_audio_volume 0 4 3649 30 NodePath::get_net_audio_volume 0 1 924 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; 2679 21 adjust_all_priorities 0 4 3649 31 NodePath::adjust_all_priorities 0 1 925 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); 2680 4 show 0 4 3649 14 NodePath::show 0 2 926 927 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); 2681 12 show_through 0 4 3649 22 NodePath::show_through 0 2 928 929 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); 2682 4 hide 0 4 3649 14 NodePath::hide 0 2 930 931 634 /** * 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. * * To undo this, call show(). */ /** * 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); 2683 9 is_hidden 0 4 3649 19 NodePath::is_hidden 0 1 932 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; 2684 19 get_hidden_ancestor 0 4 3649 29 NodePath::get_hidden_ancestor 0 1 933 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; 2685 5 stash 0 4 3649 15 NodePath::stash 0 1 934 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()); 2686 7 unstash 0 4 3649 17 NodePath::unstash 0 1 935 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()); 2687 11 unstash_all 0 4 3649 21 NodePath::unstash_all 0 1 936 59 /** * Unstashes this node and all stashed child nodes. */ 82 void NodePath::unstash_all(Thread *current_thread = Thread::get_current_thread()); 2688 10 is_stashed 0 4 3649 20 NodePath::is_stashed 0 1 937 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; 2689 20 get_stashed_ancestor 0 4 3649 30 NodePath::get_stashed_ancestor 0 1 938 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; 2690 16 get_collide_mask 0 4 3649 26 NodePath::get_collide_mask 0 1 939 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; 2691 16 set_collide_mask 0 4 3649 26 NodePath::set_collide_mask 0 1 940 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()); 2692 11 operator == 0 4 3649 21 NodePath::operator == 0 2 941 942 21 // Comparison methods 124 inline bool NodePath::operator ==(NodePath const &other) const; bool NodePath::operator ==(WeakNodePath const &other) const; 2693 11 operator != 0 4 3649 21 NodePath::operator != 0 2 943 944 0 124 inline bool NodePath::operator !=(NodePath const &other) const; bool NodePath::operator !=(WeakNodePath const &other) const; 2694 10 operator < 0 4 3649 20 NodePath::operator < 0 2 945 946 0 122 inline bool NodePath::operator <(NodePath const &other) const; bool NodePath::operator <(WeakNodePath const &other) const; 2695 10 compare_to 0 4 3649 20 NodePath::compare_to 0 2 947 948 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; 2696 15 verify_complete 0 4 3649 25 NodePath::verify_complete 0 1 949 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; 2697 14 premunge_scene 0 4 3649 24 NodePath::premunge_scene 0 1 950 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); 2698 13 prepare_scene 0 4 3649 23 NodePath::prepare_scene 0 1 951 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); 2699 11 show_bounds 0 4 3649 21 NodePath::show_bounds 0 1 952 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); 2700 17 show_tight_bounds 0 4 3649 27 NodePath::show_tight_bounds 0 1 953 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); 2701 11 hide_bounds 0 4 3649 21 NodePath::hide_bounds 0 1 954 79 /** * Stops the rendering of the bounding volume begun with show_bounds(). */ 33 void NodePath::hide_bounds(void); 2702 10 get_bounds 0 4 3649 20 NodePath::get_bounds 0 1 955 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; 2703 22 force_recompute_bounds 0 4 3649 32 NodePath::force_recompute_bounds 0 1 956 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); 2704 12 write_bounds 0 4 3649 22 NodePath::write_bounds 0 1 957 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; 2705 17 calc_tight_bounds 0 4 3649 27 NodePath::calc_tight_bounds 0 1 958 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; 2706 16 get_tight_bounds 0 4 3649 26 NodePath::get_tight_bounds 0 1 959 0 79 PyObject *NodePath::get_tight_bounds(NodePath const &other = NodePath()) const; 2707 13 flatten_light 0 4 3649 23 NodePath::flatten_light 0 1 960 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); 2708 14 flatten_medium 0 4 3649 24 NodePath::flatten_medium 0 1 961 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); 2709 14 flatten_strong 0 4 3649 24 NodePath::flatten_strong 0 1 962 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); 2710 20 apply_texture_colors 0 4 3649 30 NodePath::apply_texture_colors 0 1 963 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); 2711 17 clear_model_nodes 0 4 3649 27 NodePath::clear_model_nodes 0 1 964 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); 2712 7 set_tag 0 4 3649 17 NodePath::set_tag 0 1 965 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); 2713 7 get_tag 0 4 3649 17 NodePath::get_tag 0 1 966 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; 2714 12 get_tag_keys 0 4 3649 22 NodePath::get_tag_keys 0 2 967 968 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; 2715 7 has_tag 0 4 3649 17 NodePath::has_tag 0 1 969 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; 2716 9 clear_tag 0 4 3649 19 NodePath::clear_tag 0 1 970 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); 2717 11 get_net_tag 0 4 3649 21 NodePath::get_net_tag 0 1 971 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; 2718 11 has_net_tag 0 4 3649 21 NodePath::has_net_tag 0 1 972 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; 2719 12 find_net_tag 0 4 3649 22 NodePath::find_net_tag 0 1 973 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; 2720 8 get_tags 0 4 3649 18 NodePath::get_tags 0 1 974 0 48 inline PyObject *NodePath::get_tags(void) const; 2721 15 get_python_tags 0 4 3649 25 NodePath::get_python_tags 0 1 975 0 42 PyObject *NodePath::get_python_tags(void); 2722 14 set_python_tag 0 4 3649 24 NodePath::set_python_tag 0 1 976 0 70 inline void NodePath::set_python_tag(PyObject *keys, PyObject *value); 2723 14 get_python_tag 0 4 3649 24 NodePath::get_python_tag 0 1 977 0 64 inline PyObject *NodePath::get_python_tag(PyObject *keys) const; 2724 19 get_python_tag_keys 0 4 3649 29 NodePath::get_python_tag_keys 0 1 978 0 59 inline PyObject *NodePath::get_python_tag_keys(void) const; 2725 14 has_python_tag 0 4 3649 24 NodePath::has_python_tag 0 1 979 0 59 inline bool NodePath::has_python_tag(PyObject *keys) const; 2726 16 clear_python_tag 0 4 3649 26 NodePath::clear_python_tag 0 1 980 0 55 inline void NodePath::clear_python_tag(PyObject *keys); 2727 18 get_net_python_tag 0 4 3649 28 NodePath::get_net_python_tag 0 1 981 0 68 inline PyObject *NodePath::get_net_python_tag(PyObject *keys) const; 2728 18 has_net_python_tag 0 4 3649 28 NodePath::has_net_python_tag 0 1 982 0 63 inline bool NodePath::has_net_python_tag(PyObject *keys) const; 2729 19 find_net_python_tag 0 4 3649 29 NodePath::find_net_python_tag 0 1 983 0 61 NodePath NodePath::find_net_python_tag(PyObject *keys) const; 2730 12 __traverse__ 0 4 3649 22 NodePath::__traverse__ 0 1 984 0 55 int NodePath::__traverse__(visitproc visit, void *arg); 2731 9 list_tags 0 4 3649 19 NodePath::list_tags 0 1 985 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; 2732 8 set_name 0 4 3649 18 NodePath::set_name 0 1 986 51 /** * Changes the name of the referenced node. */ 56 inline void NodePath::set_name(std::string const &name); 2733 8 get_name 0 4 3649 18 NodePath::get_name 0 1 987 51 /** * Returns the name of the referenced node. */ 50 inline std::string NodePath::get_name(void) const; 2734 14 write_bam_file 0 4 3649 24 NodePath::write_bam_file 0 1 988 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; 2735 16 write_bam_stream 0 4 3649 26 NodePath::write_bam_stream 0 1 989 82 /** * Writes the contents of this node and below out to the indicated stream. */ 57 bool NodePath::write_bam_stream(std::ostream &out) const; 2736 20 encode_to_bam_stream 0 4 3649 30 NodePath::encode_to_bam_stream 0 2 990 991 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; 2737 22 decode_from_bam_stream 0 4 3649 32 NodePath::decode_from_bam_stream 0 1 992 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); 2738 14 get_class_type 0 4 3649 24 NodePath::get_class_type 0 1 993 0 49 static TypeHandle NodePath::get_class_type(void); 2739 9 ~NodePath 0 516 3649 19 NodePath::~NodePath 0 0 0 26 NodePath::~NodePath(void); 2740 8 add_node 0 4 3653 28 AttribNodeRegistry::add_node 0 1 1043 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); 2741 11 remove_node 0 4 3653 31 AttribNodeRegistry::remove_node 0 2 1044 1045 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); 2742 11 lookup_node 0 4 3653 31 AttribNodeRegistry::lookup_node 0 1 1046 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; 2743 13 get_num_nodes 0 4 3653 33 AttribNodeRegistry::get_num_nodes 0 1 1047 61 /** * Returns the total number of nodes in the registry. */ 50 int AttribNodeRegistry::get_num_nodes(void) const; 2744 8 get_node 0 4 3653 28 AttribNodeRegistry::get_node 0 1 1048 61 /** * Returns the nth NodePath recorded in the registry. */ 51 NodePath AttribNodeRegistry::get_node(int n) const; 2745 13 get_node_type 0 4 3653 33 AttribNodeRegistry::get_node_type 0 1 1049 73 /** * Returns the type of the nth node, as recorded in the registry. */ 58 TypeHandle AttribNodeRegistry::get_node_type(int n) const; 2746 13 get_node_name 0 4 3653 33 AttribNodeRegistry::get_node_name 0 1 1050 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; 2747 9 find_node 0 4 3653 29 AttribNodeRegistry::find_node 0 2 1051 1052 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; 2748 5 clear 0 4 3653 25 AttribNodeRegistry::clear 0 1 1053 47 /** * Removes all nodes from the registry. */ 37 void AttribNodeRegistry::clear(void); 2749 6 output 0 4 3653 26 AttribNodeRegistry::output 0 1 1054 10 /** * */ 57 void AttribNodeRegistry::output(std::ostream &out) const; 2750 5 write 0 4 3653 25 AttribNodeRegistry::write 0 1 1055 10 /** * */ 56 void AttribNodeRegistry::write(std::ostream &out) const; 2751 14 get_global_ptr 0 4 3653 34 AttribNodeRegistry::get_global_ptr 0 1 1056 10 /** * */ 75 static inline AttribNodeRegistry *AttribNodeRegistry::get_global_ptr(void); 2752 19 ~AttribNodeRegistry 0 516 3653 39 AttribNodeRegistry::~AttribNodeRegistry 0 0 0 46 AttribNodeRegistry::~AttribNodeRegistry(void); 2753 13 make_identity 0 4 3654 32 AudioVolumeAttrib::make_identity 0 1 1057 54 /** * Constructs an identity audio volume attrib. */ 77 static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make_identity(void); 2754 4 make 0 4 3654 23 AudioVolumeAttrib::make 0 1 1058 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); 2755 8 make_off 0 4 3654 27 AudioVolumeAttrib::make_off 0 1 1059 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); 2756 12 make_default 0 4 3654 31 AudioVolumeAttrib::make_default 0 1 1060 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); 2757 6 is_off 0 4 3654 25 AudioVolumeAttrib::is_off 0 1 1061 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; 2758 10 has_volume 0 4 3654 29 AudioVolumeAttrib::has_volume 0 1 1062 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; 2759 10 get_volume 0 4 3654 29 AudioVolumeAttrib::get_volume 0 1 1063 54 /** * Returns the volume to be applied to sounds. */ 61 inline PN_stdfloat AudioVolumeAttrib::get_volume(void) const; 2760 10 set_volume 0 4 3654 29 AudioVolumeAttrib::set_volume 0 1 1064 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; 2761 14 get_class_slot 0 4 3654 33 AudioVolumeAttrib::get_class_slot 0 1 1065 0 51 static int AudioVolumeAttrib::get_class_slot(void); 2762 14 get_class_type 0 4 3654 33 AudioVolumeAttrib::get_class_type 0 1 1066 0 58 static TypeHandle AudioVolumeAttrib::get_class_type(void); 2763 18 ~AudioVolumeAttrib 0 516 3654 37 AudioVolumeAttrib::~AudioVolumeAttrib 0 0 0 44 AudioVolumeAttrib::~AudioVolumeAttrib(void); 2764 4 make 0 4 3655 23 AuxBitplaneAttrib::make 0 2 1067 1068 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); 2765 12 make_default 0 4 3655 31 AuxBitplaneAttrib::make_default 0 1 1069 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); 2766 11 get_outputs 0 4 3655 30 AuxBitplaneAttrib::get_outputs 0 1 1070 53 /** * Returns the AuxBitplaneAttrib output bits. */ 54 inline int AuxBitplaneAttrib::get_outputs(void) const; 2767 14 get_class_slot 0 4 3655 33 AuxBitplaneAttrib::get_class_slot 0 1 1071 0 51 static int AuxBitplaneAttrib::get_class_slot(void); 2768 14 get_class_type 0 4 3655 33 AuxBitplaneAttrib::get_class_type 0 1 1072 0 58 static TypeHandle AuxBitplaneAttrib::get_class_type(void); 2769 18 ~AuxBitplaneAttrib 0 516 3655 37 AuxBitplaneAttrib::~AuxBitplaneAttrib 0 0 0 44 AuxBitplaneAttrib::~AuxBitplaneAttrib(void); 2770 12 set_duration 0 4 3657 26 AuxSceneData::set_duration 0 1 1074 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); 2771 12 get_duration 0 4 3657 26 AuxSceneData::get_duration 0 1 1075 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; 2772 20 set_last_render_time 0 4 3657 34 AuxSceneData::set_last_render_time 0 1 1076 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); 2773 20 get_last_render_time 0 4 3657 34 AuxSceneData::get_last_render_time 0 1 1077 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; 2774 19 get_expiration_time 0 4 3657 33 AuxSceneData::get_expiration_time 0 1 1078 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; 2775 6 output 0 6 3657 20 AuxSceneData::output 0 1 1079 10 /** * */ 59 virtual void AuxSceneData::output(std::ostream &out) const; 2776 5 write 0 6 3657 19 AuxSceneData::write 0 1 1080 10 /** * */ 80 virtual void AuxSceneData::write(std::ostream &out, int indent_level = 0) const; 2777 14 get_class_type 0 4 3657 28 AuxSceneData::get_class_type 0 1 1081 0 53 static TypeHandle AuxSceneData::get_class_type(void); 2778 12 AuxSceneData 0 260 3657 26 AuxSceneData::AuxSceneData 0 1 1073 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; 2779 13 ~AuxSceneData 0 516 3657 27 AuxSceneData::~AuxSceneData 0 0 0 34 AuxSceneData::~AuxSceneData(void); 2780 7 BamFile 0 260 3659 16 BamFile::BamFile 0 1 1082 10 /** * */ 23 BamFile::BamFile(void); 2781 8 ~BamFile 0 516 3659 17 BamFile::~BamFile 0 0 10 /** * */ 24 BamFile::~BamFile(void); 2782 9 open_read 0 4 3659 18 BamFile::open_read 0 2 1083 1084 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); 2783 11 read_object 0 4 3659 20 BamFile::read_object 0 1 1085 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); 2784 6 is_eof 0 4 3659 15 BamFile::is_eof 0 1 1086 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; 2785 7 resolve 0 4 3659 16 BamFile::resolve 0 1 1087 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); 2786 9 read_node 0 4 3659 18 BamFile::read_node 0 1 1088 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); 2787 10 open_write 0 4 3659 19 BamFile::open_write 0 2 1089 1090 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); 2788 12 write_object 0 4 3659 21 BamFile::write_object 0 1 1091 103 /** * Writes the indicated object to the Bam file. Returns true if successful, * false on error. */ 56 bool BamFile::write_object(TypedWritable const *object); 2789 5 close 0 4 3659 14 BamFile::close 0 1 1092 45 /** * Closes the input or output stream. */ 26 void BamFile::close(void); 2790 13 is_valid_read 0 4 3659 22 BamFile::is_valid_read 0 1 1093 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; 2791 14 is_valid_write 0 4 3659 23 BamFile::is_valid_write 0 1 1094 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; 2792 18 get_file_major_ver 0 4 3659 27 BamFile::get_file_major_ver 0 1 1095 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); 2793 18 get_file_minor_ver 0 4 3659 27 BamFile::get_file_minor_ver 0 1 1096 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); 2794 15 get_file_endian 0 4 3659 24 BamFile::get_file_endian 0 1 1097 102 /** * Returns the endian preference indicated by the Bam file currently being * read or written. */ 57 BamEnums::BamEndian BamFile::get_file_endian(void) const; 2795 24 get_file_stdfloat_double 0 4 3659 33 BamFile::get_file_stdfloat_double 0 1 1098 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; 2796 21 get_current_major_ver 0 4 3659 30 BamFile::get_current_major_ver 0 1 1099 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); 2797 21 get_current_minor_ver 0 4 3659 30 BamFile::get_current_minor_ver 0 1 1100 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); 2798 10 get_reader 0 4 3659 19 BamFile::get_reader 0 1 1101 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); 2799 10 get_writer 0 4 3659 19 BamFile::get_writer 0 1 1102 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); 2800 16 get_file_version 0 4 3659 25 BamFile::get_file_version 0 0 0 48 PyObject *BamFile::get_file_version(void) const; 2801 4 make 0 4 3666 21 BillboardEffect::make 0 1 1103 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); 2802 9 make_axis 0 4 3666 26 BillboardEffect::make_axis 0 1 1104 76 /** * A convenience function to make a typical axis-rotating billboard. */ 78 static inline ConstPointerTo< RenderEffect > BillboardEffect::make_axis(void); 2803 14 make_point_eye 0 4 3666 31 BillboardEffect::make_point_eye 0 1 1105 93 /** * A convenience function to make a typical eye-relative point-rotating * billboard. */ 83 static inline ConstPointerTo< RenderEffect > BillboardEffect::make_point_eye(void); 2804 16 make_point_world 0 4 3666 33 BillboardEffect::make_point_world 0 1 1106 95 /** * A convenience function to make a typical world-relative point-rotating * billboard. */ 85 static inline ConstPointerTo< RenderEffect > BillboardEffect::make_point_world(void); 2805 6 is_off 0 4 3666 23 BillboardEffect::is_off 0 1 1107 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; 2806 13 get_up_vector 0 4 3666 30 BillboardEffect::get_up_vector 0 1 1108 62 /** * Returns the up vector in effect for this billboard. */ 66 inline LVector3 const &BillboardEffect::get_up_vector(void) const; 2807 16 get_eye_relative 0 4 3666 33 BillboardEffect::get_eye_relative 0 1 1109 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; 2808 16 get_axial_rotate 0 4 3666 33 BillboardEffect::get_axial_rotate 0 1 1110 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; 2809 15 get_fixed_depth 0 4 3666 32 BillboardEffect::get_fixed_depth 0 1 1111 96 /** * Returns true if this billboard always appears at a fixed distance from the * camera. */ 57 inline bool BillboardEffect::get_fixed_depth(void) const; 2810 10 get_offset 0 4 3666 27 BillboardEffect::get_offset 0 1 1112 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; 2811 11 get_look_at 0 4 3666 28 BillboardEffect::get_look_at 0 1 1113 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; 2812 17 get_look_at_point 0 4 3666 34 BillboardEffect::get_look_at_point 0 1 1114 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; 2813 14 get_class_type 0 4 3666 31 BillboardEffect::get_class_type 0 1 1115 0 56 static TypeHandle BillboardEffect::get_class_type(void); 2814 16 ~BillboardEffect 0 516 3666 33 BillboardEffect::~BillboardEffect 0 0 0 40 BillboardEffect::~BillboardEffect(void); 2815 8 LensNode 0 260 3667 18 LensNode::LensNode 0 1 1116 22 /** * */ /** * */ 75 explicit LensNode::LensNode(std::string const &name, Lens *lens = nullptr); 2816 9 copy_lens 0 4 3667 19 LensNode::copy_lens 0 2 1117 1118 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); 2817 8 set_lens 0 4 3667 18 LensNode::set_lens 0 2 1119 1120 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); 2818 8 get_lens 0 4 3667 18 LensNode::get_lens 0 1 1121 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; 2819 15 set_lens_active 0 4 3667 25 LensNode::set_lens_active 0 1 1122 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); 2820 15 get_lens_active 0 4 3667 25 LensNode::get_lens_active 0 1 1123 52 /** * Returns the active flag for the nth lens. */ 55 inline bool LensNode::get_lens_active(int index) const; 2821 13 activate_lens 0 4 3667 23 LensNode::activate_lens 0 1 1124 65 /** * An alternate way to call set_lens_active(index, true). */ 47 inline bool LensNode::activate_lens(int index); 2822 15 deactivate_lens 0 4 3667 25 LensNode::deactivate_lens 0 1 1125 66 /** * An alternate way to call set_lens_active(index, false). */ 49 inline bool LensNode::deactivate_lens(int index); 2823 10 is_in_view 0 4 3667 20 LensNode::is_in_view 0 2 1126 1127 336 /** * 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). The point is assumed to * be relative to the LensNode itself. */ 111 inline bool LensNode::is_in_view(LPoint3 const &pos); bool LensNode::is_in_view(int index, LPoint3 const &pos); 2824 12 show_frustum 0 4 3667 22 LensNode::show_frustum 0 1 1128 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); 2825 12 hide_frustum 0 4 3667 22 LensNode::hide_frustum 0 1 1129 78 /** * Disables the drawing of the lens's frustum to aid in visualization. */ 34 void LensNode::hide_frustum(void); 2826 14 get_class_type 0 4 3667 24 LensNode::get_class_type 0 1 1130 0 49 static TypeHandle LensNode::get_class_type(void); 2827 9 ~LensNode 0 516 3667 19 LensNode::~LensNode 0 0 0 26 LensNode::~LensNode(void); 2828 12 WeakNodePath 0 260 3668 26 WeakNodePath::WeakNodePath 0 2 1131 1132 22 /** * */ /** * */ 122 inline WeakNodePath::WeakNodePath(NodePath const &node_path); inline WeakNodePath::WeakNodePath(WeakNodePath const ©); 2829 13 ~WeakNodePath 0 516 3668 27 WeakNodePath::~WeakNodePath 0 0 10 /** * */ 41 inline WeakNodePath::~WeakNodePath(void); 2830 10 operator = 0 4 3668 24 WeakNodePath::operator = 0 2 1133 1134 0 128 inline void WeakNodePath::operator =(NodePath const &node_path); inline void WeakNodePath::operator =(WeakNodePath const ©); 2831 5 clear 0 4 3668 19 WeakNodePath::clear 0 1 1135 93 /** * Sets this NodePath to the empty NodePath. It will no longer point to any * node. */ 38 inline void WeakNodePath::clear(void); 2832 22 operator typecast bool 0 132 3668 36 WeakNodePath::operator typecast bool 0 1 1150 0 34 inline operator bool (void) const; 2833 8 is_empty 0 4 3668 22 WeakNodePath::is_empty 0 1 1136 85 /** * Returns true if the NodePath contains no nodes, or if it has been deleted. */ 47 inline bool WeakNodePath::is_empty(void) const; 2834 11 was_deleted 0 4 3668 25 WeakNodePath::was_deleted 0 1 1137 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; 2835 13 get_node_path 0 4 3668 27 WeakNodePath::get_node_path 0 1 1138 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; 2836 4 node 0 4 3668 18 WeakNodePath::node 0 1 1139 98 /** * Returns the PandaNode held within this object, or nullptr if the object was * deleted. */ 61 inline PointerTo< PandaNode > WeakNodePath::node(void) const; 2837 11 operator == 0 4 3668 25 WeakNodePath::operator == 0 2 1140 1141 0 139 inline bool WeakNodePath::operator ==(NodePath const &other) const; inline bool WeakNodePath::operator ==(WeakNodePath const &other) const; 2838 11 operator != 0 4 3668 25 WeakNodePath::operator != 0 2 1142 1143 0 139 inline bool WeakNodePath::operator !=(NodePath const &other) const; inline bool WeakNodePath::operator !=(WeakNodePath const &other) const; 2839 10 operator < 0 4 3668 24 WeakNodePath::operator < 0 2 1144 1145 0 137 inline bool WeakNodePath::operator <(NodePath const &other) const; inline bool WeakNodePath::operator <(WeakNodePath const &other) const; 2840 10 compare_to 0 4 3668 24 WeakNodePath::compare_to 0 2 1146 1147 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; 2841 7 get_key 0 4 3668 21 WeakNodePath::get_key 0 1 1148 58 /** * Returns the same values as NodePath::get_key(). */ 45 inline int WeakNodePath::get_key(void) const; 2842 6 output 0 4 3668 20 WeakNodePath::output 0 1 1149 10 /** * */ 51 void WeakNodePath::output(std::ostream &out) const; 2843 6 Camera 0 260 3669 14 Camera::Camera 0 2 1151 1152 22 /** * */ /** * */ 123 explicit Camera::Camera(std::string const &name, Lens *lens = (new PerspectiveLens())); Camera::Camera(Camera const ©); 2844 10 set_active 0 4 3669 18 Camera::set_active 0 1 1153 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); 2845 9 is_active 0 4 3669 17 Camera::is_active 0 1 1154 72 /** * Returns the current setting of the active flag on the camera. */ 42 inline bool Camera::is_active(void) const; 2846 9 set_scene 0 4 3669 17 Camera::set_scene 0 1 1155 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); 2847 9 get_scene 0 4 3669 17 Camera::get_scene 0 1 1156 83 /** * Returns the scene that will be rendered by the camera. See set_scene(). */ 53 inline NodePath const &Camera::get_scene(void) const; 2848 23 get_num_display_regions 0 4 3669 31 Camera::get_num_display_regions 0 1 1157 76 /** * Returns the number of display regions associated with the camera. */ 63 inline std::size_t Camera::get_num_display_regions(void) const; 2849 18 get_display_region 0 4 3669 26 Camera::get_display_region 0 1 1158 69 /** * Returns the nth display region associated with the camera. */ 70 inline DisplayRegion *Camera::get_display_region(std::size_t n) const; 2850 15 set_camera_mask 0 4 3669 23 Camera::set_camera_mask 0 1 1159 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); 2851 15 get_camera_mask 0 4 3669 23 Camera::get_camera_mask 0 1 1160 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; 2852 15 set_cull_center 0 4 3669 23 Camera::set_cull_center 0 1 1161 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); 2853 15 get_cull_center 0 4 3669 23 Camera::get_cull_center 0 1 1162 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; 2854 15 set_cull_bounds 0 4 3669 23 Camera::set_cull_bounds 0 1 1163 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); 2855 15 get_cull_bounds 0 4 3669 23 Camera::get_cull_bounds 0 1 1164 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; 2856 14 set_lod_center 0 4 3669 22 Camera::set_lod_center 0 1 1165 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); 2857 14 get_lod_center 0 4 3669 22 Camera::get_lod_center 0 1 1166 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; 2858 17 set_initial_state 0 4 3669 25 Camera::set_initial_state 0 1 1167 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); 2859 17 get_initial_state 0 4 3669 25 Camera::get_initial_state 0 1 1168 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; 2860 17 set_tag_state_key 0 4 3669 25 Camera::set_tag_state_key 0 1 1169 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); 2861 17 get_tag_state_key 0 4 3669 25 Camera::get_tag_state_key 0 1 1170 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; 2862 13 set_lod_scale 0 4 3669 21 Camera::set_lod_scale 0 1 1171 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); 2863 13 get_lod_scale 0 4 3669 21 Camera::get_lod_scale 0 1 1172 52 /** * Returns the multiplier for LOD distances. */ 53 inline PN_stdfloat Camera::get_lod_scale(void) const; 2864 13 set_tag_state 0 4 3669 21 Camera::set_tag_state 0 1 1173 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); 2865 15 clear_tag_state 0 4 3669 23 Camera::clear_tag_state 0 1 1174 85 /** * Removes the association established by a previous call to set_tag_state(). */ 59 void Camera::clear_tag_state(std::string const &tag_state); 2866 16 clear_tag_states 0 4 3669 24 Camera::clear_tag_states 0 1 1175 85 /** * Removes all associations established by previous calls to set_tag_state(). */ 36 void Camera::clear_tag_states(void); 2867 13 has_tag_state 0 4 3669 21 Camera::has_tag_state 0 1 1176 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; 2868 13 get_tag_state 0 4 3669 21 Camera::get_tag_state 0 1 1177 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; 2869 18 set_aux_scene_data 0 4 3669 26 Camera::set_aux_scene_data 0 1 1178 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); 2870 20 clear_aux_scene_data 0 4 3669 28 Camera::clear_aux_scene_data 0 1 1179 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); 2871 18 get_aux_scene_data 0 4 3669 26 Camera::get_aux_scene_data 0 1 1180 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; 2872 19 list_aux_scene_data 0 4 3669 27 Camera::list_aux_scene_data 0 1 1181 65 /** * Outputs all of the NodePaths and AuxSceneDatas in use. */ 58 void Camera::list_aux_scene_data(std::ostream &out) const; 2873 22 cleanup_aux_scene_data 0 4 3669 30 Camera::cleanup_aux_scene_data 0 1 1182 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()); 2874 14 get_class_type 0 4 3669 22 Camera::get_class_type 0 1 1183 0 47 static TypeHandle Camera::get_class_type(void); 2875 9 PlaneNode 0 260 3676 20 PlaneNode::PlaneNode 0 1 1184 22 /** * */ /** * */ 87 explicit PlaneNode::PlaneNode(std::string const &name, LPlane const &plane = LPlane()); 2876 9 set_plane 0 4 3676 20 PlaneNode::set_plane 0 1 1185 66 /** * Sets the particular plane represented by the PlaneNode. */ 54 inline void PlaneNode::set_plane(LPlane const &plane); 2877 9 get_plane 0 4 3676 20 PlaneNode::get_plane 0 1 1186 58 /** * Returns the plane represented by the PlaneNode. */ 54 inline LPlane const &PlaneNode::get_plane(void) const; 2878 13 set_viz_scale 0 4 3676 24 PlaneNode::set_viz_scale 0 1 1187 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); 2879 13 get_viz_scale 0 4 3676 24 PlaneNode::get_viz_scale 0 1 1188 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; 2880 12 set_priority 0 4 3676 23 PlaneNode::set_priority 0 1 1189 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); 2881 12 get_priority 0 4 3676 23 PlaneNode::get_priority 0 1 1190 85 /** * Returns the priority associated with this clip plane. See set_priority(). */ 47 inline int PlaneNode::get_priority(void) const; 2882 15 set_clip_effect 0 4 3676 26 PlaneNode::set_clip_effect 0 1 1191 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); 2883 15 get_clip_effect 0 4 3676 26 PlaneNode::get_clip_effect 0 1 1192 84 /** * Returns the clip_effect bits for this clip plane. See set_clip_effect(). */ 50 inline int PlaneNode::get_clip_effect(void) const; 2884 14 get_class_type 0 4 3676 25 PlaneNode::get_class_type 0 1 1193 0 50 static TypeHandle PlaneNode::get_class_type(void); 2885 10 ~PlaneNode 0 516 3676 21 PlaneNode::~PlaneNode 0 0 0 28 PlaneNode::~PlaneNode(void); 2886 4 make 0 4 3681 21 ClipPlaneAttrib::make 0 5 1194 1195 1196 1197 1198 883 // 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). * * @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). * * @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). * * @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). * * @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); 2887 12 make_default 0 4 3681 29 ClipPlaneAttrib::make_default 0 1 1199 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); 2888 13 get_operation 0 4 3681 30 ClipPlaneAttrib::get_operation 0 1 1200 512 /** * 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. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 70 ClipPlaneAttrib::Operation ClipPlaneAttrib::get_operation(void) const; 2889 14 get_num_planes 0 4 3681 31 ClipPlaneAttrib::get_num_planes 0 1 1201 234 /** * Returns the number of planes listed in the attribute. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 48 int ClipPlaneAttrib::get_num_planes(void) const; 2890 9 get_plane 0 4 3681 26 ClipPlaneAttrib::get_plane 0 1 1202 227 /** * Returns the nth plane listed in the attribute. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 51 PlaneNode *ClipPlaneAttrib::get_plane(int n) const; 2891 9 has_plane 0 4 3681 26 ClipPlaneAttrib::has_plane 0 1 1203 261 /** * Returns true if the indicated plane is listed in the attrib, false * otherwise. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 56 bool ClipPlaneAttrib::has_plane(PlaneNode *plane) const; 2892 9 add_plane 0 4 3681 26 ClipPlaneAttrib::add_plane 0 1 1204 187 /** * Returns a new ClipPlaneAttrib, just like this one, but with the indicated * plane added to the list of planes. * * @deprecated Use add_on_plane() or add_off_plane() instead. */ 82 ConstPointerTo< RenderAttrib > ClipPlaneAttrib::add_plane(PlaneNode *plane) const; 2893 12 remove_plane 0 4 3681 29 ClipPlaneAttrib::remove_plane 0 1 1205 197 /** * Returns a new ClipPlaneAttrib, just like this one, but with the indicated * plane removed from the list of planes. * * @deprecated Use remove_on_plane() or remove_off_plane() instead. */ 85 ConstPointerTo< RenderAttrib > ClipPlaneAttrib::remove_plane(PlaneNode *plane) const; 2894 12 make_all_off 0 4 3681 29 ClipPlaneAttrib::make_all_off 0 1 1206 109 /** * Constructs a new ClipPlaneAttrib object that disables all planes (and hence * disables clipping). */ 74 static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make_all_off(void); 2895 17 get_num_on_planes 0 4 3681 34 ClipPlaneAttrib::get_num_on_planes 0 1 1207 74 /** * Returns the number of planes that are enabled by the attribute. */ 58 inline int ClipPlaneAttrib::get_num_on_planes(void) const; 2896 12 get_on_plane 0 4 3681 29 ClipPlaneAttrib::get_on_plane 0 1 1208 82 /** * Returns the nth plane enabled by the attribute, sorted in render order. */ 59 inline NodePath ClipPlaneAttrib::get_on_plane(int n) const; 2897 12 has_on_plane 0 4 3681 29 ClipPlaneAttrib::has_on_plane 0 1 1209 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; 2898 18 get_num_off_planes 0 4 3681 35 ClipPlaneAttrib::get_num_off_planes 0 1 1210 75 /** * Returns the number of planes that are disabled by the attribute. */ 59 inline int ClipPlaneAttrib::get_num_off_planes(void) const; 2899 13 get_off_plane 0 4 3681 30 ClipPlaneAttrib::get_off_plane 0 1 1211 99 /** * Returns the nth plane disabled by the attribute, sorted in arbitrary * (pointer) order. */ 60 inline NodePath ClipPlaneAttrib::get_off_plane(int n) const; 2900 13 has_off_plane 0 4 3681 30 ClipPlaneAttrib::has_off_plane 0 1 1212 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; 2901 11 has_all_off 0 4 3681 28 ClipPlaneAttrib::has_all_off 0 1 1213 97 /** * Returns true if this attrib disables all planes (although it may also * enable some). */ 53 inline bool ClipPlaneAttrib::has_all_off(void) const; 2902 11 is_identity 0 4 3681 28 ClipPlaneAttrib::is_identity 0 1 1214 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; 2903 12 add_on_plane 0 4 3681 29 ClipPlaneAttrib::add_on_plane 0 1 1215 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; 2904 15 remove_on_plane 0 4 3681 32 ClipPlaneAttrib::remove_on_plane 0 1 1216 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; 2905 13 add_off_plane 0 4 3681 30 ClipPlaneAttrib::add_off_plane 0 1 1217 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; 2906 16 remove_off_plane 0 4 3681 33 ClipPlaneAttrib::remove_off_plane 0 1 1218 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; 2907 13 filter_to_max 0 4 3681 30 ClipPlaneAttrib::filter_to_max 0 1 1219 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; 2908 14 get_class_slot 0 4 3681 31 ClipPlaneAttrib::get_class_slot 0 1 1220 0 49 static int ClipPlaneAttrib::get_class_slot(void); 2909 14 get_class_type 0 4 3681 31 ClipPlaneAttrib::get_class_type 0 1 1221 0 56 static TypeHandle ClipPlaneAttrib::get_class_type(void); 2910 16 ~ClipPlaneAttrib 0 516 3681 33 ClipPlaneAttrib::~ClipPlaneAttrib 0 0 0 40 ClipPlaneAttrib::~ClipPlaneAttrib(void); 2911 11 make_vertex 0 4 3683 24 ColorAttrib::make_vertex 0 1 1222 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); 2912 9 make_flat 0 4 3683 22 ColorAttrib::make_flat 0 1 1223 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); 2913 8 make_off 0 4 3683 21 ColorAttrib::make_off 0 1 1224 102 /** * Constructs a new ColorAttrib object that indicates geometry should be * rendered in white. */ 66 static ConstPointerTo< RenderAttrib > ColorAttrib::make_off(void); 2914 12 make_default 0 4 3683 25 ColorAttrib::make_default 0 1 1225 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); 2915 14 get_color_type 0 4 3683 27 ColorAttrib::get_color_type 0 1 1226 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; 2916 9 get_color 0 4 3683 22 ColorAttrib::get_color 0 1 1227 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; 2917 14 get_class_slot 0 4 3683 27 ColorAttrib::get_class_slot 0 1 1228 0 45 static int ColorAttrib::get_class_slot(void); 2918 14 get_class_type 0 4 3683 27 ColorAttrib::get_class_type 0 1 1229 0 52 static TypeHandle ColorAttrib::get_class_type(void); 2919 12 ~ColorAttrib 0 516 3683 25 ColorAttrib::~ColorAttrib 0 0 0 32 ColorAttrib::~ColorAttrib(void); 2920 8 make_off 0 4 3685 26 ColorBlendAttrib::make_off 0 1 1230 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); 2921 4 make 0 4 3685 22 ColorBlendAttrib::make 0 3 1231 1232 1233 546 /** * Constructs a new ColorBlendAttrib object. * * @deprecated Use the three- or four-parameter constructor 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()); 2922 12 make_default 0 4 3685 30 ColorBlendAttrib::make_default 0 1 1234 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); 2923 8 get_mode 0 4 3685 26 ColorBlendAttrib::get_mode 0 1 1235 58 /** * Returns the blending mode for the RGB channels. */ 69 inline ColorBlendAttrib::Mode ColorBlendAttrib::get_mode(void) const; 2924 13 get_operand_a 0 4 3685 31 ColorBlendAttrib::get_operand_a 0 1 1236 62 /** * Returns the RGB multiplier for the first component. */ 77 inline ColorBlendAttrib::Operand ColorBlendAttrib::get_operand_a(void) const; 2925 13 get_operand_b 0 4 3685 31 ColorBlendAttrib::get_operand_b 0 1 1237 63 /** * Returns the RGB multiplier for the second component. */ 77 inline ColorBlendAttrib::Operand ColorBlendAttrib::get_operand_b(void) const; 2926 14 get_alpha_mode 0 4 3685 32 ColorBlendAttrib::get_alpha_mode 0 1 1238 59 /** * Returns the blending mode for the alpha channel. */ 75 inline ColorBlendAttrib::Mode ColorBlendAttrib::get_alpha_mode(void) const; 2927 19 get_alpha_operand_a 0 4 3685 37 ColorBlendAttrib::get_alpha_operand_a 0 1 1239 64 /** * Returns the alpha multiplier for the first component. */ 83 inline ColorBlendAttrib::Operand ColorBlendAttrib::get_alpha_operand_a(void) const; 2928 19 get_alpha_operand_b 0 4 3685 37 ColorBlendAttrib::get_alpha_operand_b 0 1 1240 65 /** * Returns the alpha multiplier for the second component. */ 83 inline ColorBlendAttrib::Operand ColorBlendAttrib::get_alpha_operand_b(void) const; 2929 9 get_color 0 4 3685 27 ColorBlendAttrib::get_color 0 1 1241 65 /** * Returns the constant color associated with the attrib. */ 54 inline LColor ColorBlendAttrib::get_color(void) const; 2930 23 involves_constant_color 0 4 3685 41 ColorBlendAttrib::involves_constant_color 0 2 1242 1243 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); 2931 20 involves_color_scale 0 4 3685 38 ColorBlendAttrib::involves_color_scale 0 2 1244 1245 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); 2932 14 get_class_slot 0 4 3685 32 ColorBlendAttrib::get_class_slot 0 1 1246 0 50 static int ColorBlendAttrib::get_class_slot(void); 2933 14 get_class_type 0 4 3685 32 ColorBlendAttrib::get_class_type 0 1 1247 0 57 static TypeHandle ColorBlendAttrib::get_class_type(void); 2934 17 ~ColorBlendAttrib 0 516 3685 35 ColorBlendAttrib::~ColorBlendAttrib 0 0 0 42 ColorBlendAttrib::~ColorBlendAttrib(void); 2935 13 make_identity 0 4 3688 31 ColorScaleAttrib::make_identity 0 1 1248 47 /** * Constructs an identity scale attrib. */ 76 static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make_identity(void); 2936 4 make 0 4 3688 22 ColorScaleAttrib::make 0 1 1249 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); 2937 8 make_off 0 4 3688 26 ColorScaleAttrib::make_off 0 1 1250 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); 2938 12 make_default 0 4 3688 30 ColorScaleAttrib::make_default 0 1 1251 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); 2939 6 is_off 0 4 3688 24 ColorScaleAttrib::is_off 0 1 1252 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; 2940 11 is_identity 0 4 3688 29 ColorScaleAttrib::is_identity 0 1 1253 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; 2941 9 has_scale 0 4 3688 27 ColorScaleAttrib::has_scale 0 1 1254 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; 2942 13 has_rgb_scale 0 4 3688 31 ColorScaleAttrib::has_rgb_scale 0 1 1255 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; 2943 15 has_alpha_scale 0 4 3688 33 ColorScaleAttrib::has_alpha_scale 0 1 1256 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; 2944 9 get_scale 0 4 3688 27 ColorScaleAttrib::get_scale 0 1 1257 53 /** * Returns the scale to be applied to colors. */ 64 inline LVecBase4 const &ColorScaleAttrib::get_scale(void) const; 2945 9 set_scale 0 4 3688 27 ColorScaleAttrib::set_scale 0 1 1258 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; 2946 14 get_class_slot 0 4 3688 32 ColorScaleAttrib::get_class_slot 0 1 1259 0 50 static int ColorScaleAttrib::get_class_slot(void); 2947 14 get_class_type 0 4 3688 32 ColorScaleAttrib::get_class_type 0 1 1260 0 57 static TypeHandle ColorScaleAttrib::get_class_type(void); 2948 17 ~ColorScaleAttrib 0 516 3688 35 ColorScaleAttrib::~ColorScaleAttrib 0 0 0 42 ColorScaleAttrib::~ColorScaleAttrib(void); 2949 4 make 0 4 3691 22 ColorWriteAttrib::make 0 1 1261 52 /** * Constructs a new ColorWriteAttrib object. */ 84 static ConstPointerTo< RenderAttrib > ColorWriteAttrib::make(unsigned int channels); 2950 12 make_default 0 4 3691 30 ColorWriteAttrib::make_default 0 1 1262 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); 2951 12 get_channels 0 4 3691 30 ColorWriteAttrib::get_channels 0 1 1263 78 /** * Returns the mask of color channels that are enabled by this attrib. */ 63 inline unsigned int ColorWriteAttrib::get_channels(void) const; 2952 14 get_class_slot 0 4 3691 32 ColorWriteAttrib::get_class_slot 0 1 1264 0 50 static int ColorWriteAttrib::get_class_slot(void); 2953 14 get_class_type 0 4 3691 32 ColorWriteAttrib::get_class_type 0 1 1265 0 57 static TypeHandle ColorWriteAttrib::get_class_type(void); 2954 17 ~ColorWriteAttrib 0 516 3691 35 ColorWriteAttrib::~ColorWriteAttrib 0 0 0 42 ColorWriteAttrib::~ColorWriteAttrib(void); 2955 4 make 0 4 3694 19 CompassEffect::make 0 1 1266 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); 2956 13 get_reference 0 4 3694 28 CompassEffect::get_reference 0 1 1267 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; 2957 14 get_properties 0 4 3694 29 CompassEffect::get_properties 0 1 1268 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; 2958 14 get_class_type 0 4 3694 29 CompassEffect::get_class_type 0 1 1269 0 54 static TypeHandle CompassEffect::get_class_type(void); 2959 14 ~CompassEffect 0 516 3694 29 CompassEffect::~CompassEffect 0 0 0 36 CompassEffect::~CompassEffect(void); 2960 12 CullBinEnums 0 260 3696 26 CullBinEnums::CullBinEnums 0 2 1270 1271 0 117 inline CullBinEnums::CullBinEnums(void) = default; inline CullBinEnums::CullBinEnums(CullBinEnums const &) = default; 2961 13 ~CullBinEnums 0 516 3696 27 CullBinEnums::~CullBinEnums 0 0 0 34 CullBinEnums::~CullBinEnums(void); 2962 8 GeomNode 0 260 3698 18 GeomNode::GeomNode 0 1 1272 22 /** * */ /** * */ 53 explicit GeomNode::GeomNode(std::string const &name); 2963 13 set_preserved 0 4 3698 23 GeomNode::set_preserved 0 1 1273 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); 2964 13 get_preserved 0 4 3698 23 GeomNode::get_preserved 0 1 1274 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; 2965 13 get_num_geoms 0 4 3698 23 GeomNode::get_num_geoms 0 1 1275 51 /** * Returns the number of geoms in the node. */ 47 inline int GeomNode::get_num_geoms(void) const; 2966 8 get_geom 0 4 3698 18 GeomNode::get_geom 0 1 1276 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; 2967 11 modify_geom 0 4 3698 21 GeomNode::modify_geom 0 1 1277 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); 2968 14 get_geom_state 0 4 3698 24 GeomNode::get_geom_state 0 1 1278 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; 2969 14 set_geom_state 0 4 3698 24 GeomNode::set_geom_state 0 1 1279 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); 2970 8 add_geom 0 4 3698 18 GeomNode::add_geom 0 1 1280 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()); 2971 14 add_geoms_from 0 4 3698 24 GeomNode::add_geoms_from 0 1 1281 109 /** * Copies the Geoms (and their associated RenderStates) from the indicated * GeomNode into this one. */ 53 void GeomNode::add_geoms_from(GeomNode const *other); 2972 8 set_geom 0 4 3698 18 GeomNode::set_geom 0 1 1282 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); 2973 11 remove_geom 0 4 3698 21 GeomNode::remove_geom 0 1 1283 46 /** * Removes the nth geom from the node. */ 41 inline void GeomNode::remove_geom(int n); 2974 16 remove_all_geoms 0 4 3698 26 GeomNode::remove_all_geoms 0 1 1284 55 /** * Removes all the geoms from the node at once. */ 45 inline void GeomNode::remove_all_geoms(void); 2975 11 check_valid 0 4 3698 21 GeomNode::check_valid 0 1 1285 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; 2976 9 decompose 0 4 3698 19 GeomNode::decompose 0 1 1286 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); 2977 5 unify 0 4 3698 15 GeomNode::unify 0 1 1287 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); 2978 11 write_geoms 0 4 3698 21 GeomNode::write_geoms 0 1 1288 67 /** * Writes a short description of all the Geoms in the node. */ 70 void GeomNode::write_geoms(std::ostream &out, int indent_level) const; 2979 13 write_verbose 0 4 3698 23 GeomNode::write_verbose 0 1 1289 70 /** * Writes a detailed description of all the Geoms in the node. */ 72 void GeomNode::write_verbose(std::ostream &out, int indent_level) const; 2980 24 get_default_collide_mask 0 4 3698 34 GeomNode::get_default_collide_mask 0 1 1290 75 /** * Returns the default into_collide_mask assigned to new GeomNodes. */ 67 static inline CollideMask GeomNode::get_default_collide_mask(void); 2981 14 get_class_type 0 4 3698 24 GeomNode::get_class_type 0 1 1291 0 49 static TypeHandle GeomNode::get_class_type(void); 2982 4 make 0 4 3699 19 CullBinAttrib::make 0 1 1292 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); 2983 12 make_default 0 4 3699 27 CullBinAttrib::make_default 0 1 1293 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); 2984 12 get_bin_name 0 4 3699 27 CullBinAttrib::get_bin_name 0 1 1294 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; 2985 14 get_draw_order 0 4 3699 29 CullBinAttrib::get_draw_order 0 1 1295 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; 2986 14 get_class_slot 0 4 3699 29 CullBinAttrib::get_class_slot 0 1 1296 0 47 static int CullBinAttrib::get_class_slot(void); 2987 14 get_class_type 0 4 3699 29 CullBinAttrib::get_class_type 0 1 1297 0 54 static TypeHandle CullBinAttrib::get_class_type(void); 2988 14 ~CullBinAttrib 0 516 3699 29 CullBinAttrib::~CullBinAttrib 0 0 0 36 CullBinAttrib::~CullBinAttrib(void); 2989 7 add_bin 0 4 3700 23 CullBinManager::add_bin 0 1 1298 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); 2990 10 remove_bin 0 4 3700 26 CullBinManager::remove_bin 0 1 1299 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); 2991 12 get_num_bins 0 4 3700 28 CullBinManager::get_num_bins 0 1 1300 51 /** * Returns the number of bins in the world. */ 52 inline int CullBinManager::get_num_bins(void) const; 2992 7 get_bin 0 4 3700 23 CullBinManager::get_bin 0 1 1301 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; 2993 8 find_bin 0 4 3700 24 CullBinManager::find_bin 0 1 1302 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; 2994 12 get_bin_name 0 4 3700 28 CullBinManager::get_bin_name 0 1 1303 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; 2995 12 get_bin_type 0 4 3700 28 CullBinManager::get_bin_type 0 2 1304 1305 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; 2996 12 set_bin_type 0 4 3700 28 CullBinManager::set_bin_type 0 2 1306 1307 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); 2997 12 get_bin_sort 0 4 3700 28 CullBinManager::get_bin_sort 0 2 1308 1309 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; 2998 12 set_bin_sort 0 4 3700 28 CullBinManager::set_bin_sort 0 2 1310 1311 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); 2999 14 get_bin_active 0 4 3700 30 CullBinManager::get_bin_active 0 2 1312 1313 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; 3000 14 set_bin_active 0 4 3700 30 CullBinManager::set_bin_active 0 2 1314 1315 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); 3001 20 get_bin_flash_active 0 4 3700 36 CullBinManager::get_bin_flash_active 0 1 1316 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; 3002 19 get_bin_flash_color 0 4 3700 35 CullBinManager::get_bin_flash_color 0 1 1317 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; 3003 20 set_bin_flash_active 0 4 3700 36 CullBinManager::set_bin_flash_active 0 1 1318 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); 3004 19 set_bin_flash_color 0 4 3700 35 CullBinManager::set_bin_flash_color 0 1 1319 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); 3005 5 write 0 4 3700 21 CullBinManager::write 0 1 1320 10 /** * */ 52 void CullBinManager::write(std::ostream &out) const; 3006 14 get_global_ptr 0 4 3700 30 CullBinManager::get_global_ptr 0 1 1321 67 /** * Returns the pointer to the global CullBinManager object. */ 67 static inline CullBinManager *CullBinManager::get_global_ptr(void); 3007 4 make 0 4 3701 20 CullFaceAttrib::make 0 1 1322 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); 3008 12 make_reverse 0 4 3701 28 CullFaceAttrib::make_reverse 0 1 1323 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); 3009 12 make_default 0 4 3701 28 CullFaceAttrib::make_default 0 1 1324 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); 3010 15 get_actual_mode 0 4 3701 31 CullFaceAttrib::get_actual_mode 0 1 1325 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; 3011 11 get_reverse 0 4 3701 27 CullFaceAttrib::get_reverse 0 1 1326 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; 3012 18 get_effective_mode 0 4 3701 34 CullFaceAttrib::get_effective_mode 0 1 1327 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; 3013 14 get_class_slot 0 4 3701 30 CullFaceAttrib::get_class_slot 0 1 1328 0 48 static int CullFaceAttrib::get_class_slot(void); 3014 14 get_class_type 0 4 3701 30 CullFaceAttrib::get_class_type 0 1 1329 0 55 static TypeHandle CullFaceAttrib::get_class_type(void); 3015 15 ~CullFaceAttrib 0 516 3701 31 CullFaceAttrib::~CullFaceAttrib 0 0 0 38 CullFaceAttrib::~CullFaceAttrib(void); 3016 16 ~WorkingNodePath 0 516 3703 33 WorkingNodePath::~WorkingNodePath 0 0 10 /** * */ 47 inline WorkingNodePath::~WorkingNodePath(void); 3017 8 is_valid 0 4 3703 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; 3018 13 get_node_path 0 4 3703 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; 3019 4 node 0 4 3704 23 CullTraverserData::node 0 1 1331 48 /** * Returns the node traversed to so far. */ 54 inline PandaNode *CullTraverserData::node(void) const; 3020 23 get_modelview_transform 0 4 3704 42 CullTraverserData::get_modelview_transform 0 1 1332 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; 3021 22 get_internal_transform 0 4 3704 41 CullTraverserData::get_internal_transform 0 1 1333 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; 3022 17 get_net_transform 0 4 3704 36 CullTraverserData::get_net_transform 0 1 1334 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; 3023 10 is_in_view 0 4 3704 29 CullTraverserData::is_in_view 0 1 1335 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); 3024 19 is_this_node_hidden 0 4 3704 38 CullTraverserData::is_this_node_hidden 0 1 1336 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; 3025 25 apply_transform_and_state 0 4 3704 44 CullTraverserData::apply_transform_and_state 0 1 1337 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); 3026 15 apply_transform 0 4 3704 34 CullTraverserData::apply_transform 0 1 1338 73 /** * Applies the indicated transform changes onto the current data. */ 78 void CullTraverserData::apply_transform(TransformState const *node_transform); 3027 13 get_node_path 0 4 3704 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; 3028 17 CullTraverserData 0 260 3704 36 CullTraverserData::CullTraverserData 0 1 1330 128 /** * */ /** * This constructor creates a CullTraverserData object that reflects the next * node down in the traversal. */ 81 inline CullTraverserData::CullTraverserData(CullTraverserData const &) = default; 3029 18 ~CullTraverserData 0 516 3704 37 CullTraverserData::~CullTraverserData 0 0 0 44 CullTraverserData::~CullTraverserData(void); 3030 18 set_display_region 0 4 3705 30 SceneSetup::set_display_region 0 1 1340 54 /** * Specifies the display region for the scene. */ 74 inline void SceneSetup::set_display_region(DisplayRegion *display_region); 3031 18 get_display_region 0 4 3705 30 SceneSetup::get_display_region 0 1 1341 52 /** * Returns the display region for the scene. */ 65 inline DisplayRegion *SceneSetup::get_display_region(void) const; 3032 17 set_viewport_size 0 4 3705 29 SceneSetup::set_viewport_size 0 1 1342 74 /** * Specifies the size of the viewport (display region), in pixels. */ 65 inline void SceneSetup::set_viewport_size(int width, int height); 3033 18 get_viewport_width 0 4 3705 30 SceneSetup::get_viewport_width 0 1 1343 72 /** * Returns the width of the viewport (display region) in pixels. */ 54 inline int SceneSetup::get_viewport_width(void) const; 3034 19 get_viewport_height 0 4 3705 31 SceneSetup::get_viewport_height 0 1 1344 73 /** * Returns the height of the viewport (display region) in pixels. */ 55 inline int SceneSetup::get_viewport_height(void) const; 3035 14 set_scene_root 0 4 3705 26 SceneSetup::set_scene_root 0 1 1345 48 /** * Specifies the root node of the scene. */ 67 inline void SceneSetup::set_scene_root(NodePath const &scene_root); 3036 14 get_scene_root 0 4 3705 26 SceneSetup::get_scene_root 0 1 1346 46 /** * Returns the root node of the scene. */ 62 inline NodePath const &SceneSetup::get_scene_root(void) const; 3037 15 set_camera_path 0 4 3705 27 SceneSetup::set_camera_path 0 1 1347 48 /** * Specifies the NodePath to the camera. */ 69 inline void SceneSetup::set_camera_path(NodePath const &camera_path); 3038 15 get_camera_path 0 4 3705 27 SceneSetup::get_camera_path 0 1 1348 46 /** * Returns the NodePath to the camera. */ 63 inline NodePath const &SceneSetup::get_camera_path(void) const; 3039 15 set_camera_node 0 4 3705 27 SceneSetup::set_camera_node 0 1 1349 57 /** * Specifies the camera used to render the scene. */ 61 inline void SceneSetup::set_camera_node(Camera *camera_node); 3040 15 get_camera_node 0 4 3705 27 SceneSetup::get_camera_node 0 1 1350 55 /** * Returns the camera used to render the scene. */ 55 inline Camera *SceneSetup::get_camera_node(void) const; 3041 8 set_lens 0 4 3705 20 SceneSetup::set_lens 0 1 1351 60 /** * Indicates the particular Lens used for rendering. */ 51 inline void SceneSetup::set_lens(Lens const *lens); 3042 8 get_lens 0 4 3705 20 SceneSetup::get_lens 0 1 1352 58 /** * Returns the particular Lens used for rendering. */ 52 inline Lens const *SceneSetup::get_lens(void) const; 3043 12 set_inverted 0 4 3705 24 SceneSetup::set_inverted 0 1 1353 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); 3044 12 get_inverted 0 4 3705 24 SceneSetup::get_inverted 0 1 1354 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; 3045 15 get_cull_center 0 4 3705 27 SceneSetup::get_cull_center 0 1 1355 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; 3046 15 get_cull_bounds 0 4 3705 27 SceneSetup::get_cull_bounds 0 1 1356 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; 3047 17 set_initial_state 0 4 3705 29 SceneSetup::set_initial_state 0 1 1357 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); 3048 17 get_initial_state 0 4 3705 29 SceneSetup::get_initial_state 0 1 1358 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; 3049 20 set_camera_transform 0 4 3705 32 SceneSetup::set_camera_transform 0 1 1359 78 /** * Specifies the position of the camera relative to the starting node. */ 85 inline void SceneSetup::set_camera_transform(TransformState const *camera_transform); 3050 20 get_camera_transform 0 4 3705 32 SceneSetup::get_camera_transform 0 1 1360 76 /** * Returns the position of the camera relative to the starting node. */ 74 inline TransformState const *SceneSetup::get_camera_transform(void) const; 3051 19 set_world_transform 0 4 3705 31 SceneSetup::set_world_transform 0 1 1361 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); 3052 19 get_world_transform 0 4 3705 31 SceneSetup::get_world_transform 0 1 1362 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; 3053 16 set_cs_transform 0 4 3705 28 SceneSetup::set_cs_transform 0 1 1363 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); 3054 16 get_cs_transform 0 4 3705 28 SceneSetup::get_cs_transform 0 1 1364 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; 3055 22 set_cs_world_transform 0 4 3705 34 SceneSetup::set_cs_world_transform 0 1 1365 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); 3056 22 get_cs_world_transform 0 4 3705 34 SceneSetup::get_cs_world_transform 0 1 1366 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; 3057 14 get_class_type 0 4 3705 26 SceneSetup::get_class_type 0 1 1367 0 51 static TypeHandle SceneSetup::get_class_type(void); 3058 10 SceneSetup 0 260 3705 22 SceneSetup::SceneSetup 0 1 1339 10 /** * */ 60 inline SceneSetup::SceneSetup(SceneSetup const &) = default; 3059 11 ~SceneSetup 0 516 3705 23 SceneSetup::~SceneSetup 0 0 0 30 SceneSetup::~SceneSetup(void); 3060 3 Fog 0 260 3706 8 Fog::Fog 0 1 1368 22 /** * */ /** * */ 43 explicit Fog::Fog(std::string const &name); 3061 8 get_mode 0 4 3706 13 Fog::get_mode 0 1 1369 10 /** * */ 43 inline Fog::Mode Fog::get_mode(void) const; 3062 8 set_mode 0 4 3706 13 Fog::set_mode 0 1 1370 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); 3063 9 get_color 0 4 3706 14 Fog::get_color 0 1 1371 40 /** * Returns the color of the fog. */ 48 inline LColor const &Fog::get_color(void) const; 3064 9 set_color 0 4 3706 14 Fog::set_color 0 2 1372 1373 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); 3065 16 set_linear_range 0 4 3706 21 Fog::set_linear_range 0 1 1374 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); 3066 22 get_linear_onset_point 0 4 3706 27 Fog::get_linear_onset_point 0 1 1375 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; 3067 22 set_linear_onset_point 0 4 3706 27 Fog::set_linear_onset_point 0 2 1376 1377 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); 3068 23 get_linear_opaque_point 0 4 3706 28 Fog::get_linear_opaque_point 0 1 1378 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; 3069 23 set_linear_opaque_point 0 4 3706 28 Fog::set_linear_opaque_point 0 2 1379 1380 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); 3070 19 set_linear_fallback 0 4 3706 24 Fog::set_linear_fallback 0 1 1381 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); 3071 15 get_exp_density 0 4 3706 20 Fog::get_exp_density 0 1 1382 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; 3072 15 set_exp_density 0 4 3706 20 Fog::set_exp_density 0 1 1383 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); 3073 14 get_class_type 0 4 3706 19 Fog::get_class_type 0 1 1384 0 44 static TypeHandle Fog::get_class_type(void); 3074 4 make 0 4 3708 15 FogAttrib::make 0 1 1385 103 /** * Constructs a new FogAttrib object suitable for rendering the indicated fog * onto geometry. */ 64 static ConstPointerTo< RenderAttrib > FogAttrib::make(Fog *fog); 3075 8 make_off 0 4 3708 19 FogAttrib::make_off 0 1 1386 84 /** * Constructs a new FogAttrib object suitable for rendering unfogd geometry. */ 64 static ConstPointerTo< RenderAttrib > FogAttrib::make_off(void); 3076 12 make_default 0 4 3708 23 FogAttrib::make_default 0 1 1387 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); 3077 6 is_off 0 4 3708 17 FogAttrib::is_off 0 1 1388 105 /** * Returns true if the FogAttrib is an 'off' FogAttrib, indicating that it * should disable fog. */ 42 inline bool FogAttrib::is_off(void) const; 3078 7 get_fog 0 4 3708 18 FogAttrib::get_fog 0 1 1389 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; 3079 14 get_class_slot 0 4 3708 25 FogAttrib::get_class_slot 0 1 1390 0 43 static int FogAttrib::get_class_slot(void); 3080 14 get_class_type 0 4 3708 25 FogAttrib::get_class_type 0 1 1391 0 50 static TypeHandle FogAttrib::get_class_type(void); 3081 10 ~FogAttrib 0 516 3708 21 FogAttrib::~FogAttrib 0 0 0 28 FogAttrib::~FogAttrib(void); 3082 13 CullTraverser 0 260 3710 28 CullTraverser::CullTraverser 0 2 1392 1393 22 /** * */ /** * */ 92 CullTraverser::CullTraverser(void); CullTraverser::CullTraverser(CullTraverser const ©); 3083 7 get_gsg 0 4 3710 22 CullTraverser::get_gsg 0 1 1394 55 /** * Returns the GraphicsStateGuardian in effect. */ 69 inline GraphicsStateGuardianBase *CullTraverser::get_gsg(void) const; 3084 18 get_current_thread 0 4 3710 33 CullTraverser::get_current_thread 0 1 1395 104 /** * Returns the currently-executing thread object, as passed to the * CullTraverser constructor. */ 61 inline Thread *CullTraverser::get_current_thread(void) const; 3085 9 set_scene 0 6 3710 24 CullTraverser::set_scene 0 1 1396 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); 3086 9 get_scene 0 4 3710 24 CullTraverser::get_scene 0 1 1397 41 /** * Returns the SceneSetup object. */ 56 inline SceneSetup *CullTraverser::get_scene(void) const; 3087 17 has_tag_state_key 0 4 3710 32 CullTraverser::has_tag_state_key 0 1 1398 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; 3088 17 get_tag_state_key 0 4 3710 32 CullTraverser::get_tag_state_key 0 1 1399 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; 3089 15 set_camera_mask 0 4 3710 30 CullTraverser::set_camera_mask 0 1 1400 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); 3090 15 get_camera_mask 0 4 3710 30 CullTraverser::get_camera_mask 0 1 1401 73 /** * Returns the visibility mask from the camera viewing the scene. */ 66 inline DrawMask const &CullTraverser::get_camera_mask(void) const; 3091 20 get_camera_transform 0 4 3710 35 CullTraverser::get_camera_transform 0 1 1402 76 /** * Returns the position of the camera relative to the starting node. */ 77 inline TransformState const *CullTraverser::get_camera_transform(void) const; 3092 19 get_world_transform 0 4 3710 34 CullTraverser::get_world_transform 0 1 1403 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; 3093 17 get_initial_state 0 4 3710 32 CullTraverser::get_initial_state 0 1 1404 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; 3094 23 get_depth_offset_decals 0 4 3710 38 CullTraverser::get_depth_offset_decals 0 1 1405 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; 3095 16 set_view_frustum 0 4 3710 31 CullTraverser::set_view_frustum 0 1 1406 154 /** * Specifies the bounding volume that corresponds to the view frustum. Any * primitives that fall entirely outside of this volume are not drawn. */ 83 inline void CullTraverser::set_view_frustum(GeometricBoundingVolume *view_frustum); 3096 16 get_view_frustum 0 4 3710 31 CullTraverser::get_view_frustum 0 1 1407 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; 3097 16 set_cull_handler 0 4 3710 31 CullTraverser::set_cull_handler 0 1 1408 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); 3098 16 get_cull_handler 0 4 3710 31 CullTraverser::get_cull_handler 0 1 1409 65 /** * Returns the object that will receive the culled Geoms. */ 64 inline CullHandler *CullTraverser::get_cull_handler(void) const; 3099 18 set_portal_clipper 0 4 3710 33 CullTraverser::set_portal_clipper 0 1 1410 108 /** * Specifies _portal_clipper object pointer that subsequent traverse() or * traverse_below may use. */ 77 inline void CullTraverser::set_portal_clipper(PortalClipper *portal_clipper); 3100 18 get_portal_clipper 0 4 3710 33 CullTraverser::get_portal_clipper 0 1 1411 46 /** * Returns the _portal_clipper pointer */ 68 inline PortalClipper *CullTraverser::get_portal_clipper(void) const; 3101 31 get_effective_incomplete_render 0 4 3710 46 CullTraverser::get_effective_incomplete_render 0 1 1412 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; 3102 8 traverse 0 4 3710 23 CullTraverser::traverse 0 2 1413 1414 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); 3103 14 traverse_below 0 6 3710 29 CullTraverser::traverse_below 0 1 1415 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); 3104 12 end_traverse 0 6 3710 27 CullTraverser::end_traverse 0 1 1416 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); 3105 11 flush_level 0 4 3710 26 CullTraverser::flush_level 0 1 1417 61 /** * Flushes the PStatCollectors used during traversal. */ 52 static inline void CullTraverser::flush_level(void); 3106 20 draw_bounding_volume 0 4 3710 35 CullTraverser::draw_bounding_volume 0 1 1418 79 /** * Draws an appropriate visualization of the indicated bounding volume. */ 116 void CullTraverser::draw_bounding_volume(BoundingVolume const *vol, TransformState const *internal_transform) const; 3107 14 get_class_type 0 4 3710 29 CullTraverser::get_class_type 0 1 1419 0 54 static TypeHandle CullTraverser::get_class_type(void); 3108 14 ~CullTraverser 0 516 3710 29 CullTraverser::~CullTraverser 0 0 0 36 CullTraverser::~CullTraverser(void); 3109 10 get_object 0 4 3711 32 GeomDrawCallbackData::get_object 0 1 1420 74 /** * Returns a pointer to the particular object that is being drawn. */ 68 inline CullableObject *GeomDrawCallbackData::get_object(void) const; 3110 7 get_gsg 0 4 3711 29 GeomDrawCallbackData::get_gsg 0 1 1421 48 /** * Returns a pointer to the current GSG. */ 76 inline GraphicsStateGuardianBase *GeomDrawCallbackData::get_gsg(void) const; 3111 9 get_force 0 4 3711 31 GeomDrawCallbackData::get_force 0 1 1422 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; 3112 14 set_lost_state 0 4 3711 36 GeomDrawCallbackData::set_lost_state 0 1 1423 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); 3113 14 get_lost_state 0 4 3711 36 GeomDrawCallbackData::get_lost_state 0 1 1424 62 /** * Returns the lost_state flag. See set_lost_state(). */ 61 inline bool GeomDrawCallbackData::get_lost_state(void) const; 3114 14 get_class_type 0 4 3711 36 GeomDrawCallbackData::get_class_type 0 1 1425 0 61 static TypeHandle GeomDrawCallbackData::get_class_type(void); 3115 21 ~GeomDrawCallbackData 0 516 3711 43 GeomDrawCallbackData::~GeomDrawCallbackData 0 0 0 50 GeomDrawCallbackData::~GeomDrawCallbackData(void); 3116 4 make 0 4 3713 25 RescaleNormalAttrib::make 0 1 1426 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); 3117 12 make_default 0 4 3713 33 RescaleNormalAttrib::make_default 0 1 1427 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); 3118 8 get_mode 0 4 3713 29 RescaleNormalAttrib::get_mode 0 1 1428 35 /** * Returns the render mode. */ 75 inline RescaleNormalAttrib::Mode RescaleNormalAttrib::get_mode(void) const; 3119 14 get_class_slot 0 4 3713 35 RescaleNormalAttrib::get_class_slot 0 1 1429 0 53 static int RescaleNormalAttrib::get_class_slot(void); 3120 14 get_class_type 0 4 3713 35 RescaleNormalAttrib::get_class_type 0 1 1430 0 60 static TypeHandle RescaleNormalAttrib::get_class_type(void); 3121 20 ~RescaleNormalAttrib 0 516 3713 41 RescaleNormalAttrib::~RescaleNormalAttrib 0 0 0 48 RescaleNormalAttrib::~RescaleNormalAttrib(void); 3122 9 make_next 0 4 3715 21 CullResult::make_next 0 1 1432 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; 3123 7 get_bin 0 4 3715 19 CullResult::get_bin 0 1 1433 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); 3124 10 add_object 0 4 3715 22 CullResult::add_object 0 1 1434 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); 3125 11 finish_cull 0 4 3715 23 CullResult::finish_cull 0 1 1435 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); 3126 4 draw 0 4 3715 16 CullResult::draw 0 1 1436 69 /** * Asks all the bins to draw themselves in the correct order. */ 46 void CullResult::draw(Thread *current_thread); 3127 17 make_result_graph 0 4 3715 29 CullResult::make_result_graph 0 1 1437 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); 3128 14 get_class_type 0 4 3715 26 CullResult::get_class_type 0 1 1438 0 51 static TypeHandle CullResult::get_class_type(void); 3129 10 CullResult 0 260 3715 22 CullResult::CullResult 0 1 1431 10 /** * */ 60 inline CullResult::CullResult(CullResult const &) = default; 3130 4 make 0 4 3717 17 DecalEffect::make 0 1 1439 47 /** * Constructs a new DecalEffect object. */ 62 static ConstPointerTo< RenderEffect > DecalEffect::make(void); 3131 14 get_class_type 0 4 3717 27 DecalEffect::get_class_type 0 1 1440 0 52 static TypeHandle DecalEffect::get_class_type(void); 3132 12 ~DecalEffect 0 516 3717 25 DecalEffect::~DecalEffect 0 0 0 32 DecalEffect::~DecalEffect(void); 3133 4 make 0 4 3718 23 DepthOffsetAttrib::make 0 2 1441 1442 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); 3134 12 make_default 0 4 3718 31 DepthOffsetAttrib::make_default 0 1 1443 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); 3135 10 get_offset 0 4 3718 29 DepthOffsetAttrib::get_offset 0 1 1444 63 /** * Returns the depth offset represented by this attrib. */ 53 inline int DepthOffsetAttrib::get_offset(void) const; 3136 13 get_min_value 0 4 3718 32 DepthOffsetAttrib::get_min_value 0 1 1445 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; 3137 13 get_max_value 0 4 3718 32 DepthOffsetAttrib::get_max_value 0 1 1446 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; 3138 14 get_class_slot 0 4 3718 33 DepthOffsetAttrib::get_class_slot 0 1 1447 0 51 static int DepthOffsetAttrib::get_class_slot(void); 3139 14 get_class_type 0 4 3718 33 DepthOffsetAttrib::get_class_type 0 1 1448 0 58 static TypeHandle DepthOffsetAttrib::get_class_type(void); 3140 18 ~DepthOffsetAttrib 0 516 3718 37 DepthOffsetAttrib::~DepthOffsetAttrib 0 0 0 44 DepthOffsetAttrib::~DepthOffsetAttrib(void); 3141 4 make 0 4 3719 21 DepthTestAttrib::make 0 1 1449 51 /** * Constructs a new DepthTestAttrib object. */ 97 static ConstPointerTo< RenderAttrib > DepthTestAttrib::make(RenderAttrib::PandaCompareFunc mode); 3142 12 make_default 0 4 3719 29 DepthTestAttrib::make_default 0 1 1450 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); 3143 8 get_mode 0 4 3719 25 DepthTestAttrib::get_mode 0 1 1451 40 /** * Returns the depth write mode. */ 76 inline RenderAttrib::PandaCompareFunc DepthTestAttrib::get_mode(void) const; 3144 14 get_class_slot 0 4 3719 31 DepthTestAttrib::get_class_slot 0 1 1452 0 49 static int DepthTestAttrib::get_class_slot(void); 3145 14 get_class_type 0 4 3719 31 DepthTestAttrib::get_class_type 0 1 1453 0 56 static TypeHandle DepthTestAttrib::get_class_type(void); 3146 16 ~DepthTestAttrib 0 516 3719 33 DepthTestAttrib::~DepthTestAttrib 0 0 0 40 DepthTestAttrib::~DepthTestAttrib(void); 3147 4 make 0 4 3720 22 DepthWriteAttrib::make 0 1 1454 52 /** * Constructs a new DepthWriteAttrib object. */ 90 static ConstPointerTo< RenderAttrib > DepthWriteAttrib::make(DepthWriteAttrib::Mode mode); 3148 12 make_default 0 4 3720 30 DepthWriteAttrib::make_default 0 1 1455 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); 3149 8 get_mode 0 4 3720 26 DepthWriteAttrib::get_mode 0 1 1456 40 /** * Returns the depth write mode. */ 69 inline DepthWriteAttrib::Mode DepthWriteAttrib::get_mode(void) const; 3150 14 get_class_slot 0 4 3720 32 DepthWriteAttrib::get_class_slot 0 1 1457 0 50 static int DepthWriteAttrib::get_class_slot(void); 3151 14 get_class_type 0 4 3720 32 DepthWriteAttrib::get_class_type 0 1 1458 0 57 static TypeHandle DepthWriteAttrib::get_class_type(void); 3152 17 ~DepthWriteAttrib 0 516 3720 35 DepthWriteAttrib::~DepthWriteAttrib 0 0 0 42 DepthWriteAttrib::~DepthWriteAttrib(void); 3153 6 ~Light 0 518 3722 13 Light::~Light 0 0 10 /** * */ 28 virtual Light::~Light(void); 3154 7 as_node 0 6 3722 14 Light::as_node 0 1 1459 0 44 virtual PandaNode *Light::as_node(void) = 0; 3155 16 is_ambient_light 0 6 3722 23 Light::is_ambient_light 0 1 1460 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; 3156 9 get_color 0 4 3722 16 Light::get_color 0 1 1461 48 /** * Returns the basic color of the light. */ 50 inline LColor const &Light::get_color(void) const; 3157 9 set_color 0 4 3722 16 Light::set_color 0 1 1462 45 /** * Sets the basic color of the light. */ 50 inline void Light::set_color(LColor const &color); 3158 21 has_color_temperature 0 4 3722 28 Light::has_color_temperature 0 1 1463 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; 3159 21 get_color_temperature 0 4 3722 28 Light::get_color_temperature 0 1 1464 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; 3160 21 set_color_temperature 0 4 3722 28 Light::set_color_temperature 0 1 1465 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); 3161 12 get_exponent 0 6 3722 19 Light::get_exponent 0 1 1466 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; 3162 18 get_specular_color 0 6 3722 25 Light::get_specular_color 0 1 1467 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; 3163 15 get_attenuation 0 6 3722 22 Light::get_attenuation 0 1 1468 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; 3164 12 set_priority 0 4 3722 19 Light::set_priority 0 1 1469 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); 3165 12 get_priority 0 4 3722 19 Light::get_priority 0 1 1470 80 /** * Returns the priority associated with this light. See set_priority(). */ 43 inline int Light::get_priority(void) const; 3166 18 get_class_priority 0 6 3722 25 Light::get_class_priority 0 1 1471 0 54 virtual int Light::get_class_priority(void) const = 0; 3167 14 get_class_type 0 4 3722 21 Light::get_class_type 0 1 1472 0 46 static TypeHandle Light::get_class_type(void); 3168 4 make 0 4 3723 17 LightAttrib::make 0 5 1473 1474 1475 1476 1477 855 // 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). * * @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). * * @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). * * @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). * * @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); 3169 12 make_default 0 4 3723 25 LightAttrib::make_default 0 1 1478 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); 3170 13 get_operation 0 4 3723 26 LightAttrib::get_operation 0 1 1479 505 /** * 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. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 62 LightAttrib::Operation LightAttrib::get_operation(void) const; 3171 14 get_num_lights 0 4 3723 27 LightAttrib::get_num_lights 0 1 1480 230 /** * Returns the number of lights listed in the attribute. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 44 int LightAttrib::get_num_lights(void) const; 3172 9 get_light 0 4 3723 22 LightAttrib::get_light 0 1 1481 223 /** * Returns the nth light listed in the attribute. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 43 Light *LightAttrib::get_light(int n) const; 3173 9 has_light 0 4 3723 22 LightAttrib::has_light 0 1 1482 257 /** * Returns true if the indicated light is listed in the attrib, false * otherwise. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 48 bool LightAttrib::has_light(Light *light) const; 3174 9 add_light 0 4 3723 22 LightAttrib::add_light 0 1 1483 183 /** * Returns a new LightAttrib, just like this one, but with the indicated light * added to the list of lights. * * @deprecated Use add_on_light() or add_off_light() instead. */ 74 ConstPointerTo< RenderAttrib > LightAttrib::add_light(Light *light) const; 3175 12 remove_light 0 4 3723 25 LightAttrib::remove_light 0 1 1484 193 /** * Returns a new LightAttrib, just like this one, but with the indicated light * removed from the list of lights. * * @deprecated Use remove_on_light() or remove_off_light() instead. */ 77 ConstPointerTo< RenderAttrib > LightAttrib::remove_light(Light *light) const; 3176 12 make_all_off 0 4 3723 25 LightAttrib::make_all_off 0 1 1485 106 /** * Constructs a new LightAttrib object that turns off all lights (and hence * disables lighting). */ 70 static ConstPointerTo< RenderAttrib > LightAttrib::make_all_off(void); 3177 17 get_num_on_lights 0 4 3723 30 LightAttrib::get_num_on_lights 0 1 1486 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; 3178 26 get_num_non_ambient_lights 0 4 3723 39 LightAttrib::get_num_non_ambient_lights 0 1 1487 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; 3179 12 get_on_light 0 4 3723 25 LightAttrib::get_on_light 0 1 1488 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; 3180 12 has_on_light 0 4 3723 25 LightAttrib::has_on_light 0 1 1489 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; 3181 16 has_any_on_light 0 4 3723 29 LightAttrib::has_any_on_light 0 1 1490 81 /** * Returns true if any light is turned on by the attrib, false otherwise. */ 54 inline bool LightAttrib::has_any_on_light(void) const; 3182 18 get_num_off_lights 0 4 3723 31 LightAttrib::get_num_off_lights 0 1 1491 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; 3183 13 get_off_light 0 4 3723 26 LightAttrib::get_off_light 0 1 1492 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; 3184 13 has_off_light 0 4 3723 26 LightAttrib::has_off_light 0 1 1493 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; 3185 11 has_all_off 0 4 3723 24 LightAttrib::has_all_off 0 1 1494 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; 3186 11 is_identity 0 4 3723 24 LightAttrib::is_identity 0 1 1495 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; 3187 12 add_on_light 0 4 3723 25 LightAttrib::add_on_light 0 1 1496 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; 3188 15 remove_on_light 0 4 3723 28 LightAttrib::remove_on_light 0 1 1497 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; 3189 16 replace_on_light 0 4 3723 29 LightAttrib::replace_on_light 0 1 1498 126 /** * Returns a new LightAttrib, just like this one, but with the indicated light * replaced with the given other light. */ 113 ConstPointerTo< RenderAttrib > LightAttrib::replace_on_light(NodePath const &source, NodePath const &dest) const; 3190 13 add_off_light 0 4 3723 26 LightAttrib::add_off_light 0 1 1499 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; 3191 16 remove_off_light 0 4 3723 29 LightAttrib::remove_off_light 0 1 1500 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; 3192 17 replace_off_light 0 4 3723 30 LightAttrib::replace_off_light 0 1 1501 126 /** * Returns a new LightAttrib, just like this one, but with the indicated light * replaced with the given other light. */ 114 ConstPointerTo< RenderAttrib > LightAttrib::replace_off_light(NodePath const &source, NodePath const &dest) const; 3193 24 get_most_important_light 0 4 3723 37 LightAttrib::get_most_important_light 0 1 1502 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; 3194 24 get_ambient_contribution 0 4 3723 37 LightAttrib::get_ambient_contribution 0 1 1503 68 /** * Returns the total contribution of all the ambient lights. */ 57 LColor LightAttrib::get_ambient_contribution(void) const; 3195 14 get_class_slot 0 4 3723 27 LightAttrib::get_class_slot 0 1 1504 0 45 static int LightAttrib::get_class_slot(void); 3196 14 get_class_type 0 4 3723 27 LightAttrib::get_class_type 0 1 1505 0 52 static TypeHandle LightAttrib::get_class_type(void); 3197 12 make_default 0 4 3725 29 LightRampAttrib::make_default 0 1 1506 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); 3198 13 make_identity 0 4 3725 30 LightRampAttrib::make_identity 0 1 1507 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); 3199 21 make_single_threshold 0 4 3725 38 LightRampAttrib::make_single_threshold 0 1 1508 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); 3200 21 make_double_threshold 0 4 3725 38 LightRampAttrib::make_double_threshold 0 1 1509 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); 3201 9 make_hdr0 0 4 3725 26 LightRampAttrib::make_hdr0 0 1 1510 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); 3202 9 make_hdr1 0 4 3725 26 LightRampAttrib::make_hdr1 0 1 1511 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); 3203 9 make_hdr2 0 4 3725 26 LightRampAttrib::make_hdr2 0 1 1512 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); 3204 8 get_mode 0 4 3725 25 LightRampAttrib::get_mode 0 1 1513 44 /** * Returns the LightRampAttrib mode. */ 76 inline LightRampAttrib::LightRampMode LightRampAttrib::get_mode(void) const; 3205 9 get_level 0 4 3725 26 LightRampAttrib::get_level 0 1 1514 42 /** * Returns the nth lighting level. */ 59 inline PN_stdfloat LightRampAttrib::get_level(int n) const; 3206 13 get_threshold 0 4 3725 30 LightRampAttrib::get_threshold 0 1 1515 43 /** * Returns the nth threshold level. */ 63 inline PN_stdfloat LightRampAttrib::get_threshold(int n) const; 3207 14 get_class_slot 0 4 3725 31 LightRampAttrib::get_class_slot 0 1 1516 0 49 static int LightRampAttrib::get_class_slot(void); 3208 14 get_class_type 0 4 3725 31 LightRampAttrib::get_class_type 0 1 1517 0 56 static TypeHandle LightRampAttrib::get_class_type(void); 3209 16 ~LightRampAttrib 0 516 3725 33 LightRampAttrib::~LightRampAttrib 0 0 0 40 LightRampAttrib::~LightRampAttrib(void); 3210 29 upcast_to_TypedReferenceCount 0 12 3727 37 Loader::upcast_to_TypedReferenceCount 0 1 1536 41 upcast from Loader to TypedReferenceCount 65 TypedReferenceCount *Loader::upcast_to_TypedReferenceCount(void); 3211 18 downcast_to_Loader 0 12 3658 39 TypedReferenceCount::downcast_to_Loader 0 0 43 downcast from TypedReferenceCount to Loader 54 Loader *TypedReferenceCount::downcast_to_Loader(void); 3212 17 upcast_to_Namable 0 12 3727 25 Loader::upcast_to_Namable 0 1 1537 29 upcast from Loader to Namable 41 Namable *Loader::upcast_to_Namable(void); 3213 18 downcast_to_Loader 0 12 3617 27 Namable::downcast_to_Loader 0 0 31 downcast from Namable to Loader 42 Loader *Namable::downcast_to_Loader(void); 3214 7 Results 0 260 3728 24 Loader::Results::Results 0 2 1538 1539 22 /** * */ /** * */ 100 inline Loader::Results::Results(void); inline Loader::Results::Results(Loader::Results const ©); 3215 10 operator = 0 4 3728 27 Loader::Results::operator = 0 1 1540 0 69 inline void Loader::Results::operator =(Loader::Results const ©); 3216 8 ~Results 0 516 3728 25 Loader::Results::~Results 0 0 10 /** * */ 39 inline Loader::Results::~Results(void); 3217 5 clear 0 4 3728 22 Loader::Results::clear 0 1 1541 47 /** * Removes all the files from the list. */ 41 inline void Loader::Results::clear(void); 3218 13 get_num_files 0 4 3728 30 Loader::Results::get_num_files 0 1 1542 58 /** * Returns the number of files on the result list. */ 54 inline int Loader::Results::get_num_files(void) const; 3219 8 get_file 0 4 3728 25 Loader::Results::get_file 0 1 1543 51 /** * Returns the nth file on the result list. */ 62 inline Filename const &Loader::Results::get_file(int n) const; 3220 13 get_file_type 0 4 3728 30 Loader::Results::get_file_type 0 1 1544 68 /** * Returns the file type of the nth file on the result list. */ 67 inline LoaderFileType *Loader::Results::get_file_type(int n) const; 3221 6 Loader 0 260 3727 14 Loader::Loader 0 2 1518 1519 10 /** * */ 109 explicit Loader::Loader(std::string const &name = "loader"); inline Loader::Loader(Loader const &) = default; 3222 16 set_task_manager 0 4 3727 24 Loader::set_task_manager 0 1 1520 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); 3223 16 get_task_manager 0 4 3727 24 Loader::get_task_manager 0 1 1521 72 /** * Returns the task manager that is used for asynchronous loads. */ 62 inline AsyncTaskManager *Loader::get_task_manager(void) const; 3224 14 set_task_chain 0 4 3727 22 Loader::set_task_chain 0 1 1522 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); 3225 14 get_task_chain 0 4 3727 22 Loader::get_task_chain 0 1 1523 70 /** * Returns the task chain that is used for asynchronous loads. */ 61 inline std::string const &Loader::get_task_chain(void) const; 3226 12 stop_threads 0 4 3727 20 Loader::stop_threads 0 1 1524 56 /** * Stop any threads used for asynchronous loads. */ 39 inline void Loader::stop_threads(void); 3227 6 remove 0 4 3727 14 Loader::remove 0 1 1525 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); 3228 9 load_sync 0 4 3727 17 Loader::load_sync 0 1 1526 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; 3229 18 make_async_request 0 4 3727 26 Loader::make_async_request 0 1 1527 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()); 3230 10 load_async 0 4 3727 18 Loader::load_async 0 1 1528 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); 3231 9 save_sync 0 4 3727 17 Loader::save_sync 0 1 1529 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; 3232 23 make_async_save_request 0 4 3727 31 Loader::make_async_save_request 0 1 1530 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); 3233 10 save_async 0 4 3727 18 Loader::save_async 0 1 1531 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); 3234 15 load_bam_stream 0 4 3727 23 Loader::load_bam_stream 0 1 1532 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); 3235 6 output 0 6 3727 14 Loader::output 0 1 1533 10 /** * */ 53 virtual void Loader::output(std::ostream &out) const; 3236 14 get_global_ptr 0 4 3727 22 Loader::get_global_ptr 0 1 1534 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); 3237 14 get_class_type 0 4 3727 22 Loader::get_class_type 0 1 1535 0 47 static TypeHandle Loader::get_class_type(void); 3238 7 ~Loader 0 516 3727 15 Loader::~Loader 0 0 0 22 Loader::~Loader(void); 3239 8 get_name 0 6 3729 24 LoaderFileType::get_name 0 1 1545 0 61 virtual std::string LoaderFileType::get_name(void) const = 0; 3240 13 get_extension 0 6 3729 29 LoaderFileType::get_extension 0 1 1546 0 66 virtual std::string LoaderFileType::get_extension(void) const = 0; 3241 25 get_additional_extensions 0 6 3729 41 LoaderFileType::get_additional_extensions 0 1 1547 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; 3242 19 supports_compressed 0 6 3729 35 LoaderFileType::supports_compressed 0 1 1548 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; 3243 20 get_allow_disk_cache 0 6 3729 36 LoaderFileType::get_allow_disk_cache 0 1 1549 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; 3244 19 get_allow_ram_cache 0 6 3729 35 LoaderFileType::get_allow_ram_cache 0 1 1550 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; 3245 13 supports_load 0 6 3729 29 LoaderFileType::supports_load 0 1 1551 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; 3246 13 supports_save 0 6 3729 29 LoaderFileType::supports_save 0 1 1552 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; 3247 14 get_class_type 0 4 3729 30 LoaderFileType::get_class_type 0 1 1553 0 55 static TypeHandle LoaderFileType::get_class_type(void); 3248 23 ~LoaderFileTypeRegistry 0 516 3731 47 LoaderFileTypeRegistry::~LoaderFileTypeRegistry 0 0 10 /** * */ 54 LoaderFileTypeRegistry::~LoaderFileTypeRegistry(void); 3249 13 register_type 0 4 3731 37 LoaderFileTypeRegistry::register_type 0 1 1555 56 /** * Defines a new LoaderFileType in the universe. */ 59 void LoaderFileTypeRegistry::register_type(PyObject *type); 3250 22 register_deferred_type 0 4 3731 46 LoaderFileTypeRegistry::register_deferred_type 0 1 1556 305 /** * Records a type associated with a particular extension to be loaded in the * future. The named library will be dynamically loaded the first time files * of this extension are loaded; presumably this library will call * register_type() when it initializes, thus making the extension loadable. */ 75 void LoaderFileTypeRegistry::register_deferred_type(PyObject *entry_point); 3251 15 unregister_type 0 4 3731 39 LoaderFileTypeRegistry::unregister_type 0 1 1557 68 /** * Removes a type previously registered using register_type. */ 61 void LoaderFileTypeRegistry::unregister_type(PyObject *type); 3252 13 get_num_types 0 4 3731 37 LoaderFileTypeRegistry::get_num_types 0 1 1558 56 /** * Returns the total number of types registered. */ 54 int LoaderFileTypeRegistry::get_num_types(void) const; 3253 8 get_type 0 4 3731 32 LoaderFileTypeRegistry::get_type 0 1 1559 43 /** * Returns the nth type registered. */ 62 LoaderFileType *LoaderFileTypeRegistry::get_type(int n) const; 3254 23 get_type_from_extension 0 4 3731 47 LoaderFileTypeRegistry::get_type_from_extension 0 1 1560 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); 3255 5 write 0 4 3731 29 LoaderFileTypeRegistry::write 0 1 1561 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; 3256 14 get_global_ptr 0 4 3731 38 LoaderFileTypeRegistry::get_global_ptr 0 1 1562 73 /** * Returns a pointer to the global LoaderFileTypeRegistry object. */ 76 static LoaderFileTypeRegistry *LoaderFileTypeRegistry::get_global_ptr(void); 3257 10 __reduce__ 0 4 3731 34 LoaderFileTypeRegistry::__reduce__ 0 1 1563 0 57 PyObject *LoaderFileTypeRegistry::__reduce__(void) const; 3258 22 LoaderFileTypeRegistry 0 260 3731 46 LoaderFileTypeRegistry::LoaderFileTypeRegistry 0 1 1554 10 /** * */ 96 inline LoaderFileTypeRegistry::LoaderFileTypeRegistry(LoaderFileTypeRegistry const &) = default; 3259 4 make 0 4 3733 20 MaterialAttrib::make 0 1 1564 113 /** * Constructs a new MaterialAttrib object suitable for rendering the indicated * material onto geometry. */ 79 static ConstPointerTo< RenderAttrib > MaterialAttrib::make(Material *material); 3260 8 make_off 0 4 3733 24 MaterialAttrib::make_off 0 1 1565 97 /** * Constructs a new MaterialAttrib object suitable for rendering unmateriald * geometry. */ 69 static ConstPointerTo< RenderAttrib > MaterialAttrib::make_off(void); 3261 12 make_default 0 4 3733 28 MaterialAttrib::make_default 0 1 1566 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); 3262 6 is_off 0 4 3733 22 MaterialAttrib::is_off 0 1 1567 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; 3263 12 get_material 0 4 3733 28 MaterialAttrib::get_material 0 1 1568 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; 3264 14 get_class_slot 0 4 3733 30 MaterialAttrib::get_class_slot 0 1 1569 0 48 static int MaterialAttrib::get_class_slot(void); 3265 14 get_class_type 0 4 3733 30 MaterialAttrib::get_class_type 0 1 1570 0 55 static TypeHandle MaterialAttrib::get_class_type(void); 3266 15 ~MaterialAttrib 0 516 3733 31 MaterialAttrib::~MaterialAttrib 0 0 0 38 MaterialAttrib::~MaterialAttrib(void); 3267 19 ModelFlattenRequest 0 260 3736 40 ModelFlattenRequest::ModelFlattenRequest 0 2 1571 1572 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; 3268 8 get_orig 0 4 3736 29 ModelFlattenRequest::get_orig 0 1 1573 50 /** * Returns the original, unflattened node. */ 60 inline PandaNode *ModelFlattenRequest::get_orig(void) const; 3269 8 is_ready 0 4 3736 29 ModelFlattenRequest::is_ready 0 1 1574 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; 3270 9 get_model 0 4 3736 30 ModelFlattenRequest::get_model 0 1 1575 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; 3271 14 get_class_type 0 4 3736 35 ModelFlattenRequest::get_class_type 0 1 1576 0 60 static TypeHandle ModelFlattenRequest::get_class_type(void); 3272 20 ~ModelFlattenRequest 0 516 3736 41 ModelFlattenRequest::~ModelFlattenRequest 0 0 0 48 ModelFlattenRequest::~ModelFlattenRequest(void); 3273 16 ModelLoadRequest 0 260 3738 34 ModelLoadRequest::ModelLoadRequest 0 2 1577 1578 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; 3274 12 get_filename 0 4 3738 30 ModelLoadRequest::get_filename 0 1 1579 83 /** * Returns the filename associated with this asynchronous ModelLoadRequest. */ 66 inline Filename const &ModelLoadRequest::get_filename(void) const; 3275 11 get_options 0 4 3738 29 ModelLoadRequest::get_options 0 1 1580 91 /** * Returns the LoaderOptions associated with this asynchronous * ModelLoadRequest. */ 70 inline LoaderOptions const &ModelLoadRequest::get_options(void) const; 3276 10 get_loader 0 4 3738 28 ModelLoadRequest::get_loader 0 1 1581 91 /** * Returns the Loader object associated with this asynchronous * ModelLoadRequest. */ 56 inline Loader *ModelLoadRequest::get_loader(void) const; 3277 8 is_ready 0 4 3738 26 ModelLoadRequest::is_ready 0 1 1582 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; 3278 9 get_model 0 4 3738 27 ModelLoadRequest::get_model 0 1 1583 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; 3279 14 get_class_type 0 4 3738 32 ModelLoadRequest::get_class_type 0 1 1584 0 57 static TypeHandle ModelLoadRequest::get_class_type(void); 3280 17 ~ModelLoadRequest 0 516 3738 35 ModelLoadRequest::~ModelLoadRequest 0 0 0 42 ModelLoadRequest::~ModelLoadRequest(void); 3281 9 ModelNode 0 260 3744 20 ModelNode::ModelNode 0 1 1585 22 /** * */ /** * */ 62 inline explicit ModelNode::ModelNode(std::string const &name); 3282 22 set_preserve_transform 0 4 3744 33 ModelNode::set_preserve_transform 0 1 1586 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); 3283 22 get_preserve_transform 0 4 3744 33 ModelNode::get_preserve_transform 0 1 1587 104 /** * Returns the current setting of the preserve_transform flag. See * set_preserve_transform(). */ 82 inline ModelNode::PreserveTransform ModelNode::get_preserve_transform(void) const; 3284 23 set_preserve_attributes 0 4 3744 34 ModelNode::set_preserve_attributes 0 1 1588 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); 3285 23 get_preserve_attributes 0 4 3744 34 ModelNode::get_preserve_attributes 0 1 1589 106 /** * Returns the current setting of the preserve_attributes flag. See * set_preserve_attributes(). */ 58 inline int ModelNode::get_preserve_attributes(void) const; 3286 19 set_transform_limit 0 4 3744 30 ModelNode::set_transform_limit 0 1 1590 0 55 void ModelNode::set_transform_limit(PN_stdfloat limit); 3287 14 get_class_type 0 4 3744 25 ModelNode::get_class_type 0 1 1591 0 50 static TypeHandle ModelNode::get_class_type(void); 3288 10 ~ModelNode 0 516 3744 21 ModelNode::~ModelNode 0 0 0 28 ModelNode::~ModelNode(void); 3289 9 ModelRoot 0 260 3746 20 ModelRoot::ModelRoot 0 2 1592 1593 34 /** * */ /** * */ /** * */ 144 inline explicit ModelRoot::ModelRoot(std::string const &name); inline explicit ModelRoot::ModelRoot(Filename const &fullpath, time_t timestamp); 3290 19 get_model_ref_count 0 4 3746 30 ModelRoot::get_model_ref_count 0 1 1594 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; 3291 12 get_fullpath 0 4 3746 23 ModelRoot::get_fullpath 0 1 1595 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; 3292 12 set_fullpath 0 4 3746 23 ModelRoot::set_fullpath 0 1 1596 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); 3293 13 get_timestamp 0 4 3746 24 ModelRoot::get_timestamp 0 1 1597 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; 3294 13 set_timestamp 0 4 3746 24 ModelRoot::set_timestamp 0 1 1598 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); 3295 14 ModelReference 0 260 3749 41 ModelRoot::ModelReference::ModelReference 0 2 1602 1603 10 /** * */ 150 inline ModelRoot::ModelReference::ModelReference(void); inline ModelRoot::ModelReference::ModelReference(ModelRoot::ModelReference const &) = default; 3296 15 ~ModelReference 0 516 3749 42 ModelRoot::ModelReference::~ModelReference 0 0 0 49 ModelRoot::ModelReference::~ModelReference(void); 3297 13 get_reference 0 4 3746 24 ModelRoot::get_reference 0 1 1599 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; 3298 13 set_reference 0 4 3746 24 ModelRoot::set_reference 0 1 1600 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); 3299 14 get_class_type 0 4 3746 25 ModelRoot::get_class_type 0 1 1601 0 50 static TypeHandle ModelRoot::get_class_type(void); 3300 10 ~ModelRoot 0 516 3746 21 ModelRoot::~ModelRoot 0 0 0 28 ModelRoot::~ModelRoot(void); 3301 9 has_model 0 4 3751 20 ModelPool::has_model 0 1 1604 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); 3302 12 verify_model 0 4 3751 23 ModelPool::verify_model 0 1 1605 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); 3303 9 get_model 0 4 3751 20 ModelPool::get_model 0 1 1606 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); 3304 10 load_model 0 4 3751 21 ModelPool::load_model 0 1 1607 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()); 3305 9 add_model 0 4 3751 20 ModelPool::add_model 0 2 1608 1609 384 /** * 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. * * @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); 3306 13 release_model 0 4 3751 24 ModelPool::release_model 0 2 1610 1611 754 /** * 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. * * @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); 3307 18 release_all_models 0 4 3751 29 ModelPool::release_all_models 0 1 1612 84 /** * Releases all models in the pool and restores the pool to the empty state. */ 55 static inline void ModelPool::release_all_models(void); 3308 15 garbage_collect 0 4 3751 26 ModelPool::garbage_collect 0 1 1613 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); 3309 13 list_contents 0 4 3751 24 ModelPool::list_contents 0 2 1614 1615 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); 3310 5 write 0 4 3751 16 ModelPool::write 0 1 1616 105 /** * Lists the contents of the model pool to the indicated output stream. Helps * with debugging. */ 48 static void ModelPool::write(std::ostream &out); 3311 10 ~ModelPool 0 516 3751 21 ModelPool::~ModelPool 0 0 0 28 ModelPool::~ModelPool(void); 3312 16 ModelSaveRequest 0 260 3752 34 ModelSaveRequest::ModelSaveRequest 0 2 1617 1618 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; 3313 12 get_filename 0 4 3752 30 ModelSaveRequest::get_filename 0 1 1619 83 /** * Returns the filename associated with this asynchronous ModelSaveRequest. */ 66 inline Filename const &ModelSaveRequest::get_filename(void) const; 3314 11 get_options 0 4 3752 29 ModelSaveRequest::get_options 0 1 1620 91 /** * Returns the LoaderOptions associated with this asynchronous * ModelSaveRequest. */ 70 inline LoaderOptions const &ModelSaveRequest::get_options(void) const; 3315 8 get_node 0 4 3752 26 ModelSaveRequest::get_node 0 1 1621 63 /** * Returns the node that was passed to the constructor. */ 57 inline PandaNode *ModelSaveRequest::get_node(void) const; 3316 10 get_loader 0 4 3752 28 ModelSaveRequest::get_loader 0 1 1622 91 /** * Returns the Loader object associated with this asynchronous * ModelSaveRequest. */ 56 inline Loader *ModelSaveRequest::get_loader(void) const; 3317 8 is_ready 0 4 3752 26 ModelSaveRequest::is_ready 0 1 1623 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; 3318 11 get_success 0 4 3752 29 ModelSaveRequest::get_success 0 1 1624 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; 3319 14 get_class_type 0 4 3752 32 ModelSaveRequest::get_class_type 0 1 1625 0 57 static TypeHandle ModelSaveRequest::get_class_type(void); 3320 17 ~ModelSaveRequest 0 516 3752 35 ModelSaveRequest::~ModelSaveRequest 0 0 0 42 ModelSaveRequest::~ModelSaveRequest(void); 3321 4 make 0 4 3753 19 TextureAttrib::make 0 2 1626 1627 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); 3322 8 make_off 0 4 3753 23 TextureAttrib::make_off 0 1 1628 95 /** * Constructs a new TextureAttrib object suitable for rendering untextured * geometry. */ 68 static ConstPointerTo< RenderAttrib > TextureAttrib::make_off(void); 3323 12 make_default 0 4 3753 27 TextureAttrib::make_default 0 1 1629 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); 3324 6 is_off 0 4 3753 21 TextureAttrib::is_off 0 1 1630 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; 3325 11 get_texture 0 4 3753 26 TextureAttrib::get_texture 0 1 1631 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; 3326 12 make_all_off 0 4 3753 27 TextureAttrib::make_all_off 0 1 1632 109 /** * Constructs a new TextureAttrib object that turns off all stages (and hence * disables texturing). */ 72 static ConstPointerTo< RenderAttrib > TextureAttrib::make_all_off(void); 3327 17 get_num_on_stages 0 4 3753 32 TextureAttrib::get_num_on_stages 0 1 1633 76 /** * Returns the number of stages that are turned on by the attribute. */ 56 inline int TextureAttrib::get_num_on_stages(void) const; 3328 12 get_on_stage 0 4 3753 27 TextureAttrib::get_on_stage 0 1 1634 84 /** * Returns the nth stage turned on by the attribute, sorted in render order. */ 62 inline TextureStage *TextureAttrib::get_on_stage(int n) const; 3329 20 get_num_on_ff_stages 0 4 3753 35 TextureAttrib::get_num_on_ff_stages 0 1 1635 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; 3330 15 get_on_ff_stage 0 4 3753 30 TextureAttrib::get_on_ff_stage 0 1 1636 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; 3331 15 get_ff_tc_index 0 4 3753 30 TextureAttrib::get_ff_tc_index 0 1 1637 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; 3332 12 has_on_stage 0 4 3753 27 TextureAttrib::has_on_stage 0 1 1638 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; 3333 14 get_on_texture 0 4 3753 29 TextureAttrib::get_on_texture 0 1 1639 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; 3334 14 get_on_sampler 0 4 3753 29 TextureAttrib::get_on_sampler 0 1 1640 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; 3335 21 get_on_stage_override 0 4 3753 36 TextureAttrib::get_on_stage_override 0 1 1641 74 /** * Returns the override value associated with the indicated stage. */ 75 inline int TextureAttrib::get_on_stage_override(TextureStage *stage) const; 3336 13 find_on_stage 0 4 3753 28 TextureAttrib::find_on_stage 0 1 1642 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; 3337 18 get_num_off_stages 0 4 3753 33 TextureAttrib::get_num_off_stages 0 1 1643 77 /** * Returns the number of stages that are turned off by the attribute. */ 57 inline int TextureAttrib::get_num_off_stages(void) const; 3338 13 get_off_stage 0 4 3753 28 TextureAttrib::get_off_stage 0 1 1644 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; 3339 13 has_off_stage 0 4 3753 28 TextureAttrib::has_off_stage 0 1 1645 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; 3340 11 has_all_off 0 4 3753 26 TextureAttrib::has_all_off 0 1 1646 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; 3341 11 is_identity 0 4 3753 26 TextureAttrib::is_identity 0 1 1647 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; 3342 12 add_on_stage 0 4 3753 27 TextureAttrib::add_on_stage 0 2 1648 1649 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; 3343 15 remove_on_stage 0 4 3753 30 TextureAttrib::remove_on_stage 0 1 1650 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; 3344 13 add_off_stage 0 4 3753 28 TextureAttrib::add_off_stage 0 1 1651 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; 3345 16 remove_off_stage 0 4 3753 31 TextureAttrib::remove_off_stage 0 1 1652 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; 3346 20 unify_texture_stages 0 4 3753 35 TextureAttrib::unify_texture_stages 0 1 1653 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; 3347 15 replace_texture 0 4 3753 30 TextureAttrib::replace_texture 0 2 1654 1655 278 // Let interrogate know this also accepts None /** * Returns a new TextureAttrib, just like this one, but with all references to * the given texture replaced with the new texture. * * As of Panda3D 1.10.13, new_tex may be null to remove the texture. * * @since 1.10.4 */ 207 ConstPointerTo< RenderAttrib > TextureAttrib::replace_texture(Texture *tex, Texture *new_tex) const; ConstPointerTo< RenderAttrib > TextureAttrib::replace_texture(Texture *tex, std::nullptr_t new_tex) const; 3348 14 get_class_slot 0 4 3753 29 TextureAttrib::get_class_slot 0 1 1656 0 47 static int TextureAttrib::get_class_slot(void); 3349 14 get_class_type 0 4 3753 29 TextureAttrib::get_class_type 0 1 1657 0 54 static TypeHandle TextureAttrib::get_class_type(void); 3350 14 ~TextureAttrib 0 516 3753 29 TextureAttrib::~TextureAttrib 0 0 0 36 TextureAttrib::~TextureAttrib(void); 3351 4 make 0 4 3760 18 TexGenAttrib::make 0 2 1658 1659 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); 3352 12 make_default 0 4 3760 26 TexGenAttrib::make_default 0 1 1660 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); 3353 9 add_stage 0 4 3760 23 TexGenAttrib::add_stage 0 2 1661 1662 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; 3354 12 remove_stage 0 4 3760 26 TexGenAttrib::remove_stage 0 1 1663 94 /** * Returns a new TexGenAttrib just like this one, with the indicated stage * removed. */ 85 ConstPointerTo< RenderAttrib > TexGenAttrib::remove_stage(TextureStage *stage) const; 3355 8 is_empty 0 4 3760 22 TexGenAttrib::is_empty 0 1 1664 98 /** * Returns true if no stages are defined in the TexGenAttrib, false if at * least one is. */ 40 bool TexGenAttrib::is_empty(void) const; 3356 9 has_stage 0 4 3760 23 TexGenAttrib::has_stage 0 1 1665 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; 3357 8 get_mode 0 4 3760 22 TexGenAttrib::get_mode 0 1 1666 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; 3358 22 has_gen_texcoord_stage 0 4 3760 36 TexGenAttrib::has_gen_texcoord_stage 0 1 1667 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; 3359 18 get_constant_value 0 4 3760 32 TexGenAttrib::get_constant_value 0 1 1668 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; 3360 18 get_geom_rendering 0 4 3760 32 TexGenAttrib::get_geom_rendering 0 1 1669 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; 3361 14 get_class_slot 0 4 3760 28 TexGenAttrib::get_class_slot 0 1 1670 0 46 static int TexGenAttrib::get_class_slot(void); 3362 14 get_class_type 0 4 3760 28 TexGenAttrib::get_class_type 0 1 1671 0 53 static TypeHandle TexGenAttrib::get_class_type(void); 3363 12 OccluderNode 0 260 3761 26 OccluderNode::OccluderNode 0 1 1672 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); 3364 16 set_double_sided 0 4 3761 30 OccluderNode::set_double_sided 0 1 1673 62 /** * If true, the back-face will also be used to occlude */ 55 inline void OccluderNode::set_double_sided(bool value); 3365 15 is_double_sided 0 4 3761 29 OccluderNode::is_double_sided 0 1 1674 40 /** * Is this occluder double-sided */ 48 inline bool OccluderNode::is_double_sided(void); 3366 16 set_min_coverage 0 4 3761 30 OccluderNode::set_min_coverage 0 1 1675 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); 3367 16 get_min_coverage 0 4 3761 30 OccluderNode::get_min_coverage 0 1 1676 47 /** * Returns the minimum screen coverage. */ 56 inline PN_stdfloat OccluderNode::get_min_coverage(void); 3368 12 set_vertices 0 4 3761 26 OccluderNode::set_vertices 0 1 1677 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); 3369 16 get_num_vertices 0 4 3761 30 OccluderNode::get_num_vertices 0 1 1678 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; 3370 10 get_vertex 0 4 3761 24 OccluderNode::get_vertex 0 1 1679 58 /** * Returns the nth vertex of the occluder polygon. */ 68 inline LPoint3 const &OccluderNode::get_vertex(std::size_t n) const; 3371 10 set_vertex 0 4 3761 24 OccluderNode::set_vertex 0 1 1680 55 /** * Sets the nth vertex of the occluder polygon. */ 70 inline void OccluderNode::set_vertex(std::size_t n, LPoint3 const &v); 3372 14 get_class_type 0 4 3761 28 OccluderNode::get_class_type 0 1 1681 0 53 static TypeHandle OccluderNode::get_class_type(void); 3373 4 make 0 4 3762 20 OccluderEffect::make 0 1 1682 68 /** * Constructs a new OccluderEffect object that does nothing. */ 65 static ConstPointerTo< RenderEffect > OccluderEffect::make(void); 3374 20 get_num_on_occluders 0 4 3762 36 OccluderEffect::get_num_on_occluders 0 1 1683 77 /** * Returns the number of occluders that are enabled by the effectute. */ 60 inline int OccluderEffect::get_num_on_occluders(void) const; 3375 15 get_on_occluder 0 4 3762 31 OccluderEffect::get_on_occluder 0 1 1684 85 /** * Returns the nth occluder enabled by the effectute, sorted in render order. */ 61 inline NodePath OccluderEffect::get_on_occluder(int n) const; 3376 15 has_on_occluder 0 4 3762 31 OccluderEffect::has_on_occluder 0 1 1685 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; 3377 11 is_identity 0 4 3762 27 OccluderEffect::is_identity 0 1 1686 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; 3378 15 add_on_occluder 0 4 3762 31 OccluderEffect::add_on_occluder 0 1 1687 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; 3379 18 remove_on_occluder 0 4 3762 34 OccluderEffect::remove_on_occluder 0 1 1688 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; 3380 14 get_class_type 0 4 3762 30 OccluderEffect::get_class_type 0 1 1689 0 55 static TypeHandle OccluderEffect::get_class_type(void); 3381 15 ~OccluderEffect 0 516 3762 31 OccluderEffect::~OccluderEffect 0 0 0 38 OccluderEffect::~OccluderEffect(void); 3382 13 PolylightNode 0 260 3763 28 PolylightNode::PolylightNode 0 2 1690 1691 71 /** * Use PolylightNode() to construct a new PolylightNode object. */ 133 explicit PolylightNode::PolylightNode(std::string const &name); inline PolylightNode::PolylightNode(PolylightNode const &) = default; 3383 6 enable 0 4 3763 21 PolylightNode::enable 0 1 1692 28 /** * Enable this light */ 40 inline void PolylightNode::enable(void); 3384 7 disable 0 4 3763 22 PolylightNode::disable 0 1 1693 29 /** * Disable this light */ 41 inline void PolylightNode::disable(void); 3385 7 set_pos 0 4 3763 22 PolylightNode::set_pos 0 2 1694 1695 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); 3386 7 get_pos 0 4 3763 22 PolylightNode::get_pos 0 1 1696 40 /** * Returns position as a LPoint3 */ 50 inline LPoint3 PolylightNode::get_pos(void) const; 3387 9 set_color 0 4 3763 24 PolylightNode::set_color 0 2 1697 1698 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); 3388 9 get_color 0 4 3763 24 PolylightNode::get_color 0 1 1699 46 /** * Returns the light's color as LColor */ 51 inline LColor PolylightNode::get_color(void) const; 3389 20 get_color_scenegraph 0 4 3763 35 PolylightNode::get_color_scenegraph 0 1 1700 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; 3390 10 set_radius 0 4 3763 25 PolylightNode::set_radius 0 1 1701 51 /** * Set radius of the spherical light volume */ 53 inline void PolylightNode::set_radius(PN_stdfloat r); 3391 10 get_radius 0 4 3763 25 PolylightNode::get_radius 0 1 1702 51 /** * Get radius of the spherical light volume */ 57 inline PN_stdfloat PolylightNode::get_radius(void) const; 3392 15 set_attenuation 0 4 3763 30 PolylightNode::set_attenuation 0 1 1703 48 /** * Set ALINEAR or AQUADRATIC attenuation */ 81 inline bool PolylightNode::set_attenuation(PolylightNode::Attenuation_Type type); 3393 15 get_attenuation 0 4 3763 30 PolylightNode::get_attenuation 0 1 1704 55 /** * Get "linear" or "quadratic" attenuation type */ 82 inline PolylightNode::Attenuation_Type PolylightNode::get_attenuation(void) const; 3394 6 set_a0 0 4 3763 21 PolylightNode::set_a0 0 1 1705 105 /** * Set the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 50 inline void PolylightNode::set_a0(PN_stdfloat a0); 3395 6 set_a1 0 4 3763 21 PolylightNode::set_a1 0 1 1706 105 /** * Set the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 50 inline void PolylightNode::set_a1(PN_stdfloat a1); 3396 6 set_a2 0 4 3763 21 PolylightNode::set_a2 0 1 1707 105 /** * Set the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 50 inline void PolylightNode::set_a2(PN_stdfloat a2); 3397 6 get_a0 0 4 3763 21 PolylightNode::get_a0 0 1 1708 105 /** * Get the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 53 inline PN_stdfloat PolylightNode::get_a0(void) const; 3398 6 get_a1 0 4 3763 21 PolylightNode::get_a1 0 1 1709 105 /** * Get the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 53 inline PN_stdfloat PolylightNode::get_a1(void) const; 3399 6 get_a2 0 4 3763 21 PolylightNode::get_a2 0 1 1710 105 /** * Get the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 53 inline PN_stdfloat PolylightNode::get_a2(void) const; 3400 10 flicker_on 0 4 3763 25 PolylightNode::flicker_on 0 1 1711 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); 3401 11 flicker_off 0 4 3763 26 PolylightNode::flicker_off 0 1 1712 30 /** * Turn flickering off */ 45 inline void PolylightNode::flicker_off(void); 3402 13 is_flickering 0 4 3763 28 PolylightNode::is_flickering 0 1 1713 44 /** * Check is this light is flickering */ 53 inline bool PolylightNode::is_flickering(void) const; 3403 16 set_flicker_type 0 4 3763 31 PolylightNode::set_flicker_type 0 1 1714 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); 3404 16 get_flicker_type 0 4 3763 31 PolylightNode::get_flicker_type 0 1 1715 34 /** * Returns FRANDOM or FSIN */ 79 inline PolylightNode::Flicker_Type PolylightNode::get_flicker_type(void) const; 3405 10 set_offset 0 4 3763 25 PolylightNode::set_offset 0 1 1716 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); 3406 10 get_offset 0 4 3763 25 PolylightNode::get_offset 0 1 1717 73 /** * Get the offset value for the random and sin flicker variations */ 57 inline PN_stdfloat PolylightNode::get_offset(void) const; 3407 9 set_scale 0 4 3763 24 PolylightNode::set_scale 0 1 1718 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); 3408 9 get_scale 0 4 3763 24 PolylightNode::get_scale 0 1 1719 72 /** * Get the scale value for the random and sin flicker variations */ 56 inline PN_stdfloat PolylightNode::get_scale(void) const; 3409 13 set_step_size 0 4 3763 28 PolylightNode::set_step_size 0 1 1720 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); 3410 13 get_step_size 0 4 3763 28 PolylightNode::get_step_size 0 1 1721 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; 3411 8 set_freq 0 4 3763 23 PolylightNode::set_freq 0 1 1722 39 /** * Set frequency of sin flicker */ 51 inline void PolylightNode::set_freq(PN_stdfloat f); 3412 8 get_freq 0 4 3763 23 PolylightNode::get_freq 0 1 1723 39 /** * Get frequency of sin flicker */ 55 inline PN_stdfloat PolylightNode::get_freq(void) const; 3413 11 operator == 0 4 3763 26 PolylightNode::operator == 0 1 1724 21 // Comparison methods 73 inline bool PolylightNode::operator ==(PolylightNode const &other) const; 3414 11 operator != 0 4 3763 26 PolylightNode::operator != 0 1 1725 0 73 inline bool PolylightNode::operator !=(PolylightNode const &other) const; 3415 10 operator < 0 4 3763 25 PolylightNode::operator < 0 1 1726 0 72 inline bool PolylightNode::operator <(PolylightNode const &other) const; 3416 10 compare_to 0 4 3763 25 PolylightNode::compare_to 0 1 1727 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; 3417 10 is_enabled 0 4 3763 25 PolylightNode::is_enabled 0 1 1728 45 /** * Is this light is enabled/disabled? */ 50 inline bool PolylightNode::is_enabled(void) const; 3418 14 get_class_type 0 4 3763 29 PolylightNode::get_class_type 0 1 1729 0 54 static TypeHandle PolylightNode::get_class_type(void); 3419 14 ~PolylightNode 0 516 3763 29 PolylightNode::~PolylightNode 0 0 0 36 PolylightNode::~PolylightNode(void); 3420 4 make 0 4 3766 21 PolylightEffect::make 0 3 1730 1731 1732 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); 3421 9 add_light 0 4 3766 26 PolylightEffect::add_light 0 1 1733 76 /** * Add a PolylightNode object to this effect and return a new effect */ 90 ConstPointerTo< RenderEffect > PolylightEffect::add_light(NodePath const &newlight) const; 3422 12 remove_light 0 4 3766 29 PolylightEffect::remove_light 0 1 1734 74 /** * Remove a light from this effect. Return the new updated effect */ 93 ConstPointerTo< RenderEffect > PolylightEffect::remove_light(NodePath const &newlight) const; 3423 10 set_weight 0 4 3766 27 PolylightEffect::set_weight 0 1 1735 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; 3424 11 set_contrib 0 4 3766 28 PolylightEffect::set_contrib 0 1 1736 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; 3425 17 set_effect_center 0 4 3766 34 PolylightEffect::set_effect_center 0 1 1737 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; 3426 10 get_weight 0 4 3766 27 PolylightEffect::get_weight 0 1 1738 31 /** * Get the weight value */ 59 inline PN_stdfloat PolylightEffect::get_weight(void) const; 3427 11 get_contrib 0 4 3766 28 PolylightEffect::get_contrib 0 1 1739 40 /** * Returns CT_all or CT_proximal */ 77 inline PolylightEffect::ContribType PolylightEffect::get_contrib(void) const; 3428 17 get_effect_center 0 4 3766 34 PolylightEffect::get_effect_center 0 1 1740 49 /** * Return the value of the _effect_center */ 62 inline LPoint3 PolylightEffect::get_effect_center(void) const; 3429 9 has_light 0 4 3766 26 PolylightEffect::has_light 0 1 1741 100 /** * Returns true if the indicated light is listed in the PolylightEffect, false * otherwise. */ 61 bool PolylightEffect::has_light(NodePath const &light) const; 3430 14 get_class_type 0 4 3766 31 PolylightEffect::get_class_type 0 1 1742 0 56 static TypeHandle PolylightEffect::get_class_type(void); 3431 16 ~PolylightEffect 0 516 3766 33 PolylightEffect::~PolylightEffect 0 0 0 40 PolylightEffect::~PolylightEffect(void); 3432 4 make 0 4 3770 18 ShaderAttrib::make 0 1 1743 65 /** * Constructs a new ShaderAttrib object with nothing set. */ 107 static ConstPointerTo< RenderAttrib > ShaderAttrib::make(Shader const *shader = nullptr, int priority = 0); 3433 8 make_off 0 4 3770 22 ShaderAttrib::make_off 0 1 1744 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); 3434 12 make_default 0 4 3770 26 ShaderAttrib::make_default 0 1 1745 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); 3435 10 has_shader 0 4 3770 24 ShaderAttrib::has_shader 0 1 1746 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; 3436 11 auto_shader 0 4 3770 25 ShaderAttrib::auto_shader 0 1 1747 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; 3437 19 get_shader_priority 0 4 3770 33 ShaderAttrib::get_shader_priority 0 1 1748 10 /** * */ 57 inline int ShaderAttrib::get_shader_priority(void) const; 3438 18 get_instance_count 0 4 3770 32 ShaderAttrib::get_instance_count 0 1 1749 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; 3439 14 auto_normal_on 0 4 3770 28 ShaderAttrib::auto_normal_on 0 1 1750 0 53 inline bool ShaderAttrib::auto_normal_on(void) const; 3440 12 auto_glow_on 0 4 3770 26 ShaderAttrib::auto_glow_on 0 1 1751 10 /** * */ 51 inline bool ShaderAttrib::auto_glow_on(void) const; 3441 13 auto_gloss_on 0 4 3770 27 ShaderAttrib::auto_gloss_on 0 1 1752 10 /** * */ 52 inline bool ShaderAttrib::auto_gloss_on(void) const; 3442 12 auto_ramp_on 0 4 3770 26 ShaderAttrib::auto_ramp_on 0 1 1753 10 /** * */ 51 inline bool ShaderAttrib::auto_ramp_on(void) const; 3443 14 auto_shadow_on 0 4 3770 28 ShaderAttrib::auto_shadow_on 0 1 1754 10 /** * */ 53 inline bool ShaderAttrib::auto_shadow_on(void) const; 3444 10 set_shader 0 4 3770 24 ShaderAttrib::set_shader 0 1 1755 10 /** * */ 97 ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader(Shader const *s, int priority = 0) const; 3445 14 set_shader_off 0 4 3770 28 ShaderAttrib::set_shader_off 0 1 1756 10 /** * */ 84 ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_off(int priority = 0) const; 3446 15 set_shader_auto 0 4 3770 29 ShaderAttrib::set_shader_auto 0 2 1757 1758 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; 3447 12 clear_shader 0 4 3770 26 ShaderAttrib::clear_shader 0 1 1759 10 /** * */ 70 ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader(void) const; 3448 16 set_shader_input 0 4 3770 30 ShaderAttrib::set_shader_input 0 2 1760 1761 220 // Shader Inputs /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ /** * */ 212 ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_input(ShaderInput const &input) const; ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_input(CPT_InternalName , PyObject *, int priority = 0) const; 3449 17 set_shader_inputs 0 4 3770 31 ShaderAttrib::set_shader_inputs 0 1 1762 0 103 ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_inputs(PyObject *args, PyObject *kwargs) const; 3450 18 set_instance_count 0 4 3770 32 ShaderAttrib::set_instance_count 0 1 1763 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; 3451 8 set_flag 0 4 3770 22 ShaderAttrib::set_flag 0 1 1764 10 /** * */ 82 ConstPointerTo< RenderAttrib > ShaderAttrib::set_flag(int flag, bool value) const; 3452 10 clear_flag 0 4 3770 24 ShaderAttrib::clear_flag 0 1 1765 10 /** * */ 72 ConstPointerTo< RenderAttrib > ShaderAttrib::clear_flag(int flag) const; 3453 18 clear_shader_input 0 4 3770 32 ShaderAttrib::clear_shader_input 0 2 1766 1767 22 /** * */ /** * */ 188 ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader_input(InternalName const *id) const; ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader_input(std::string const &id) const; 3454 23 clear_all_shader_inputs 0 4 3770 37 ShaderAttrib::clear_all_shader_inputs 0 1 1768 54 /** * Clears all the shader inputs on the attrib. */ 81 ConstPointerTo< RenderAttrib > ShaderAttrib::clear_all_shader_inputs(void) const; 3455 8 get_flag 0 4 3770 22 ShaderAttrib::get_flag 0 1 1769 10 /** * */ 51 inline bool ShaderAttrib::get_flag(int flag) const; 3456 16 has_shader_input 0 4 3770 30 ShaderAttrib::has_shader_input 0 1 1770 68 /** * Returns true if there is a ShaderInput of the given name. */ 70 inline bool ShaderAttrib::has_shader_input(CPT_InternalName id) const; 3457 10 get_shader 0 4 3770 24 ShaderAttrib::get_shader 0 1 1771 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; 3458 16 get_shader_input 0 4 3770 30 ShaderAttrib::get_shader_input 0 2 1772 1773 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; 3459 25 get_shader_input_nodepath 0 4 3770 39 ShaderAttrib::get_shader_input_nodepath 0 1 1774 115 /** * Returns the ShaderInput as a nodepath. Assertion fails if there is none, * or if it is not a nodepath. */ 86 NodePath const &ShaderAttrib::get_shader_input_nodepath(InternalName const *id) const; 3460 23 get_shader_input_vector 0 4 3770 37 ShaderAttrib::get_shader_input_vector 0 1 1775 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; 3461 24 get_shader_input_texture 0 4 3770 38 ShaderAttrib::get_shader_input_texture 0 1 1776 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; 3462 20 get_shader_input_ptr 0 4 3770 34 ShaderAttrib::get_shader_input_ptr 0 1 1777 136 /** * Returns the ShaderInput as a ShaderPtrData struct. Assertion fails if * there is none. or if it is not a PTA(double/float) */ 94 Shader::ShaderPtrData const *ShaderAttrib::get_shader_input_ptr(InternalName const *id) const; 3463 23 get_shader_input_matrix 0 4 3770 37 ShaderAttrib::get_shader_input_matrix 0 1 1778 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; 3464 23 get_shader_input_buffer 0 4 3770 37 ShaderAttrib::get_shader_input_buffer 0 1 1779 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; 3465 26 register_with_read_factory 0 4 3770 40 ShaderAttrib::register_with_read_factory 0 1 1780 53 /** * Factory method to generate a Shader object */ 59 static void ShaderAttrib::register_with_read_factory(void); 3466 14 get_class_slot 0 4 3770 28 ShaderAttrib::get_class_slot 0 1 1781 0 46 static int ShaderAttrib::get_class_slot(void); 3467 14 get_class_type 0 4 3770 28 ShaderAttrib::get_class_type 0 1 1782 0 53 static TypeHandle ShaderAttrib::get_class_type(void); 3468 13 ~ShaderAttrib 0 516 3770 27 ShaderAttrib::~ShaderAttrib 0 0 0 34 ShaderAttrib::~ShaderAttrib(void); 3469 4 make 0 4 3775 22 ShowBoundsEffect::make 0 1 1783 52 /** * Constructs a new ShowBoundsEffect object. */ 81 static ConstPointerTo< RenderEffect > ShowBoundsEffect::make(bool tight = false); 3470 9 get_tight 0 4 3775 27 ShowBoundsEffect::get_tight 0 1 1784 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; 3471 14 get_class_type 0 4 3775 32 ShowBoundsEffect::get_class_type 0 1 1785 0 57 static TypeHandle ShowBoundsEffect::get_class_type(void); 3472 17 ~ShowBoundsEffect 0 516 3775 35 ShowBoundsEffect::~ShowBoundsEffect 0 0 0 42 ShowBoundsEffect::~ShowBoundsEffect(void); 3473 4 make 0 4 3776 24 TexProjectorEffect::make 0 1 1786 74 /** * Constructs a TexProjectorEffect that modifies no stages at all. */ 69 static ConstPointerTo< RenderEffect > TexProjectorEffect::make(void); 3474 9 add_stage 0 4 3776 29 TexProjectorEffect::add_stage 0 1 1787 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; 3475 12 remove_stage 0 4 3776 32 TexProjectorEffect::remove_stage 0 1 1788 100 /** * Returns a new TexProjectorEffect just like this one, with the indicated * stage removed. */ 91 ConstPointerTo< RenderEffect > TexProjectorEffect::remove_stage(TextureStage *stage) const; 3476 8 is_empty 0 4 3776 28 TexProjectorEffect::is_empty 0 1 1789 104 /** * Returns true if no stages are defined in the TexProjectorEffect, false if * at least one is. */ 46 bool TexProjectorEffect::is_empty(void) const; 3477 9 has_stage 0 4 3776 29 TexProjectorEffect::has_stage 0 1 1790 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; 3478 8 get_from 0 4 3776 28 TexProjectorEffect::get_from 0 1 1791 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; 3479 6 get_to 0 4 3776 26 TexProjectorEffect::get_to 0 1 1792 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; 3480 14 get_lens_index 0 4 3776 34 TexProjectorEffect::get_lens_index 0 1 1793 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; 3481 14 get_class_type 0 4 3776 34 TexProjectorEffect::get_class_type 0 1 1794 0 59 static TypeHandle TexProjectorEffect::get_class_type(void); 3482 11 make_screen 0 4 3777 26 ScissorEffect::make_screen 0 1 1795 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); 3483 9 make_node 0 4 3777 24 ScissorEffect::make_node 0 3 1796 1797 1798 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()); 3484 9 add_point 0 4 3777 24 ScissorEffect::add_point 0 1 1799 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; 3485 9 is_screen 0 4 3777 24 ScissorEffect::is_screen 0 1 1800 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; 3486 9 get_frame 0 4 3777 24 ScissorEffect::get_frame 0 1 1801 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; 3487 14 get_num_points 0 4 3777 29 ScissorEffect::get_num_points 0 1 1802 77 /** * Returns the number of node-based scissor points. See get_point(). */ 53 inline int ScissorEffect::get_num_points(void) const; 3488 9 get_point 0 4 3777 24 ScissorEffect::get_point 0 1 1803 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; 3489 8 get_node 0 4 3777 23 ScissorEffect::get_node 0 1 1804 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; 3490 8 get_clip 0 4 3777 23 ScissorEffect::get_clip 0 1 1805 104 /** * Returns true if this ScissorEffect actually enables scissoring, or false if * it culls only. */ 48 inline bool ScissorEffect::get_clip(void) const; 3491 14 get_class_type 0 4 3777 29 ScissorEffect::get_class_type 0 1 1806 0 54 static TypeHandle ScissorEffect::get_class_type(void); 3492 14 ~ScissorEffect 0 516 3777 29 ScissorEffect::~ScissorEffect 0 0 0 36 ScissorEffect::~ScissorEffect(void); 3493 17 SceneGraphReducer 0 260 3778 36 SceneGraphReducer::SceneGraphReducer 0 2 1807 1808 10 /** * */ 177 inline explicit SceneGraphReducer::SceneGraphReducer(GraphicsStateGuardianBase *gsg = nullptr); inline SceneGraphReducer::SceneGraphReducer(SceneGraphReducer const &) = default; 3494 18 ~SceneGraphReducer 0 516 3778 37 SceneGraphReducer::~SceneGraphReducer 0 0 10 /** * */ 51 inline SceneGraphReducer::~SceneGraphReducer(void); 3495 7 set_gsg 0 4 3778 26 SceneGraphReducer::set_gsg 0 1 1809 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); 3496 9 clear_gsg 0 4 3778 28 SceneGraphReducer::clear_gsg 0 1 1810 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); 3497 7 get_gsg 0 4 3778 26 SceneGraphReducer::get_gsg 0 1 1811 120 /** * Returns the particular GraphicsStateGuardian that this object will attempt * to optimize to. See set_gsg(). */ 73 inline GraphicsStateGuardianBase *SceneGraphReducer::get_gsg(void) const; 3498 18 set_combine_radius 0 4 3778 37 SceneGraphReducer::set_combine_radius 0 1 1812 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); 3499 18 get_combine_radius 0 4 3778 37 SceneGraphReducer::get_combine_radius 0 1 1813 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; 3500 13 apply_attribs 0 4 3778 32 SceneGraphReducer::apply_attribs 0 2 1814 1815 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); 3501 7 flatten 0 4 3778 26 SceneGraphReducer::flatten 0 1 1816 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); 3502 13 remove_column 0 4 3778 32 SceneGraphReducer::remove_column 0 1 1817 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); 3503 21 make_compatible_state 0 4 3778 40 SceneGraphReducer::make_compatible_state 0 1 1818 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); 3504 22 make_compatible_format 0 4 3778 41 SceneGraphReducer::make_compatible_format 0 1 1819 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)); 3505 9 decompose 0 4 3778 28 SceneGraphReducer::decompose 0 1 1820 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); 3506 19 collect_vertex_data 0 4 3778 38 SceneGraphReducer::collect_vertex_data 0 1 1821 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)); 3507 15 make_nonindexed 0 4 3778 34 SceneGraphReducer::make_nonindexed 0 1 1822 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)); 3508 5 unify 0 4 3778 24 SceneGraphReducer::unify 0 1 1823 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); 3509 22 remove_unused_vertices 0 4 3778 41 SceneGraphReducer::remove_unused_vertices 0 1 1824 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); 3510 8 premunge 0 4 3778 27 SceneGraphReducer::premunge 0 1 1825 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); 3511 18 check_live_flatten 0 4 3778 37 SceneGraphReducer::check_live_flatten 0 1 1826 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); 3512 34 py_decode_NodePath_from_bam_stream 0 1 0 34 py_decode_NodePath_from_bam_stream 0 1 1887 0 63 NodePath py_decode_NodePath_from_bam_stream(vector_uchar data); 3513 42 py_decode_NodePath_from_bam_stream_persist 0 1 0 42 py_decode_NodePath_from_bam_stream_persist 0 1 1888 0 92 NodePath py_decode_NodePath_from_bam_stream_persist(PyObject *unpickler, vector_uchar data); 3514 13 ParamNodePath 0 260 3783 28 ParamNodePath::ParamNodePath 0 1 1827 150 /** * Creates a new ParamNodePath storing the given node path object. */ /** * Creates a new ParamNodePath storing the given node path object. */ 63 inline ParamNodePath::ParamNodePath(NodePath const &node_path); 3515 9 get_value 0 4 3783 24 ParamNodePath::get_value 0 1 1828 58 /** * Retrieves the NodePath stored in the parameter. */ 60 inline NodePath const &ParamNodePath::get_value(void) const; 3516 14 get_class_type 0 4 3783 29 ParamNodePath::get_class_type 0 1 1829 0 54 static TypeHandle ParamNodePath::get_class_type(void); 3517 14 ~ParamNodePath 0 516 3783 29 ParamNodePath::~ParamNodePath 0 0 0 36 ParamNodePath::~ParamNodePath(void); 3518 10 PortalNode 0 260 3785 22 PortalNode::PortalNode 0 2 1830 1831 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); 3519 15 set_portal_mask 0 4 3785 27 PortalNode::set_portal_mask 0 1 1832 97 /** * Simultaneously sets both the "from" and "into" PortalMask values to the * same thing. */ 57 inline void PortalNode::set_portal_mask(PortalMask mask); 3520 20 set_from_portal_mask 0 4 3785 32 PortalNode::set_from_portal_mask 0 1 1833 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); 3521 20 set_into_portal_mask 0 4 3785 32 PortalNode::set_into_portal_mask 0 1 1834 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); 3522 20 get_from_portal_mask 0 4 3785 32 PortalNode::get_from_portal_mask 0 1 1835 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; 3523 20 get_into_portal_mask 0 4 3785 32 PortalNode::get_into_portal_mask 0 1 1836 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; 3524 15 set_portal_geom 0 4 3785 27 PortalNode::set_portal_geom 0 1 1837 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); 3525 15 get_portal_geom 0 4 3785 27 PortalNode::get_portal_geom 0 1 1838 85 /** * Returns the current state of the portal_geom flag. See set_portal_geom(). */ 52 inline bool PortalNode::get_portal_geom(void) const; 3526 14 clear_vertices 0 4 3785 26 PortalNode::clear_vertices 0 1 1839 63 /** * Resets the vertices of the portal to the empty list. */ 45 inline void PortalNode::clear_vertices(void); 3527 10 add_vertex 0 4 3785 22 PortalNode::add_vertex 0 1 1840 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); 3528 16 get_num_vertices 0 4 3785 28 PortalNode::get_num_vertices 0 1 1841 64 /** * Returns the number of vertices in the portal polygon. */ 52 inline int PortalNode::get_num_vertices(void) const; 3529 10 get_vertex 0 4 3785 22 PortalNode::get_vertex 0 1 1842 56 /** * Returns the nth vertex of the portal polygon. */ 58 inline LPoint3 const &PortalNode::get_vertex(int n) const; 3530 11 set_cell_in 0 4 3785 23 PortalNode::set_cell_in 0 1 1843 52 /** * Sets the cell that this portal belongs to */ 58 inline void PortalNode::set_cell_in(NodePath const &cell); 3531 11 get_cell_in 0 4 3785 23 PortalNode::get_cell_in 0 1 1844 52 /** * Sets the cell that this portal belongs to */ 52 inline NodePath PortalNode::get_cell_in(void) const; 3532 12 set_cell_out 0 4 3785 24 PortalNode::set_cell_out 0 1 1845 54 /** * Sets the cell that this portal leads out to */ 59 inline void PortalNode::set_cell_out(NodePath const &cell); 3533 12 get_cell_out 0 4 3785 24 PortalNode::get_cell_out 0 1 1846 54 /** * Sets the cell that this portal leads out to */ 53 inline NodePath PortalNode::get_cell_out(void) const; 3534 14 set_clip_plane 0 4 3785 26 PortalNode::set_clip_plane 0 1 1847 80 /** * this is set if the portal will clip against its left and right planes */ 51 inline void PortalNode::set_clip_plane(bool value); 3535 13 is_clip_plane 0 4 3785 25 PortalNode::is_clip_plane 0 1 1848 64 /** * Is this portal clipping against its left-right planes */ 44 inline bool PortalNode::is_clip_plane(void); 3536 11 set_visible 0 4 3785 23 PortalNode::set_visible 0 1 1849 53 /** * this is set if the portal is facing camera */ 48 inline void PortalNode::set_visible(bool value); 3537 10 is_visible 0 4 3785 22 PortalNode::is_visible 0 1 1850 43 /** * Is this portal facing the camera */ 41 inline bool PortalNode::is_visible(void); 3538 13 set_max_depth 0 4 3785 25 PortalNode::set_max_depth 0 1 1851 63 /** * Set the maximum depth this portal will be visible at */ 49 inline void PortalNode::set_max_depth(int value); 3539 13 get_max_depth 0 4 3785 25 PortalNode::get_max_depth 0 1 1852 67 /** * Returns the maximum depth this portal will be visible at */ 43 inline int PortalNode::get_max_depth(void); 3540 8 set_open 0 4 3785 20 PortalNode::set_open 0 1 1853 55 /** * Python sets this based on curent camera zone */ 45 inline void PortalNode::set_open(bool value); 3541 7 is_open 0 4 3785 19 PortalNode::is_open 0 1 1854 55 /** * Is this portal open from current camera zone */ 38 inline bool PortalNode::is_open(void); 3542 14 get_class_type 0 4 3785 26 PortalNode::get_class_type 0 1 1855 0 51 static TypeHandle PortalNode::get_class_type(void); 3543 8 make_off 0 4 3787 23 ScissorAttrib::make_off 0 1 1856 112 /** * Constructs a new ScissorAttrib object that removes the scissor region and * fills the DisplayRegion. */ 68 static ConstPointerTo< RenderAttrib > ScissorAttrib::make_off(void); 3544 4 make 0 4 3787 19 ScissorAttrib::make 0 2 1857 1858 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); 3545 12 make_default 0 4 3787 27 ScissorAttrib::make_default 0 1 1859 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); 3546 6 is_off 0 4 3787 21 ScissorAttrib::is_off 0 1 1860 119 /** * Returns true if the ScissorAttrib is an 'off' ScissorAttrib, indicating * that scissor testing is disabled. */ 46 inline bool ScissorAttrib::is_off(void) const; 3547 9 get_frame 0 4 3787 24 ScissorAttrib::get_frame 0 1 1861 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; 3548 14 get_class_slot 0 4 3787 29 ScissorAttrib::get_class_slot 0 1 1862 0 47 static int ScissorAttrib::get_class_slot(void); 3549 14 get_class_type 0 4 3787 29 ScissorAttrib::get_class_type 0 1 1863 0 54 static TypeHandle ScissorAttrib::get_class_type(void); 3550 14 ~ScissorAttrib 0 516 3787 29 ScissorAttrib::~ScissorAttrib 0 0 0 36 ScissorAttrib::~ScissorAttrib(void); 3551 4 make 0 4 3788 22 ShadeModelAttrib::make 0 1 1864 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); 3552 12 make_default 0 4 3788 30 ShadeModelAttrib::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. */ 75 static ConstPointerTo< RenderAttrib > ShadeModelAttrib::make_default(void); 3553 8 get_mode 0 4 3788 26 ShadeModelAttrib::get_mode 0 1 1866 34 /** * Returns the shade mode. */ 69 inline ShadeModelAttrib::Mode ShadeModelAttrib::get_mode(void) const; 3554 14 get_class_slot 0 4 3788 32 ShadeModelAttrib::get_class_slot 0 1 1867 0 50 static int ShadeModelAttrib::get_class_slot(void); 3555 14 get_class_type 0 4 3788 32 ShadeModelAttrib::get_class_type 0 1 1868 0 57 static TypeHandle ShadeModelAttrib::get_class_type(void); 3556 17 ~ShadeModelAttrib 0 516 3788 35 ShadeModelAttrib::~ShadeModelAttrib 0 0 0 42 ShadeModelAttrib::~ShadeModelAttrib(void); 3557 8 make_off 0 4 3790 23 StencilAttrib::make_off 0 1 1869 69 /** * Constructs a StencilAttrib that has stenciling turned off. */ 68 static ConstPointerTo< RenderAttrib > StencilAttrib::make_off(void); 3558 12 make_default 0 4 3790 27 StencilAttrib::make_default 0 1 1870 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); 3559 4 make 0 4 3790 19 StencilAttrib::make 0 1 1871 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))); 3560 12 make_2_sided 0 4 3790 27 StencilAttrib::make_2_sided 0 1 1872 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); 3561 15 make_with_clear 0 4 3790 30 StencilAttrib::make_with_clear 0 1 1873 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); 3562 23 make_2_sided_with_clear 0 4 3790 38 StencilAttrib::make_2_sided_with_clear 0 1 1874 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); 3563 16 get_render_state 0 4 3790 31 StencilAttrib::get_render_state 0 1 1875 32 /** * Returns render state. */ 117 inline unsigned int StencilAttrib::get_render_state(StencilAttrib::StencilRenderState render_state_identifier) const; 3564 14 get_class_slot 0 4 3790 29 StencilAttrib::get_class_slot 0 1 1876 0 47 static int StencilAttrib::get_class_slot(void); 3565 14 get_class_type 0 4 3790 29 StencilAttrib::get_class_type 0 1 1877 0 54 static TypeHandle StencilAttrib::get_class_type(void); 3566 14 ~StencilAttrib 0 516 3790 29 StencilAttrib::~StencilAttrib 0 0 0 36 StencilAttrib::~StencilAttrib(void); 3567 10 has_shader 0 4 3794 22 ShaderPool::has_shader 0 1 1878 76 /** * Returns true if the shader has ever been loaded, false otherwise. */ 68 static inline bool ShaderPool::has_shader(Filename const &filename); 3568 13 verify_shader 0 4 3794 25 ShaderPool::verify_shader 0 1 1879 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); 3569 11 load_shader 0 4 3794 23 ShaderPool::load_shader 0 1 1880 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); 3570 10 add_shader 0 4 3794 22 ShaderPool::add_shader 0 1 1881 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); 3571 14 release_shader 0 4 3794 26 ShaderPool::release_shader 0 1 1882 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); 3572 19 release_all_shaders 0 4 3794 31 ShaderPool::release_all_shaders 0 1 1883 85 /** * Releases all shaders in the pool and restores the pool to the empty state. */ 57 static inline void ShaderPool::release_all_shaders(void); 3573 15 garbage_collect 0 4 3794 27 ShaderPool::garbage_collect 0 1 1884 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); 3574 13 list_contents 0 4 3794 25 ShaderPool::list_contents 0 1 1885 80 /** * Lists the contents of the shader pool to the indicated output stream. */ 64 static inline void ShaderPool::list_contents(std::ostream &out); 3575 5 write 0 4 3794 17 ShaderPool::write 0 1 1886 80 /** * Lists the contents of the shader pool to the indicated output stream. */ 49 static void ShaderPool::write(std::ostream &out); 3576 11 ~ShaderPool 0 516 3794 23 ShaderPool::~ShaderPool 0 0 0 30 ShaderPool::~ShaderPool(void); 1888 1 0 0 6 3 3601 0 0 0 2 4 this 3 3795 5 other 1 3795 2 0 0 6 4 3594 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 3594 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 3601 4 0 0 6 5 3601 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 3599 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 3599 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 3599 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 3599 25 0 0 7 24 3795 0 0 72 /** * Makes a new 2-d TransformState with the specified components. */ 1 5 shear 1 3599 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 3599 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 3599 5 scale 1 3802 5 shear 1 3599 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 3601 0 0 92 /** * Returns true if the transform represents the identity matrix, false * otherwise. */ 1 4 this 3 3795 30 0 0 6 29 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3601 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 3599 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 3599 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 3599 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 3599 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 3599 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 3594 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 3594 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 3601 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 3601 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 3601 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 38 104 3624 0 0 0 1 4 this 3 3795 87 0 0 38 105 3624 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 3594 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 3594 91 0 0 6 109 3594 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 3594 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 3594 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 3594 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 3601 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 38 116 3624 0 0 0 0 99 0 0 38 117 3624 0 0 0 0 100 0 0 7 118 3817 0 0 0 0 101 0 0 6 120 3594 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 3594 0 0 0 0 103 0 0 6 122 3594 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 3594 105 0 0 6 124 3594 0 0 58 /** * Returns the sort number associated with slot n. */ 2 4 this 3 3818 4 slot 1 3594 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 3594 4 sort 1 3594 107 0 0 7 126 3608 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 3594 108 0 0 6 127 3594 0 0 66 /** * Returns the number of entries in the sorted_slots list. */ 1 4 this 3 3818 109 0 0 6 128 3594 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 3594 110 0 0 6 129 3820 0 0 10 /** * */ 0 111 0 0 7 132 3608 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 3608 5 other 1 3608 112 0 0 7 133 3608 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 3608 5 other 1 3608 113 0 0 6 134 3601 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 3608 114 0 0 6 135 3594 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 3608 5 other 1 3608 115 0 0 6 136 3797 0 0 55 /** * Returns a suitable hash value for phash_map. */ 1 4 this 3 3608 116 0 0 7 137 3608 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 3608 117 0 0 4 138 3813 0 0 10 /** * */ 2 4 this 3 3608 3 out 1 3814 118 0 0 4 139 3813 0 0 10 /** * */ 3 4 this 3 3608 3 out 1 3814 12 indent_level 1 3594 119 0 0 6 140 3594 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 3594 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 3601 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 3594 0 0 0 1 4 this 3 3608 124 0 0 7 149 3817 0 0 0 0 125 0 0 23 152 3608 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 3598 9 thickness 5 3599 11 perspective 5 3601 15 wireframe_color 5 3821 126 0 0 7 153 3608 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 3598 0 0 35 /** * Returns the render mode. */ 1 4 this 3 3822 128 0 0 6 155 3599 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 3601 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 3594 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 3594 132 0 0 6 170 3594 0 0 0 0 133 0 0 7 172 3817 0 0 0 0 134 0 0 7 175 3608 0 0 70 /** * Constructs a TexMatrixAttrib that applies no stages at all. */ 0 135 0 0 23 175 3608 0 0 210 /** * Constructs a TexMatrixAttrib that applies the indicated matrix to the * default texture stage. This interface is deprecated. * * @deprecated Use the constructor that takes a TextureStage instead. */ 1 3 mat 1 3801 136 0 0 23 175 3608 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 3608 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 3608 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 5 3594 139 0 0 7 178 3608 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 3601 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 3601 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 3594 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 3594 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 3594 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 3594 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 3594 149 0 0 6 188 3594 0 0 0 0 150 0 0 7 190 3817 0 0 0 0 151 0 0 6 192 3594 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 3594 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 3594 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 3601 0 0 63 /** * Returns true if the state is empty, false otherwise. */ 1 4 this 3 3826 156 0 0 6 197 3601 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 3601 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 23 200 3826 0 0 58 /** * Returns a RenderState with five attributes set. */ 6 7 attrib1 1 3608 7 attrib2 1 3608 7 attrib3 1 3608 7 attrib4 1 3608 7 attrib5 1 3608 8 override 5 3594 160 0 0 23 200 3826 0 0 58 /** * Returns a RenderState with four attributes set. */ 5 7 attrib1 1 3608 7 attrib2 1 3608 7 attrib3 1 3608 7 attrib4 1 3608 8 override 5 3594 161 0 0 23 200 3826 0 0 59 /** * Returns a RenderState with three attributes set. */ 4 7 attrib1 1 3608 7 attrib2 1 3608 7 attrib3 1 3608 8 override 5 3594 162 0 0 23 200 3826 0 0 57 /** * Returns a RenderState with two attributes set. */ 3 7 attrib1 1 3608 7 attrib2 1 3608 8 override 5 3594 163 0 0 23 200 3826 0 0 56 /** * Returns a RenderState with one attribute set. */ 2 6 attrib 1 3608 8 override 5 3594 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 3608 8 override 5 3594 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 3608 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 3608 8 override 1 3594 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 3594 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 3594 172 0 0 6 207 3601 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 3601 0 0 90 /** * Returns true if an attrib of the indicated type is present, false * otherwise. */ 2 4 this 3 3826 4 slot 1 3594 174 0 0 7 208 3608 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 3608 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 3594 176 0 0 7 209 3608 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 3594 177 0 0 6 210 3594 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 3594 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 3594 179 0 0 7 214 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 215 3813 0 0 64 /** * Overrides this method to update PStats appropriately. */ 1 4 this 3 3826 181 0 0 6 216 3601 0 0 64 /** * Overrides this method to update PStats appropriately. */ 1 4 this 3 3826 182 0 0 4 217 3813 0 0 64 /** * Overrides this method to update PStats appropriately. */ 1 4 this 3 3826 183 0 0 6 218 3601 0 0 64 /** * Overrides this method to update PStats appropriately. */ 1 4 this 3 3826 184 0 0 6 219 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 220 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 221 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 222 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 223 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 224 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 225 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 226 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 38 227 3624 0 0 0 1 4 this 3 3826 193 0 0 38 228 3624 0 0 0 1 4 this 3 3826 194 0 0 4 229 3813 0 0 10 /** * */ 2 4 this 3 3826 3 out 1 3814 195 0 0 4 230 3813 0 0 10 /** * */ 3 4 this 3 3826 3 out 1 3814 12 indent_level 1 3594 196 0 0 6 231 3594 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 232 3594 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 233 3594 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 234 3594 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 235 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 236 3594 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 237 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 238 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 239 3601 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 38 240 3624 0 0 0 0 206 0 0 38 241 3624 0 0 0 0 207 0 0 6 242 3594 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 208 0 0 6 243 3594 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 209 0 0 6 244 3594 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 3594 210 0 0 7 245 3817 0 0 0 0 211 0 0 23 247 3608 0 0 51 /** * Constructs a new AlphaTestAttrib object. */ 2 4 mode 1 3595 15 reference_alpha 1 3599 212 0 0 7 248 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 213 0 0 6 249 3599 0 0 45 /** * Returns the alpha reference value. */ 1 4 this 3 3834 214 0 0 6 250 3595 0 0 40 /** * Returns the alpha write mode. */ 1 4 this 3 3834 215 0 0 6 253 3594 0 0 0 0 216 0 0 7 255 3817 0 0 0 0 217 0 0 23 259 3608 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 3613 218 0 0 7 260 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 219 0 0 6 261 3613 0 0 48 /** * Returns the specified antialias mode. */ 1 4 this 3 3836 220 0 0 6 262 3613 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 221 0 0 6 263 3613 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 222 0 0 6 268 3594 0 0 0 0 223 0 0 7 270 3817 0 0 0 0 224 0 0 6 273 3594 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 225 0 0 4 274 3813 0 0 10 /** * */ 2 4 this 3 3838 3 out 1 3814 226 0 0 4 275 3813 0 0 10 /** * */ 3 4 this 3 3838 3 out 1 3814 12 indent_level 1 3594 227 0 0 6 276 3594 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 228 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 229 0 0 6 278 3601 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 230 0 0 7 279 3817 0 0 0 0 231 0 0 6 281 3601 0 0 0 2 4 this 3 3840 5 other 1 3840 232 0 0 6 282 3601 0 0 63 /** * Returns true if the state is empty, false otherwise. */ 1 4 this 3 3840 233 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 234 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 235 0 0 7 284 3838 0 0 47 /** * Returns the nth effect in the state. */ 2 4 this 3 3840 1 n 1 3797 236 0 0 6 285 3797 0 0 73 /** * Returns the number of separate effects indicated in the state. */ 1 4 this 3 3840 237 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 238 0 0 7 286 3838 0 0 47 /** * Returns the nth effect in the state. */ 2 4 this 3 3840 1 n 1 3797 239 0 0 6 287 3594 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 240 0 0 7 288 3840 0 0 55 /** * Returns a RenderEffects with no effects set. */ 0 241 0 0 23 289 3840 0 0 55 /** * Returns a RenderEffects with one effect set. */ 1 6 effect 1 3838 242 0 0 23 289 3840 0 0 56 /** * Returns a RenderEffects with two effects set. */ 2 7 effect1 1 3838 7 effect2 1 3838 243 0 0 23 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 244 0 0 23 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 245 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 246 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 247 0 0 4 292 3813 0 0 10 /** * */ 2 4 this 3 3840 3 out 1 3814 248 0 0 4 293 3813 0 0 10 /** * */ 3 4 this 3 3840 3 out 1 3814 12 indent_level 1 3594 249 0 0 6 294 3594 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 250 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 251 0 0 6 296 3601 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 252 0 0 7 297 3817 0 0 0 0 253 0 0 7 307 3651 2131 0 10 /** * */ 1 4 name 1 3842 254 0 0 7 309 3651 2131 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 3651 5 other 1 3651 255 0 0 7 310 3651 2131 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 256 0 0 7 311 3651 2131 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 5 3845 257 0 0 39 312 3651 2131 0 0 1 4 this 3 3843 258 0 0 38 313 3624 0 0 0 2 4 this 3 3843 4 memo 1 3624 259 0 0 6 314 3594 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 5 3845 260 0 0 7 315 3651 2131 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 3594 14 current_thread 5 3845 261 0 0 6 316 3594 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 3651 14 current_thread 5 3845 262 0 0 6 318 3594 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 5 3845 263 0 0 7 319 3651 2131 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 3594 14 current_thread 5 3845 264 0 0 6 320 3594 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 3594 14 current_thread 5 3845 265 0 0 6 321 3594 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 3651 14 current_thread 5 3845 266 0 0 6 323 3594 0 0 63 /** * Returns the number of nodes at and below this level. */ 1 4 this 3 3843 267 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 3651 10 child_node 1 3651 4 sort 5 3594 14 current_thread 5 3845 268 0 0 6 325 3601 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 3651 10 child_node 1 3651 14 current_thread 5 3845 269 0 0 4 325 3813 0 0 47 /** * Removes the nth child from the node. */ 3 4 this 3 3651 11 child_index 1 3594 14 current_thread 5 3845 270 0 0 6 326 3601 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 3651 10 orig_child 1 3651 9 new_child 1 3651 14 current_thread 5 3845 271 0 0 6 327 3601 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 3651 10 child_node 1 3651 14 current_thread 5 3845 272 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 3651 11 child_index 1 3594 14 current_thread 5 3845 273 0 0 6 328 3601 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 3651 10 child_node 1 3651 14 current_thread 5 3845 274 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 3651 13 stashed_index 1 3594 14 current_thread 5 3845 275 0 0 6 329 3594 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 5 3845 276 0 0 7 330 3847 2250 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 5 3845 277 0 0 7 330 3651 2131 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 3594 14 current_thread 5 3845 278 0 0 6 331 3594 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 3594 14 current_thread 5 3845 279 0 0 6 332 3594 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 3651 14 current_thread 5 3845 280 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 3651 10 child_node 1 3651 4 sort 5 3594 14 current_thread 5 3845 281 0 0 4 335 3813 0 0 55 /** * Removes the nth stashed child from the node. */ 3 4 this 3 3651 11 child_index 1 3594 14 current_thread 5 3845 282 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 3651 14 current_thread 5 3845 283 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 3651 5 other 1 3651 14 current_thread 5 3845 284 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 3651 5 other 1 3651 14 current_thread 5 3845 285 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 3651 6 attrib 1 3608 8 override 5 3594 286 0 0 7 340 3608 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 287 0 0 7 340 3608 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 3594 288 0 0 6 341 3601 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 289 0 0 6 341 3601 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 3594 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 3651 4 type 1 3817 291 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 3651 4 slot 1 3594 292 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 3651 6 effect 1 3838 293 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 294 0 0 6 345 3601 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 295 0 0 4 346 3813 0 0 70 /** * Removes the render effect of the given type from this node. */ 2 4 this 3 3651 4 type 1 3817 296 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 3651 5 state 1 3826 14 current_thread 5 3845 297 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 5 3845 298 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 3651 14 current_thread 5 3845 299 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 3651 7 effects 1 3840 14 current_thread 5 3845 300 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 5 3845 301 0 0 4 354 3813 0 0 54 /** * Resets this node to have no render effects. */ 2 4 this 3 3651 14 current_thread 5 3845 302 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 3651 9 transform 1 3795 14 current_thread 5 3845 303 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 5 3845 304 0 0 4 359 3813 0 0 71 /** * Resets the transform on this node to the identity transform. */ 2 4 this 3 3651 14 current_thread 5 3845 305 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 3651 9 transform 1 3795 14 current_thread 5 3845 306 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 5 3845 307 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 3651 14 current_thread 5 3845 308 0 0 6 365 3601 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 309 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 5 3845 310 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 3651 3 key 1 3842 5 value 1 3842 14 current_thread 5 3845 311 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 5 3845 312 0 0 6 370 3601 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 5 3845 313 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 3651 3 key 1 3842 14 current_thread 5 3845 314 0 0 38 377 3624 0 0 0 1 4 this 3 3843 315 0 0 38 378 3624 0 0 0 1 4 this 3 3651 316 0 0 36 379 3813 0 0 0 3 4 this 3 3651 3 key 1 3624 5 value 1 3624 317 0 0 38 380 3624 0 0 0 2 4 this 3 3843 3 key 1 3624 318 0 0 38 381 3601 0 0 0 2 4 this 3 3843 3 key 1 3624 319 0 0 36 382 3813 0 0 0 2 4 this 3 3651 3 key 1 3624 320 0 0 38 383 3624 0 0 0 1 4 this 3 3843 321 0 0 38 388 3594 0 0 0 3 4 this 3 3651 5 visit 1 3848 3 arg 1 3849 322 0 0 6 389 3601 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 323 0 0 4 390 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 3651 5 other 1 3651 324 0 0 4 391 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 5 3842 325 0 0 6 392 3594 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 326 0 0 4 393 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 3651 5 other 1 3651 327 0 0 4 394 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 3651 5 other 1 3651 328 0 0 4 396 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 3651 5 flags 1 3693 329 0 0 6 397 3693 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 3693 330 0 0 4 398 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 3651 5 flags 1 3693 331 0 0 7 399 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 332 0 0 7 400 3850 0 0 79 /** * Returns a DrawMask that is appropriate for rendering to all cameras. */ 0 333 0 0 6 401 3601 0 0 98 /** * Returns true if the node has been hidden to all cameras by clearing its * overall bit. */ 1 4 this 3 3843 334 0 0 4 402 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 3651 14 overall_hidden 1 3601 335 0 0 4 409 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 3651 9 show_mask 1 3850 9 hide_mask 1 3850 10 clear_mask 1 3850 336 0 0 7 410 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 337 0 0 7 411 3850 0 0 90 /** * Returns the hide/show bits of this particular node. See * adjust_draw_mask(). */ 1 4 this 3 3843 338 0 0 7 414 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 339 0 0 7 415 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 340 0 0 4 416 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 3651 4 mask 1 3851 341 0 0 7 417 3851 0 0 57 /** * Returns the "into" collide mask for this node. */ 1 4 this 3 3843 342 0 0 7 418 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 343 0 0 7 422 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 5 3845 344 0 0 7 423 3608 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 5 3845 345 0 0 4 424 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 3651 3 gsg 1 3852 10 node_state 1 3826 346 0 0 6 425 3601 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 347 0 0 6 426 3601 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 348 0 0 4 427 3813 0 0 10 /** * */ 2 4 this 3 3843 3 out 1 3814 349 0 0 4 428 3813 0 0 10 /** * */ 3 4 this 3 3843 3 out 1 3814 12 indent_level 1 3594 350 0 0 4 429 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 3594 351 0 0 4 430 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 3651 11 bounds_type 1 3632 352 0 0 6 431 3632 0 0 71 /** * Returns the bounding volume type set with set_bounds_type(). */ 1 4 this 3 3843 353 0 0 4 435 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 3651 6 volume 1 3854 354 0 0 4 436 3813 0 0 48 /** * @deprecated Use set_bounds() instead. */ 2 4 this 3 3651 6 volume 1 3854 355 0 0 4 437 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 3651 356 0 0 7 438 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 5 3845 357 0 0 7 438 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 5 3845 358 0 0 6 439 3594 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 5 3845 359 0 0 7 440 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 5 3845 360 0 0 6 441 3594 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 5 3845 361 0 0 4 446 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 5 3845 362 0 0 4 447 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 3651 14 current_thread 5 3845 363 0 0 6 448 3601 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 364 0 0 4 450 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 3651 4 flag 1 3601 365 0 0 6 451 3601 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 5 3845 366 0 0 6 453 3601 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 367 0 0 6 454 3601 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 368 0 0 6 455 3601 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 369 0 0 6 456 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 3651 370 0 0 6 457 3601 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 371 0 0 6 459 3594 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 5 3845 372 0 0 7 460 3651 2131 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 5 3662 373 0 0 7 478 3817 0 0 0 0 374 0 0 7 299 3861 0 0 0 1 4 this 3 3651 375 0 0 6 302 3862 0 0 0 1 4 this 3 3651 376 0 0 6 305 3863 0 0 0 1 4 this 3 3651 377 0 0 6 372 3797 0 0 59 /** * Returns the number of tags applied to this node. */ 1 4 this 3 3843 378 0 0 6 376 3842 0 0 63 /** * Returns the key of the nth tag applied to this node. */ 2 4 this 3 3843 1 i 1 3797 379 0 0 7 462 3651 2131 0 0 2 4 this 3 3864 1 n 1 3797 380 0 0 6 463 3797 0 0 0 1 4 this 3 3864 381 0 0 7 466 3651 2131 0 0 2 4 this 3 3866 1 n 1 3797 382 0 0 6 467 3797 0 0 0 1 4 this 3 3866 383 0 0 7 470 3651 2131 0 0 2 4 this 3 3868 1 n 1 3797 384 0 0 6 471 3797 0 0 0 1 4 this 3 3868 385 0 0 23 481 3608 0 0 54 /** * Constructs a new TransparencyAttrib object. */ 1 4 mode 1 3640 386 0 0 7 482 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 387 0 0 6 483 3640 0 0 41 /** * Returns the transparency mode. */ 1 4 this 3 3870 388 0 0 6 485 3594 0 0 0 0 389 0 0 7 487 3817 0 0 0 0 390 0 0 7 491 3608 0 0 139 /** * Constructs a new LogicOpAttrib object that disables special-effect * blending, allowing normal transparency to be used instead. */ 0 391 0 0 23 492 3608 0 0 80 /** * Constructs a new LogicOpAttrib object with the given logic operation. */ 1 2 op 1 3642 392 0 0 7 493 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 393 0 0 6 494 3642 0 0 67 /** * Returns the logic operation specified by this attribute. */ 1 4 this 3 3872 394 0 0 6 496 3594 0 0 0 0 395 0 0 7 498 3817 0 0 0 0 396 0 0 39 503 3877 2285 0 0 3 4 name 1 3874 5 value 1 3624 8 priority 5 3594 397 0 0 7 503 3877 2285 0 10 /** * */ 4 4 name 1 3874 3 tex 1 3756 7 sampler 1 3878 8 priority 5 3594 398 0 0 7 503 3877 2285 0 10 /** * */ 7 4 name 1 3874 3 tex 1 3756 4 read 1 3601 5 write 1 3601 1 z 5 3594 1 n 5 3594 8 priority 5 3594 399 0 0 7 503 3877 2285 0 10 /** * */ 2 4 name 1 3874 8 priority 5 3594 400 0 0 15 503 3877 2285 0 0 1 6 param0 0 3879 401 0 0 6 502 3879 0 0 124 /** * Returns a static ShaderInput object with name NULL, priority zero, type * INVALID, and all value-fields cleared. */ 0 402 0 0 6 506 3601 0 0 0 2 4 this 3 3879 5 other 1 3879 403 0 0 6 507 3601 0 0 0 2 4 this 3 3879 5 other 1 3879 404 0 0 6 508 3601 0 0 0 2 4 this 3 3879 5 other 1 3879 405 0 0 6 509 3797 0 0 10 /** * */ 2 4 this 3 3879 4 hash 1 3797 406 0 0 7 510 3874 0 0 10 /** * */ 1 4 this 3 3879 407 0 0 6 511 3594 0 0 10 /** * */ 1 4 this 3 3879 408 0 0 6 512 3594 0 0 10 /** * */ 1 4 this 3 3879 409 0 0 6 513 3881 0 0 10 /** * */ 1 4 this 3 3879 410 0 0 6 514 3882 0 0 10 /** * */ 1 4 this 3 3879 411 0 0 6 515 3885 0 0 107 /** * Warning: no error checking is done. This *will* crash if get_value_type() * is not M_nodepath. */ 1 4 this 3 3879 412 0 0 7 516 3756 0 0 10 /** * */ 1 4 this 3 3879 413 0 0 6 517 3878 0 0 46 /** * Warning: no error checking is done. */ 1 4 this 3 3879 414 0 0 6 505 3601 0 0 0 1 4 this 3 3879 415 0 0 7 520 3886 2288 0 10 /** * */ 0 416 0 0 15 520 3886 2288 0 10 /** * */ 1 4 copy 1 3887 417 0 0 6 521 3886 0 0 0 2 4 this 3 3886 4 copy 1 3887 418 0 0 4 523 3813 0 0 53 /** * Adds a new InternalName to the collection. */ 2 4 this 3 3886 4 name 1 3874 419 0 0 6 524 3601 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 3886 4 name 1 3874 420 0 0 4 525 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 3886 5 other 1 3887 421 0 0 4 526 3813 0 0 99 /** * Removes from this collection all of the InternalNames listed in the other * collection. */ 2 4 this 3 3886 5 other 1 3887 422 0 0 4 527 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 3886 423 0 0 6 528 3601 0 0 101 /** * Returns true if the indicated InternalName appears in this collection, * false otherwise. */ 2 4 this 3 3887 4 name 1 3874 424 0 0 4 529 3813 0 0 57 /** * Removes all InternalNames from the collection. */ 1 4 this 3 3886 425 0 0 6 530 3594 0 0 65 /** * Returns the number of InternalNames in the collection. */ 1 4 this 3 3887 426 0 0 7 531 3874 0 0 58 /** * Returns the nth InternalName in the collection. */ 2 4 this 3 3887 5 index 1 3594 427 0 0 7 533 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 3887 5 index 1 3594 428 0 0 6 534 3594 0 0 104 /** * Returns the number of names in the collection. This is the same thing as * get_num_names(). */ 1 4 this 3 3887 429 0 0 6 535 3886 0 0 0 2 4 this 3 3886 5 other 1 3887 430 0 0 7 536 3886 2288 0 0 2 4 this 3 3887 5 other 1 3887 431 0 0 4 537 3813 0 0 111 /** * Writes a brief one-line description of the InternalNameCollection to the * indicated output stream. */ 2 4 this 3 3887 3 out 1 3814 432 0 0 4 538 3813 0 0 116 /** * Writes a complete multi-line description of the InternalNameCollection to * the indicated output stream. */ 3 4 this 3 3887 3 out 1 3814 12 indent_level 5 3594 433 0 0 7 540 3889 2306 0 10 /** * */ 0 434 0 0 15 540 3889 2306 0 10 /** * */ 1 4 copy 1 3890 435 0 0 6 541 3889 0 0 0 2 4 this 3 3889 4 copy 1 3890 436 0 0 4 543 3813 0 0 49 /** * Adds a new Material to the collection. */ 2 4 this 3 3889 13 node_material 1 3734 437 0 0 6 544 3601 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 3889 13 node_material 1 3734 438 0 0 4 545 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 3889 5 other 1 3890 439 0 0 4 546 3813 0 0 95 /** * Removes from this collection all of the Materials listed in the other * collection. */ 2 4 this 3 3889 5 other 1 3890 440 0 0 4 547 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 3889 441 0 0 6 548 3601 0 0 97 /** * Returns true if the indicated Material appears in this collection, false * otherwise. */ 2 4 this 3 3890 8 material 1 3734 442 0 0 4 549 3813 0 0 53 /** * Removes all Materials from the collection. */ 1 4 this 3 3889 443 0 0 7 550 3734 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 3890 4 name 1 3842 444 0 0 6 551 3594 0 0 61 /** * Returns the number of Materials in the collection. */ 1 4 this 3 3890 445 0 0 7 552 3734 0 0 54 /** * Returns the nth Material in the collection. */ 2 4 this 3 3890 5 index 1 3594 446 0 0 7 553 3734 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 3890 5 index 1 3594 447 0 0 6 554 3594 0 0 112 /** * Returns the number of materials in the collection. This is the same thing * as get_num_materials(). */ 1 4 this 3 3890 448 0 0 6 555 3889 0 0 0 2 4 this 3 3889 5 other 1 3890 449 0 0 7 556 3889 2306 0 0 2 4 this 3 3890 5 other 1 3890 450 0 0 4 557 3813 0 0 107 /** * Writes a brief one-line description of the MaterialCollection to the * indicated output stream. */ 2 4 this 3 3890 3 out 1 3814 451 0 0 4 558 3813 0 0 112 /** * Writes a complete multi-line description of the MaterialCollection to the * indicated output stream. */ 3 4 this 3 3890 3 out 1 3814 12 indent_level 5 3594 452 0 0 7 560 3892 2325 0 10 /** * */ 0 453 0 0 15 560 3892 2325 0 10 /** * */ 1 4 copy 1 3893 454 0 0 6 561 3892 0 0 0 2 4 this 3 3892 4 copy 1 3893 455 0 0 4 563 3813 0 0 53 /** * Adds a new TextureStage to the collection. */ 2 4 this 3 3892 18 node_texture_stage 1 3754 456 0 0 6 564 3601 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 3892 18 node_texture_stage 1 3754 457 0 0 4 565 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 3892 5 other 1 3893 458 0 0 4 566 3813 0 0 99 /** * Removes from this collection all of the TextureStages listed in the other * collection. */ 2 4 this 3 3892 5 other 1 3893 459 0 0 4 567 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 3892 460 0 0 6 568 3601 0 0 101 /** * Returns true if the indicated TextureStage appears in this collection, * false otherwise. */ 2 4 this 3 3893 13 texture_stage 1 3754 461 0 0 4 569 3813 0 0 57 /** * Removes all TextureStages from the collection. */ 1 4 this 3 3892 462 0 0 7 570 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 3893 4 name 1 3842 463 0 0 6 571 3594 0 0 65 /** * Returns the number of TextureStages in the collection. */ 1 4 this 3 3893 464 0 0 7 572 3754 0 0 58 /** * Returns the nth TextureStage in the collection. */ 2 4 this 3 3893 5 index 1 3594 465 0 0 7 574 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 3893 5 index 1 3594 466 0 0 6 575 3594 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 3893 467 0 0 6 576 3892 0 0 0 2 4 this 3 3892 5 other 1 3893 468 0 0 7 577 3892 2325 0 0 2 4 this 3 3893 5 other 1 3893 469 0 0 4 578 3813 0 0 116 /** * Sorts the TextureStages in this collection into order by * TextureStage::sort(), from lowest to highest. */ 1 4 this 3 3892 470 0 0 4 579 3813 0 0 111 /** * Writes a brief one-line description of the TextureStageCollection to the * indicated output stream. */ 2 4 this 3 3893 3 out 1 3814 471 0 0 4 580 3813 0 0 116 /** * Writes a complete multi-line description of the TextureStageCollection to * the indicated output stream. */ 3 4 this 3 3893 3 out 1 3814 12 indent_level 5 3594 472 0 0 7 583 3895 2739 0 59 /** * This constructs an empty NodePath with no nodes. */ 0 473 0 0 15 583 3895 2739 0 10 /** * */ 1 4 copy 1 3885 474 0 0 7 583 3895 2739 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 3885 10 child_node 1 3651 14 current_thread 5 3845 475 0 0 7 583 3895 2739 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 3651 14 current_thread 5 3845 476 0 0 7 583 3895 2739 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 5 3845 477 0 0 7 584 3895 2739 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 3651 14 current_thread 5 3845 478 0 0 6 585 3895 0 0 0 2 4 this 3 3895 4 copy 1 3885 479 0 0 4 586 3813 0 0 93 /** * Sets this NodePath to the empty NodePath. It will no longer point to any * node. */ 1 4 this 3 3895 480 0 0 39 587 3895 2739 0 0 1 4 this 3 3885 481 0 0 38 588 3624 0 0 0 2 4 this 3 3885 4 memo 1 3624 482 0 0 38 589 3624 0 0 0 1 4 this 3 3885 483 0 0 38 590 3624 0 0 0 2 4 this 3 3885 7 pickler 1 3624 484 0 0 7 591 3895 2739 0 67 /** * Creates a NodePath with the ET_not_found error type set. */ 0 485 0 0 7 592 3895 2739 0 65 /** * Creates a NodePath with the ET_removed error type set. */ 0 486 0 0 7 593 3895 2739 0 62 /** * Creates a NodePath with the ET_fail error type set. */ 0 487 0 0 4 594 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 3594 488 0 0 6 595 3594 0 0 95 /** * Returns the current setting of the search depth limit. See * set_max_search_depth. */ 0 489 0 0 6 596 3601 0 0 58 /** * Returns true if the NodePath contains no nodes. */ 1 4 this 3 3885 490 0 0 6 598 3601 0 0 66 /** * Returns true if the NodePath contains exactly one node. */ 2 4 this 3 3885 14 current_thread 5 3845 491 0 0 6 599 3594 0 0 51 /** * Returns the number of nodes in the path. */ 2 4 this 3 3885 14 current_thread 5 3845 492 0 0 7 600 3651 2131 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 3885 5 index 1 3594 14 current_thread 5 3845 493 0 0 7 604 3895 2739 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 3885 5 index 1 3594 14 current_thread 5 3845 494 0 0 6 607 3650 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 3885 495 0 0 7 609 3651 2131 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 3885 14 current_thread 5 3845 496 0 0 7 610 3895 2739 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 3885 14 current_thread 5 3845 497 0 0 7 611 3651 2131 0 51 /** * Returns the referenced node of the path. */ 1 4 this 3 3885 498 0 0 6 612 3594 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 3885 499 0 0 6 613 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 3885 4 hash 1 3797 500 0 0 6 614 3601 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 3885 5 other 1 3885 14 current_thread 5 3845 501 0 0 6 615 3601 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 3885 5 other 1 3885 14 current_thread 5 3845 502 0 0 7 616 3895 2739 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 3885 5 other 1 3885 14 current_thread 5 3845 503 0 0 7 617 3896 2415 0 69 /** * Returns the set of all child nodes of the referenced node. */ 2 4 this 3 3885 14 current_thread 5 3845 504 0 0 6 618 3594 0 0 65 /** * Returns the number of children of the referenced node. */ 2 4 this 3 3885 14 current_thread 5 3845 505 0 0 7 619 3895 2739 0 80 /** * Returns a NodePath representing the nth child of the referenced node. */ 3 4 this 3 3885 1 n 1 3594 14 current_thread 5 3845 506 0 0 7 620 3896 2415 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 3885 14 current_thread 5 3845 507 0 0 6 666 3594 0 0 63 /** * Returns the number of nodes at and below this level. */ 1 4 this 3 3885 508 0 0 6 667 3601 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 3885 14 current_thread 5 3845 509 0 0 7 668 3895 2739 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 3885 14 current_thread 5 3845 510 0 0 6 669 3594 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 3885 14 current_thread 5 3845 511 0 0 7 672 3895 2739 0 253 /** * 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. * * The referenced node itself is not considered in the search. */ 2 4 this 3 3885 4 path 1 3842 512 0 0 7 673 3895 2739 0 115 /** * Searches for the indicated node below this node and returns the shortest * NodePath that connects them. */ 2 4 this 3 3885 4 node 1 3651 513 0 0 7 674 3896 2415 0 222 /** * 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. * * The referenced node itself is not considered in the search. */ 2 4 this 3 3885 4 path 1 3842 514 0 0 7 675 3896 2415 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 3885 4 node 1 3651 515 0 0 4 676 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 3895 5 other 1 3885 4 sort 5 3594 14 current_thread 5 3845 516 0 0 4 677 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 3895 5 other 1 3885 4 sort 5 3594 14 current_thread 5 3845 517 0 0 4 678 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 3895 5 other 1 3885 4 sort 5 3594 14 current_thread 5 3845 518 0 0 7 679 3895 2739 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 3885 5 other 1 3885 4 sort 5 3594 14 current_thread 5 3845 519 0 0 7 680 3895 2739 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 3885 5 other 1 3885 4 name 1 3842 4 sort 5 3594 14 current_thread 5 3845 520 0 0 7 681 3895 2739 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 3885 5 other 1 3885 4 sort 5 3594 14 current_thread 5 3845 521 0 0 7 682 3895 2739 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 3885 4 node 1 3651 4 sort 5 3594 14 current_thread 5 3845 522 0 0 7 682 3895 2739 0 132 /** * Creates an ordinary PandaNode and attaches it below the current NodePath, * returning a new NodePath that references it. */ 4 4 this 3 3885 4 name 1 3842 4 sort 5 3594 14 current_thread 5 3845 523 0 0 4 683 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 3895 14 current_thread 5 3845 524 0 0 4 684 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 3895 14 current_thread 5 3845 525 0 0 4 685 3813 0 0 91 /** * Writes a sensible description of the NodePath to the indicated output * stream. */ 2 4 this 3 3885 3 out 1 3814 526 0 0 4 686 3813 0 0 64 /** * Lists the hierarchy at and below the referenced node. */ 1 4 this 3 3885 527 0 0 4 686 3813 0 0 64 /** * Lists the hierarchy at and below the referenced node. */ 3 4 this 3 3885 3 out 1 3814 12 indent_level 5 3594 528 0 0 4 687 3813 0 0 64 /** * Lists the hierarchy at and above the referenced node. */ 1 4 this 3 3885 529 0 0 6 687 3594 0 0 64 /** * Lists the hierarchy at and above the referenced node. */ 3 4 this 3 3885 3 out 1 3814 12 indent_level 5 3594 530 0 0 7 688 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 3885 5 other 1 3885 14 current_thread 5 3845 531 0 0 7 688 3826 0 0 62 /** * Returns the complete state object set on this node. */ 2 4 this 3 3885 14 current_thread 5 3845 532 0 0 4 689 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 3895 5 other 1 3885 5 state 1 3826 14 current_thread 5 3845 533 0 0 4 689 3813 0 0 58 /** * Changes the complete state object on this node. */ 3 4 this 3 3895 5 state 1 3826 14 current_thread 5 3845 534 0 0 7 690 3826 0 0 60 /** * Returns the net state on this node from the root. */ 2 4 this 3 3885 14 current_thread 5 3845 535 0 0 4 691 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 3895 6 attrib 1 3608 8 priority 5 3594 536 0 0 7 692 3608 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 3885 4 type 1 3817 537 0 0 6 693 3601 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 3885 4 type 1 3817 538 0 0 4 694 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 3895 4 type 1 3817 539 0 0 4 695 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 3895 6 effect 1 3838 540 0 0 7 696 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 3885 4 type 1 3817 541 0 0 6 697 3601 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 3885 4 type 1 3817 542 0 0 4 698 3813 0 0 70 /** * Removes the render effect of the given type from this node. */ 2 4 this 3 3895 4 type 1 3817 543 0 0 4 699 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 3895 7 effects 1 3840 544 0 0 7 700 3840 0 0 80 /** * Returns the complete RenderEffects that will be applied to this node. */ 1 4 this 3 3885 545 0 0 4 701 3813 0 0 54 /** * Resets this node to have no render effects. */ 1 4 this 3 3895 546 0 0 7 702 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 3885 5 other 1 3885 14 current_thread 5 3845 547 0 0 7 702 3795 0 0 66 /** * Returns the complete transform object set on this node. */ 2 4 this 3 3885 14 current_thread 5 3845 548 0 0 4 703 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 3895 5 other 1 3885 14 current_thread 5 3845 549 0 0 4 703 3813 0 0 62 /** * Sets the transform object on this node to identity. */ 2 4 this 3 3895 14 current_thread 5 3845 550 0 0 4 704 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 3895 5 other 1 3885 9 transform 1 3795 14 current_thread 5 3845 551 0 0 4 704 3813 0 0 62 /** * Changes the complete transform object on this node. */ 3 4 this 3 3895 9 transform 1 3795 14 current_thread 5 3845 552 0 0 7 705 3795 0 0 64 /** * Returns the net transform on this node from the root. */ 2 4 this 3 3885 14 current_thread 5 3845 553 0 0 7 706 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 3885 5 other 1 3885 14 current_thread 5 3845 554 0 0 7 706 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 3885 14 current_thread 5 3845 555 0 0 4 707 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 3895 5 other 1 3885 9 transform 1 3795 14 current_thread 5 3845 556 0 0 4 707 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 3895 9 transform 1 3795 14 current_thread 5 3845 557 0 0 7 708 3795 0 0 105 /** * Returns the net "previous" transform on this node from the root. See * set_prev_transform(). */ 2 4 this 3 3885 14 current_thread 5 3845 558 0 0 4 709 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 3895 3 pos 1 3799 559 0 0 4 709 3813 0 0 90 /** * Sets the translation component of the transform, relative to the other * node. */ 3 4 this 3 3895 5 other 1 3885 3 pos 1 3799 560 0 0 4 709 3813 0 0 90 /** * Sets the translation component of the transform, relative to the other * node. */ 5 4 this 3 3895 5 other 1 3885 1 x 1 3599 1 y 1 3599 1 z 1 3599 561 0 0 4 709 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 3895 1 x 1 3599 1 y 1 3599 1 z 1 3599 562 0 0 4 710 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 x 1 3599 563 0 0 4 710 3813 0 0 115 /** * Sets the X component of the position transform, leaving other components * untouched. * @see set_pos() */ 2 4 this 3 3895 1 x 1 3599 564 0 0 4 711 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 y 1 3599 565 0 0 4 711 3813 0 0 115 /** * Sets the Y component of the position transform, leaving other components * untouched. * @see set_pos() */ 2 4 this 3 3895 1 y 1 3599 566 0 0 4 712 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 z 1 3599 567 0 0 4 712 3813 0 0 115 /** * Sets the Z component of the position transform, leaving other components * untouched. * @see set_pos() */ 2 4 this 3 3895 1 z 1 3599 568 0 0 4 713 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 3895 3 pos 1 3799 569 0 0 4 713 3813 0 0 90 /** * Sets the translation component of the transform, relative to the other * node. */ 3 4 this 3 3895 5 other 1 3885 3 pos 1 3799 570 0 0 4 713 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 3895 5 other 1 3885 1 x 1 3599 1 y 1 3599 1 z 1 3599 571 0 0 4 713 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 3895 1 x 1 3599 1 y 1 3599 1 z 1 3599 572 0 0 4 714 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 x 1 3599 573 0 0 4 714 3813 0 0 0 2 4 this 3 3895 1 x 1 3599 574 0 0 4 715 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 y 1 3599 575 0 0 4 715 3813 0 0 0 2 4 this 3 3895 1 y 1 3599 576 0 0 4 716 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 z 1 3599 577 0 0 4 716 3813 0 0 0 2 4 this 3 3895 1 z 1 3599 578 0 0 7 717 3897 0 0 64 /** * Retrieves the translation component of the transform. */ 1 4 this 3 3885 579 0 0 7 717 3897 0 0 95 /** * Returns the relative position of the referenced node as seen from the other * node. */ 2 4 this 3 3885 5 other 1 3885 580 0 0 6 718 3599 0 0 0 1 4 this 3 3885 581 0 0 6 718 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 582 0 0 6 719 3599 0 0 0 1 4 this 3 3885 583 0 0 6 719 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 584 0 0 6 720 3599 0 0 0 1 4 this 3 3885 585 0 0 6 720 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 586 0 0 7 721 3900 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 3885 587 0 0 7 721 3900 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 3885 5 other 1 3885 588 0 0 4 722 3813 0 0 100 /** * Sets the rotation component of the transform, leaving translation and scale * untouched. */ 2 4 this 3 3895 3 hpr 1 3799 589 0 0 4 722 3813 0 0 84 /** * Sets the rotation component of the transform, relative to the other node. */ 3 4 this 3 3895 5 other 1 3885 3 hpr 1 3799 590 0 0 4 722 3813 0 0 84 /** * Sets the rotation component of the transform, relative to the other node. */ 5 4 this 3 3895 5 other 1 3885 1 h 1 3599 1 p 1 3599 1 r 1 3599 591 0 0 4 722 3813 0 0 100 /** * Sets the rotation component of the transform, leaving translation and scale * untouched. */ 4 4 this 3 3895 1 h 1 3599 1 p 1 3599 1 r 1 3599 592 0 0 4 723 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 h 1 3599 593 0 0 4 723 3813 0 0 0 2 4 this 3 3895 1 h 1 3599 594 0 0 4 724 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 p 1 3599 595 0 0 4 724 3813 0 0 0 2 4 this 3 3895 1 p 1 3599 596 0 0 4 725 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 1 r 1 3599 597 0 0 4 725 3813 0 0 0 2 4 this 3 3895 1 r 1 3599 598 0 0 7 726 3901 0 0 61 /** * Retrieves the rotation component of the transform. */ 1 4 this 3 3885 599 0 0 7 726 3901 0 0 94 /** * Returns the relative orientation of the bottom node as seen from the other * node. */ 2 4 this 3 3885 5 other 1 3885 600 0 0 6 727 3599 0 0 0 1 4 this 3 3885 601 0 0 6 727 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 602 0 0 6 728 3599 0 0 0 1 4 this 3 3885 603 0 0 6 728 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 604 0 0 6 729 3599 0 0 0 1 4 this 3 3885 605 0 0 6 729 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 606 0 0 4 730 3813 0 0 100 /** * Sets the rotation component of the transform, leaving translation and scale * untouched. */ 2 4 this 3 3895 4 quat 1 3800 607 0 0 4 730 3813 0 0 84 /** * Sets the rotation component of the transform, relative to the other node. */ 3 4 this 3 3895 5 other 1 3885 4 quat 1 3800 608 0 0 7 731 3902 0 0 61 /** * Retrieves the rotation component of the transform. */ 1 4 this 3 3885 609 0 0 7 731 3902 0 0 94 /** * Returns the relative orientation of the bottom node as seen from the other * node. */ 2 4 this 3 3885 5 other 1 3885 610 0 0 4 732 3813 0 0 100 /** * Sets the scale component of the transform, leaving translation and rotation * untouched. */ 2 4 this 3 3895 5 scale 1 3799 611 0 0 4 732 3813 0 0 81 /** * Sets the scale component of the transform, relative to the other node. */ 3 4 this 3 3895 5 other 1 3885 5 scale 1 3799 612 0 0 4 732 3813 0 0 81 /** * Sets the scale component of the transform, relative to the other node. */ 3 4 this 3 3895 5 other 1 3885 5 scale 1 3599 613 0 0 4 732 3813 0 0 81 /** * Sets the scale component of the transform, relative to the other node. */ 5 4 this 3 3895 5 other 1 3885 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 614 0 0 4 732 3813 0 0 100 /** * Sets the scale component of the transform, leaving translation and rotation * untouched. */ 2 4 this 3 3895 5 scale 1 3599 615 0 0 4 732 3813 0 0 0 4 4 this 3 3895 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 616 0 0 4 733 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 2 sx 1 3599 617 0 0 4 733 3813 0 0 114 /** * Sets the x-scale component of the transform, leaving other components * untouched. * @see set_scale() */ 2 4 this 3 3895 2 sx 1 3599 618 0 0 4 734 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 2 sy 1 3599 619 0 0 4 734 3813 0 0 114 /** * Sets the y-scale component of the transform, leaving other components * untouched. * @see set_scale() */ 2 4 this 3 3895 2 sy 1 3599 620 0 0 4 735 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 2 sz 1 3599 621 0 0 4 735 3813 0 0 114 /** * Sets the z-scale component of the transform, leaving other components * untouched. * @see set_scale() */ 2 4 this 3 3895 2 sz 1 3599 622 0 0 7 736 3901 0 0 58 /** * Retrieves the scale component of the transform. */ 1 4 this 3 3885 623 0 0 7 736 3901 0 0 85 /** * Returns the relative scale of the bottom node as seen from the other node. */ 2 4 this 3 3885 5 other 1 3885 624 0 0 6 737 3599 0 0 0 1 4 this 3 3885 625 0 0 6 737 3599 0 0 92 /** * Returns the relative scale of the referenced node as seen from the other * node. */ 2 4 this 3 3885 5 other 1 3885 626 0 0 6 738 3599 0 0 0 1 4 this 3 3885 627 0 0 6 738 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 628 0 0 6 739 3599 0 0 0 1 4 this 3 3885 629 0 0 6 739 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 630 0 0 4 740 3813 0 0 100 /** * Sets the shear component of the transform, leaving translation and rotation * untouched. */ 2 4 this 3 3895 5 shear 1 3799 631 0 0 4 740 3813 0 0 81 /** * Sets the shear component of the transform, relative to the other node. */ 3 4 this 3 3895 5 other 1 3885 5 shear 1 3799 632 0 0 4 740 3813 0 0 81 /** * Sets the shear component of the transform, relative to the other node. */ 5 4 this 3 3895 5 other 1 3885 4 shxy 1 3599 4 shxz 1 3599 4 shyz 1 3599 633 0 0 4 740 3813 0 0 108 /** * Sets the shear component of the transform, leaving translation, rotation, * and scale untouched. */ 4 4 this 3 3895 4 shxy 1 3599 4 shxz 1 3599 4 shyz 1 3599 634 0 0 4 741 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 4 shxy 1 3599 635 0 0 4 741 3813 0 0 0 2 4 this 3 3895 4 shxy 1 3599 636 0 0 4 742 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 4 shxz 1 3599 637 0 0 4 742 3813 0 0 0 2 4 this 3 3895 4 shxz 1 3599 638 0 0 4 743 3813 0 0 0 3 4 this 3 3895 5 other 1 3885 4 shyz 1 3599 639 0 0 4 743 3813 0 0 0 2 4 this 3 3895 4 shyz 1 3599 640 0 0 7 744 3901 0 0 58 /** * Retrieves the shear component of the transform. */ 1 4 this 3 3885 641 0 0 7 744 3901 0 0 85 /** * Returns the relative shear of the bottom node as seen from the other node. */ 2 4 this 3 3885 5 other 1 3885 642 0 0 6 745 3599 0 0 0 1 4 this 3 3885 643 0 0 6 745 3599 0 0 92 /** * Returns the relative shear of the referenced node as seen from the other * node. */ 2 4 this 3 3885 5 other 1 3885 644 0 0 6 746 3599 0 0 0 1 4 this 3 3885 645 0 0 6 746 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 646 0 0 6 747 3599 0 0 0 1 4 this 3 3885 647 0 0 6 747 3599 0 0 0 2 4 this 3 3885 5 other 1 3885 648 0 0 4 748 3813 0 0 100 /** * Sets the translation and rotation component of the transform, leaving scale * untouched. */ 3 4 this 3 3895 3 pos 1 3799 3 hpr 1 3799 649 0 0 4 748 3813 0 0 103 /** * Sets the translation and rotation component of the transform, relative to * the other node. */ 4 4 this 3 3895 5 other 1 3885 3 pos 1 3799 3 hpr 1 3799 650 0 0 4 748 3813 0 0 103 /** * Sets the translation and rotation component of the transform, relative to * the other node. */ 8 4 this 3 3895 5 other 1 3885 1 x 1 3599 1 y 1 3599 1 z 1 3599 1 h 1 3599 1 p 1 3599 1 r 1 3599 651 0 0 4 748 3813 0 0 100 /** * Sets the translation and rotation component of the transform, leaving scale * untouched. */ 7 4 this 3 3895 1 x 1 3599 1 y 1 3599 1 z 1 3599 1 h 1 3599 1 p 1 3599 1 r 1 3599 652 0 0 4 749 3813 0 0 100 /** * Sets the translation and rotation component of the transform, leaving scale * untouched. */ 3 4 this 3 3895 3 pos 1 3799 4 quat 1 3800 653 0 0 4 749 3813 0 0 103 /** * Sets the translation and rotation component of the transform, relative to * the other node. */ 4 4 this 3 3895 5 other 1 3885 3 pos 1 3799 4 quat 1 3800 654 0 0 4 750 3813 0 0 101 /** * Sets the rotation and scale components of the transform, leaving * translation untouched. */ 3 4 this 3 3895 3 hpr 1 3799 5 scale 1 3799 655 0 0 4 750 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 3895 5 other 1 3885 3 hpr 1 3799 5 scale 1 3799 656 0 0 4 750 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 3895 5 other 1 3885 1 h 1 3599 1 p 1 3599 1 r 1 3599 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 657 0 0 4 750 3813 0 0 101 /** * Sets the rotation and scale components of the transform, leaving * translation untouched. */ 7 4 this 3 3895 1 h 1 3599 1 p 1 3599 1 r 1 3599 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 658 0 0 4 751 3813 0 0 101 /** * Sets the rotation and scale components of the transform, leaving * translation untouched. */ 3 4 this 3 3895 4 quat 1 3800 5 scale 1 3799 659 0 0 4 751 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 3895 5 other 1 3885 4 quat 1 3800 5 scale 1 3799 660 0 0 4 752 3813 0 0 102 /** * Replaces the translation, rotation, and scale components, implicitly * setting shear to 0. */ 4 4 this 3 3895 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799 661 0 0 4 752 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 3895 5 other 1 3885 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799 662 0 0 4 752 3813 0 0 129 /** * Completely replaces the transform with new translation, rotation, and scale * components, relative to the other node. */ 11 4 this 3 3895 5 other 1 3885 1 x 1 3599 1 y 1 3599 1 z 1 3599 1 h 1 3599 1 p 1 3599 1 r 1 3599 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 663 0 0 4 752 3813 0 0 101 /** * Completely replaces the transform with new translation, rotation, and scale * components. */ 10 4 this 3 3895 1 x 1 3599 1 y 1 3599 1 z 1 3599 1 h 1 3599 1 p 1 3599 1 r 1 3599 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 664 0 0 4 753 3813 0 0 102 /** * Replaces the translation, rotation, and scale components, implicitly * setting shear to 0. */ 4 4 this 3 3895 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799 665 0 0 4 753 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 3895 5 other 1 3885 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799 666 0 0 4 754 3813 0 0 108 /** * Completely replaces the transform with new translation, rotation, scale, * and shear components. */ 5 4 this 3 3895 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799 5 shear 1 3799 667 0 0 4 754 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 3895 5 other 1 3885 3 pos 1 3799 3 hpr 1 3799 5 scale 1 3799 5 shear 1 3799 668 0 0 4 755 3813 0 0 108 /** * Completely replaces the transform with new translation, rotation, scale, * and shear components. */ 5 4 this 3 3895 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799 5 shear 1 3799 669 0 0 4 755 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 3895 5 other 1 3885 3 pos 1 3799 4 quat 1 3800 5 scale 1 3799 5 shear 1 3799 670 0 0 4 756 3813 0 0 59 /** * Directly sets an arbitrary 4x4 transform matrix. */ 2 4 this 3 3895 3 mat 1 3801 671 0 0 4 756 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 3895 5 other 1 3885 3 mat 1 3801 672 0 0 4 757 3813 0 0 69 /** * Completely removes any transform from the referenced node. */ 1 4 this 3 3895 673 0 0 6 758 3601 0 0 119 /** * Returns true if a non-identity transform matrix has been applied to the * referenced node, false otherwise. */ 1 4 this 3 3885 674 0 0 6 759 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 3885 675 0 0 7 759 3903 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 3885 5 other 1 3885 676 0 0 4 760 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 3895 5 point 1 3810 2 up 5 3904 677 0 0 4 760 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 3895 5 other 1 3885 5 point 5 3810 2 up 5 3904 678 0 0 4 760 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 3895 5 other 1 3885 1 x 1 3599 1 y 1 3599 1 z 1 3599 679 0 0 4 760 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 3895 1 x 1 3599 1 y 1 3599 1 z 1 3599 680 0 0 4 761 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 3895 5 point 1 3810 2 up 5 3904 681 0 0 4 761 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 3895 5 other 1 3885 5 point 5 3810 2 up 5 3904 682 0 0 4 761 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 3895 5 other 1 3885 1 x 1 3599 1 y 1 3599 1 z 1 3599 683 0 0 4 761 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 3895 1 x 1 3599 1 y 1 3599 1 z 1 3599 684 0 0 7 762 3897 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 3885 5 other 1 3885 5 point 1 3799 685 0 0 7 763 3900 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 3885 5 other 1 3885 3 vec 1 3799 686 0 0 6 764 3599 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 3885 5 other 1 3885 687 0 0 4 765 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 3895 5 color 1 3821 8 priority 5 3594 688 0 0 4 765 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 3895 1 r 1 3599 1 g 1 3599 1 b 1 3599 1 a 5 3599 8 priority 5 3594 689 0 0 4 766 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 3895 8 priority 5 3594 690 0 0 4 767 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 3895 691 0 0 6 768 3601 0 0 90 /** * Returns true if a color has been applied to the given node, false * otherwise. */ 1 4 this 3 3885 692 0 0 7 769 3906 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 3885 693 0 0 6 770 3601 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 3885 694 0 0 4 771 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 3895 695 0 0 4 772 3813 0 0 106 /** * Sets the color scale component of the transform, leaving translation and * rotation untouched. */ 3 4 this 3 3895 5 scale 1 3881 8 priority 5 3594 696 0 0 4 772 3813 0 0 58 /** * Sets the color scale component of the transform */ 6 4 this 3 3895 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 2 sa 1 3599 8 priority 5 3594 697 0 0 4 773 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 3895 5 scale 1 3881 8 priority 5 3594 698 0 0 4 773 3813 0 0 58 /** * Sets the color scale component of the transform */ 6 4 this 3 3895 2 sx 1 3599 2 sy 1 3599 2 sz 1 3599 2 sa 1 3599 8 priority 5 3594 699 0 0 4 774 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 3895 8 priority 5 3594 700 0 0 4 775 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 3895 5 scale 1 3599 8 priority 5 3594 701 0 0 4 776 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 3895 5 scale 1 3599 8 priority 5 3594 702 0 0 4 777 3813 0 0 79 /** * Sets the red component of the color scale. * @see set_color_scale() */ 2 4 this 3 3895 2 sr 1 3599 703 0 0 4 778 3813 0 0 81 /** * Sets the green component of the color scale. * @see set_color_scale() */ 2 4 this 3 3895 2 sg 1 3599 704 0 0 4 779 3813 0 0 80 /** * Sets the blue component of the color scale. * @see set_color_scale() */ 2 4 this 3 3895 2 sb 1 3599 705 0 0 4 780 3813 0 0 81 /** * Sets the alpha component of the color scale. * @see set_color_scale() */ 2 4 this 3 3895 2 sa 1 3599 706 0 0 6 781 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 3885 707 0 0 6 782 3599 0 0 79 /** * Gets the red component of the color scale. * @see get_color_scale() */ 1 4 this 3 3885 708 0 0 6 783 3599 0 0 81 /** * Gets the green component of the color scale. * @see get_color_scale() */ 1 4 this 3 3885 709 0 0 6 784 3599 0 0 80 /** * Gets the blue component of the color scale. * @see get_color_scale() */ 1 4 this 3 3885 710 0 0 6 785 3599 0 0 81 /** * Gets the alpha component of the color scale. * @see get_color_scale() */ 1 4 this 3 3885 711 0 0 4 786 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 3895 5 light 1 3885 8 priority 5 3594 712 0 0 4 787 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 3895 5 light 1 3885 8 priority 5 3594 713 0 0 4 787 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 3895 8 priority 5 3594 714 0 0 4 788 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 3895 715 0 0 4 788 3813 0 0 94 /** * Removes any reference to the indicated Light or PolylightNode from the * NodePath. */ 2 4 this 3 3895 5 light 1 3885 716 0 0 6 789 3601 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 3885 5 light 1 3885 717 0 0 6 790 3601 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 3885 718 0 0 6 790 3601 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 3885 5 light 1 3885 719 0 0 4 791 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 3895 10 clip_plane 1 3885 8 priority 5 3594 720 0 0 4 792 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 3895 10 clip_plane 1 3885 8 priority 5 3594 721 0 0 4 792 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 3895 8 priority 5 3594 722 0 0 4 793 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 3895 723 0 0 4 793 3813 0 0 83 /** * Removes any reference to the indicated clipping plane from the NodePath. */ 2 4 this 3 3895 10 clip_plane 1 3885 724 0 0 6 794 3601 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 3885 10 clip_plane 1 3885 725 0 0 6 795 3601 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 3885 726 0 0 6 795 3601 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 3885 10 clip_plane 1 3885 727 0 0 4 796 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 3895 1 a 1 3810 1 b 1 3810 728 0 0 4 796 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 3895 1 a 1 3810 1 b 1 3810 1 c 1 3810 1 d 1 3810 729 0 0 4 796 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 3895 5 other 1 3885 1 a 1 3810 1 b 1 3810 730 0 0 4 796 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 3895 5 other 1 3885 1 a 1 3810 1 b 1 3810 1 c 1 3810 1 d 1 3810 731 0 0 4 796 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 3895 4 left 1 3599 5 right 1 3599 6 bottom 1 3599 3 top 1 3599 732 0 0 4 797 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 3895 733 0 0 6 798 3601 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 3885 734 0 0 4 799 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 3895 8 occluder 1 3885 735 0 0 4 800 3813 0 0 115 /** * Completely removes any occluders that may have been set via set_occluder() * from this particular node. */ 1 4 this 3 3895 736 0 0 4 800 3813 0 0 77 /** * Removes any reference to the indicated occluder from the NodePath. */ 2 4 this 3 3895 8 occluder 1 3885 737 0 0 6 801 3601 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 3885 8 occluder 1 3885 738 0 0 4 802 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 3895 8 bin_name 1 3842 10 draw_order 1 3594 8 priority 5 3594 739 0 0 4 803 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 3895 740 0 0 6 804 3601 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 3885 741 0 0 6 805 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 3885 742 0 0 6 806 3594 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 3885 743 0 0 4 807 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 3895 3 tex 1 3756 7 sampler 1 3878 8 priority 5 3594 744 0 0 4 807 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 3895 3 tex 1 3756 8 priority 5 3594 745 0 0 4 807 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 3895 5 stage 1 3754 3 tex 1 3756 7 sampler 1 3878 8 priority 5 3594 746 0 0 4 807 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 3895 5 stage 1 3754 3 tex 1 3756 8 priority 5 3594 747 0 0 4 808 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 3895 5 stage 1 3754 8 priority 5 3594 748 0 0 4 808 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 3895 8 priority 5 3594 749 0 0 4 809 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 3895 750 0 0 4 809 3813 0 0 82 /** * Removes any reference to the indicated texture stage from the NodePath. */ 2 4 this 3 3895 5 stage 1 3754 751 0 0 6 810 3601 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 3885 752 0 0 6 810 3601 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 3885 5 stage 1 3754 753 0 0 6 811 3601 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 3885 754 0 0 6 811 3601 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 3885 5 stage 1 3754 755 0 0 7 812 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 3885 756 0 0 7 812 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 3885 5 stage 1 3754 757 0 0 4 813 3813 0 0 219 /** * Recursively searches the scene graph for references to the given texture, * and replaces them with the new texture. * * As of Panda3D 1.10.13, new_tex may be null to remove the texture. * * @since 1.10.4 */ 3 4 this 3 3895 3 tex 1 3756 7 new_tex 1 3756 758 0 0 4 813 3813 0 0 46 // Let interrogate know this also accepts None 3 4 this 3 3895 3 tex 1 3756 7 new_tex 1 3907 759 0 0 6 814 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 3885 760 0 0 6 814 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 3885 5 stage 1 3754 761 0 0 4 815 3813 0 0 10 /** * */ 3 4 this 3 3895 3 sha 1 3772 8 priority 5 3594 762 0 0 4 816 3813 0 0 10 /** * */ 2 4 this 3 3895 8 priority 5 3594 763 0 0 4 817 3813 0 0 51 /** * overloaded for auto shader customization */ 3 4 this 3 3895 13 shader_switch 1 3909 8 priority 5 3594 764 0 0 4 817 3813 0 0 10 /** * */ 2 4 this 3 3895 8 priority 5 3594 765 0 0 4 818 3813 0 0 10 /** * */ 1 4 this 3 3895 766 0 0 4 819 3813 0 0 10 /** * */ 7 4 this 3 3895 2 id 1 3874 2 n1 1 3599 2 n2 1 3599 2 n3 5 3599 2 n4 5 3599 8 priority 5 3594 767 0 0 36 819 3813 0 0 0 4 4 this 3 3895 6 param0 0 3874 6 param1 0 3624 8 priority 5 3594 768 0 0 4 819 3813 0 0 10 /** * */ 5 4 this 3 3895 2 id 1 3874 3 tex 1 3756 7 sampler 1 3878 8 priority 5 3594 769 0 0 4 819 3813 0 0 10 /** * */ 8 4 this 3 3895 2 id 1 3874 3 tex 1 3756 4 read 1 3601 5 write 1 3601 1 z 5 3594 1 n 5 3594 8 priority 5 3594 770 0 0 4 819 3813 0 0 10 /** * */ 7 4 this 3 3895 2 id 1 3874 2 n1 1 3594 2 n2 1 3594 2 n3 5 3594 2 n4 5 3594 8 priority 5 3594 771 0 0 4 819 3813 0 0 10 /** * */ 2 4 this 3 3895 5 input 1 3879 772 0 0 36 820 3813 0 0 0 3 4 this 3 3895 4 args 1 3624 6 kwargs 1 3624 773 0 0 4 821 3813 0 0 10 /** * */ 2 4 this 3 3895 2 id 1 3874 774 0 0 4 822 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 3895 14 instance_count 1 3594 775 0 0 7 823 3772 0 0 10 /** * */ 1 4 this 3 3885 776 0 0 7 824 3877 2285 0 10 /** * */ 2 4 this 3 3885 2 id 1 3874 777 0 0 6 825 3594 0 0 93 /** * Returns the geometry instance count, or 0 if disabled. See * set_instance_count. */ 1 4 this 3 3885 778 0 0 4 826 3813 0 0 105 /** * Sets the texture matrix on the current node to the indicated transform for * the given stage. */ 4 4 this 3 3895 5 other 1 3885 5 stage 1 3754 9 transform 1 3795 779 0 0 4 826 3813 0 0 105 /** * Sets the texture matrix on the current node to the indicated transform for * the given stage. */ 3 4 this 3 3895 5 stage 1 3754 9 transform 1 3795 780 0 0 4 827 3813 0 0 62 /** * Removes all texture matrices from the current node. */ 1 4 this 3 3895 781 0 0 4 827 3813 0 0 78 /** * Removes the texture matrix on the current node for the given stage. */ 2 4 this 3 3895 5 stage 1 3754 782 0 0 6 828 3601 0 0 106 /** * Returns true if there is an explicit texture matrix on the current node for * the given stage. */ 2 4 this 3 3885 5 stage 1 3754 783 0 0 7 829 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 3885 5 other 1 3885 5 stage 1 3754 784 0 0 7 829 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 3885 5 stage 1 3754 785 0 0 4 830 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 3895 5 other 1 3885 5 stage 1 3754 2 uv 1 3802 786 0 0 4 830 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 3895 5 other 1 3885 5 stage 1 3754 1 u 1 3599 1 v 1 3599 787 0 0 4 830 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 3895 5 stage 1 3754 2 uv 1 3802 788 0 0 4 830 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 3895 5 stage 1 3754 1 u 1 3599 1 v 1 3599 789 0 0 4 831 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 3895 5 other 1 3885 5 stage 1 3754 1 r 1 3599 790 0 0 4 831 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 3895 5 stage 1 3754 1 r 1 3599 791 0 0 4 832 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 3895 5 other 1 3885 5 stage 1 3754 5 scale 1 3802 792 0 0 4 832 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 3895 5 other 1 3885 5 stage 1 3754 5 scale 1 3799 793 0 0 4 832 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 3895 5 other 1 3885 5 stage 1 3754 5 scale 1 3599 794 0 0 4 832 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 3895 5 other 1 3885 5 stage 1 3754 2 su 1 3599 2 sv 1 3599 795 0 0 4 832 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 3895 5 other 1 3885 5 stage 1 3754 2 su 1 3599 2 sv 1 3599 2 sw 1 3599 796 0 0 4 832 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 3895 5 stage 1 3754 5 scale 1 3802 797 0 0 4 832 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 3895 5 stage 1 3754 5 scale 1 3799 798 0 0 4 832 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 3895 5 stage 1 3754 5 scale 1 3599 799 0 0 4 832 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 3895 5 stage 1 3754 2 su 1 3599 2 sv 1 3599 800 0 0 4 832 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 3895 5 stage 1 3754 2 su 1 3599 2 sv 1 3599 2 sw 1 3599 801 0 0 7 833 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 3885 5 other 1 3885 5 stage 1 3754 802 0 0 7 833 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 3885 5 stage 1 3754 803 0 0 6 834 3599 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 3885 5 other 1 3885 5 stage 1 3754 804 0 0 6 834 3599 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 3885 5 stage 1 3754 805 0 0 7 835 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 3885 5 other 1 3885 5 stage 1 3754 806 0 0 7 835 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 3885 5 stage 1 3754 807 0 0 4 836 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 3895 5 other 1 3885 5 stage 1 3754 3 uvw 1 3799 808 0 0 4 836 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 3895 5 other 1 3885 5 stage 1 3754 1 u 1 3599 1 v 1 3599 1 w 1 3599 809 0 0 4 836 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 3895 5 stage 1 3754 3 uvw 1 3799 810 0 0 4 836 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 3895 5 stage 1 3754 1 u 1 3599 1 v 1 3599 1 w 1 3599 811 0 0 4 837 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 3895 5 other 1 3885 5 stage 1 3754 3 hpr 1 3799 812 0 0 4 837 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 3895 5 other 1 3885 5 stage 1 3754 1 h 1 3599 1 p 1 3599 1 r 1 3599 813 0 0 4 837 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 3895 5 stage 1 3754 3 hpr 1 3799 814 0 0 4 837 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 3895 5 stage 1 3754 1 h 1 3599 1 p 1 3599 1 r 1 3599 815 0 0 7 838 3901 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 3885 5 other 1 3885 5 stage 1 3754 816 0 0 7 838 3901 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 3885 5 stage 1 3754 817 0 0 7 839 3901 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 3885 5 other 1 3885 5 stage 1 3754 818 0 0 7 839 3901 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 3885 5 stage 1 3754 819 0 0 7 840 3901 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 3885 5 other 1 3885 5 stage 1 3754 820 0 0 7 840 3901 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 3885 5 stage 1 3754 821 0 0 4 841 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 3895 5 stage 1 3754 4 mode 1 3596 14 constant_value 1 3910 8 priority 5 3594 822 0 0 4 841 3813 0 0 94 /** * Enables automatic texture coordinate generation for the indicated texture * stage. */ 4 4 this 3 3895 5 stage 1 3754 4 mode 1 3596 8 priority 5 3594 823 0 0 4 842 3813 0 0 98 /** * Removes the texture coordinate generation mode from all texture stages on * this node. */ 1 4 this 3 3895 824 0 0 4 842 3813 0 0 95 /** * Disables automatic texture coordinate generation for the indicated texture * stage. */ 2 4 this 3 3895 5 stage 1 3754 825 0 0 6 843 3601 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 3885 5 stage 1 3754 826 0 0 6 844 3596 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 3885 5 stage 1 3754 827 0 0 4 845 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 3895 5 stage 1 3754 4 from 1 3885 2 to 1 3885 10 lens_index 5 3594 828 0 0 4 846 3813 0 0 72 /** * Removes the TexProjectorEffect for all stages from this node. */ 1 4 this 3 3895 829 0 0 4 846 3813 0 0 81 /** * Removes the TexProjectorEffect for the indicated stage from this node. */ 2 4 this 3 3895 5 stage 1 3754 830 0 0 6 847 3601 0 0 106 /** * Returns true if this node has a TexProjectorEffect for the indicated stage, * false otherwise. */ 2 4 this 3 3885 5 stage 1 3754 831 0 0 7 848 3895 2739 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 3885 5 stage 1 3754 832 0 0 7 849 3895 2739 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 3885 5 stage 1 3754 833 0 0 4 850 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 3895 5 stage 1 3754 3 tex 1 3756 9 projector 1 3885 834 0 0 4 851 3813 0 0 50 /** * Undoes the effect of project_texture(). */ 2 4 this 3 3895 5 stage 1 3754 835 0 0 6 852 3601 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 3885 13 texcoord_name 1 3842 836 0 0 6 853 3601 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 3885 4 name 1 3874 837 0 0 7 854 3886 2288 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 3885 838 0 0 7 854 3886 2288 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 3885 4 name 1 3842 839 0 0 7 855 3886 2288 0 110 /** * Returns a list of all texture coordinate sets used by any geometry at this * node level and below. */ 1 4 this 3 3885 840 0 0 7 855 3886 2288 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 3885 4 name 1 3842 841 0 0 7 856 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 3885 5 stage 1 3754 842 0 0 7 856 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 3885 4 name 1 3842 843 0 0 7 857 3915 0 0 83 /** * Returns a list of a textures applied to geometry at this node and below. */ 1 4 this 3 3885 844 0 0 7 857 3915 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 3885 5 stage 1 3754 845 0 0 7 857 3915 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 3885 4 name 1 3842 846 0 0 7 858 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 3885 4 name 1 3842 847 0 0 7 859 3892 2325 0 91 /** * Returns a list of a TextureStages applied to geometry at this node and * below. */ 1 4 this 3 3885 848 0 0 7 859 3892 2325 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 3885 4 name 1 3842 849 0 0 4 860 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 3895 5 stage 1 3754 850 0 0 7 861 3734 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 3885 4 name 1 3842 851 0 0 7 862 3889 2306 0 84 /** * Returns a list of a materials applied to geometry at this node and below. */ 1 4 this 3 3885 852 0 0 7 862 3889 2306 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 3885 4 name 1 3842 853 0 0 4 863 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 3895 3 tex 1 3734 8 priority 5 3594 854 0 0 4 864 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 3895 8 priority 5 3594 855 0 0 4 865 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 3895 856 0 0 6 866 3601 0 0 118 /** * Returns true if a material has been applied to this particular node via * set_material(), false otherwise. */ 1 4 this 3 3885 857 0 0 7 867 3734 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 3885 858 0 0 4 868 3813 0 0 222 /** * Recursively searches the scene graph for references to the given material, * and replaces them with the new material. * * As of Panda3D 1.10.13, new_mat may be null to remove the material. * * @since 1.10.0 */ 3 4 this 3 3895 3 mat 1 3734 7 new_mat 1 3734 859 0 0 4 868 3813 0 0 46 // Let interrogate know this also accepts None 3 4 this 3 3895 3 mat 1 3734 7 new_mat 1 3907 860 0 0 4 869 3813 0 0 90 /** * Sets the geometry at this level and below to render using the indicated * fog. */ 3 4 this 3 3895 3 fog 1 3709 8 priority 5 3594 861 0 0 4 870 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 3895 8 priority 5 3594 862 0 0 4 871 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 3895 863 0 0 6 872 3601 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 3885 864 0 0 6 873 3601 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 3885 865 0 0 7 874 3709 2131 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 3885 866 0 0 4 875 3813 0 0 107 /** * Sets up the geometry at this level and below (unless overridden) to render * in wireframe mode. */ 2 4 this 3 3895 8 priority 5 3594 867 0 0 4 876 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 3895 8 priority 5 3594 868 0 0 4 877 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 3895 15 wireframe_color 1 3821 8 priority 5 3594 869 0 0 4 878 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 3895 9 thickness 1 3599 8 priority 5 3594 870 0 0 4 879 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 3895 11 perspective 1 3601 8 priority 5 3594 871 0 0 4 880 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 3895 4 mode 1 3598 9 thickness 1 3599 8 priority 5 3594 872 0 0 4 881 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 3895 873 0 0 6 882 3601 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 3885 874 0 0 6 883 3598 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 3885 875 0 0 6 884 3599 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 3885 876 0 0 6 885 3601 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 3885 877 0 0 4 886 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 3895 9 two_sided 1 3601 8 priority 5 3594 878 0 0 4 887 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 3895 879 0 0 6 888 3601 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 3885 880 0 0 6 889 3601 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 3885 881 0 0 4 890 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 3895 10 depth_test 1 3601 8 priority 5 3594 882 0 0 4 891 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 3895 883 0 0 6 892 3601 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 3885 884 0 0 6 893 3601 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 3885 885 0 0 4 894 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 3895 11 depth_write 1 3601 8 priority 5 3594 886 0 0 4 895 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 3895 887 0 0 6 896 3601 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 3885 888 0 0 6 897 3601 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 3885 889 0 0 4 898 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 3895 4 bias 1 3594 8 priority 5 3594 890 0 0 4 899 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 3895 891 0 0 6 900 3601 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 3885 892 0 0 6 901 3594 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 3885 893 0 0 4 902 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 3895 6 camera 1 3885 6 offset 1 3599 894 0 0 4 903 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 3895 6 camera 1 3885 6 offset 1 3599 895 0 0 4 904 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 3895 6 camera 1 3885 6 offset 1 3599 896 0 0 4 905 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 3895 6 camera 1 3885 6 offset 1 3599 897 0 0 4 905 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 3895 6 offset 5 3599 898 0 0 4 906 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 3895 6 camera 1 3885 6 offset 1 3599 11 fixed_depth 5 3601 899 0 0 4 906 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 3895 6 offset 5 3599 11 fixed_depth 5 3601 900 0 0 4 907 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 3895 6 camera 1 3885 6 offset 1 3599 901 0 0 4 907 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 3895 6 offset 5 3599 902 0 0 4 908 3813 0 0 54 /** * Removes any billboard effect from the node. */ 1 4 this 3 3895 903 0 0 6 909 3601 0 0 69 /** * Returns true if there is any billboard effect on the node. */ 1 4 this 3 3885 904 0 0 4 910 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 3895 9 reference 5 3885 905 0 0 4 911 3813 0 0 52 /** * Removes any compass effect from the node. */ 1 4 this 3 3895 906 0 0 6 912 3601 0 0 67 /** * Returns true if there is any compass effect on the node. */ 1 4 this 3 3885 907 0 0 4 913 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 3895 4 mode 1 3640 8 priority 5 3594 908 0 0 4 914 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 3895 909 0 0 6 915 3601 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 3885 910 0 0 6 916 3640 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 3885 911 0 0 4 917 3813 0 0 248 /** * 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. * * @since 1.10.0 */ 3 4 this 3 3895 2 op 1 3642 8 priority 5 3594 912 0 0 4 918 3813 0 0 231 /** * 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. * * @since 1.10.0 */ 1 4 this 3 3895 913 0 0 6 919 3601 0 0 316 /** * 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. * * @since 1.10.0 */ 1 4 this 3 3885 914 0 0 6 920 3642 0 0 427 /** * 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. * * @since 1.10.0 */ 1 4 this 3 3885 915 0 0 4 921 3813 0 0 114 /** * Specifies the antialiasing type that should be applied at this node and * below. See AntialiasAttrib. */ 3 4 this 3 3895 4 mode 1 3613 8 priority 5 3594 916 0 0 4 922 3813 0 0 111 /** * Completely removes any antialias setting that may have been set on this * node via set_antialias(). */ 1 4 this 3 3895 917 0 0 6 923 3601 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 3885 918 0 0 6 924 3613 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 3885 919 0 0 6 925 3601 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 3885 920 0 0 4 926 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 3895 921 0 0 4 927 3813 0 0 59 /** * Sets the audio volume component of the transform */ 3 4 this 3 3895 6 volume 1 3599 8 priority 5 3594 922 0 0 4 928 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 3895 8 priority 5 3594 923 0 0 6 929 3599 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 3885 924 0 0 6 930 3599 0 0 109 /** * Returns the complete audio volume for this node taking highers nodes in the * graph into account. */ 1 4 this 3 3885 925 0 0 4 931 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 3895 10 adjustment 1 3594 926 0 0 4 932 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 3895 927 0 0 4 932 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 3895 11 camera_mask 1 3850 928 0 0 4 933 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 3895 929 0 0 4 933 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 3895 11 camera_mask 1 3850 930 0 0 4 934 3813 0 0 304 /** * 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. * * To undo this, call show(). */ 1 4 this 3 3895 931 0 0 4 934 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 3895 11 camera_mask 1 3850 932 0 0 6 935 3601 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 3885 11 camera_mask 5 3850 933 0 0 7 936 3895 2739 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 3885 11 camera_mask 5 3850 14 current_thread 5 3845 934 0 0 4 937 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 3895 4 sort 5 3594 14 current_thread 5 3845 935 0 0 4 938 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 3895 4 sort 5 3594 14 current_thread 5 3845 936 0 0 4 939 3813 0 0 59 /** * Unstashes this node and all stashed child nodes. */ 2 4 this 3 3895 14 current_thread 5 3845 937 0 0 6 940 3601 0 0 114 /** * Returns true if the referenced node is stashed either directly, or because * some ancestor is stashed. */ 1 4 this 3 3885 938 0 0 7 941 3895 2739 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 3885 14 current_thread 5 3845 939 0 0 7 942 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 3885 940 0 0 4 943 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 3895 8 new_mask 1 3851 14 bits_to_change 5 3851 9 node_type 5 3817 941 0 0 6 944 3601 0 0 21 // Comparison methods 2 4 this 3 3885 5 other 1 3885 942 0 0 6 944 3601 0 0 0 2 4 this 3 3885 5 other 1 3916 943 0 0 6 945 3601 0 0 0 2 4 this 3 3885 5 other 1 3885 944 0 0 6 945 3601 0 0 0 2 4 this 3 3885 5 other 1 3916 945 0 0 6 946 3601 0 0 0 2 4 this 3 3885 5 other 1 3885 946 0 0 6 946 3601 0 0 0 2 4 this 3 3885 5 other 1 3916 947 0 0 6 947 3594 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 3885 5 other 1 3885 948 0 0 6 947 3594 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 3885 5 other 1 3916 949 0 0 6 948 3601 0 0 107 /** * Returns true if all of the nodes described in the NodePath are connected, * or false otherwise. */ 2 4 this 3 3885 14 current_thread 5 3845 950 0 0 4 949 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 3895 3 gsg 5 3852 951 0 0 4 950 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 3895 3 gsg 1 3852 952 0 0 4 951 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 3895 953 0 0 4 952 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 3895 954 0 0 4 953 3813 0 0 79 /** * Stops the rendering of the bounding volume begun with show_bounds(). */ 1 4 this 3 3895 955 0 0 7 954 3673 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 3885 14 current_thread 5 3845 956 0 0 4 955 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 3895 957 0 0 4 956 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 3885 3 out 1 3814 958 0 0 6 957 3601 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 3885 9 min_point 1 3897 9 max_point 1 3897 5 other 5 3885 14 current_thread 5 3845 959 0 0 38 958 3624 0 0 0 2 4 this 3 3885 5 other 5 3885 960 0 0 6 959 3594 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 3895 961 0 0 6 960 3594 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 3895 962 0 0 6 961 3594 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 3895 963 0 0 4 962 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 3895 964 0 0 6 963 3594 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 3895 965 0 0 4 964 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 3895 3 key 1 3842 5 value 1 3842 966 0 0 6 965 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 3885 3 key 1 3842 967 0 0 38 966 3624 0 0 0 1 4 this 3 3885 968 0 0 4 966 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 3885 4 keys 1 3918 969 0 0 6 967 3601 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 3885 3 key 1 3842 970 0 0 4 968 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 3895 3 key 1 3842 971 0 0 6 969 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 3885 3 key 1 3842 972 0 0 6 970 3601 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 3885 3 key 1 3842 973 0 0 7 971 3895 2739 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 3885 3 key 1 3842 974 0 0 38 973 3624 0 0 0 1 4 this 3 3885 975 0 0 38 975 3624 0 0 0 1 4 this 3 3895 976 0 0 36 976 3813 0 0 0 3 4 this 3 3895 4 keys 1 3624 5 value 1 3624 977 0 0 38 977 3624 0 0 0 2 4 this 3 3885 4 keys 1 3624 978 0 0 38 978 3624 0 0 0 1 4 this 3 3885 979 0 0 38 979 3601 0 0 0 2 4 this 3 3885 4 keys 1 3624 980 0 0 36 980 3813 0 0 0 2 4 this 3 3895 4 keys 1 3624 981 0 0 38 981 3624 0 0 0 2 4 this 3 3885 4 keys 1 3624 982 0 0 38 982 3601 0 0 0 2 4 this 3 3885 4 keys 1 3624 983 0 0 39 983 3895 2739 0 0 2 4 this 3 3885 4 keys 1 3624 984 0 0 38 985 3594 0 0 0 3 4 this 3 3895 5 visit 1 3848 3 arg 1 3849 985 0 0 4 986 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 3885 986 0 0 4 987 3813 0 0 51 /** * Changes the name of the referenced node. */ 2 4 this 3 3895 4 name 1 3842 987 0 0 6 988 3842 0 0 51 /** * Returns the name of the referenced node. */ 1 4 this 3 3885 988 0 0 6 990 3601 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 3885 8 filename 1 3921 989 0 0 6 991 3601 0 0 82 /** * Writes the contents of this node and below out to the indicated stream. */ 2 4 this 3 3885 3 out 1 3814 990 0 0 6 992 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 3885 991 0 0 6 992 3601 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 3885 4 data 1 3922 6 writer 5 3664 992 0 0 7 993 3895 2739 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 5 3662 993 0 0 7 994 3817 0 0 0 0 994 0 0 6 597 3601 0 0 0 1 4 this 3 3885 995 0 0 7 623 3896 2415 0 0 0 996 0 0 15 623 3896 2415 0 0 1 6 param0 0 3923 997 0 0 55 623 3896 2415 0 0 1 8 sequence 1 3624 998 0 0 38 624 3624 0 0 0 1 4 this 3 3923 999 0 0 4 625 3813 0 0 49 /** * Adds a new NodePath to the collection. */ 2 4 this 3 3896 9 node_path 1 3885 1000 0 0 6 626 3601 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 3896 9 node_path 1 3885 1001 0 0 4 627 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 3896 5 other 1 3923 1002 0 0 4 628 3813 0 0 95 /** * Removes from this collection all of the NodePaths listed in the other * collection. */ 2 4 this 3 3896 5 other 1 3923 1003 0 0 4 629 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 3896 1004 0 0 6 630 3601 0 0 97 /** * Returns true if the indicated NodePath appears in this collection, false * otherwise. */ 2 4 this 3 3923 4 path 1 3885 1005 0 0 4 631 3813 0 0 53 /** * Removes all NodePaths from the collection. */ 1 4 this 3 3896 1006 0 0 4 632 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 3896 3 num 1 3797 1007 0 0 6 633 3601 0 0 85 /** * Returns true if there are no NodePaths in the collection, false otherwise. */ 1 4 this 3 3923 1008 0 0 6 634 3594 0 0 61 /** * Returns the number of NodePaths in the collection. */ 1 4 this 3 3923 1009 0 0 7 635 3895 2739 0 54 /** * Returns the nth NodePath in the collection. */ 2 4 this 3 3923 5 index 1 3594 1010 0 0 7 637 3895 2739 0 0 2 4 this 3 3923 5 index 1 3797 1011 0 0 6 638 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 3923 1012 0 0 6 639 3896 0 0 0 2 4 this 3 3896 5 other 1 3923 1013 0 0 7 640 3896 2415 0 0 2 4 this 3 3923 5 other 1 3923 1014 0 0 4 641 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 3896 9 node_path 1 3885 1015 0 0 4 642 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 3896 5 other 1 3923 1016 0 0 4 643 3813 0 0 90 /** * Lists all the nodes at and below each node in the collection * hierarchically. */ 1 4 this 3 3923 1017 0 0 4 643 3813 0 0 90 /** * Lists all the nodes at and below each node in the collection * hierarchically. */ 3 4 this 3 3923 3 out 1 3814 12 indent_level 5 3594 1018 0 0 7 644 3896 2415 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 3923 4 path 1 3842 1019 0 0 4 645 3813 0 0 79 /** * Reparents all the NodePaths in the collection to the indicated node. */ 2 4 this 3 3896 5 other 1 3885 1020 0 0 4 646 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 3896 5 other 1 3885 1021 0 0 4 647 3813 0 0 49 /** * Shows all NodePaths in the collection. */ 1 4 this 3 3896 1022 0 0 4 648 3813 0 0 49 /** * Hides all NodePaths in the collection. */ 1 4 this 3 3896 1023 0 0 4 649 3813 0 0 51 /** * Stashes all NodePaths in the collection. */ 1 4 this 3 3896 1024 0 0 4 650 3813 0 0 53 /** * Unstashes all NodePaths in the collection. */ 1 4 this 3 3896 1025 0 0 4 651 3813 0 0 52 /** * Detaches all NodePaths in the collection. */ 1 4 this 3 3896 1026 0 0 7 652 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 3923 1027 0 0 4 653 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 3896 8 new_mask 1 3851 14 bits_to_change 5 3851 9 node_type 5 3817 1028 0 0 6 654 3601 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 3923 9 min_point 1 3897 9 max_point 1 3897 1029 0 0 38 655 3624 0 0 0 1 4 this 3 3923 1030 0 0 4 656 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 3896 3 tex 1 3756 8 priority 5 3594 1031 0 0 4 656 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 3896 5 stage 1 3754 3 tex 1 3756 8 priority 5 3594 1032 0 0 4 657 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 3896 5 stage 1 3754 8 priority 5 3594 1033 0 0 4 657 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 3896 8 priority 5 3594 1034 0 0 4 658 3813 0 0 49 /** * Colors all NodePaths in the collection */ 3 4 this 3 3896 5 color 1 3821 8 priority 5 3594 1035 0 0 4 658 3813 0 0 49 /** * Colors all NodePaths in the collection */ 6 4 this 3 3896 1 r 1 3599 1 g 1 3599 1 b 1 3599 1 a 5 3599 8 priority 5 3594 1036 0 0 4 659 3813 0 0 109 /** * Applies color scales to all NodePaths in the collection. The existing * color scale is replaced. */ 3 4 this 3 3896 5 scale 1 3881 8 priority 5 3594 1037 0 0 4 659 3813 0 0 109 /** * Applies color scales to all NodePaths in the collection. The existing * color scale is replaced. */ 6 4 this 3 3896 1 r 1 3599 1 g 1 3599 1 b 1 3599 1 a 5 3599 8 priority 5 3594 1038 0 0 4 660 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 3896 5 scale 1 3881 8 priority 5 3594 1039 0 0 4 660 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 3896 1 r 1 3599 1 g 1 3599 1 b 1 3599 1 a 5 3599 8 priority 5 3594 1040 0 0 4 661 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 3896 6 attrib 1 3608 8 priority 5 3594 1041 0 0 4 662 3813 0 0 107 /** * Writes a brief one-line description of the NodePathCollection to the * indicated output stream. */ 2 4 this 3 3923 3 out 1 3814 1042 0 0 4 663 3813 0 0 112 /** * Writes a complete multi-line description of the NodePathCollection to the * indicated output stream. */ 3 4 this 3 3923 3 out 1 3814 12 indent_level 5 3594 1043 0 0 4 997 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 3925 11 attrib_node 1 3885 1044 0 0 6 998 3601 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 3925 11 attrib_node 1 3885 1045 0 0 4 998 3813 0 0 50 /** * Removes the nth node from the registry. */ 2 4 this 3 3925 1 n 1 3594 1046 0 0 7 999 3895 2739 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 3926 9 orig_node 1 3885 1047 0 0 6 1000 3594 0 0 61 /** * Returns the total number of nodes in the registry. */ 1 4 this 3 3926 1048 0 0 7 1001 3895 2739 0 61 /** * Returns the nth NodePath recorded in the registry. */ 2 4 this 3 3926 1 n 1 3594 1049 0 0 7 1003 3817 0 0 73 /** * Returns the type of the nth node, as recorded in the registry. */ 2 4 this 3 3926 1 n 1 3594 1050 0 0 6 1004 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 3926 1 n 1 3594 1051 0 0 6 1005 3594 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 3926 11 attrib_node 1 3885 1052 0 0 6 1005 3594 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 3926 4 type 1 3817 4 name 1 3842 1053 0 0 4 1006 3813 0 0 47 /** * Removes all nodes from the registry. */ 1 4 this 3 3925 1054 0 0 4 1007 3813 0 0 10 /** * */ 2 4 this 3 3926 3 out 1 3814 1055 0 0 4 1008 3813 0 0 10 /** * */ 2 4 this 3 3926 3 out 1 3814 1056 0 0 6 1009 3925 0 0 10 /** * */ 0 1057 0 0 7 1012 3608 0 0 54 /** * Constructs an identity audio volume attrib. */ 0 1058 0 0 23 1013 3608 0 0 125 /** * Constructs a new AudioVolumeAttrib object that indicates audio volume * should be scaled by the indicated factor. */ 1 6 volume 1 3599 1059 0 0 7 1014 3608 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 1060 0 0 7 1015 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1061 0 0 6 1016 3601 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 3928 1062 0 0 6 1017 3601 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 3928 1063 0 0 6 1018 3599 0 0 54 /** * Returns the volume to be applied to sounds. */ 1 4 this 3 3928 1064 0 0 7 1019 3608 0 0 118 /** * Returns a new AudioVolumeAttrib, just like this one, but with the volume * changed to the indicated value. */ 2 4 this 3 3928 6 volume 1 3599 1065 0 0 6 1021 3594 0 0 0 0 1066 0 0 7 1023 3817 0 0 0 0 1067 0 0 7 1027 3608 0 0 57 /** * Constructs a default AuxBitplaneAttrib object. */ 0 1068 0 0 23 1027 3608 0 0 59 /** * Constructs a specified AuxBitplaneAttrib object. */ 1 7 outputs 1 3594 1069 0 0 7 1028 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1070 0 0 6 1029 3594 0 0 53 /** * Returns the AuxBitplaneAttrib output bits. */ 1 4 this 3 3930 1071 0 0 6 1031 3594 0 0 0 0 1072 0 0 7 1033 3817 0 0 0 0 1073 0 0 15 1045 3675 2779 0 0 1 6 param0 0 3932 1074 0 0 4 1037 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 3675 8 duration 1 3934 1075 0 0 6 1038 3934 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 3932 1076 0 0 4 1039 3813 0 0 111 /** * Should be called with the current frame_time each time the AuxSceneData is * used during traversal. */ 2 4 this 3 3675 11 render_time 1 3934 1077 0 0 6 1040 3934 0 0 112 /** * Returns the last time this object was used during traversal (according to * set_last_render_time()). */ 1 4 this 3 3932 1078 0 0 6 1041 3934 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 3932 1079 0 0 4 1042 3813 0 0 10 /** * */ 2 4 this 3 3932 3 out 1 3814 1080 0 0 4 1043 3813 0 0 10 /** * */ 3 4 this 3 3932 3 out 1 3814 12 indent_level 5 3594 1081 0 0 7 1044 3817 0 0 0 0 1082 0 0 7 1049 3935 2781 0 10 /** * */ 0 1083 0 0 6 1051 3601 0 0 111 /** * Attempts to open the indicated filename for reading. Returns true if * successful, false on error. */ 3 4 this 3 3935 12 bam_filename 1 3921 13 report_errors 5 3601 1084 0 0 6 1051 3601 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 3935 2 in 1 3936 12 bam_filename 5 3842 13 report_errors 5 3601 1085 0 0 6 1052 3938 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 3935 1086 0 0 6 1053 3601 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 3940 1087 0 0 6 1054 3601 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 3935 1088 0 0 7 1055 3651 2131 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 3935 13 report_errors 5 3601 1089 0 0 6 1056 3601 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 3935 12 bam_filename 1 3921 13 report_errors 5 3601 1090 0 0 6 1056 3601 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 3935 3 out 1 3814 12 bam_filename 5 3842 13 report_errors 5 3601 1091 0 0 6 1057 3601 0 0 103 /** * Writes the indicated object to the Bam file. Returns true if successful, * false on error. */ 2 4 this 3 3935 6 object 1 3942 1092 0 0 4 1058 3813 0 0 45 /** * Closes the input or output stream. */ 1 4 this 3 3935 1093 0 0 6 1059 3601 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 3940 1094 0 0 6 1060 3601 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 3940 1095 0 0 6 1061 3594 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 3935 1096 0 0 6 1062 3594 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 3935 1097 0 0 6 1063 3661 0 0 102 /** * Returns the endian preference indicated by the Bam file currently being * read or written. */ 1 4 this 3 3940 1098 0 0 6 1064 3601 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 3940 1099 0 0 6 1065 3594 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 3935 1100 0 0 6 1066 3594 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 3935 1101 0 0 6 1067 3662 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 3935 1102 0 0 6 1068 3664 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 3935 1103 0 0 23 1081 3838 0 0 81 /** * Constructs a new BillboardEffect object with the indicated properties. */ 7 9 up_vector 1 3904 12 eye_relative 1 3601 12 axial_rotate 1 3601 6 offset 1 3599 7 look_at 1 3885 13 look_at_point 1 3810 11 fixed_depth 5 3601 1104 0 0 7 1082 3838 0 0 76 /** * A convenience function to make a typical axis-rotating billboard. */ 0 1105 0 0 7 1083 3838 0 0 93 /** * A convenience function to make a typical eye-relative point-rotating * billboard. */ 0 1106 0 0 7 1084 3838 0 0 95 /** * A convenience function to make a typical world-relative point-rotating * billboard. */ 0 1107 0 0 6 1085 3601 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 3944 1108 0 0 6 1086 3904 0 0 62 /** * Returns the up vector in effect for this billboard. */ 1 4 this 3 3944 1109 0 0 6 1087 3601 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 3944 1110 0 0 6 1088 3601 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 3944 1111 0 0 6 1089 3601 0 0 96 /** * Returns true if this billboard always appears at a fixed distance from the * camera. */ 1 4 this 3 3944 1112 0 0 6 1090 3599 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 3944 1113 0 0 6 1091 3885 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 3944 1114 0 0 6 1092 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 3944 1115 0 0 7 1093 3817 0 0 0 0 1116 0 0 7 1096 3948 2827 0 10 /** * */ 2 4 name 1 3842 4 lens 5 3946 1117 0 0 4 1097 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 3948 4 lens 1 3949 1118 0 0 4 1097 3813 0 0 61 /** * Copies the indicated lens into the specified slot. */ 3 4 this 3 3948 5 index 1 3594 4 lens 1 3949 1119 0 0 4 1098 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 3948 4 lens 1 3946 1120 0 0 4 1098 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 3948 5 index 1 3594 4 lens 1 3946 1121 0 0 7 1099 3946 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 3951 5 index 5 3594 1122 0 0 6 1100 3601 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 3948 5 index 1 3594 6 active 1 3601 1123 0 0 6 1101 3601 0 0 52 /** * Returns the active flag for the nth lens. */ 2 4 this 3 3951 5 index 1 3594 1124 0 0 6 1102 3601 0 0 65 /** * An alternate way to call set_lens_active(index, true). */ 2 4 this 3 3948 5 index 1 3594 1125 0 0 6 1103 3601 0 0 66 /** * An alternate way to call set_lens_active(index, false). */ 2 4 this 3 3948 5 index 1 3594 1126 0 0 6 1104 3601 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 3948 3 pos 1 3810 1127 0 0 6 1104 3601 0 0 199 /** * 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). The point is assumed to * be relative to the LensNode itself. */ 3 4 this 3 3948 5 index 1 3594 3 pos 1 3810 1128 0 0 4 1105 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 3948 1129 0 0 4 1106 3813 0 0 78 /** * Disables the drawing of the lens's frustum to aid in visualization. */ 1 4 this 3 3948 1130 0 0 7 1107 3817 0 0 0 0 1131 0 0 23 1110 3953 2829 0 10 /** * */ 1 9 node_path 1 3885 1132 0 0 15 1110 3953 2829 0 10 /** * */ 1 4 copy 1 3916 1133 0 0 6 1112 3953 0 0 0 2 4 this 3 3953 9 node_path 1 3885 1134 0 0 6 1112 3953 0 0 0 2 4 this 3 3953 4 copy 1 3916 1135 0 0 4 1113 3813 0 0 93 /** * Sets this NodePath to the empty NodePath. It will no longer point to any * node. */ 1 4 this 3 3953 1136 0 0 6 1115 3601 0 0 85 /** * Returns true if the NodePath contains no nodes, or if it has been deleted. */ 1 4 this 3 3916 1137 0 0 6 1116 3601 0 0 116 /** * Returns true if the NodePath we were referencing has been quietly deleted * outside of the WeakNodePath. */ 1 4 this 3 3916 1138 0 0 7 1117 3895 2739 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 3916 1139 0 0 7 1118 3651 2131 0 98 /** * Returns the PandaNode held within this object, or nullptr if the object was * deleted. */ 1 4 this 3 3916 1140 0 0 6 1119 3601 0 0 0 2 4 this 3 3916 5 other 1 3885 1141 0 0 6 1119 3601 0 0 0 2 4 this 3 3916 5 other 1 3916 1142 0 0 6 1120 3601 0 0 0 2 4 this 3 3916 5 other 1 3885 1143 0 0 6 1120 3601 0 0 0 2 4 this 3 3916 5 other 1 3916 1144 0 0 6 1121 3601 0 0 0 2 4 this 3 3916 5 other 1 3885 1145 0 0 6 1121 3601 0 0 0 2 4 this 3 3916 5 other 1 3916 1146 0 0 6 1122 3594 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 3916 5 other 1 3885 1147 0 0 6 1122 3594 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 3916 5 other 1 3916 1148 0 0 6 1123 3594 0 0 58 /** * Returns the same values as NodePath::get_key(). */ 1 4 this 3 3916 1149 0 0 4 1124 3813 0 0 10 /** * */ 2 4 this 3 3916 3 out 1 3814 1150 0 0 6 1114 3601 0 0 0 1 4 this 3 3916 1151 0 0 15 1126 3956 2827 0 10 /** * */ 1 4 copy 1 3954 1152 0 0 7 1126 3956 2827 0 10 /** * */ 2 4 name 1 3842 4 lens 5 3946 1153 0 0 4 1127 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 3956 6 active 1 3601 1154 0 0 6 1128 3601 0 0 72 /** * Returns the current setting of the active flag on the camera. */ 1 4 this 3 3954 1155 0 0 4 1130 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 3956 5 scene 1 3885 1156 0 0 6 1131 3885 0 0 83 /** * Returns the scene that will be rendered by the camera. See set_scene(). */ 1 4 this 3 3954 1157 0 0 6 1134 3797 0 0 76 /** * Returns the number of display regions associated with the camera. */ 1 4 this 3 3954 1158 0 0 6 1135 3671 0 0 69 /** * Returns the nth display region associated with the camera. */ 2 4 this 3 3954 1 n 1 3797 1159 0 0 4 1140 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 3956 4 mask 1 3850 1160 0 0 7 1141 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 3954 1161 0 0 4 1143 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 3956 11 cull_center 1 3885 1162 0 0 6 1144 3885 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 3954 1163 0 0 4 1146 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 3956 11 cull_bounds 1 3673 1164 0 0 7 1147 3673 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 3954 1165 0 0 4 1150 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 3956 10 lod_center 1 3885 1166 0 0 6 1151 3885 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 3954 1167 0 0 4 1153 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 3956 5 state 1 3826 1168 0 0 7 1154 3826 0 0 86 /** * Returns the initial state as set by a previous call to set_initial_state(). */ 1 4 this 3 3954 1169 0 0 4 1156 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 3956 13 tag_state_key 1 3842 1170 0 0 6 1157 3842 0 0 80 /** * Returns the tag key as set by a previous call to set_tag_state_key(). */ 1 4 this 3 3954 1171 0 0 4 1160 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 3956 5 value 1 3599 1172 0 0 6 1161 3599 0 0 52 /** * Returns the multiplier for LOD distances. */ 1 4 this 3 3954 1173 0 0 4 1163 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 3956 9 tag_state 1 3842 5 state 1 3826 1174 0 0 4 1164 3813 0 0 85 /** * Removes the association established by a previous call to set_tag_state(). */ 2 4 this 3 3956 9 tag_state 1 3842 1175 0 0 4 1165 3813 0 0 85 /** * Removes all associations established by previous calls to set_tag_state(). */ 1 4 this 3 3956 1176 0 0 6 1166 3601 0 0 119 /** * Returns true if set_tag_state() has previously been called with the * indicated tag state, false otherwise. */ 2 4 this 3 3954 9 tag_state 1 3842 1177 0 0 7 1167 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 3954 9 tag_state 1 3842 1178 0 0 4 1169 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 3956 9 node_path 1 3885 4 data 1 3675 1179 0 0 6 1170 3601 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 3956 9 node_path 1 3885 1180 0 0 7 1171 3675 2779 0 112 /** * Returns the AuxSceneData associated with the indicated NodePath, or NULL if * nothing is associated. */ 2 4 this 3 3954 9 node_path 1 3885 1181 0 0 4 1172 3813 0 0 65 /** * Outputs all of the NodePaths and AuxSceneDatas in use. */ 2 4 this 3 3954 3 out 1 3814 1182 0 0 6 1173 3594 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 3956 14 current_thread 5 3845 1183 0 0 7 1176 3817 0 0 0 0 1184 0 0 7 1178 3958 2885 0 10 /** * */ 2 4 name 1 3842 5 plane 5 3957 1185 0 0 4 1179 3813 0 0 66 /** * Sets the particular plane represented by the PlaneNode. */ 2 4 this 3 3958 5 plane 1 3957 1186 0 0 6 1180 3957 0 0 58 /** * Returns the plane represented by the PlaneNode. */ 1 4 this 3 3959 1187 0 0 4 1181 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 3958 9 viz_scale 1 3599 1188 0 0 6 1182 3599 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 3959 1189 0 0 4 1183 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 3958 8 priority 1 3594 1190 0 0 6 1184 3594 0 0 85 /** * Returns the priority associated with this clip plane. See set_priority(). */ 1 4 this 3 3959 1191 0 0 4 1186 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 3958 11 clip_effect 1 3594 1192 0 0 6 1187 3594 0 0 84 /** * Returns the clip_effect bits for this clip plane. See set_clip_effect(). */ 1 4 this 3 3959 1193 0 0 7 1195 3817 0 0 0 0 1194 0 0 7 1199 3608 0 0 75 // The following is the new, more general interface to the ClipPlaneAttrib. 0 1195 0 0 23 1199 3608 0 0 186 /** * Constructs a new ClipPlaneAttrib object that enables (or disables, * according to op) the indicated plane(s). * * @deprecated Use add_on_plane() or add_off_plane() instead. */ 2 2 op 1 3682 5 plane 1 3958 1196 0 0 23 1199 3608 0 0 181 /** * Constructs a new ClipPlaneAttrib object that turns on (or off, according to * op) the indicate plane(s). * * @deprecated Use add_on_plane() or add_off_plane() instead. */ 3 2 op 1 3682 6 plane1 1 3958 6 plane2 1 3958 1197 0 0 23 1199 3608 0 0 181 /** * Constructs a new ClipPlaneAttrib object that turns on (or off, according to * op) the indicate plane(s). * * @deprecated Use add_on_plane() or add_off_plane() instead. */ 4 2 op 1 3682 6 plane1 1 3958 6 plane2 1 3958 6 plane3 1 3958 1198 0 0 23 1199 3608 0 0 181 /** * Constructs a new ClipPlaneAttrib object that turns on (or off, according to * op) the indicate plane(s). * * @deprecated Use add_on_plane() or add_off_plane() instead. */ 5 2 op 1 3682 6 plane1 1 3958 6 plane2 1 3958 6 plane3 1 3958 6 plane4 1 3958 1199 0 0 7 1200 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1200 0 0 6 1201 3682 0 0 512 /** * 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. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 1 4 this 3 3961 1201 0 0 6 1202 3594 0 0 234 /** * Returns the number of planes listed in the attribute. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 1 4 this 3 3961 1202 0 0 7 1203 3958 2885 0 227 /** * Returns the nth plane listed in the attribute. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 2 4 this 3 3961 1 n 1 3594 1203 0 0 6 1204 3601 0 0 261 /** * Returns true if the indicated plane is listed in the attrib, false * otherwise. * * @deprecated ClipPlaneAttribs nowadays have a separate list of on_planes and * off_planes, so this method no longer makes sense. Query the lists * independently. */ 2 4 this 3 3961 5 plane 1 3958 1204 0 0 7 1205 3608 0 0 187 /** * Returns a new ClipPlaneAttrib, just like this one, but with the indicated * plane added to the list of planes. * * @deprecated Use add_on_plane() or add_off_plane() instead. */ 2 4 this 3 3961 5 plane 1 3958 1205 0 0 7 1206 3608 0 0 197 /** * Returns a new ClipPlaneAttrib, just like this one, but with the indicated * plane removed from the list of planes. * * @deprecated Use remove_on_plane() or remove_off_plane() instead. */ 2 4 this 3 3961 5 plane 1 3958 1206 0 0 7 1207 3608 0 0 109 /** * Constructs a new ClipPlaneAttrib object that disables all planes (and hence * disables clipping). */ 0 1207 0 0 6 1208 3594 0 0 74 /** * Returns the number of planes that are enabled by the attribute. */ 1 4 this 3 3961 1208 0 0 7 1209 3895 2739 0 82 /** * Returns the nth plane enabled by the attribute, sorted in render order. */ 2 4 this 3 3961 1 n 1 3594 1209 0 0 6 1211 3601 0 0 92 /** * Returns true if the indicated plane is enabled by the attrib, false * otherwise. */ 2 4 this 3 3961 5 plane 1 3885 1210 0 0 6 1212 3594 0 0 75 /** * Returns the number of planes that are disabled by the attribute. */ 1 4 this 3 3961 1211 0 0 7 1213 3895 2739 0 99 /** * Returns the nth plane disabled by the attribute, sorted in arbitrary * (pointer) order. */ 2 4 this 3 3961 1 n 1 3594 1212 0 0 6 1215 3601 0 0 93 /** * Returns true if the indicated plane is disabled by the attrib, false * otherwise. */ 2 4 this 3 3961 5 plane 1 3885 1213 0 0 6 1216 3601 0 0 97 /** * Returns true if this attrib disables all planes (although it may also * enable some). */ 1 4 this 3 3961 1214 0 0 6 1217 3601 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 3961 1215 0 0 7 1218 3608 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 3961 5 plane 1 3885 1216 0 0 7 1219 3608 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 3961 5 plane 1 3885 1217 0 0 7 1220 3608 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 3961 5 plane 1 3885 1218 0 0 7 1221 3608 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 3961 5 plane 1 3885 1219 0 0 7 1222 3961 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 3961 15 max_clip_planes 1 3594 1220 0 0 6 1223 3594 0 0 0 0 1221 0 0 7 1225 3817 0 0 0 0 1222 0 0 7 1229 3608 0 0 127 /** * Constructs a new ColorAttrib object that indicates geometry should be * rendered according to its own vertex color. */ 0 1223 0 0 7 1230 3608 0 0 116 /** * Constructs a new ColorAttrib object that indicates geometry should be * rendered in the indicated color. */ 1 5 color 1 3821 1224 0 0 7 1231 3608 0 0 102 /** * Constructs a new ColorAttrib object that indicates geometry should be * rendered in white. */ 0 1225 0 0 7 1232 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1226 0 0 6 1233 3684 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 3963 1227 0 0 6 1234 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 3963 1228 0 0 6 1237 3594 0 0 0 0 1229 0 0 7 1239 3817 0 0 0 0 1230 0 0 7 1244 3608 0 0 142 /** * Constructs a new ColorBlendAttrib object that disables special-effect * blending, allowing normal transparency to be used instead. */ 0 1231 0 0 23 1245 3608 0 0 124 /** * Constructs a new ColorBlendAttrib object. * * @deprecated Use the three- or four-parameter constructor instead. */ 1 4 mode 1 3686 1232 0 0 23 1245 3608 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 3686 5 rgb_a 1 3687 5 rgb_b 1 3687 10 alpha_mode 1 3686 7 alpha_a 1 3687 7 alpha_b 1 3687 5 color 5 3821 1233 0 0 23 1245 3608 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 3686 1 a 1 3687 1 b 1 3687 5 color 5 3821 1234 0 0 7 1246 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1235 0 0 6 1247 3686 0 0 58 /** * Returns the blending mode for the RGB channels. */ 1 4 this 3 3965 1236 0 0 6 1248 3687 0 0 62 /** * Returns the RGB multiplier for the first component. */ 1 4 this 3 3965 1237 0 0 6 1249 3687 0 0 63 /** * Returns the RGB multiplier for the second component. */ 1 4 this 3 3965 1238 0 0 6 1250 3686 0 0 59 /** * Returns the blending mode for the alpha channel. */ 1 4 this 3 3965 1239 0 0 6 1251 3687 0 0 64 /** * Returns the alpha multiplier for the first component. */ 1 4 this 3 3965 1240 0 0 6 1252 3687 0 0 65 /** * Returns the alpha multiplier for the second component. */ 1 4 this 3 3965 1241 0 0 7 1253 3906 0 0 65 /** * Returns the constant color associated with the attrib. */ 1 4 this 3 3965 1242 0 0 6 1254 3601 0 0 84 /** * Returns true if the this attrib uses the constant color, false otherwise. */ 1 4 this 3 3965 1243 0 0 6 1254 3601 0 0 93 /** * Returns true if the indicated operand uses the constant color, false * otherwise. */ 1 7 operand 1 3687 1244 0 0 6 1255 3601 0 0 91 /** * Returns true if the this attrib uses the color scale attrib, false * otherwise. */ 1 4 this 3 3965 1245 0 0 6 1255 3601 0 0 97 /** * Returns true if the indicated operand uses the color scale attrib, false * otherwise. */ 1 7 operand 1 3687 1246 0 0 6 1263 3594 0 0 0 0 1247 0 0 7 1265 3817 0 0 0 0 1248 0 0 7 1268 3608 0 0 47 /** * Constructs an identity scale attrib. */ 0 1249 0 0 23 1269 3608 0 0 120 /** * Constructs a new ColorScaleAttrib object that indicates geometry should be * scaled by the indicated factor. */ 1 5 scale 1 3881 1250 0 0 7 1270 3608 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 1251 0 0 7 1271 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1252 0 0 6 1272 3601 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 3967 1253 0 0 6 1273 3601 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 3967 1254 0 0 6 1274 3601 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 3967 1255 0 0 6 1275 3601 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 3967 1256 0 0 6 1276 3601 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 3967 1257 0 0 6 1277 3881 0 0 53 /** * Returns the scale to be applied to colors. */ 1 4 this 3 3967 1258 0 0 7 1278 3608 0 0 116 /** * Returns a new ColorScaleAttrib, just like this one, but with the scale * changed to the indicated value. */ 2 4 this 3 3967 5 scale 1 3881 1259 0 0 6 1282 3594 0 0 0 0 1260 0 0 7 1284 3817 0 0 0 0 1261 0 0 23 1288 3608 0 0 52 /** * Constructs a new ColorWriteAttrib object. */ 1 8 channels 1 3693 1262 0 0 7 1289 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1263 0 0 6 1290 3693 0 0 78 /** * Returns the mask of color channels that are enabled by this attrib. */ 1 4 this 3 3969 1264 0 0 6 1293 3594 0 0 0 0 1265 0 0 7 1295 3817 0 0 0 0 1266 0 0 23 1299 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 3885 10 properties 5 3594 1267 0 0 6 1300 3885 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 3971 1268 0 0 6 1301 3594 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 3971 1269 0 0 7 1302 3817 0 0 0 0 1270 0 0 7 1306 3973 2961 0 0 0 1271 0 0 15 1306 3973 2961 0 0 1 6 param0 0 3974 1272 0 0 7 1309 3976 2131 0 10 /** * */ 1 4 name 1 3842 1273 0 0 4 1310 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 3976 5 value 1 3601 1274 0 0 6 1311 3601 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 3977 1275 0 0 6 1312 3594 0 0 51 /** * Returns the number of geoms in the node. */ 1 4 this 3 3977 1276 0 0 7 1313 3981 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 3977 1 n 1 3594 1277 0 0 7 1315 3982 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 3976 1 n 1 3594 1278 0 0 7 1317 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 3977 1 n 1 3594 1279 0 0 4 1319 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 3976 1 n 1 3594 5 state 1 3826 1280 0 0 4 1320 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 3976 4 geom 1 3982 5 state 5 3826 1281 0 0 4 1321 3813 0 0 109 /** * Copies the Geoms (and their associated RenderStates) from the indicated * GeomNode into this one. */ 2 4 this 3 3976 5 other 1 3977 1282 0 0 4 1322 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 3976 1 n 1 3594 4 geom 1 3982 1283 0 0 4 1323 3813 0 0 46 /** * Removes the nth geom from the node. */ 2 4 this 3 3976 1 n 1 3594 1284 0 0 4 1324 3813 0 0 55 /** * Removes all the geoms from the node at once. */ 1 4 this 3 3976 1285 0 0 6 1325 3601 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 3977 1286 0 0 4 1326 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 3976 1287 0 0 4 1327 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 3976 11 max_indices 1 3594 14 preserve_order 1 3601 1288 0 0 4 1328 3813 0 0 67 /** * Writes a short description of all the Geoms in the node. */ 3 4 this 3 3977 3 out 1 3814 12 indent_level 1 3594 1289 0 0 4 1329 3813 0 0 70 /** * Writes a detailed description of all the Geoms in the node. */ 3 4 this 3 3977 3 out 1 3814 12 indent_level 1 3594 1290 0 0 7 1330 3851 0 0 75 /** * Returns the default into_collide_mask assigned to new GeomNodes. */ 0 1291 0 0 7 1332 3817 0 0 0 0 1292 0 0 23 1334 3608 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 3594 1293 0 0 7 1335 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1294 0 0 6 1336 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 3983 1295 0 0 6 1337 3594 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 3983 1296 0 0 6 1340 3594 0 0 0 0 1297 0 0 7 1342 3817 0 0 0 0 1298 0 0 6 1345 3594 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 3985 4 name 1 3842 4 type 1 3986 4 sort 1 3594 1299 0 0 4 1346 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 3985 9 bin_index 1 3594 1300 0 0 6 1347 3594 0 0 51 /** * Returns the number of bins in the world. */ 1 4 this 3 3987 1301 0 0 6 1348 3594 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 3987 1 n 1 3594 1302 0 0 6 1350 3594 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 3987 4 name 1 3842 1303 0 0 6 1351 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 3987 9 bin_index 1 3594 1304 0 0 6 1352 3986 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 3987 9 bin_index 1 3594 1305 0 0 6 1352 3986 0 0 63 /** * Returns the type of the bin with the indicated name. */ 2 4 this 3 3987 4 name 1 3842 1306 0 0 4 1353 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 3985 9 bin_index 1 3594 4 type 1 3986 1307 0 0 4 1353 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 3985 4 name 1 3842 4 type 1 3986 1308 0 0 6 1354 3594 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 3987 9 bin_index 1 3594 1309 0 0 6 1354 3594 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 3987 4 name 1 3842 1310 0 0 4 1355 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 3985 9 bin_index 1 3594 4 sort 1 3594 1311 0 0 4 1355 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 3985 4 name 1 3842 4 sort 1 3594 1312 0 0 6 1356 3601 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 3987 9 bin_index 1 3594 1313 0 0 6 1356 3601 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 3987 4 name 1 3842 1314 0 0 4 1357 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 3985 9 bin_index 1 3594 6 active 1 3601 1315 0 0 4 1357 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 3985 4 name 1 3842 6 active 1 3601 1316 0 0 6 1358 3601 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 3987 9 bin_index 1 3594 1317 0 0 6 1359 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 3987 9 bin_index 1 3594 1318 0 0 4 1360 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 3985 9 bin_index 1 3594 6 active 1 3601 1319 0 0 4 1361 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 3985 9 bin_index 1 3594 5 color 1 3821 1320 0 0 4 1362 3813 0 0 10 /** * */ 2 4 this 3 3987 3 out 1 3814 1321 0 0 6 1363 3985 0 0 67 /** * Returns the pointer to the global CullBinManager object. */ 0 1322 0 0 23 1366 3608 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 5 3702 1323 0 0 7 1367 3608 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 1324 0 0 7 1368 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1325 0 0 6 1369 3702 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 3989 1326 0 0 6 1370 3601 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 3989 1327 0 0 6 1371 3702 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 3989 1328 0 0 6 1375 3594 0 0 0 0 1329 0 0 7 1377 3817 0 0 0 0 1330 0 0 15 1396 3991 3029 0 0 1 6 param0 0 3832 1331 0 0 7 1386 3651 2131 0 48 /** * Returns the node traversed to so far. */ 1 4 this 3 3832 1332 0 0 7 1387 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 3992 1333 0 0 7 1388 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 3992 1334 0 0 7 1389 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 3992 1335 0 0 6 1390 3601 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 3991 11 camera_mask 1 3994 1336 0 0 6 1391 3601 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 3994 1337 0 0 4 1392 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 3991 4 trav 1 3831 1338 0 0 4 1393 3813 0 0 73 /** * Applies the indicated transform changes onto the current data. */ 2 4 this 3 3991 14 node_transform 1 3795 1339 0 0 15 1427 3998 3059 0 0 1 6 param0 0 3996 1340 0 0 4 1399 3813 0 0 54 /** * Specifies the display region for the scene. */ 2 4 this 3 3998 14 display_region 1 3671 1341 0 0 6 1400 3671 0 0 52 /** * Returns the display region for the scene. */ 1 4 this 3 3996 1342 0 0 4 1401 3813 0 0 74 /** * Specifies the size of the viewport (display region), in pixels. */ 3 4 this 3 3998 5 width 1 3594 6 height 1 3594 1343 0 0 6 1402 3594 0 0 72 /** * Returns the width of the viewport (display region) in pixels. */ 1 4 this 3 3996 1344 0 0 6 1403 3594 0 0 73 /** * Returns the height of the viewport (display region) in pixels. */ 1 4 this 3 3996 1345 0 0 4 1404 3813 0 0 48 /** * Specifies the root node of the scene. */ 2 4 this 3 3998 10 scene_root 1 3885 1346 0 0 6 1405 3885 0 0 46 /** * Returns the root node of the scene. */ 1 4 this 3 3996 1347 0 0 4 1406 3813 0 0 48 /** * Specifies the NodePath to the camera. */ 2 4 this 3 3998 11 camera_path 1 3885 1348 0 0 6 1407 3885 0 0 46 /** * Returns the NodePath to the camera. */ 1 4 this 3 3996 1349 0 0 4 1408 3813 0 0 57 /** * Specifies the camera used to render the scene. */ 2 4 this 3 3998 11 camera_node 1 3956 1350 0 0 7 1409 3956 2827 0 55 /** * Returns the camera used to render the scene. */ 1 4 this 3 3996 1351 0 0 4 1410 3813 0 0 60 /** * Indicates the particular Lens used for rendering. */ 2 4 this 3 3998 4 lens 1 3949 1352 0 0 7 1411 3949 0 0 58 /** * Returns the particular Lens used for rendering. */ 1 4 this 3 3996 1353 0 0 4 1412 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 3998 8 inverted 1 3601 1354 0 0 6 1413 3601 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 3996 1355 0 0 6 1414 3885 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 3996 1356 0 0 7 1415 3673 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 3996 1357 0 0 4 1416 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 3998 13 initial_state 1 3826 1358 0 0 7 1417 3826 0 0 86 /** * Returns the initial state as set by a previous call to set_initial_state(). */ 1 4 this 3 3996 1359 0 0 4 1418 3813 0 0 78 /** * Specifies the position of the camera relative to the starting node. */ 2 4 this 3 3998 16 camera_transform 1 3795 1360 0 0 7 1419 3795 0 0 76 /** * Returns the position of the camera relative to the starting node. */ 1 4 this 3 3996 1361 0 0 4 1420 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 3998 15 world_transform 1 3795 1362 0 0 7 1421 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 3996 1363 0 0 4 1422 3813 0 0 114 /** * Specifies the transform from the camera's coordinate system to the GSG's * internal coordinate system. */ 2 4 this 3 3998 12 cs_transform 1 3795 1364 0 0 7 1423 3795 0 0 112 /** * Returns the transform from the camera's coordinate system to the GSG's * internal coordinate system. */ 1 4 this 3 3996 1365 0 0 4 1424 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 3998 18 cs_world_transform 1 3795 1366 0 0 7 1425 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 3996 1367 0 0 7 1426 3817 0 0 0 0 1368 0 0 7 1430 3709 2131 0 10 /** * */ 1 4 name 1 3842 1369 0 0 6 1432 3707 0 0 10 /** * */ 1 4 this 3 3999 1370 0 0 4 1433 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 3709 4 mode 1 3707 1371 0 0 6 1435 3821 0 0 40 /** * Returns the color of the fog. */ 1 4 this 3 3999 1372 0 0 4 1436 3813 0 0 71 /** * Sets the color of the fog. The alpha component is not used. */ 2 4 this 3 3709 5 color 1 3821 1373 0 0 4 1436 3813 0 0 37 /** * Sets the color of the fog. */ 4 4 this 3 3709 1 r 1 3599 1 g 1 3599 1 b 1 3599 1374 0 0 4 1438 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 3709 5 onset 1 3599 6 opaque 1 3599 1375 0 0 6 1439 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 3999 1376 0 0 4 1440 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 3709 18 linear_onset_point 1 3810 1377 0 0 4 1440 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 3709 1 x 1 3599 1 y 1 3599 1 z 1 3599 1378 0 0 6 1442 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 3999 1379 0 0 4 1443 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 3709 19 linear_opaque_point 1 3810 1380 0 0 4 1443 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 3709 1 x 1 3599 1 y 1 3599 1 z 1 3599 1381 0 0 4 1445 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 3709 5 angle 1 3599 5 onset 1 3599 6 opaque 1 3599 1382 0 0 6 1446 3599 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 3999 1383 0 0 4 1447 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 3709 11 exp_density 1 3599 1384 0 0 7 1449 3817 0 0 0 0 1385 0 0 23 1451 3608 0 0 103 /** * Constructs a new FogAttrib object suitable for rendering the indicated fog * onto geometry. */ 1 3 fog 1 3709 1386 0 0 7 1452 3608 0 0 84 /** * Constructs a new FogAttrib object suitable for rendering unfogd geometry. */ 0 1387 0 0 7 1453 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1388 0 0 6 1454 3601 0 0 105 /** * Returns true if the FogAttrib is an 'off' FogAttrib, indicating that it * should disable fog. */ 1 4 this 3 4001 1389 0 0 7 1455 3709 2131 0 118 /** * If the FogAttrib is not an 'off' FogAttrib, returns the fog that is * associated. Otherwise, return NULL. */ 1 4 this 3 4001 1390 0 0 6 1458 3594 0 0 0 0 1391 0 0 7 1460 3817 0 0 0 0 1392 0 0 7 1463 3831 3108 0 10 /** * */ 0 1393 0 0 15 1463 3831 3108 0 10 /** * */ 1 4 copy 1 3992 1394 0 0 7 1464 3852 0 0 55 /** * Returns the GraphicsStateGuardian in effect. */ 1 4 this 3 3992 1395 0 0 7 1465 3845 0 0 104 /** * Returns the currently-executing thread object, as passed to the * CullTraverser constructor. */ 1 4 this 3 3992 1396 0 0 4 1466 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 3998 3 gsg 1 3852 20 dr_incomplete_render 1 3601 1397 0 0 7 1467 3998 3059 0 41 /** * Returns the SceneSetup object. */ 1 4 this 3 3992 1398 0 0 6 1468 3601 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 3992 1399 0 0 6 1469 3842 0 0 95 /** * Returns the tag state key that has been specified for the scene's camera, * if any. */ 1 4 this 3 3992 1400 0 0 4 1470 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 3994 1401 0 0 6 1471 3994 0 0 73 /** * Returns the visibility mask from the camera viewing the scene. */ 1 4 this 3 3992 1402 0 0 7 1472 3795 0 0 76 /** * Returns the position of the camera relative to the starting node. */ 1 4 this 3 3992 1403 0 0 7 1473 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 3992 1404 0 0 7 1474 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 3992 1405 0 0 6 1475 3601 0 0 96 /** * Returns true, as depth offsets are the only way that we implement decals * nowadays. */ 1 4 this 3 3992 1406 0 0 4 1476 3813 0 0 154 /** * Specifies the bounding volume that corresponds to the view frustum. Any * primitives that fall entirely outside of this volume are not drawn. */ 2 4 this 3 3831 12 view_frustum 1 4003 1407 0 0 7 1477 4003 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 3992 1408 0 0 4 1478 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 4005 1409 0 0 6 1479 4005 0 0 65 /** * Returns the object that will receive the culled Geoms. */ 1 4 this 3 3992 1410 0 0 4 1480 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 4007 1411 0 0 6 1481 4007 0 0 46 /** * Returns the _portal_clipper pointer */ 1 4 this 3 3992 1412 0 0 6 1482 3601 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 3992 1413 0 0 4 1483 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 3991 1414 0 0 4 1483 3813 0 0 56 /** * Begins the traversal from the indicated node. */ 2 4 this 3 3831 4 root 1 3885 1415 0 0 4 1484 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 3991 1416 0 0 4 1485 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 1417 0 0 4 1486 3813 0 0 61 /** * Flushes the PStatCollectors used during traversal. */ 0 1418 0 0 4 1487 3813 0 0 79 /** * Draws an appropriate visualization of the indicated bounding volume. */ 3 4 this 3 3992 3 vol 1 3854 18 internal_transform 1 3795 1419 0 0 7 1488 3817 0 0 0 0 1420 0 0 6 1492 4011 0 0 74 /** * Returns a pointer to the particular object that is being drawn. */ 1 4 this 3 4009 1421 0 0 7 1493 3852 0 0 48 /** * Returns a pointer to the current GSG. */ 1 4 this 3 4009 1422 0 0 6 1494 3601 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 4009 1423 0 0 4 1495 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 4013 10 lost_state 1 3601 1424 0 0 6 1496 3601 0 0 62 /** * Returns the lost_state flag. See set_lost_state(). */ 1 4 this 3 4009 1425 0 0 7 1497 3817 0 0 0 0 1426 0 0 23 1501 3608 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 3714 1427 0 0 7 1502 3608 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 1428 0 0 6 1503 3714 0 0 35 /** * Returns the render mode. */ 1 4 this 3 4014 1429 0 0 6 1505 3594 0 0 0 0 1430 0 0 7 1507 3817 0 0 0 0 1431 0 0 15 1518 4018 0 0 0 1 6 param0 0 4016 1432 0 0 7 1511 4018 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 4016 1433 0 0 7 1512 4020 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 4018 9 bin_index 1 3594 1434 0 0 4 1513 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 4018 6 object 1 4011 9 traverser 1 3992 1435 0 0 4 1514 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 4018 11 scene_setup 1 3998 14 current_thread 1 3845 1436 0 0 4 1515 3813 0 0 69 /** * Asks all the bins to draw themselves in the correct order. */ 2 4 this 3 4018 14 current_thread 1 3845 1437 0 0 7 1516 3651 2131 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 4018 1438 0 0 7 1517 3817 0 0 0 0 1439 0 0 7 1520 3838 0 0 47 /** * Constructs a new DecalEffect object. */ 0 1440 0 0 7 1521 3817 0 0 0 0 1441 0 0 23 1524 3608 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 5 3594 1442 0 0 23 1524 3608 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 3594 9 min_value 1 3599 9 max_value 1 3599 1443 0 0 7 1525 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1444 0 0 6 1526 3594 0 0 63 /** * Returns the depth offset represented by this attrib. */ 1 4 this 3 4021 1445 0 0 6 1527 3599 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 4021 1446 0 0 6 1528 3599 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 4021 1447 0 0 6 1532 3594 0 0 0 0 1448 0 0 7 1534 3817 0 0 0 0 1449 0 0 23 1537 3608 0 0 51 /** * Constructs a new DepthTestAttrib object. */ 1 4 mode 1 3595 1450 0 0 7 1538 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1451 0 0 6 1539 3595 0 0 40 /** * Returns the depth write mode. */ 1 4 this 3 4023 1452 0 0 6 1541 3594 0 0 0 0 1453 0 0 7 1543 3817 0 0 0 0 1454 0 0 23 1547 3608 0 0 52 /** * Constructs a new DepthWriteAttrib object. */ 1 4 mode 1 3721 1455 0 0 7 1548 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1456 0 0 6 1549 3721 0 0 40 /** * Returns the depth write mode. */ 1 4 this 3 4025 1457 0 0 6 1551 3594 0 0 0 0 1458 0 0 7 1553 3817 0 0 0 0 1459 0 0 7 1557 3651 2131 0 0 1 4 this 3 3858 1460 0 0 6 1558 3601 0 0 95 /** * Returns true if this is an AmbientLight, false if it is some other kind of * light. */ 1 4 this 3 4027 1461 0 0 6 1559 3821 0 0 48 /** * Returns the basic color of the light. */ 1 4 this 3 4027 1462 0 0 4 1560 3813 0 0 45 /** * Sets the basic color of the light. */ 2 4 this 3 3858 5 color 1 3821 1463 0 0 6 1562 3601 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 4027 1464 0 0 6 1563 3599 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 4027 1465 0 0 4 1564 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 3599 1466 0 0 6 1566 3599 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 4027 1467 0 0 6 1567 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 4027 1468 0 0 6 1568 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 4027 1469 0 0 4 1569 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 3594 1470 0 0 6 1570 3594 0 0 80 /** * Returns the priority associated with this light. See set_priority(). */ 1 4 this 3 4027 1471 0 0 6 1571 3594 0 0 0 1 4 this 3 4027 1472 0 0 7 1573 3817 0 0 0 0 1473 0 0 7 1576 3608 0 0 71 // The following is the new, more general interface to the LightAttrib. 0 1474 0 0 23 1576 3608 0 0 178 /** * Constructs a new LightAttrib object that turns on (or off, according to op) * the indicated light(s). * * @deprecated Use add_on_light() or add_off_light() instead. */ 2 2 op 1 3724 5 light 1 3858 1475 0 0 23 1576 3608 0 0 177 /** * Constructs a new LightAttrib object that turns on (or off, according to op) * the indicate light(s). * * @deprecated Use add_on_light() or add_off_light() instead. */ 3 2 op 1 3724 6 light1 1 3858 6 light2 1 3858 1476 0 0 23 1576 3608 0 0 177 /** * Constructs a new LightAttrib object that turns on (or off, according to op) * the indicate light(s). * * @deprecated Use add_on_light() or add_off_light() instead. */ 4 2 op 1 3724 6 light1 1 3858 6 light2 1 3858 6 light3 1 3858 1477 0 0 23 1576 3608 0 0 177 /** * Constructs a new LightAttrib object that turns on (or off, according to op) * the indicate light(s). * * @deprecated Use add_on_light() or add_off_light() instead. */ 5 2 op 1 3724 6 light1 1 3858 6 light2 1 3858 6 light3 1 3858 6 light4 1 3858 1478 0 0 7 1577 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1479 0 0 6 1578 3724 0 0 505 /** * 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. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 1 4 this 3 4029 1480 0 0 6 1579 3594 0 0 230 /** * Returns the number of lights listed in the attribute. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 1 4 this 3 4029 1481 0 0 6 1580 3858 0 0 223 /** * Returns the nth light listed in the attribute. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 2 4 this 3 4029 1 n 1 3594 1482 0 0 6 1581 3601 0 0 257 /** * Returns true if the indicated light is listed in the attrib, false * otherwise. * * @deprecated LightAttribs nowadays have a separate list of on_lights and * off_lights, so this method no longer makes sense. Query the lists * independently. */ 2 4 this 3 4029 5 light 1 3858 1483 0 0 7 1582 3608 0 0 183 /** * Returns a new LightAttrib, just like this one, but with the indicated light * added to the list of lights. * * @deprecated Use add_on_light() or add_off_light() instead. */ 2 4 this 3 4029 5 light 1 3858 1484 0 0 7 1583 3608 0 0 193 /** * Returns a new LightAttrib, just like this one, but with the indicated light * removed from the list of lights. * * @deprecated Use remove_on_light() or remove_off_light() instead. */ 2 4 this 3 4029 5 light 1 3858 1485 0 0 7 1584 3608 0 0 106 /** * Constructs a new LightAttrib object that turns off all lights (and hence * disables lighting). */ 0 1486 0 0 6 1585 3797 0 0 76 /** * Returns the number of lights that are turned on by the attribute. */ 1 4 this 3 4029 1487 0 0 6 1586 3797 0 0 92 /** * Returns the number of non-ambient lights that are turned on by this * attribute. */ 1 4 this 3 4029 1488 0 0 7 1587 3895 2739 0 84 /** * Returns the nth light turned on by the attribute, sorted in render order. */ 2 4 this 3 4029 1 n 1 3797 1489 0 0 6 1589 3601 0 0 94 /** * Returns true if the indicated light is turned on by the attrib, false * otherwise. */ 2 4 this 3 4029 5 light 1 3885 1490 0 0 6 1590 3601 0 0 81 /** * Returns true if any light is turned on by the attrib, false otherwise. */ 1 4 this 3 4029 1491 0 0 6 1591 3797 0 0 77 /** * Returns the number of lights that are turned off by the attribute. */ 1 4 this 3 4029 1492 0 0 7 1592 3895 2739 0 101 /** * Returns the nth light turned off by the attribute, sorted in arbitrary * (pointer) order. */ 2 4 this 3 4029 1 n 1 3797 1493 0 0 6 1594 3601 0 0 95 /** * Returns true if the indicated light is turned off by the attrib, false * otherwise. */ 2 4 this 3 4029 5 light 1 3885 1494 0 0 6 1595 3601 0 0 99 /** * Returns true if this attrib turns off all lights (although it may also turn * some on). */ 1 4 this 3 4029 1495 0 0 6 1596 3601 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 4029 1496 0 0 7 1597 3608 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 4029 5 light 1 3885 1497 0 0 7 1598 3608 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 4029 5 light 1 3885 1498 0 0 7 1599 3608 0 0 126 /** * Returns a new LightAttrib, just like this one, but with the indicated light * replaced with the given other light. */ 3 4 this 3 4029 6 source 1 3885 4 dest 1 3885 1499 0 0 7 1600 3608 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 4029 5 light 1 3885 1500 0 0 7 1601 3608 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 4029 5 light 1 3885 1501 0 0 7 1602 3608 0 0 126 /** * Returns a new LightAttrib, just like this one, but with the indicated light * replaced with the given other light. */ 3 4 this 3 4029 6 source 1 3885 4 dest 1 3885 1502 0 0 7 1603 3895 2739 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 4029 1503 0 0 7 1604 3906 0 0 68 /** * Returns the total contribution of all the ambient lights. */ 1 4 this 3 4029 1504 0 0 6 1607 3594 0 0 0 0 1505 0 0 7 1609 3817 0 0 0 0 1506 0 0 7 1612 3608 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 1507 0 0 7 1613 3608 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 1508 0 0 7 1614 3608 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 3599 4 lev0 1 3599 1509 0 0 7 1615 3608 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 3599 4 lev0 1 3599 7 thresh1 1 3599 4 lev1 1 3599 1510 0 0 7 1616 3608 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 1511 0 0 7 1617 3608 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 1512 0 0 7 1618 3608 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 1513 0 0 6 1619 3726 0 0 44 /** * Returns the LightRampAttrib mode. */ 1 4 this 3 4031 1514 0 0 6 1620 3599 0 0 42 /** * Returns the nth lighting level. */ 2 4 this 3 4031 1 n 1 3594 1515 0 0 6 1621 3599 0 0 43 /** * Returns the nth threshold level. */ 2 4 this 3 4031 1 n 1 3594 1516 0 0 6 1623 3594 0 0 0 0 1517 0 0 7 1625 3817 0 0 0 0 1518 0 0 15 1642 3743 3238 0 0 1 6 param0 0 4033 1519 0 0 7 1642 3743 3238 0 10 /** * */ 1 4 name 5 3842 1520 0 0 4 1643 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 4035 1521 0 0 7 1644 4035 0 0 72 /** * Returns the task manager that is used for asynchronous loads. */ 1 4 this 3 4033 1522 0 0 4 1645 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 1523 0 0 6 1646 3842 0 0 70 /** * Returns the task chain that is used for asynchronous loads. */ 1 4 this 3 4033 1524 0 0 4 1647 3813 0 0 56 /** * Stop any threads used for asynchronous loads. */ 1 4 this 3 3743 1525 0 0 6 1648 3601 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 4037 1526 0 0 7 1649 3651 2131 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 4033 8 filename 1 3921 7 options 5 4038 1527 0 0 7 1650 4037 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 3921 7 options 5 4038 1528 0 0 4 1651 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 4037 1529 0 0 6 1652 3601 0 0 66 /** * Saves the file immediately, waiting for it to complete. */ 4 4 this 3 4033 8 filename 1 3921 7 options 1 4038 4 node 1 3651 1530 0 0 7 1653 4037 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 3921 7 options 1 4038 4 node 1 3651 1531 0 0 4 1654 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 4037 1532 0 0 7 1655 3651 2131 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 3936 1533 0 0 4 1656 3813 0 0 10 /** * */ 2 4 this 3 4033 3 out 1 3814 1534 0 0 7 1657 3743 3238 0 119 /** * Returns a pointer to the global Loader. This is the Loader that most code * should use for loading models. */ 0 1535 0 0 7 1658 3817 0 0 0 0 1536 0 0 7 1628 4039 0 0 0 1 4 this 3 3743 1537 0 0 6 1630 3862 0 0 0 1 4 this 3 3743 1538 0 0 7 1633 4040 3216 0 10 /** * */ 0 1539 0 0 15 1633 4040 3216 0 10 /** * */ 1 4 copy 1 4041 1540 0 0 6 1634 4040 0 0 0 2 4 this 3 4040 4 copy 1 4041 1541 0 0 4 1636 3813 0 0 47 /** * Removes all the files from the list. */ 1 4 this 3 4040 1542 0 0 6 1637 3594 0 0 58 /** * Returns the number of files on the result list. */ 1 4 this 3 4041 1543 0 0 6 1638 3921 0 0 51 /** * Returns the nth file on the result list. */ 2 4 this 3 4041 1 n 1 3594 1544 0 0 6 1640 3732 0 0 68 /** * Returns the file type of the nth file on the result list. */ 2 4 this 3 4041 1 n 1 3594 1545 0 0 6 1662 3842 0 0 0 1 4 this 3 4043 1546 0 0 6 1663 3842 0 0 0 1 4 this 3 4043 1547 0 0 6 1664 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 4043 1548 0 0 6 1665 3601 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 4043 1549 0 0 6 1666 3601 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 4043 7 options 1 4038 1550 0 0 6 1667 3601 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 4043 7 options 1 4038 1551 0 0 6 1668 3601 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 4043 1552 0 0 6 1669 3601 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 4043 1553 0 0 7 1670 3817 0 0 0 0 1554 0 0 15 1685 4047 3248 0 0 1 6 param0 0 4045 1555 0 0 36 1673 3813 0 0 0 2 4 this 3 4047 4 type 1 3624 1556 0 0 36 1674 3813 0 0 0 2 4 this 3 4047 11 entry_point 1 3624 1557 0 0 36 1675 3813 0 0 0 2 4 this 3 4047 4 type 1 3624 1558 0 0 6 1676 3594 0 0 56 /** * Returns the total number of types registered. */ 1 4 this 3 4045 1559 0 0 6 1677 3732 0 0 43 /** * Returns the nth type registered. */ 2 4 this 3 4045 1 n 1 3594 1560 0 0 6 1681 3732 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 4047 9 extension 1 3842 1561 0 0 4 1682 3813 0 0 97 /** * Writes a list of supported file types to the indicated output stream, one * per line. */ 3 4 this 3 4045 3 out 1 3814 12 indent_level 5 3594 1562 0 0 6 1683 4047 0 0 73 /** * Returns a pointer to the global LoaderFileTypeRegistry object. */ 0 1563 0 0 38 1684 3624 0 0 0 1 4 this 3 4045 1564 0 0 23 1687 3608 0 0 113 /** * Constructs a new MaterialAttrib object suitable for rendering the indicated * material onto geometry. */ 1 8 material 1 3734 1565 0 0 7 1688 3608 0 0 97 /** * Constructs a new MaterialAttrib object suitable for rendering unmateriald * geometry. */ 0 1566 0 0 7 1689 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1567 0 0 6 1690 3601 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 4048 1568 0 0 7 1691 3734 0 0 133 /** * If the MaterialAttrib is not an 'off' MaterialAttrib, returns the material * that is associated. Otherwise, return NULL. */ 1 4 this 3 4048 1569 0 0 6 1695 3594 0 0 0 0 1570 0 0 7 1697 3817 0 0 0 0 1571 0 0 15 1701 4052 3272 0 0 1 6 param0 0 4050 1572 0 0 7 1701 4052 3272 0 121 /** * Create a new ModelFlattenRequest, and add it to the loader via * load_async(), to begin an asynchronous load. */ 1 4 orig 1 3651 1573 0 0 7 1702 3651 2131 0 50 /** * Returns the original, unflattened node. */ 1 4 this 3 4050 1574 0 0 6 1703 3601 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 4050 1575 0 0 7 1704 3651 2131 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 4050 1576 0 0 7 1706 3817 0 0 0 0 1577 0 0 15 1709 4055 3280 0 0 1 6 param0 0 4053 1578 0 0 7 1709 4055 3280 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 3921 7 options 1 4038 6 loader 1 3743 1579 0 0 6 1710 3921 0 0 83 /** * Returns the filename associated with this asynchronous ModelLoadRequest. */ 1 4 this 3 4053 1580 0 0 6 1711 4038 0 0 91 /** * Returns the LoaderOptions associated with this asynchronous * ModelLoadRequest. */ 1 4 this 3 4053 1581 0 0 7 1712 3743 3238 0 91 /** * Returns the Loader object associated with this asynchronous * ModelLoadRequest. */ 1 4 this 3 4053 1582 0 0 6 1713 3601 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 4053 1583 0 0 7 1714 3651 2131 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 4053 1584 0 0 7 1723 3817 0 0 0 0 1585 0 0 7 1726 4056 3288 0 10 /** * */ 1 4 name 1 3842 1586 0 0 4 1728 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 4056 18 preserve_transform 1 3745 1587 0 0 6 1729 3745 0 0 104 /** * Returns the current setting of the preserve_transform flag. See * set_preserve_transform(). */ 1 4 this 3 4057 1588 0 0 4 1730 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 4056 11 attrib_mask 1 3594 1589 0 0 6 1731 3594 0 0 106 /** * Returns the current setting of the preserve_attributes flag. See * set_preserve_attributes(). */ 1 4 this 3 4057 1590 0 0 4 1732 3813 0 0 0 2 4 this 3 4056 5 limit 1 3599 1591 0 0 7 1733 3817 0 0 0 0 1592 0 0 7 1736 4059 3300 0 10 /** * */ 2 8 fullpath 1 3921 9 timestamp 1 3747 1593 0 0 7 1736 4059 3300 0 10 /** * */ 1 4 name 1 3842 1594 0 0 6 1737 3594 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 4060 1595 0 0 6 1739 3921 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 4060 1596 0 0 4 1740 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 4059 8 fullpath 1 3921 1597 0 0 6 1742 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 4060 1598 0 0 4 1743 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 4059 9 timestamp 1 3747 1599 0 0 7 1750 3750 3296 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 4060 1600 0 0 4 1751 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 4059 3 ref 1 3750 1601 0 0 7 1754 3817 0 0 0 0 1602 0 0 7 1748 3750 3296 0 10 /** * */ 0 1603 0 0 15 1748 3750 3296 0 0 1 6 param0 0 4062 1604 0 0 6 1757 3601 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 3921 1605 0 0 6 1758 3601 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 3921 1606 0 0 7 1759 4059 3300 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 3921 6 verify 1 3601 1607 0 0 7 1760 4059 3300 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 3921 7 options 5 4038 1608 0 0 4 1761 3813 0 0 224 /** * 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. * * @deprecated Use the one-parameter add_model(model) instead. */ 2 8 filename 1 3921 5 model 1 4059 1609 0 0 4 1761 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 4059 1610 0 0 4 1762 3813 0 0 318 /** * 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. * * @deprecated Use release_model(model) instead. */ 1 8 filename 1 3921 1611 0 0 4 1762 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 4059 1612 0 0 4 1763 3813 0 0 84 /** * Releases all models in the pool and restores the pool to the empty state. */ 0 1613 0 0 6 1764 3594 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 1614 0 0 4 1765 3813 0 0 56 /** * Lists the contents of the model pool to cout. */ 0 1615 0 0 4 1765 3813 0 0 79 /** * Lists the contents of the model pool to the indicated output stream. */ 1 3 out 1 3814 1616 0 0 4 1766 3813 0 0 105 /** * Lists the contents of the model pool to the indicated output stream. Helps * with debugging. */ 1 3 out 1 3814 1617 0 0 15 1769 4066 3320 0 0 1 6 param0 0 4064 1618 0 0 7 1769 4066 3320 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 3921 7 options 1 4038 4 node 1 3651 6 loader 1 3743 1619 0 0 6 1770 3921 0 0 83 /** * Returns the filename associated with this asynchronous ModelSaveRequest. */ 1 4 this 3 4064 1620 0 0 6 1771 4038 0 0 91 /** * Returns the LoaderOptions associated with this asynchronous * ModelSaveRequest. */ 1 4 this 3 4064 1621 0 0 7 1772 3651 2131 0 63 /** * Returns the node that was passed to the constructor. */ 1 4 this 3 4064 1622 0 0 7 1773 3743 3238 0 91 /** * Returns the Loader object associated with this asynchronous * ModelSaveRequest. */ 1 4 this 3 4064 1623 0 0 6 1774 3601 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 4064 1624 0 0 6 1775 3601 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 4064 1625 0 0 7 1780 3817 0 0 0 0 1626 0 0 7 1783 3608 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 1627 0 0 23 1783 3608 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 1628 0 0 7 1784 3608 0 0 95 /** * Constructs a new TextureAttrib object suitable for rendering untextured * geometry. */ 0 1629 0 0 7 1785 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1630 0 0 6 1786 3601 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 4067 1631 0 0 7 1787 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 4067 1632 0 0 7 1788 3608 0 0 109 /** * Constructs a new TextureAttrib object that turns off all stages (and hence * disables texturing). */ 0 1633 0 0 6 1789 3594 0 0 76 /** * Returns the number of stages that are turned on by the attribute. */ 1 4 this 3 4067 1634 0 0 7 1790 3754 0 0 84 /** * Returns the nth stage turned on by the attribute, sorted in render order. */ 2 4 this 3 4067 1 n 1 3594 1635 0 0 6 1792 3594 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 4067 1636 0 0 7 1793 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 4067 1 n 1 3594 1637 0 0 6 1795 3594 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 4067 1 n 1 3594 1638 0 0 6 1796 3601 0 0 94 /** * Returns true if the indicated stage is turned on by the attrib, false * otherwise. */ 2 4 this 3 4067 5 stage 1 3754 1639 0 0 7 1797 3756 0 0 107 /** * Returns the texture associated with the indicated stage, or NULL if no * texture is associated. */ 2 4 this 3 4067 5 stage 1 3754 1640 0 0 6 1798 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 4067 5 stage 1 3754 1641 0 0 6 1799 3594 0 0 74 /** * Returns the override value associated with the indicated stage. */ 2 4 this 3 4067 5 stage 1 3754 1642 0 0 6 1800 3594 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 4067 5 stage 1 4069 1643 0 0 6 1810 3594 0 0 77 /** * Returns the number of stages that are turned off by the attribute. */ 1 4 this 3 4067 1644 0 0 7 1811 3754 0 0 101 /** * Returns the nth stage turned off by the attribute, sorted in arbitrary * (pointer) order. */ 2 4 this 3 4067 1 n 1 3594 1645 0 0 6 1813 3601 0 0 95 /** * Returns true if the indicated stage is turned off by the attrib, false * otherwise. */ 2 4 this 3 4067 5 stage 1 3754 1646 0 0 6 1814 3601 0 0 99 /** * Returns true if this attrib turns off all stages (although it may also turn * some on). */ 1 4 this 3 4067 1647 0 0 6 1816 3601 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 4067 1648 0 0 7 1817 3608 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 4067 5 stage 1 3754 3 tex 1 3756 7 sampler 1 3878 8 override 5 3594 1649 0 0 7 1817 3608 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 4067 5 stage 1 3754 3 tex 1 3756 8 override 5 3594 1650 0 0 7 1818 3608 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 4067 5 stage 1 3754 1651 0 0 7 1819 3608 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 4067 5 stage 1 3754 8 override 5 3594 1652 0 0 7 1820 3608 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 4067 5 stage 1 3754 1653 0 0 7 1821 3608 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 4067 5 stage 1 3754 1654 0 0 7 1822 3608 0 0 230 /** * Returns a new TextureAttrib, just like this one, but with all references to * the given texture replaced with the new texture. * * As of Panda3D 1.10.13, new_tex may be null to remove the texture. * * @since 1.10.4 */ 3 4 this 3 4067 3 tex 1 3756 7 new_tex 1 3756 1655 0 0 7 1822 3608 0 0 46 // Let interrogate know this also accepts None 3 4 this 3 4067 3 tex 1 3756 7 new_tex 1 3907 1656 0 0 6 1823 3594 0 0 0 0 1657 0 0 7 1825 3817 0 0 0 0 1658 0 0 7 1828 3608 0 0 69 /** * Constructs a TexGenAttrib that generates no stages at all. */ 0 1659 0 0 23 1828 3608 0 0 77 /** * Constructs a TexGenAttrib that generates just the indicated stage. */ 2 5 stage 1 3754 4 mode 1 4071 1660 0 0 7 1829 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1661 0 0 7 1830 3608 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 4072 5 stage 1 3754 4 mode 1 4071 1662 0 0 7 1830 3608 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 4072 5 stage 1 3754 4 mode 1 4071 14 constant_value 1 3910 1663 0 0 7 1831 3608 0 0 94 /** * Returns a new TexGenAttrib just like this one, with the indicated stage * removed. */ 2 4 this 3 4072 5 stage 1 3754 1664 0 0 6 1832 3601 0 0 98 /** * Returns true if no stages are defined in the TexGenAttrib, false if at * least one is. */ 1 4 this 3 4072 1665 0 0 6 1833 3601 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 4072 5 stage 1 3754 1666 0 0 6 1834 4071 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 4072 5 stage 1 3754 1667 0 0 6 1835 3601 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 4072 5 stage 1 3754 1668 0 0 6 1836 3910 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 4072 5 stage 1 3754 1669 0 0 6 1837 3594 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 4072 14 geom_rendering 1 3594 1670 0 0 6 1838 3594 0 0 0 0 1671 0 0 7 1840 3817 0 0 0 0 1672 0 0 7 1842 4074 2131 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 1673 0 0 4 1843 3813 0 0 62 /** * If true, the back-face will also be used to occlude */ 2 4 this 3 4074 5 value 1 3601 1674 0 0 6 1844 3601 0 0 40 /** * Is this occluder double-sided */ 1 4 this 3 4074 1675 0 0 4 1845 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 4074 5 value 1 3599 1676 0 0 6 1846 3599 0 0 47 /** * Returns the minimum screen coverage. */ 1 4 this 3 4074 1677 0 0 4 1847 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 4074 2 v0 1 3810 2 v1 1 3810 2 v2 1 3810 2 v3 1 3810 1678 0 0 6 1848 3797 0 0 99 /** * Returns the number of vertices in the occluder polygon. This should always * return 4. */ 1 4 this 3 4075 1679 0 0 6 1849 3810 0 0 58 /** * Returns the nth vertex of the occluder polygon. */ 2 4 this 3 4075 1 n 1 3797 1680 0 0 4 1850 3813 0 0 55 /** * Sets the nth vertex of the occluder polygon. */ 3 4 this 3 4074 1 n 1 3797 1 v 1 3810 1681 0 0 7 1855 3817 0 0 0 0 1682 0 0 7 1857 3838 0 0 68 /** * Constructs a new OccluderEffect object that does nothing. */ 0 1683 0 0 6 1858 3594 0 0 77 /** * Returns the number of occluders that are enabled by the effectute. */ 1 4 this 3 4077 1684 0 0 7 1859 3895 2739 0 85 /** * Returns the nth occluder enabled by the effectute, sorted in render order. */ 2 4 this 3 4077 1 n 1 3594 1685 0 0 6 1861 3601 0 0 95 /** * Returns true if the indicated occluder is enabled by the effect, false * otherwise. */ 2 4 this 3 4077 8 occluder 1 3885 1686 0 0 6 1862 3601 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 4077 1687 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 4077 8 occluder 1 3885 1688 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 4077 8 occluder 1 3885 1689 0 0 7 1865 3817 0 0 0 0 1690 0 0 15 1870 4081 3419 0 0 1 6 param0 0 4079 1691 0 0 7 1870 4081 3419 0 71 /** * Use PolylightNode() to construct a new PolylightNode object. */ 1 4 name 1 3842 1692 0 0 4 1871 3813 0 0 28 /** * Enable this light */ 1 4 this 3 4081 1693 0 0 4 1872 3813 0 0 29 /** * Disable this light */ 1 4 this 3 4081 1694 0 0 4 1873 3813 0 0 36 /** * Set this light's position */ 2 4 this 3 4081 8 position 1 3810 1695 0 0 4 1873 3813 0 0 36 /** * Set this light's position */ 4 4 this 3 4081 1 x 1 3599 1 y 1 3599 1 z 1 3599 1696 0 0 7 1874 3897 0 0 40 /** * Returns position as a LPoint3 */ 1 4 this 3 4079 1697 0 0 4 1875 3813 0 0 35 /** * Set the light's color... */ 2 4 this 3 4081 5 color 1 3821 1698 0 0 4 1875 3813 0 0 60 /** * Set the light's color... 3 floats between 0 and 1 */ 4 4 this 3 4081 1 r 1 3599 1 g 1 3599 1 b 1 3599 1699 0 0 7 1876 3906 0 0 46 /** * Returns the light's color as LColor */ 1 4 this 3 4079 1700 0 0 7 1877 3906 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 4079 1701 0 0 4 1878 3813 0 0 51 /** * Set radius of the spherical light volume */ 2 4 this 3 4081 1 r 1 3599 1702 0 0 6 1879 3599 0 0 51 /** * Get radius of the spherical light volume */ 1 4 this 3 4079 1703 0 0 6 1880 3601 0 0 48 /** * Set ALINEAR or AQUADRATIC attenuation */ 2 4 this 3 4081 4 type 1 3765 1704 0 0 6 1881 3765 0 0 55 /** * Get "linear" or "quadratic" attenuation type */ 1 4 this 3 4079 1705 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 4081 2 a0 1 3599 1706 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 4081 2 a1 1 3599 1707 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 4081 2 a2 1 3599 1708 0 0 6 1885 3599 0 0 105 /** * Get the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 1 4 this 3 4079 1709 0 0 6 1886 3599 0 0 105 /** * Get the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 1 4 this 3 4079 1710 0 0 6 1887 3599 0 0 105 /** * Get the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance + * a2*distance*distance) */ 1 4 this 3 4079 1711 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 4081 1712 0 0 4 1889 3813 0 0 30 /** * Turn flickering off */ 1 4 this 3 4081 1713 0 0 6 1890 3601 0 0 44 /** * Check is this light is flickering */ 1 4 this 3 4079 1714 0 0 6 1891 3601 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 4081 4 type 1 3764 1715 0 0 6 1892 3764 0 0 34 /** * Returns FRANDOM or FSIN */ 1 4 this 3 4079 1716 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 4081 6 offset 1 3599 1717 0 0 6 1894 3599 0 0 73 /** * Get the offset value for the random and sin flicker variations */ 1 4 this 3 4079 1718 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 4081 5 scale 1 3599 1719 0 0 6 1896 3599 0 0 72 /** * Get the scale value for the random and sin flicker variations */ 1 4 this 3 4079 1720 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 4081 4 step 1 3599 1721 0 0 6 1898 3599 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 4079 1722 0 0 4 1899 3813 0 0 39 /** * Set frequency of sin flicker */ 2 4 this 3 4081 1 f 1 3599 1723 0 0 6 1900 3599 0 0 39 /** * Get frequency of sin flicker */ 1 4 this 3 4079 1724 0 0 6 1901 3601 0 0 21 // Comparison methods 2 4 this 3 4079 5 other 1 4079 1725 0 0 6 1902 3601 0 0 0 2 4 this 3 4079 5 other 1 4079 1726 0 0 6 1903 3601 0 0 0 2 4 this 3 4079 5 other 1 4079 1727 0 0 6 1904 3594 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 4079 5 other 1 4079 1728 0 0 6 1905 3601 0 0 45 /** * Is this light is enabled/disabled? */ 1 4 this 3 4079 1729 0 0 7 1906 3817 0 0 0 0 1730 0 0 7 1912 3838 0 0 51 /** * Constructs a new PolylightEffect object. */ 0 1731 0 0 23 1912 3838 0 0 51 /** * Constructs a new PolylightEffect object. */ 3 6 weight 1 3599 7 contrib 1 3767 13 effect_center 1 3810 1732 0 0 23 1912 3838 0 0 51 /** * Constructs a new PolylightEffect object. */ 4 6 weight 1 3599 7 contrib 1 3767 13 effect_center 1 3810 6 lights 1 4082 1733 0 0 7 1913 3838 0 0 76 /** * Add a PolylightNode object to this effect and return a new effect */ 2 4 this 3 4084 8 newlight 1 3885 1734 0 0 7 1914 3838 0 0 74 /** * Remove a light from this effect. Return the new updated effect */ 2 4 this 3 4084 8 newlight 1 3885 1735 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 4084 1 w 1 3599 1736 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 4084 1 c 1 3767 1737 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 4084 2 ec 1 3810 1738 0 0 6 1918 3599 0 0 31 /** * Get the weight value */ 1 4 this 3 4084 1739 0 0 6 1919 3767 0 0 40 /** * Returns CT_all or CT_proximal */ 1 4 this 3 4084 1740 0 0 7 1920 3897 0 0 49 /** * Return the value of the _effect_center */ 1 4 this 3 4084 1741 0 0 6 1921 3601 0 0 100 /** * Returns true if the indicated light is listed in the PolylightEffect, false * otherwise. */ 2 4 this 3 4084 5 light 1 3885 1742 0 0 7 1922 3817 0 0 0 0 1743 0 0 23 1925 3608 0 0 65 /** * Constructs a new ShaderAttrib object with nothing set. */ 2 6 shader 5 3772 8 priority 5 3594 1744 0 0 7 1926 3608 0 0 133 /** * Constructs a new ShaderAttrib object that disables the use of shaders (it * does not clear out all shader data, however.) */ 0 1745 0 0 7 1927 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1746 0 0 6 1929 3601 0 0 109 /** * If true, the shader field of this attribute overrides the shader field of * the parent attribute. */ 1 4 this 3 4086 1747 0 0 6 1930 3601 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 4086 1748 0 0 6 1931 3594 0 0 10 /** * */ 1 4 this 3 4086 1749 0 0 6 1932 3594 0 0 105 /** * Returns the number of geometry instances. A value of 0 means not to use * instancing at all. */ 1 4 this 3 4086 1750 0 0 6 1933 3601 0 0 0 1 4 this 3 4086 1751 0 0 6 1934 3601 0 0 10 /** * */ 1 4 this 3 4086 1752 0 0 6 1935 3601 0 0 10 /** * */ 1 4 this 3 4086 1753 0 0 6 1936 3601 0 0 10 /** * */ 1 4 this 3 4086 1754 0 0 6 1937 3601 0 0 10 /** * */ 1 4 this 3 4086 1755 0 0 7 1938 3608 0 0 10 /** * */ 3 4 this 3 4086 1 s 1 3772 8 priority 5 3594 1756 0 0 7 1939 3608 0 0 10 /** * */ 2 4 this 3 4086 8 priority 5 3594 1757 0 0 7 1940 3608 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 4086 13 shader_switch 1 3909 8 priority 5 3594 1758 0 0 7 1940 3608 0 0 10 /** * */ 2 4 this 3 4086 8 priority 5 3594 1759 0 0 7 1941 3608 0 0 10 /** * */ 1 4 this 3 4086 1760 0 0 39 1942 3608 0 0 0 4 4 this 3 4086 6 param0 0 3874 6 param1 0 3624 8 priority 5 3594 1761 0 0 7 1942 3608 0 0 16 // Shader Inputs 2 4 this 3 4086 5 input 1 3879 1762 0 0 39 1943 3608 0 0 0 3 4 this 3 4086 4 args 1 3624 6 kwargs 1 3624 1763 0 0 7 1944 3608 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 4086 14 instance_count 1 3594 1764 0 0 7 1945 3608 0 0 10 /** * */ 3 4 this 3 4086 4 flag 1 3594 5 value 1 3601 1765 0 0 7 1946 3608 0 0 10 /** * */ 2 4 this 3 4086 4 flag 1 3594 1766 0 0 7 1947 3608 0 0 10 /** * */ 2 4 this 3 4086 2 id 1 3874 1767 0 0 7 1947 3608 0 0 10 /** * */ 2 4 this 3 4086 2 id 1 3842 1768 0 0 7 1948 3608 0 0 54 /** * Clears all the shader inputs on the attrib. */ 1 4 this 3 4086 1769 0 0 6 1949 3601 0 0 10 /** * */ 2 4 this 3 4086 4 flag 1 3594 1770 0 0 6 1950 3601 0 0 68 /** * Returns true if there is a ShaderInput of the given name. */ 2 4 this 3 4086 2 id 1 3874 1771 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 4086 1772 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 4086 2 id 1 3874 1773 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 4086 2 id 1 3842 1774 0 0 6 1953 3885 0 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 4086 2 id 1 3874 1775 0 0 7 1954 4089 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 4086 2 id 1 4088 1776 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 4086 2 id 1 3874 7 sampler 5 4090 1777 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 4086 2 id 1 3874 1778 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 4086 2 id 1 3874 6 matrix 1 3903 1779 0 0 7 1958 4092 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 4086 2 id 1 3874 1780 0 0 4 1959 3813 0 0 53 /** * Factory method to generate a Shader object */ 0 1781 0 0 6 1965 3594 0 0 0 0 1782 0 0 7 1967 3817 0 0 0 0 1783 0 0 23 1970 3838 0 0 52 /** * Constructs a new ShowBoundsEffect object. */ 1 5 tight 5 3601 1784 0 0 6 1971 3601 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 4093 1785 0 0 7 1972 3817 0 0 0 0 1786 0 0 7 1975 3838 0 0 74 /** * Constructs a TexProjectorEffect that modifies no stages at all. */ 0 1787 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 4095 5 stage 1 3754 4 from 1 3885 2 to 1 3885 10 lens_index 5 3594 1788 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 4095 5 stage 1 3754 1789 0 0 6 1978 3601 0 0 104 /** * Returns true if no stages are defined in the TexProjectorEffect, false if * at least one is. */ 1 4 this 3 4095 1790 0 0 6 1979 3601 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 4095 5 stage 1 3754 1791 0 0 7 1980 3895 2739 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 4095 5 stage 1 3754 1792 0 0 7 1981 3895 2739 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 4095 5 stage 1 3754 1793 0 0 6 1982 3594 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 4095 5 stage 1 3754 1794 0 0 7 1983 3817 0 0 0 0 1795 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 5 3601 1796 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 5 3885 1797 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 5 3885 1798 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 5 3601 1799 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 4097 5 point 1 3810 4 node 5 3885 1800 0 0 6 1988 3601 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 4097 1801 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 4097 1802 0 0 6 1990 3594 0 0 77 /** * Returns the number of node-based scissor points. See get_point(). */ 1 4 this 3 4097 1803 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 4097 1 n 1 3594 1804 0 0 7 1993 3895 2739 0 114 /** * Returns the node to which the nth point is relative, or empty NodePath to * indicate the current node. */ 2 4 this 3 4097 1 n 1 3594 1805 0 0 6 1995 3601 0 0 104 /** * Returns true if this ScissorEffect actually enables scissoring, or false if * it culls only. */ 1 4 this 3 4097 1806 0 0 7 1996 3817 0 0 0 0 1807 0 0 7 1999 4099 3494 0 10 /** * */ 1 3 gsg 5 3852 1808 0 0 15 1999 4099 3494 0 0 1 6 param0 0 4100 1809 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 4099 3 gsg 1 3852 1810 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 4099 1811 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 4100 1812 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 4099 14 combine_radius 1 3599 1813 0 0 6 2009 3599 0 0 110 /** * Returns the radius that is used in conjunction with CS_within_radius. See * set_combine_radius(). */ 1 4 this 3 4100 1814 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 4099 4 node 1 3651 7 attribs 1 4102 12 attrib_types 1 3594 11 transformer 1 4105 1815 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 4099 4 node 1 3651 12 attrib_types 5 3594 1816 0 0 6 2011 3594 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 4099 4 root 1 3651 21 combine_siblings_bits 1 3594 1817 0 0 6 2012 3594 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 4099 4 root 1 3651 6 column 1 3874 1818 0 0 6 2013 3594 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 4099 4 root 1 3651 1819 0 0 6 2014 3594 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 4099 4 root 1 3651 12 collect_bits 5 3594 1820 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 4099 4 root 1 3651 1821 0 0 6 2016 3594 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 4099 4 root 1 3651 12 collect_bits 5 3594 1822 0 0 6 2017 3594 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 4099 4 root 1 3651 15 nonindexed_bits 5 3594 1823 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 4099 4 root 1 3651 14 preserve_order 1 3601 1824 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 4099 4 root 1 3651 1825 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 4099 4 root 1 3651 13 initial_state 1 3826 1826 0 0 6 2021 3601 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 4099 4 node 1 3651 1827 0 0 23 2026 4107 3517 0 74 /** * Creates a new ParamNodePath storing the given node path object. */ 1 9 node_path 1 3885 1828 0 0 6 2027 3885 0 0 58 /** * Retrieves the NodePath stored in the parameter. */ 1 4 this 3 4108 1829 0 0 7 2028 3817 0 0 0 0 1830 0 0 7 2031 4110 2131 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 1831 0 0 7 2031 4110 2131 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 3897 5 scale 5 3599 1832 0 0 4 2032 3813 0 0 97 /** * Simultaneously sets both the "from" and "into" PortalMask values to the * same thing. */ 2 4 this 3 4110 4 mask 1 4111 1833 0 0 4 2033 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 4110 4 mask 1 4111 1834 0 0 4 2034 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 4110 4 mask 1 4111 1835 0 0 7 2035 4111 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 4112 1836 0 0 7 2036 4111 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 4112 1837 0 0 4 2037 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 4110 4 flag 1 3601 1838 0 0 6 2038 3601 0 0 85 /** * Returns the current state of the portal_geom flag. See set_portal_geom(). */ 1 4 this 3 4112 1839 0 0 4 2039 3813 0 0 63 /** * Resets the vertices of the portal to the empty list. */ 1 4 this 3 4110 1840 0 0 4 2040 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 4110 6 vertex 1 3810 1841 0 0 6 2041 3594 0 0 64 /** * Returns the number of vertices in the portal polygon. */ 1 4 this 3 4112 1842 0 0 6 2042 3810 0 0 56 /** * Returns the nth vertex of the portal polygon. */ 2 4 this 3 4112 1 n 1 3594 1843 0 0 4 2044 3813 0 0 52 /** * Sets the cell that this portal belongs to */ 2 4 this 3 4110 4 cell 1 3885 1844 0 0 7 2045 3895 2739 0 52 /** * Sets the cell that this portal belongs to */ 1 4 this 3 4112 1845 0 0 4 2046 3813 0 0 54 /** * Sets the cell that this portal leads out to */ 2 4 this 3 4110 4 cell 1 3885 1846 0 0 7 2047 3895 2739 0 54 /** * Sets the cell that this portal leads out to */ 1 4 this 3 4112 1847 0 0 4 2048 3813 0 0 80 /** * this is set if the portal will clip against its left and right planes */ 2 4 this 3 4110 5 value 1 3601 1848 0 0 6 2049 3601 0 0 64 /** * Is this portal clipping against its left-right planes */ 1 4 this 3 4110 1849 0 0 4 2050 3813 0 0 53 /** * this is set if the portal is facing camera */ 2 4 this 3 4110 5 value 1 3601 1850 0 0 6 2051 3601 0 0 43 /** * Is this portal facing the camera */ 1 4 this 3 4110 1851 0 0 4 2052 3813 0 0 63 /** * Set the maximum depth this portal will be visible at */ 2 4 this 3 4110 5 value 1 3594 1852 0 0 6 2053 3594 0 0 67 /** * Returns the maximum depth this portal will be visible at */ 1 4 this 3 4110 1853 0 0 4 2054 3813 0 0 55 /** * Python sets this based on curent camera zone */ 2 4 this 3 4110 5 value 1 3601 1854 0 0 6 2055 3601 0 0 55 /** * Is this portal open from current camera zone */ 1 4 this 3 4110 1855 0 0 7 2067 3817 0 0 0 0 1856 0 0 7 2069 3608 0 0 112 /** * Constructs a new ScissorAttrib object that removes the scissor region and * fills the DisplayRegion. */ 0 1857 0 0 23 2070 3608 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 1858 0 0 23 2070 3608 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 3599 5 right 1 3599 6 bottom 1 3599 3 top 1 3599 1859 0 0 7 2071 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1860 0 0 6 2072 3601 0 0 119 /** * Returns true if the ScissorAttrib is an 'off' ScissorAttrib, indicating * that scissor testing is disabled. */ 1 4 this 3 4114 1861 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 4114 1862 0 0 6 2075 3594 0 0 0 0 1863 0 0 7 2077 3817 0 0 0 0 1864 0 0 23 2081 3608 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 1865 0 0 7 2082 3608 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 6 2083 3789 0 0 34 /** * Returns the shade mode. */ 1 4 this 3 4116 1867 0 0 6 2085 3594 0 0 0 0 1868 0 0 7 2087 3817 0 0 0 0 1869 0 0 7 2093 3608 0 0 69 /** * Constructs a StencilAttrib that has stenciling turned off. */ 0 1870 0 0 7 2094 3608 0 0 145 /** * Returns a RenderAttrib that corresponds to whatever the standard default * properties for render attributes of this type ought to be. */ 0 1871 0 0 23 2095 3608 0 0 49 /** * Constructs a front face StencilAttrib. */ 8 12 front_enable 1 3601 25 front_comparison_function 1 3595 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 3693 9 read_mask 1 3693 10 write_mask 5 3693 1872 0 0 7 2096 3608 0 0 48 /** * Constructs a two-sided StencilAttrib. */ 13 12 front_enable 1 3601 11 back_enable 1 3601 25 front_comparison_function 1 3595 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 3693 9 read_mask 1 3693 10 write_mask 1 3693 24 back_comparison_function 1 3595 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 1873 0 0 7 2097 3608 0 0 49 /** * Constructs a front face StencilAttrib. */ 10 12 front_enable 1 3601 25 front_comparison_function 1 3595 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 3693 9 read_mask 1 3693 10 write_mask 1 3693 5 clear 1 3601 11 clear_value 1 3693 1874 0 0 7 2098 3608 0 0 48 /** * Constructs a two-sided StencilAttrib. */ 15 12 front_enable 1 3601 11 back_enable 1 3601 25 front_comparison_function 1 3595 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 3693 9 read_mask 1 3693 10 write_mask 1 3693 24 back_comparison_function 1 3595 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 3601 11 clear_value 1 3693 1875 0 0 6 2099 3693 0 0 32 /** * Returns render state. */ 2 4 this 3 4118 23 render_state_identifier 1 3791 1876 0 0 6 2100 3594 0 0 0 0 1877 0 0 7 2102 3817 0 0 0 0 1878 0 0 6 2105 3601 0 0 76 /** * Returns true if the shader has ever been loaded, false otherwise. */ 1 8 filename 1 3921 1879 0 0 6 2106 3601 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 3921 1880 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 3921 1881 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 3921 6 shader 1 4120 1882 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 3921 1883 0 0 4 2110 3813 0 0 85 /** * Releases all shaders in the pool and restores the pool to the empty state. */ 0 1884 0 0 6 2111 3594 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 1885 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 1886 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 1887 0 0 7 2022 3895 2739 0 0 1 4 data 1 3859 1888 0 0 7 2023 3895 2739 0 0 2 9 unpickler 1 3624 4 data 1 3859 544 3577 14 TransformState 0 16852993 14 TransformState 14 TransformState 0 0 0 0 0 7 4121 4122 4123 4124 4125 4126 4127 97 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 1981 1982 1983 1984 1985 0 0 1 0 3578 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. */ 3578 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. */ 3579 13 LPoint3 const 0 8832 13 LPoint3 const 13 LPoint3 const 0 0 3580 0 0 0 0 0 0 0 0 0 0 3580 7 LPoint3 0 2105344 7 LPoint3 7 LPoint3 0 0 3581 0 0 0 0 0 0 0 0 0 0 3581 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. */ 3582 15 LVecBase3 const 0 8832 15 LVecBase3 const 15 LVecBase3 const 0 0 3583 0 0 0 0 0 0 0 0 0 0 3583 9 LVecBase3 0 2105344 9 LVecBase3 9 LVecBase3 0 0 3584 0 0 0 0 0 0 0 0 0 0 3584 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. */ 3585 17 LQuaternion const 0 8832 17 LQuaternion const 17 LQuaternion const 0 0 3586 0 0 0 0 0 0 0 0 0 0 3586 11 LQuaternion 0 2105344 11 LQuaternion 11 LQuaternion 0 0 3587 0 0 0 0 0 0 0 0 0 0 3587 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 */ 3588 14 LMatrix4 const 0 8832 14 LMatrix4 const 14 LMatrix4 const 0 0 3589 0 0 0 0 0 0 0 0 0 0 3589 8 LMatrix4 0 2105344 8 LMatrix4 8 LMatrix4 0 0 3590 0 0 0 0 0 0 0 0 0 0 3590 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. */ 3591 20 RenderAttribRegistry 0 43009 20 RenderAttribRegistry 20 RenderAttribRegistry 0 0 0 0 0 0 10 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 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. */ 3592 12 RenderAttrib 0 75777 12 RenderAttrib 12 RenderAttrib 0 0 0 0 0 1 4128 14 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 0 0 1 0 3593 0 0 0 2 3595 3596 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. */ 3593 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. */ 3594 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 3595 16 PandaCompareFunc 0 794624 30 RenderAttrib::PandaCompareFunc 30 RenderAttrib::PandaCompareFunc 3592 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 3596 10 TexGenMode 0 794624 24 RenderAttrib::TexGenMode 24 RenderAttrib::TexGenMode 3592 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. 3597 16 RenderModeAttrib 0 141313 16 RenderModeAttrib 16 RenderModeAttrib 0 0 0 0 2019 5 4129 4130 4131 4132 4133 9 2010 2011 2012 2013 2014 2015 2016 2017 2018 0 0 1 0 3592 0 0 0 1 3598 50 /** * Specifies how polygons are to be drawn. */ 3598 4 Mode 0 794624 22 RenderModeAttrib::Mode 22 RenderModeAttrib::Mode 3597 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 3599 11 PN_stdfloat 0 2105344 11 PN_stdfloat 11 PN_stdfloat 0 0 3600 0 0 0 0 0 0 0 0 0 0 3600 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 3601 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 3602 12 LColor const 0 8832 12 LColor const 12 LColor const 0 0 3603 0 0 0 0 0 0 0 0 0 0 3603 6 LColor 0 2105344 6 LColor 6 LColor 0 0 3604 0 0 0 0 0 0 0 0 0 0 3604 7 LColorf 0 2105344 7 LColorf 7 LColorf 0 0 3605 0 0 0 0 0 0 0 0 0 0 3605 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. */ 3606 15 TexMatrixAttrib 0 75777 15 TexMatrixAttrib 15 TexMatrixAttrib 0 0 0 0 0 1 4134 14 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 1 4299 0 1 0 3592 0 0 0 0 71 /** * Applies a transform matrix to UV's before they are rendered. */ 3607 11 RenderState 0 75777 11 RenderState 11 RenderState 0 0 0 0 0 1 4135 51 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 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 2080 2081 2082 2083 2084 0 0 1 0 3578 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. */ 3608 20 RenderAttrib const * 0 8576 20 RenderAttrib const * 20 RenderAttrib const * 0 0 3609 0 0 0 0 0 0 0 0 0 0 3609 18 RenderAttrib const 0 8832 18 RenderAttrib const 18 RenderAttrib const 0 0 3592 0 0 0 0 0 0 0 0 0 0 3610 15 AlphaTestAttrib 0 141313 15 AlphaTestAttrib 15 AlphaTestAttrib 0 0 0 0 2091 3 4136 4137 4138 6 2085 2086 2087 2088 2089 2090 0 0 1 0 3592 0 0 0 0 126 /** * Enables or disables writing of pixel to framebuffer based on its alpha * value relative to a reference alpha value */ 3611 15 AntialiasAttrib 0 141313 15 AntialiasAttrib 15 AntialiasAttrib 0 0 0 0 2099 4 4139 4140 4141 4142 7 2092 2093 2094 2095 2096 2097 2098 0 0 1 0 3592 0 0 0 1 3612 100 /** * Specifies whether or how to enable antialiasing, if supported by the * backend renderer. */ 3612 4 Mode 0 794624 21 AntialiasAttrib::Mode 21 AntialiasAttrib::Mode 3611 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 3613 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 3614 12 RenderEffect 0 75777 12 RenderEffect 12 RenderEffect 0 0 0 0 0 0 7 2100 2101 2102 2103 2104 2105 2106 0 0 1 0 3593 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. */ 3615 13 RenderEffects 0 75777 13 RenderEffects 13 RenderEffects 0 0 0 0 0 0 17 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 0 0 1 0 3593 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. */ 3616 9 PandaNode 0 26625 9 PandaNode 9 PandaNode 0 0 0 1 2130 2131 22 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 112 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 2180 2181 2182 2183 2184 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 2241 2242 2243 2244 2256 3 4300 4301 4302 0 3 3 3593 2124 2125 3 3617 2126 2127 3 3618 2128 2129 0 5 3627 3635 3636 3637 3638 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. */ 3617 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. */ 3618 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. */ 3619 29 ConstPointerTo< RenderState > 0 2048 29 ConstPointerTo< RenderState > 29 ConstPointerTo< RenderState > 0 0 0 0 0 0 0 0 0 0 0 0 0 3620 31 ConstPointerTo< RenderEffects > 0 2048 31 ConstPointerTo< RenderEffects > 31 ConstPointerTo< RenderEffects > 0 0 0 0 0 0 0 0 0 0 0 0 0 3621 32 ConstPointerTo< TransformState > 0 2048 32 ConstPointerTo< TransformState > 32 ConstPointerTo< TransformState > 0 0 0 0 0 0 0 0 0 0 0 0 0 3622 6 string 0 2105344 11 std::string 11 std::string 0 0 3623 0 0 0 0 0 0 0 0 0 0 3623 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 3624 10 PyObject * 0 8576 10 PyObject * 10 PyObject * 0 0 3625 0 0 0 0 0 0 0 0 0 0 3625 8 PyObject 0 2105344 8 PyObject 8 PyObject 0 0 3626 0 0 0 0 0 0 0 0 0 0 3626 7 _object 0 1024 7 _object 7 _object 0 0 0 0 0 0 0 0 0 0 0 0 0 3627 16 UnexpectedChange 0 794624 27 PandaNode::UnexpectedChange 27 PandaNode::UnexpectedChange 3616 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 3628 8 DrawMask 0 2105344 8 DrawMask 8 DrawMask 0 0 3629 0 0 0 0 0 0 0 0 0 0 3629 9 BitMask32 0 2105344 9 BitMask32 9 BitMask32 0 0 3630 0 0 0 0 0 0 0 0 0 0 3630 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 3631 11 CollideMask 0 2105344 11 CollideMask 11 CollideMask 0 0 3629 0 0 0 0 0 0 0 0 0 0 3632 10 BoundsType 0 794624 26 BoundingVolume::BoundsType 26 BoundingVolume::BoundsType 3633 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. 3633 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. */ 3634 32 ConstPointerTo< BoundingVolume > 0 2048 32 ConstPointerTo< BoundingVolume > 32 ConstPointerTo< BoundingVolume > 0 0 0 0 0 0 0 0 0 0 0 0 0 3635 9 FancyBits 0 794624 20 PandaNode::FancyBits 20 PandaNode::FancyBits 3616 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 3636 8 Children 0 403457 19 PandaNode::Children 19 PandaNode::Children 3616 0 0 0 2247 0 2 2245 2246 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. 3637 7 Stashed 0 403457 18 PandaNode::Stashed 18 PandaNode::Stashed 3616 0 0 0 2250 0 2 2248 2249 0 0 0 0 0 34 // Similarly for stashed children. 3638 7 Parents 0 403457 18 PandaNode::Parents 18 PandaNode::Parents 3616 0 0 0 2253 0 2 2251 2252 0 0 0 0 0 45 // This class is returned from get_parents(). 3639 18 TransparencyAttrib 0 141313 18 TransparencyAttrib 18 TransparencyAttrib 0 0 0 0 2262 2 4165 4166 5 2257 2258 2259 2260 2261 0 0 1 0 3592 0 0 0 1 3640 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). */ 3640 4 Mode 0 794624 24 TransparencyAttrib::Mode 24 TransparencyAttrib::Mode 3639 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 3641 13 LogicOpAttrib 0 141313 13 LogicOpAttrib 13 LogicOpAttrib 0 0 0 0 2269 2 4167 4168 6 2263 2264 2265 2266 2267 2268 0 0 1 0 3592 0 0 0 1 3642 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 */ 3642 9 Operation 0 794624 24 LogicOpAttrib::Operation 24 LogicOpAttrib::Operation 3641 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 3643 11 ShaderInput 0 141313 11 ShaderInput 11 ShaderInput 0 0 0 1 2271 2285 0 13 2270 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 0 1 2272 0 0 2 3644 3645 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. */ 3644 11 AccessFlags 0 794624 24 ShaderInput::AccessFlags 24 ShaderInput::AccessFlags 3643 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. 3645 15 ShaderInputType 0 794624 28 ShaderInput::ShaderInputType 28 ShaderInput::ShaderInputType 3643 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 3646 22 InternalNameCollection 0 26625 22 InternalNameCollection 22 InternalNameCollection 0 0 0 1 2286 2288 0 16 2287 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 1 4303 0 0 0 0 10 /** * */ 3647 18 MaterialCollection 0 26625 18 MaterialCollection 18 MaterialCollection 0 0 0 1 2304 2306 0 17 2305 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 0 0 0 0 0 10 /** * */ 3648 22 TextureStageCollection 0 26625 22 TextureStageCollection 22 TextureStageCollection 0 0 0 1 2323 2325 0 18 2324 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 1 4304 0 0 0 0 10 /** * */ 3649 8 NodePath 0 141313 8 NodePath 8 NodePath 0 0 0 1 2343 2739 11 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 353 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 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 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2 4305 4306 1 2357 0 0 1 3650 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. */ 3650 9 ErrorType 0 794624 19 NodePath::ErrorType 19 NodePath::ErrorType 3649 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. 3651 11 PandaNode * 0 8576 11 PandaNode * 11 PandaNode * 0 0 3616 0 0 0 0 0 0 0 0 0 0 3652 18 NodePathCollection 0 141313 18 NodePathCollection 18 NodePathCollection 0 0 0 1 2375 2415 0 39 2376 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 1 4307 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). */ 3653 18 AttribNodeRegistry 0 141313 18 AttribNodeRegistry 18 AttribNodeRegistry 0 0 0 0 2752 0 12 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 1 4308 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. */ 3654 17 AudioVolumeAttrib 0 141313 17 AudioVolumeAttrib 17 AudioVolumeAttrib 0 0 0 0 2763 2 4180 4181 10 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 0 0 1 0 3592 0 0 0 0 84 /** * Applies a scale to audio volume for positional sounds in the scene graph. */ 3655 17 AuxBitplaneAttrib 0 141313 17 AuxBitplaneAttrib 17 AuxBitplaneAttrib 0 0 0 0 2769 2 4182 4183 5 2764 2765 2766 2767 2768 0 0 1 0 3592 0 0 0 1 3656 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. * */ 3656 17 AuxBitplaneOutput 0 794624 36 AuxBitplaneAttrib::AuxBitplaneOutput 36 AuxBitplaneAttrib::AuxBitplaneOutput 3655 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 3657 12 AuxSceneData 0 141313 12 AuxSceneData 12 AuxSceneData 0 0 0 1 2778 2779 0 8 2770 2771 2772 2773 2774 2775 2776 2777 0 0 1 0 3658 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. */ 3658 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. */ 3659 7 BamFile 0 26625 7 BamFile 7 BamFile 0 0 0 1 2780 2781 5 4184 4185 4186 4187 4188 18 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 0 0 1 0 3660 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. */ 3660 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. */ 3661 9 BamEndian 0 794624 19 BamEnums::BamEndian 19 BamEnums::BamEndian 3660 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 365 /** * 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. */ 3662 11 BamReader * 0 8576 11 BamReader * 11 BamReader * 0 0 3663 0 0 0 0 0 0 0 0 0 0 3663 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. */ 3664 11 BamWriter * 0 8576 11 BamWriter * 11 BamWriter * 0 0 3665 0 0 0 0 0 0 0 0 0 0 3665 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. */ 3666 15 BillboardEffect 0 141313 15 BillboardEffect 15 BillboardEffect 0 0 0 0 2814 0 13 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 0 0 1 0 3614 0 0 0 0 127 /** * Indicates that geometry at this node should automatically rotate to face * the camera, or any other arbitrary node. */ 3667 8 LensNode 0 141313 8 LensNode 8 LensNode 0 0 0 1 2815 2827 0 11 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 0 0 1 0 3616 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). */ 3668 12 WeakNodePath 0 26625 12 WeakNodePath 12 WeakNodePath 0 0 0 1 2828 2829 0 12 2830 2831 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 0 1 2832 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. */ 3669 6 Camera 0 75777 6 Camera 6 Camera 0 0 0 1 2843 2827 12 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 31 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 1 4309 0 1 0 3667 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. */ 3670 14 NodePath const 0 8832 14 NodePath const 14 NodePath const 0 0 3649 0 0 0 0 0 0 0 0 0 0 3671 15 DisplayRegion * 0 8576 15 DisplayRegion * 15 DisplayRegion * 0 0 3672 0 0 0 0 0 0 0 0 0 0 3672 13 DisplayRegion 0 2048 13 DisplayRegion 13 DisplayRegion 0 0 0 0 0 0 0 0 0 0 0 0 0 3673 16 BoundingVolume * 0 8576 16 BoundingVolume * 16 BoundingVolume * 0 0 3633 0 0 0 0 0 0 0 0 0 0 3674 12 string const 0 8832 17 std::string const 17 std::string const 0 0 3622 0 0 0 0 0 0 0 0 0 0 3675 14 AuxSceneData * 0 8576 14 AuxSceneData * 14 AuxSceneData * 0 0 3657 0 0 0 0 0 0 0 0 0 0 3676 9 PlaneNode 0 141313 9 PlaneNode 9 PlaneNode 0 0 0 1 2875 2885 4 4201 4202 4203 4204 9 2876 2877 2878 2879 2880 2881 2882 2883 2884 0 0 1 0 3616 0 0 0 1 3677 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. */ 3677 10 ClipEffect 0 794624 21 PlaneNode::ClipEffect 21 PlaneNode::ClipEffect 3676 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 3678 12 LPlane const 0 8832 12 LPlane const 12 LPlane const 0 0 3679 0 0 0 0 0 0 0 0 0 0 3679 6 LPlane 0 2105344 6 LPlane 6 LPlane 0 0 3680 0 0 0 0 0 0 0 0 0 0 3680 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. */ 3681 15 ClipPlaneAttrib 0 141313 15 ClipPlaneAttrib 15 ClipPlaneAttrib 0 0 0 0 2910 1 4205 24 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2 4310 4311 0 1 0 3592 0 0 0 1 3682 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. */ 3682 9 Operation 0 794624 26 ClipPlaneAttrib::Operation 26 ClipPlaneAttrib::Operation 3681 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. 3683 11 ColorAttrib 0 141313 11 ColorAttrib 11 ColorAttrib 0 0 0 0 2919 3 4206 4207 4208 8 2911 2912 2913 2914 2915 2916 2917 2918 0 0 1 0 3592 0 0 0 1 3684 73 /** * Indicates what color should be applied to renderable geometry. */ 3684 4 Type 0 794624 17 ColorAttrib::Type 17 ColorAttrib::Type 3683 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 3685 16 ColorBlendAttrib 0 141313 16 ColorBlendAttrib 16 ColorBlendAttrib 0 0 0 0 2934 8 4209 4210 4211 4212 4213 4214 4215 4216 14 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 0 0 1 0 3592 0 0 0 2 3686 3687 159 /** * This specifies how colors are blended into the frame buffer, for special * effects. This overrides transparency if transparency is also specified. */ 3686 4 Mode 0 794624 22 ColorBlendAttrib::Mode 22 ColorBlendAttrib::Mode 3685 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 3687 7 Operand 0 794624 25 ColorBlendAttrib::Operand 25 ColorBlendAttrib::Operand 3685 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 3688 16 ColorScaleAttrib 0 141313 16 ColorScaleAttrib 16 ColorScaleAttrib 0 0 0 0 2948 2 4217 4218 13 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 0 0 1 0 3592 0 0 0 0 72 /** * Applies a scale to colors in the scene graph and on vertices. */ 3689 15 LVecBase4 const 0 8832 15 LVecBase4 const 15 LVecBase4 const 0 0 3690 0 0 0 0 0 0 0 0 0 0 3690 9 LVecBase4 0 2105344 9 LVecBase4 9 LVecBase4 0 0 3605 0 0 0 0 0 0 0 0 0 0 3691 16 ColorWriteAttrib 0 141313 16 ColorWriteAttrib 16 ColorWriteAttrib 0 0 0 0 2954 2 4219 4220 5 2949 2950 2951 2952 2953 0 0 1 0 3592 0 0 0 1 3692 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. */ 3692 8 Channels 0 794624 26 ColorWriteAttrib::Channels 26 ColorWriteAttrib::Channels 3691 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 3693 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0 3694 13 CompassEffect 0 141313 13 CompassEffect 13 CompassEffect 0 0 0 0 2959 0 4 2955 2956 2957 2958 0 0 1 0 3614 0 0 0 1 3695 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. */ 3695 10 Properties 0 794624 25 CompassEffect::Properties 25 CompassEffect::Properties 3694 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 3696 12 CullBinEnums 0 141313 12 CullBinEnums 12 CullBinEnums 0 0 0 1 2960 2961 0 0 0 0 0 0 1 3697 92 /** * Provides scoping for the enumerated type shared by CullBin and * CullBinManager. */ 3697 7 BinType 0 794624 21 CullBinEnums::BinType 21 CullBinEnums::BinType 3696 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 3698 8 GeomNode 0 75777 8 GeomNode 8 GeomNode 0 0 0 1 2962 2131 1 4221 19 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 3 4312 4313 4314 0 1 0 3616 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. */ 3699 13 CullBinAttrib 0 141313 13 CullBinAttrib 13 CullBinAttrib 0 0 0 0 2988 3 4222 4223 4224 6 2982 2983 2984 2985 2986 2987 0 0 1 0 3592 0 0 0 0 130 /** * Assigns geometry to a particular bin by name. The bins must be created * separately via the CullBinManager interface. */ 3700 14 CullBinManager 0 43009 14 CullBinManager 14 CullBinManager 0 0 0 0 0 0 18 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 1 4315 0 1 0 3696 0 0 0 0 99 /** * This is a global object that maintains the collection of named CullBins in * the world. */ 3701 14 CullFaceAttrib 0 141313 14 CullFaceAttrib 14 CullFaceAttrib 0 0 0 0 3015 4 4225 4226 4227 4228 8 3007 3008 3009 3010 3011 3012 3013 3014 0 0 1 0 3592 0 0 0 1 3702 81 /** * Indicates which faces should be culled based on their vertex ordering. */ 3702 4 Mode 0 794624 20 CullFaceAttrib::Mode 20 CullFaceAttrib::Mode 3701 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 3703 15 WorkingNodePath 0 26625 15 WorkingNodePath 15 WorkingNodePath 0 0 0 0 3016 2 4229 4230 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. */ 3704 17 CullTraverserData 0 141313 17 CullTraverserData 17 CullTraverserData 0 0 0 1 3028 3029 1 4231 8 3019 3020 3021 3022 3023 3024 3025 3026 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). */ 3705 10 SceneSetup 0 141313 10 SceneSetup 10 SceneSetup 0 0 0 1 3058 3059 0 28 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 0 0 1 0 3658 0 0 0 0 128 /** * This object holds the camera position, etc., and other general setup * information for rendering a particular scene. */ 3706 3 Fog 0 75777 3 Fog 3 Fog 0 0 0 1 3060 2131 5 4232 4233 4234 4235 4236 13 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 0 0 1 0 3616 0 0 0 1 3707 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. */ 3707 4 Mode 0 794624 9 Fog::Mode 9 Fog::Mode 3706 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 3708 9 FogAttrib 0 141313 9 FogAttrib 9 FogAttrib 0 0 0 0 3081 2 4237 4238 7 3074 3075 3076 3077 3078 3079 3080 0 0 1 0 3592 0 0 0 0 64 /** * Applies a Fog to the geometry at and below this node. */ 3709 5 Fog * 0 8576 5 Fog * 5 Fog * 0 0 3706 0 0 0 0 0 0 0 0 0 0 3710 13 CullTraverser 0 141313 13 CullTraverser 13 CullTraverser 0 0 0 1 3082 3108 0 25 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 0 0 1 0 3658 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. */ 3711 20 GeomDrawCallbackData 0 141313 20 GeomDrawCallbackData 20 GeomDrawCallbackData 0 0 0 0 3115 0 6 3109 3110 3111 3112 3113 3114 0 0 1 0 3712 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. */ 3712 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. */ 3713 19 RescaleNormalAttrib 0 141313 19 RescaleNormalAttrib 19 RescaleNormalAttrib 0 0 0 0 3121 2 4239 4240 5 3116 3117 3118 3119 3120 0 0 1 0 3592 0 0 0 1 3714 50 /** * Specifies how polygons are to be drawn. */ 3714 4 Mode 0 794624 25 RescaleNormalAttrib::Mode 25 RescaleNormalAttrib::Mode 3713 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 3715 10 CullResult 0 75777 10 CullResult 10 CullResult 0 0 0 1 3129 0 0 7 3122 3123 3124 3125 3126 3127 3128 0 0 1 0 3716 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. */ 3716 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. */ 3717 11 DecalEffect 0 141313 11 DecalEffect 11 DecalEffect 0 0 0 0 3132 0 2 3130 3131 0 0 1 0 3614 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). */ 3718 17 DepthOffsetAttrib 0 141313 17 DepthOffsetAttrib 17 DepthOffsetAttrib 0 0 0 0 3140 4 4241 4242 4243 4244 7 3133 3134 3135 3136 3137 3138 3139 0 0 1 0 3592 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. */ 3719 15 DepthTestAttrib 0 141313 15 DepthTestAttrib 15 DepthTestAttrib 0 0 0 0 3146 2 4245 4246 5 3141 3142 3143 3144 3145 0 0 1 0 3592 0 0 0 0 59 /** * Enables or disables writing to the depth buffer. */ 3720 16 DepthWriteAttrib 0 141313 16 DepthWriteAttrib 16 DepthWriteAttrib 0 0 0 0 3152 2 4247 4248 5 3147 3148 3149 3150 3151 0 0 1 0 3592 0 0 0 1 3721 59 /** * Enables or disables writing to the depth buffer. */ 3721 4 Mode 0 794624 22 DepthWriteAttrib::Mode 22 DepthWriteAttrib::Mode 3720 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 3722 5 Light 0 26625 5 Light 5 Light 0 0 0 0 3153 3 4249 4250 4251 14 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 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. */ 3723 11 LightAttrib 0 75777 11 LightAttrib 11 LightAttrib 0 0 0 0 0 3 4252 4253 4254 29 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 2 4316 4317 0 1 0 3592 0 0 0 1 3724 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. */ 3724 9 Operation 0 794624 22 LightAttrib::Operation 22 LightAttrib::Operation 3723 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. 3725 15 LightRampAttrib 0 141313 15 LightRampAttrib 15 LightRampAttrib 0 0 0 0 3209 2 4255 4256 12 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 0 0 1 0 3592 0 0 0 1 3726 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. */ 3726 13 LightRampMode 0 794624 30 LightRampAttrib::LightRampMode 30 LightRampAttrib::LightRampMode 3725 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 3727 6 Loader 0 141313 6 Loader 6 Loader 0 0 0 1 3221 3238 0 16 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 0 0 2 3 3658 3210 3211 3 3617 3212 3213 0 1 3728 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. */ 3728 7 Results 0 288769 15 Loader::Results 15 Loader::Results 3727 0 0 1 3214 3216 0 5 3215 3217 3218 3219 3220 2 4318 4319 0 0 0 0 0 3729 14 LoaderFileType 0 75777 14 LoaderFileType 14 LoaderFileType 0 0 0 0 0 0 9 3239 3240 3241 3242 3243 3244 3245 3246 3247 0 0 1 0 3730 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. */ 3730 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() { * <<>>::init_type(); * <<>>::init_type(); * <<>>::init_type(); * register_type(_type_handle, "<<>>", * <<>>::get_class_type(), * <<>>::get_class_type(), * <<>>::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 <<>>::_type_handle; * @endcode * * @par In the class config_<<>>.cxx file: * @code * ConfigureFn(config_<<>>) { * <<>>::init_type(); * <<>>::init_type(); * <<>>::init_type(); * } * @endcode */ 3731 22 LoaderFileTypeRegistry 0 26625 22 LoaderFileTypeRegistry 22 LoaderFileTypeRegistry 0 0 0 1 3258 3248 1 4257 9 3249 3250 3251 3252 3253 3254 3255 3256 3257 1 4320 0 0 0 0 85 /** * This class maintains the set of all known LoaderFileTypes in the universe. */ 3732 16 LoaderFileType * 0 8576 16 LoaderFileType * 16 LoaderFileType * 0 0 3729 0 0 0 0 0 0 0 0 0 0 3733 14 MaterialAttrib 0 141313 14 MaterialAttrib 14 MaterialAttrib 0 0 0 0 3266 2 4258 4259 7 3259 3260 3261 3262 3263 3264 3265 0 0 1 0 3592 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. */ 3734 10 Material * 0 8576 10 Material * 10 Material * 0 0 3735 0 0 0 0 0 0 0 0 0 0 3735 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. */ 3736 19 ModelFlattenRequest 0 141313 19 ModelFlattenRequest 19 ModelFlattenRequest 0 0 0 1 3267 3272 1 4260 4 3268 3269 3270 3271 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 3273 3280 3 4261 4262 4263 6 3274 3275 3276 3277 3278 3279 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 839 /** * 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. * * Note that the methods of Filename that interact with the filesystem (such * as exists(), open_read(), etc.) directly interface with the operating system * and are not aware of Panda's virtual file system. To interact with the VFS, * use the methods on VirtualFileSystem instead. */ 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 3727 0 0 0 0 0 0 0 0 0 0 3744 9 ModelNode 0 141313 9 ModelNode 9 ModelNode 0 0 0 1 3281 3288 0 6 3282 3283 3284 3285 3286 3287 0 0 1 0 3616 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 { 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 3289 3300 4 4264 4265 4266 4267 8 3290 3291 3292 3293 3294 3297 3298 3299 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 3295 3296 0 0 0 0 1 0 3716 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 3311 0 10 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 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 3312 3320 4 4268 4269 4270 4271 7 3313 3314 3315 3316 3317 3318 3319 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 3350 5 4272 4273 4274 4275 4276 29 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3 4321 4322 4323 0 1 0 3592 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 4277 12 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 0 0 1 0 3592 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 3363 2131 3 4278 4279 4280 9 3364 3365 3366 3367 3368 3369 3370 3371 3372 1 4324 0 1 0 3616 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 3381 0 8 3373 3374 3375 3376 3377 3378 3379 3380 1 4325 0 1 0 3614 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 3382 3419 0 36 3383 3384 3385 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 0 0 1 0 3616 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 3431 0 11 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 0 0 1 0 3614 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 3468 3 4281 4282 4283 36 3432 3433 3434 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 0 0 1 0 3592 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 3472 0 3 3469 3470 3471 0 0 1 0 3614 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 3473 3474 3475 3476 3477 3478 3479 3480 3481 0 0 1 0 3614 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 3492 0 10 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 2 4326 4327 0 1 0 3614 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 3493 3494 0 17 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 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 141313 13 ParamNodePath 13 ParamNodePath 0 0 0 1 3514 3517 0 2 3515 3516 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 3518 2131 10 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 24 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 1 4328 0 1 0 3616 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 3629 0 0 0 0 0 0 0 0 0 0 3787 13 ScissorAttrib 0 141313 13 ScissorAttrib 13 ScissorAttrib 0 0 0 0 3550 2 4294 4295 7 3543 3544 3545 3546 3547 3548 3549 0 0 1 0 3592 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 3556 2 4296 4297 5 3551 3552 3553 3554 3555 0 0 1 0 3592 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 3566 1 4298 9 3557 3558 3559 3560 3561 3562 3563 3564 3565 0 0 1 0 3592 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 3576 0 9 3567 3568 3569 3570 3571 3572 3573 3574 3575 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 3577 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 3582 0 0 0 0 0 0 0 0 0 0 3800 19 LQuaternion const * 0 8576 19 LQuaternion const * 19 LQuaternion const * 0 0 3585 0 0 0 0 0 0 0 0 0 0 3801 16 LMatrix4 const * 0 8576 16 LMatrix4 const * 16 LMatrix4 const * 0 0 3588 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 3579 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 3591 0 0 0 0 0 0 0 0 0 0 3820 22 RenderAttribRegistry * 0 8576 22 RenderAttribRegistry * 22 RenderAttribRegistry * 0 0 3591 0 0 0 0 0 0 0 0 0 0 3821 14 LColor const * 0 8576 14 LColor const * 14 LColor const * 0 0 3602 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 3597 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 3606 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 3607 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 3607 0 3830 0 0 0 0 0 0 0 0 0 0 3830 8 SlotMask 0 2367488 30 RenderAttribRegistry::SlotMask 30 RenderAttribRegistry::SlotMask 3591 0 3629 0 0 0 0 0 0 0 0 0 0 3831 15 CullTraverser * 0 8576 15 CullTraverser * 15 CullTraverser * 0 0 3710 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 3704 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 3610 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 3611 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 3614 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 3615 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 3616 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 3637 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 3628 0 0 0 0 0 0 0 0 0 0 3851 13 CollideMask * 0 8576 13 CollideMask * 13 CollideMask * 0 0 3631 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 3633 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 3722 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 3593 0 0 0 0 0 0 0 0 0 0 3862 9 Namable * 0 8576 9 Namable * 9 Namable * 0 0 3617 0 0 0 0 0 0 0 0 0 0 3863 16 LinkedListNode * 0 8576 16 LinkedListNode * 16 LinkedListNode * 0 0 3618 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 3636 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 3637 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 3638 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 3639 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 3641 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 3643 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 3643 0 0 0 0 0 0 0 0 0 0 3881 17 LVecBase4 const * 0 8576 17 LVecBase4 const * 17 LVecBase4 const * 0 0 3689 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 16 NodePath const * 0 8576 16 NodePath const * 16 NodePath const * 0 0 3670 0 0 0 0 0 0 0 0 0 0 3886 24 InternalNameCollection * 0 8576 24 InternalNameCollection * 24 InternalNameCollection * 0 0 3646 0 0 0 0 0 0 0 0 0 0 3887 30 InternalNameCollection const * 0 8576 30 InternalNameCollection const * 30 InternalNameCollection const * 0 0 3888 0 0 0 0 0 0 0 0 0 0 3888 28 InternalNameCollection const 0 8832 28 InternalNameCollection const 28 InternalNameCollection const 0 0 3646 0 0 0 0 0 0 0 0 0 0 3889 20 MaterialCollection * 0 8576 20 MaterialCollection * 20 MaterialCollection * 0 0 3647 0 0 0 0 0 0 0 0 0 0 3890 26 MaterialCollection const * 0 8576 26 MaterialCollection const * 26 MaterialCollection const * 0 0 3891 0 0 0 0 0 0 0 0 0 0 3891 24 MaterialCollection const 0 8832 24 MaterialCollection const 24 MaterialCollection const 0 0 3647 0 0 0 0 0 0 0 0 0 0 3892 24 TextureStageCollection * 0 8576 24 TextureStageCollection * 24 TextureStageCollection * 0 0 3648 0 0 0 0 0 0 0 0 0 0 3893 30 TextureStageCollection const * 0 8576 30 TextureStageCollection const * 30 TextureStageCollection const * 0 0 3894 0 0 0 0 0 0 0 0 0 0 3894 28 TextureStageCollection const 0 8832 28 TextureStageCollection const 28 TextureStageCollection const 0 0 3648 0 0 0 0 0 0 0 0 0 0 3895 10 NodePath * 0 8576 10 NodePath * 10 NodePath * 0 0 3649 0 0 0 0 0 0 0 0 0 0 3896 20 NodePathCollection * 0 8576 20 NodePathCollection * 20 NodePathCollection * 0 0 3652 0 0 0 0 0 0 0 0 0 0 3897 9 LPoint3 * 0 8576 9 LPoint3 * 9 LPoint3 * 0 0 3580 0 0 0 0 0 0 0 0 0 0 3898 8 LVector3 0 2105344 8 LVector3 8 LVector3 0 0 3899 0 0 0 0 0 0 0 0 0 0 3899 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. */ 3900 10 LVector3 * 0 8576 10 LVector3 * 10 LVector3 * 0 0 3898 0 0 0 0 0 0 0 0 0 0 3901 11 LVecBase3 * 0 8576 11 LVecBase3 * 11 LVecBase3 * 0 0 3583 0 0 0 0 0 0 0 0 0 0 3902 13 LQuaternion * 0 8576 13 LQuaternion * 13 LQuaternion * 0 0 3586 0 0 0 0 0 0 0 0 0 0 3903 10 LMatrix4 * 0 8576 10 LMatrix4 * 10 LMatrix4 * 0 0 3589 0 0 0 0 0 0 0 0 0 0 3904 16 LVector3 const * 0 8576 16 LVector3 const * 16 LVector3 const * 0 0 3905 0 0 0 0 0 0 0 0 0 0 3905 14 LVector3 const 0 8832 14 LVector3 const 14 LVector3 const 0 0 3898 0 0 0 0 0 0 0 0 0 0 3906 8 LColor * 0 8576 8 LColor * 8 LColor * 0 0 3603 0 0 0 0 0 0 0 0 0 0 3907 9 nullptr_t 0 2105344 14 std::nullptr_t 14 std::nullptr_t 0 0 3908 0 0 0 0 0 0 0 0 0 0 3908 17 decltype(nullptr) 0 8194 17 decltype(nullptr) 17 decltype(nullptr) 0 9 0 0 0 0 0 0 0 0 0 0 0 3909 11 BitMask32 * 0 8576 11 BitMask32 * 11 BitMask32 * 0 0 3629 0 0 0 0 0 0 0 0 0 0 3910 18 LTexCoord3 const * 0 8576 18 LTexCoord3 const * 18 LTexCoord3 const * 0 0 3911 0 0 0 0 0 0 0 0 0 0 3911 16 LTexCoord3 const 0 8832 16 LTexCoord3 const 16 LTexCoord3 const 0 0 3912 0 0 0 0 0 0 0 0 0 0 3912 10 LTexCoord3 0 2105344 10 LTexCoord3 10 LTexCoord3 0 0 3913 0 0 0 0 0 0 0 0 0 0 3913 11 LTexCoord3f 0 2105344 11 LTexCoord3f 11 LTexCoord3f 0 0 3581 0 0 0 0 0 0 0 0 0 0 3914 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(). */ 3915 19 TextureCollection * 0 8576 19 TextureCollection * 19 TextureCollection * 0 0 3914 0 0 0 0 0 0 0 0 0 0 3916 20 WeakNodePath const * 0 8576 20 WeakNodePath const * 20 WeakNodePath const * 0 0 3917 0 0 0 0 0 0 0 0 0 0 3917 18 WeakNodePath const 0 8832 18 WeakNodePath const 18 WeakNodePath const 0 0 3668 0 0 0 0 0 0 0 0 0 0 3918 15 vector_string * 0 8576 15 vector_string * 15 vector_string * 0 0 3919 0 0 0 0 0 0 0 0 0 0 3919 13 vector_string 0 2105344 13 vector_string 13 vector_string 0 0 3920 0 0 0 0 0 0 0 0 0 0 3920 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 3921 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 3739 0 0 0 0 0 0 0 0 0 0 3922 14 vector_uchar * 0 8576 14 vector_uchar * 14 vector_uchar * 0 0 3859 0 0 0 0 0 0 0 0 0 0 3923 26 NodePathCollection const * 0 8576 26 NodePathCollection const * 26 NodePathCollection const * 0 0 3924 0 0 0 0 0 0 0 0 0 0 3924 24 NodePathCollection const 0 8832 24 NodePathCollection const 24 NodePathCollection const 0 0 3652 0 0 0 0 0 0 0 0 0 0 3925 20 AttribNodeRegistry * 0 8576 20 AttribNodeRegistry * 20 AttribNodeRegistry * 0 0 3653 0 0 0 0 0 0 0 0 0 0 3926 26 AttribNodeRegistry const * 0 8576 26 AttribNodeRegistry const * 26 AttribNodeRegistry const * 0 0 3927 0 0 0 0 0 0 0 0 0 0 3927 24 AttribNodeRegistry const 0 8832 24 AttribNodeRegistry const 24 AttribNodeRegistry const 0 0 3653 0 0 0 0 0 0 0 0 0 0 3928 25 AudioVolumeAttrib const * 0 8576 25 AudioVolumeAttrib const * 25 AudioVolumeAttrib const * 0 0 3929 0 0 0 0 0 0 0 0 0 0 3929 23 AudioVolumeAttrib const 0 8832 23 AudioVolumeAttrib const 23 AudioVolumeAttrib const 0 0 3654 0 0 0 0 0 0 0 0 0 0 3930 25 AuxBitplaneAttrib const * 0 8576 25 AuxBitplaneAttrib const * 25 AuxBitplaneAttrib const * 0 0 3931 0 0 0 0 0 0 0 0 0 0 3931 23 AuxBitplaneAttrib const 0 8832 23 AuxBitplaneAttrib const 23 AuxBitplaneAttrib const 0 0 3655 0 0 0 0 0 0 0 0 0 0 3932 20 AuxSceneData const * 0 8576 20 AuxSceneData const * 20 AuxSceneData const * 0 0 3933 0 0 0 0 0 0 0 0 0 0 3933 18 AuxSceneData const 0 8832 18 AuxSceneData const 18 AuxSceneData const 0 0 3657 0 0 0 0 0 0 0 0 0 0 3934 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0 3935 9 BamFile * 0 8576 9 BamFile * 9 BamFile * 0 0 3659 0 0 0 0 0 0 0 0 0 0 3936 9 istream * 0 8576 14 std::istream * 14 std::istream * 0 0 3937 0 0 0 0 0 0 0 0 0 0 3937 7 istream 0 2048 12 std::istream 12 std::istream 0 0 0 0 0 0 0 0 0 0 0 0 0 3938 15 TypedWritable * 0 8576 15 TypedWritable * 15 TypedWritable * 0 0 3939 0 0 0 0 0 0 0 0 0 0 3939 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. */ 3940 15 BamFile const * 0 8576 15 BamFile const * 15 BamFile const * 0 0 3941 0 0 0 0 0 0 0 0 0 0 3941 13 BamFile const 0 8832 13 BamFile const 13 BamFile const 0 0 3659 0 0 0 0 0 0 0 0 0 0 3942 21 TypedWritable const * 0 8576 21 TypedWritable const * 21 TypedWritable const * 0 0 3943 0 0 0 0 0 0 0 0 0 0 3943 19 TypedWritable const 0 8832 19 TypedWritable const 19 TypedWritable const 0 0 3939 0 0 0 0 0 0 0 0 0 0 3944 23 BillboardEffect const * 0 8576 23 BillboardEffect const * 23 BillboardEffect const * 0 0 3945 0 0 0 0 0 0 0 0 0 0 3945 21 BillboardEffect const 0 8832 21 BillboardEffect const 21 BillboardEffect const 0 0 3666 0 0 0 0 0 0 0 0 0 0 3946 6 Lens * 0 8576 6 Lens * 6 Lens * 0 0 3947 0 0 0 0 0 0 0 0 0 0 3947 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. */ 3948 10 LensNode * 0 8576 10 LensNode * 10 LensNode * 0 0 3667 0 0 0 0 0 0 0 0 0 0 3949 12 Lens const * 0 8576 12 Lens const * 12 Lens const * 0 0 3950 0 0 0 0 0 0 0 0 0 0 3950 10 Lens const 0 8832 10 Lens const 10 Lens const 0 0 3947 0 0 0 0 0 0 0 0 0 0 3951 16 LensNode const * 0 8576 16 LensNode const * 16 LensNode const * 0 0 3952 0 0 0 0 0 0 0 0 0 0 3952 14 LensNode const 0 8832 14 LensNode const 14 LensNode const 0 0 3667 0 0 0 0 0 0 0 0 0 0 3953 14 WeakNodePath * 0 8576 14 WeakNodePath * 14 WeakNodePath * 0 0 3668 0 0 0 0 0 0 0 0 0 0 3954 14 Camera const * 0 8576 14 Camera const * 14 Camera const * 0 0 3955 0 0 0 0 0 0 0 0 0 0 3955 12 Camera const 0 8832 12 Camera const 12 Camera const 0 0 3669 0 0 0 0 0 0 0 0 0 0 3956 8 Camera * 0 8576 8 Camera * 8 Camera * 0 0 3669 0 0 0 0 0 0 0 0 0 0 3957 14 LPlane const * 0 8576 14 LPlane const * 14 LPlane const * 0 0 3678 0 0 0 0 0 0 0 0 0 0 3958 11 PlaneNode * 0 8576 11 PlaneNode * 11 PlaneNode * 0 0 3676 0 0 0 0 0 0 0 0 0 0 3959 17 PlaneNode const * 0 8576 17 PlaneNode const * 17 PlaneNode const * 0 0 3960 0 0 0 0 0 0 0 0 0 0 3960 15 PlaneNode const 0 8832 15 PlaneNode const 15 PlaneNode const 0 0 3676 0 0 0 0 0 0 0 0 0 0 3961 23 ClipPlaneAttrib const * 0 8576 23 ClipPlaneAttrib const * 23 ClipPlaneAttrib const * 0 0 3962 0 0 0 0 0 0 0 0 0 0 3962 21 ClipPlaneAttrib const 0 8832 21 ClipPlaneAttrib const 21 ClipPlaneAttrib const 0 0 3681 0 0 0 0 0 0 0 0 0 0 3963 19 ColorAttrib const * 0 8576 19 ColorAttrib const * 19 ColorAttrib const * 0 0 3964 0 0 0 0 0 0 0 0 0 0 3964 17 ColorAttrib const 0 8832 17 ColorAttrib const 17 ColorAttrib const 0 0 3683 0 0 0 0 0 0 0 0 0 0 3965 24 ColorBlendAttrib const * 0 8576 24 ColorBlendAttrib const * 24 ColorBlendAttrib const * 0 0 3966 0 0 0 0 0 0 0 0 0 0 3966 22 ColorBlendAttrib const 0 8832 22 ColorBlendAttrib const 22 ColorBlendAttrib const 0 0 3685 0 0 0 0 0 0 0 0 0 0 3967 24 ColorScaleAttrib const * 0 8576 24 ColorScaleAttrib const * 24 ColorScaleAttrib const * 0 0 3968 0 0 0 0 0 0 0 0 0 0 3968 22 ColorScaleAttrib const 0 8832 22 ColorScaleAttrib const 22 ColorScaleAttrib const 0 0 3688 0 0 0 0 0 0 0 0 0 0 3969 24 ColorWriteAttrib const * 0 8576 24 ColorWriteAttrib const * 24 ColorWriteAttrib const * 0 0 3970 0 0 0 0 0 0 0 0 0 0 3970 22 ColorWriteAttrib const 0 8832 22 ColorWriteAttrib const 22 ColorWriteAttrib const 0 0 3691 0 0 0 0 0 0 0 0 0 0 3971 21 CompassEffect const * 0 8576 21 CompassEffect const * 21 CompassEffect const * 0 0 3972 0 0 0 0 0 0 0 0 0 0 3972 19 CompassEffect const 0 8832 19 CompassEffect const 19 CompassEffect const 0 0 3694 0 0 0 0 0 0 0 0 0 0 3973 14 CullBinEnums * 0 8576 14 CullBinEnums * 14 CullBinEnums * 0 0 3696 0 0 0 0 0 0 0 0 0 0 3974 20 CullBinEnums const * 0 8576 20 CullBinEnums const * 20 CullBinEnums const * 0 0 3975 0 0 0 0 0 0 0 0 0 0 3975 18 CullBinEnums const 0 8832 18 CullBinEnums const 18 CullBinEnums const 0 0 3696 0 0 0 0 0 0 0 0 0 0 3976 10 GeomNode * 0 8576 10 GeomNode * 10 GeomNode * 0 0 3698 0 0 0 0 0 0 0 0 0 0 3977 16 GeomNode const * 0 8576 16 GeomNode const * 16 GeomNode const * 0 0 3978 0 0 0 0 0 0 0 0 0 0 3978 14 GeomNode const 0 8832 14 GeomNode const 14 GeomNode const 0 0 3698 0 0 0 0 0 0 0 0 0 0 3979 10 Geom const 0 8832 10 Geom const 10 Geom const 0 0 3980 0 0 0 0 0 0 0 0 0 0 3980 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. */ 3981 12 Geom const * 0 8576 12 Geom const * 12 Geom const * 0 0 3979 0 0 0 0 0 0 0 0 0 0 3982 6 Geom * 0 8576 6 Geom * 6 Geom * 0 0 3980 0 0 0 0 0 0 0 0 0 0 3983 21 CullBinAttrib const * 0 8576 21 CullBinAttrib const * 21 CullBinAttrib const * 0 0 3984 0 0 0 0 0 0 0 0 0 0 3984 19 CullBinAttrib const 0 8832 19 CullBinAttrib const 19 CullBinAttrib const 0 0 3699 0 0 0 0 0 0 0 0 0 0 3985 16 CullBinManager * 0 8576 16 CullBinManager * 16 CullBinManager * 0 0 3700 0 0 0 0 0 0 0 0 0 0 3986 7 BinType 0 2367488 23 CullBinManager::BinType 23 CullBinManager::BinType 3700 0 3697 0 0 0 0 0 0 0 0 0 0 3987 22 CullBinManager const * 0 8576 22 CullBinManager const * 22 CullBinManager const * 0 0 3988 0 0 0 0 0 0 0 0 0 0 3988 20 CullBinManager const 0 8832 20 CullBinManager const 20 CullBinManager const 0 0 3700 0 0 0 0 0 0 0 0 0 0 3989 22 CullFaceAttrib const * 0 8576 22 CullFaceAttrib const * 22 CullFaceAttrib const * 0 0 3990 0 0 0 0 0 0 0 0 0 0 3990 20 CullFaceAttrib const 0 8832 20 CullFaceAttrib const 20 CullFaceAttrib const 0 0 3701 0 0 0 0 0 0 0 0 0 0 3991 19 CullTraverserData * 0 8576 19 CullTraverserData * 19 CullTraverserData * 0 0 3704 0 0 0 0 0 0 0 0 0 0 3992 21 CullTraverser const * 0 8576 21 CullTraverser const * 21 CullTraverser const * 0 0 3993 0 0 0 0 0 0 0 0 0 0 3993 19 CullTraverser const 0 8832 19 CullTraverser const 19 CullTraverser const 0 0 3710 0 0 0 0 0 0 0 0 0 0 3994 16 DrawMask const * 0 8576 16 DrawMask const * 16 DrawMask const * 0 0 3995 0 0 0 0 0 0 0 0 0 0 3995 14 DrawMask const 0 8832 14 DrawMask const 14 DrawMask const 0 0 3628 0 0 0 0 0 0 0 0 0 0 3996 18 SceneSetup const * 0 8576 18 SceneSetup const * 18 SceneSetup const * 0 0 3997 0 0 0 0 0 0 0 0 0 0 3997 16 SceneSetup const 0 8832 16 SceneSetup const 16 SceneSetup const 0 0 3705 0 0 0 0 0 0 0 0 0 0 3998 12 SceneSetup * 0 8576 12 SceneSetup * 12 SceneSetup * 0 0 3705 0 0 0 0 0 0 0 0 0 0 3999 11 Fog const * 0 8576 11 Fog const * 11 Fog const * 0 0 4000 0 0 0 0 0 0 0 0 0 0 4000 9 Fog const 0 8832 9 Fog const 9 Fog const 0 0 3706 0 0 0 0 0 0 0 0 0 0 4001 17 FogAttrib const * 0 8576 17 FogAttrib const * 17 FogAttrib const * 0 0 4002 0 0 0 0 0 0 0 0 0 0 4002 15 FogAttrib const 0 8832 15 FogAttrib const 15 FogAttrib const 0 0 3708 0 0 0 0 0 0 0 0 0 0 4003 25 GeometricBoundingVolume * 0 8576 25 GeometricBoundingVolume * 25 GeometricBoundingVolume * 0 0 4004 0 0 0 0 0 0 0 0 0 0 4004 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. */ 4005 13 CullHandler * 0 8576 13 CullHandler * 13 CullHandler * 0 0 4006 0 0 0 0 0 0 0 0 0 0 4006 11 CullHandler 0 2048 11 CullHandler 11 CullHandler 0 0 0 0 0 0 0 0 0 0 0 0 0 4007 15 PortalClipper * 0 8576 15 PortalClipper * 15 PortalClipper * 0 0 4008 0 0 0 0 0 0 0 0 0 0 4008 13 PortalClipper 0 2048 13 PortalClipper 13 PortalClipper 0 0 0 0 0 0 0 0 0 0 0 0 0 4009 28 GeomDrawCallbackData const * 0 8576 28 GeomDrawCallbackData const * 28 GeomDrawCallbackData const * 0 0 4010 0 0 0 0 0 0 0 0 0 0 4010 26 GeomDrawCallbackData const 0 8832 26 GeomDrawCallbackData const 26 GeomDrawCallbackData const 0 0 3711 0 0 0 0 0 0 0 0 0 0 4011 16 CullableObject * 0 8576 16 CullableObject * 16 CullableObject * 0 0 4012 0 0 0 0 0 0 0 0 0 0 4012 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. */ 4013 22 GeomDrawCallbackData * 0 8576 22 GeomDrawCallbackData * 22 GeomDrawCallbackData * 0 0 3711 0 0 0 0 0 0 0 0 0 0 4014 27 RescaleNormalAttrib const * 0 8576 27 RescaleNormalAttrib const * 27 RescaleNormalAttrib const * 0 0 4015 0 0 0 0 0 0 0 0 0 0 4015 25 RescaleNormalAttrib const 0 8832 25 RescaleNormalAttrib const 25 RescaleNormalAttrib const 0 0 3713 0 0 0 0 0 0 0 0 0 0 4016 18 CullResult const * 0 8576 18 CullResult const * 18 CullResult const * 0 0 4017 0 0 0 0 0 0 0 0 0 0 4017 16 CullResult const 0 8832 16 CullResult const 16 CullResult const 0 0 3715 0 0 0 0 0 0 0 0 0 0 4018 12 CullResult * 0 8576 12 CullResult * 12 CullResult * 0 0 3715 0 0 0 0 0 0 0 0 0 0 4019 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. */ 4020 9 CullBin * 0 8576 9 CullBin * 9 CullBin * 0 0 4019 0 0 0 0 0 0 0 0 0 0 4021 25 DepthOffsetAttrib const * 0 8576 25 DepthOffsetAttrib const * 25 DepthOffsetAttrib const * 0 0 4022 0 0 0 0 0 0 0 0 0 0 4022 23 DepthOffsetAttrib const 0 8832 23 DepthOffsetAttrib const 23 DepthOffsetAttrib const 0 0 3718 0 0 0 0 0 0 0 0 0 0 4023 23 DepthTestAttrib const * 0 8576 23 DepthTestAttrib const * 23 DepthTestAttrib const * 0 0 4024 0 0 0 0 0 0 0 0 0 0 4024 21 DepthTestAttrib const 0 8832 21 DepthTestAttrib const 21 DepthTestAttrib const 0 0 3719 0 0 0 0 0 0 0 0 0 0 4025 24 DepthWriteAttrib const * 0 8576 24 DepthWriteAttrib const * 24 DepthWriteAttrib const * 0 0 4026 0 0 0 0 0 0 0 0 0 0 4026 22 DepthWriteAttrib const 0 8832 22 DepthWriteAttrib const 22 DepthWriteAttrib const 0 0 3720 0 0 0 0 0 0 0 0 0 0 4027 13 Light const * 0 8576 13 Light const * 13 Light const * 0 0 4028 0 0 0 0 0 0 0 0 0 0 4028 11 Light const 0 8832 11 Light const 11 Light const 0 0 3722 0 0 0 0 0 0 0 0 0 0 4029 19 LightAttrib const * 0 8576 19 LightAttrib const * 19 LightAttrib const * 0 0 4030 0 0 0 0 0 0 0 0 0 0 4030 17 LightAttrib const 0 8832 17 LightAttrib const 17 LightAttrib const 0 0 3723 0 0 0 0 0 0 0 0 0 0 4031 23 LightRampAttrib const * 0 8576 23 LightRampAttrib const * 23 LightRampAttrib const * 0 0 4032 0 0 0 0 0 0 0 0 0 0 4032 21 LightRampAttrib const 0 8832 21 LightRampAttrib const 21 LightRampAttrib const 0 0 3725 0 0 0 0 0 0 0 0 0 0 4033 14 Loader const * 0 8576 14 Loader const * 14 Loader const * 0 0 4034 0 0 0 0 0 0 0 0 0 0 4034 12 Loader const 0 8832 12 Loader const 12 Loader const 0 0 3727 0 0 0 0 0 0 0 0 0 0 4035 18 AsyncTaskManager * 0 8576 18 AsyncTaskManager * 18 AsyncTaskManager * 0 0 4036 0 0 0 0 0 0 0 0 0 0 4036 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. */ 4037 11 AsyncTask * 0 8576 11 AsyncTask * 11 AsyncTask * 0 0 3737 0 0 0 0 0 0 0 0 0 0 4038 21 LoaderOptions const * 0 8576 21 LoaderOptions const * 21 LoaderOptions const * 0 0 3741 0 0 0 0 0 0 0 0 0 0 4039 21 TypedReferenceCount * 0 8576 21 TypedReferenceCount * 21 TypedReferenceCount * 0 0 3658 0 0 0 0 0 0 0 0 0 0 4040 9 Results * 0 8576 17 Loader::Results * 17 Loader::Results * 0 0 3728 0 0 0 0 0 0 0 0 0 0 4041 15 Results const * 0 8576 23 Loader::Results const * 23 Loader::Results const * 0 0 4042 0 0 0 0 0 0 0 0 0 0 4042 13 Results const 0 8832 21 Loader::Results const 21 Loader::Results const 0 0 3728 0 0 0 0 0 0 0 0 0 0 4043 22 LoaderFileType const * 0 8576 22 LoaderFileType const * 22 LoaderFileType const * 0 0 4044 0 0 0 0 0 0 0 0 0 0 4044 20 LoaderFileType const 0 8832 20 LoaderFileType const 20 LoaderFileType const 0 0 3729 0 0 0 0 0 0 0 0 0 0 4045 30 LoaderFileTypeRegistry const * 0 8576 30 LoaderFileTypeRegistry const * 30 LoaderFileTypeRegistry const * 0 0 4046 0 0 0 0 0 0 0 0 0 0 4046 28 LoaderFileTypeRegistry const 0 8832 28 LoaderFileTypeRegistry const 28 LoaderFileTypeRegistry const 0 0 3731 0 0 0 0 0 0 0 0 0 0 4047 24 LoaderFileTypeRegistry * 0 8576 24 LoaderFileTypeRegistry * 24 LoaderFileTypeRegistry * 0 0 3731 0 0 0 0 0 0 0 0 0 0 4048 22 MaterialAttrib const * 0 8576 22 MaterialAttrib const * 22 MaterialAttrib const * 0 0 4049 0 0 0 0 0 0 0 0 0 0 4049 20 MaterialAttrib const 0 8832 20 MaterialAttrib const 20 MaterialAttrib const 0 0 3733 0 0 0 0 0 0 0 0 0 0 4050 27 ModelFlattenRequest const * 0 8576 27 ModelFlattenRequest const * 27 ModelFlattenRequest const * 0 0 4051 0 0 0 0 0 0 0 0 0 0 4051 25 ModelFlattenRequest const 0 8832 25 ModelFlattenRequest const 25 ModelFlattenRequest const 0 0 3736 0 0 0 0 0 0 0 0 0 0 4052 21 ModelFlattenRequest * 0 8576 21 ModelFlattenRequest * 21 ModelFlattenRequest * 0 0 3736 0 0 0 0 0 0 0 0 0 0 4053 24 ModelLoadRequest const * 0 8576 24 ModelLoadRequest const * 24 ModelLoadRequest const * 0 0 4054 0 0 0 0 0 0 0 0 0 0 4054 22 ModelLoadRequest const 0 8832 22 ModelLoadRequest const 22 ModelLoadRequest const 0 0 3738 0 0 0 0 0 0 0 0 0 0 4055 18 ModelLoadRequest * 0 8576 18 ModelLoadRequest * 18 ModelLoadRequest * 0 0 3738 0 0 0 0 0 0 0 0 0 0 4056 11 ModelNode * 0 8576 11 ModelNode * 11 ModelNode * 0 0 3744 0 0 0 0 0 0 0 0 0 0 4057 17 ModelNode const * 0 8576 17 ModelNode const * 17 ModelNode const * 0 0 4058 0 0 0 0 0 0 0 0 0 0 4058 15 ModelNode const 0 8832 15 ModelNode const 15 ModelNode const 0 0 3744 0 0 0 0 0 0 0 0 0 0 4059 11 ModelRoot * 0 8576 11 ModelRoot * 11 ModelRoot * 0 0 3746 0 0 0 0 0 0 0 0 0 0 4060 17 ModelRoot const * 0 8576 17 ModelRoot const * 17 ModelRoot const * 0 0 4061 0 0 0 0 0 0 0 0 0 0 4061 15 ModelRoot const 0 8832 15 ModelRoot const 15 ModelRoot const 0 0 3746 0 0 0 0 0 0 0 0 0 0 4062 22 ModelReference const * 0 8576 33 ModelRoot::ModelReference const * 33 ModelRoot::ModelReference const * 0 0 4063 0 0 0 0 0 0 0 0 0 0 4063 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 4064 24 ModelSaveRequest const * 0 8576 24 ModelSaveRequest const * 24 ModelSaveRequest const * 0 0 4065 0 0 0 0 0 0 0 0 0 0 4065 22 ModelSaveRequest const 0 8832 22 ModelSaveRequest const 22 ModelSaveRequest const 0 0 3752 0 0 0 0 0 0 0 0 0 0 4066 18 ModelSaveRequest * 0 8576 18 ModelSaveRequest * 18 ModelSaveRequest * 0 0 3752 0 0 0 0 0 0 0 0 0 0 4067 21 TextureAttrib const * 0 8576 21 TextureAttrib const * 21 TextureAttrib const * 0 0 4068 0 0 0 0 0 0 0 0 0 0 4068 19 TextureAttrib const 0 8832 19 TextureAttrib const 19 TextureAttrib const 0 0 3753 0 0 0 0 0 0 0 0 0 0 4069 20 TextureStage const * 0 8576 20 TextureStage const * 20 TextureStage const * 0 0 4070 0 0 0 0 0 0 0 0 0 0 4070 18 TextureStage const 0 8832 18 TextureStage const 18 TextureStage const 0 0 3755 0 0 0 0 0 0 0 0 0 0 4071 4 Mode 0 2367488 18 TexGenAttrib::Mode 18 TexGenAttrib::Mode 3760 0 3596 0 0 0 0 0 0 0 0 0 0 4072 20 TexGenAttrib const * 0 8576 20 TexGenAttrib const * 20 TexGenAttrib const * 0 0 4073 0 0 0 0 0 0 0 0 0 0 4073 18 TexGenAttrib const 0 8832 18 TexGenAttrib const 18 TexGenAttrib const 0 0 3760 0 0 0 0 0 0 0 0 0 0 4074 14 OccluderNode * 0 8576 14 OccluderNode * 14 OccluderNode * 0 0 3761 0 0 0 0 0 0 0 0 0 0 4075 20 OccluderNode const * 0 8576 20 OccluderNode const * 20 OccluderNode const * 0 0 4076 0 0 0 0 0 0 0 0 0 0 4076 18 OccluderNode const 0 8832 18 OccluderNode const 18 OccluderNode const 0 0 3761 0 0 0 0 0 0 0 0 0 0 4077 22 OccluderEffect const * 0 8576 22 OccluderEffect const * 22 OccluderEffect const * 0 0 4078 0 0 0 0 0 0 0 0 0 0 4078 20 OccluderEffect const 0 8832 20 OccluderEffect const 20 OccluderEffect const 0 0 3762 0 0 0 0 0 0 0 0 0 0 4079 21 PolylightNode const * 0 8576 21 PolylightNode const * 21 PolylightNode const * 0 0 4080 0 0 0 0 0 0 0 0 0 0 4080 19 PolylightNode const 0 8832 19 PolylightNode const 19 PolylightNode const 0 0 3763 0 0 0 0 0 0 0 0 0 0 4081 15 PolylightNode * 0 8576 15 PolylightNode * 15 PolylightNode * 0 0 3763 0 0 0 0 0 0 0 0 0 0 4082 18 LightGroup const * 0 8576 35 PolylightEffect::LightGroup const * 35 PolylightEffect::LightGroup const * 0 0 4083 0 0 0 0 0 0 0 0 0 0 4083 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 4084 23 PolylightEffect const * 0 8576 23 PolylightEffect const * 23 PolylightEffect const * 0 0 4085 0 0 0 0 0 0 0 0 0 0 4085 21 PolylightEffect const 0 8832 21 PolylightEffect const 21 PolylightEffect const 0 0 3766 0 0 0 0 0 0 0 0 0 0 4086 20 ShaderAttrib const * 0 8576 20 ShaderAttrib const * 20 ShaderAttrib const * 0 0 4087 0 0 0 0 0 0 0 0 0 0 4087 18 ShaderAttrib const 0 8832 18 ShaderAttrib const 18 ShaderAttrib const 0 0 3770 0 0 0 0 0 0 0 0 0 0 4088 14 InternalName * 0 8576 14 InternalName * 14 InternalName * 0 0 3876 0 0 0 0 0 0 0 0 0 0 4089 11 LVecBase4 * 0 8576 11 LVecBase4 * 11 LVecBase4 * 0 0 3690 0 0 0 0 0 0 0 0 0 0 4090 14 SamplerState * 0 8576 14 SamplerState * 14 SamplerState * 0 0 3759 0 0 0 0 0 0 0 0 0 0 4091 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 */ 4092 14 ShaderBuffer * 0 8576 14 ShaderBuffer * 14 ShaderBuffer * 0 0 4091 0 0 0 0 0 0 0 0 0 0 4093 24 ShowBoundsEffect const * 0 8576 24 ShowBoundsEffect const * 24 ShowBoundsEffect const * 0 0 4094 0 0 0 0 0 0 0 0 0 0 4094 22 ShowBoundsEffect const 0 8832 22 ShowBoundsEffect const 22 ShowBoundsEffect const 0 0 3775 0 0 0 0 0 0 0 0 0 0 4095 26 TexProjectorEffect const * 0 8576 26 TexProjectorEffect const * 26 TexProjectorEffect const * 0 0 4096 0 0 0 0 0 0 0 0 0 0 4096 24 TexProjectorEffect const 0 8832 24 TexProjectorEffect const 24 TexProjectorEffect const 0 0 3776 0 0 0 0 0 0 0 0 0 0 4097 21 ScissorEffect const * 0 8576 21 ScissorEffect const * 21 ScissorEffect const * 0 0 4098 0 0 0 0 0 0 0 0 0 0 4098 19 ScissorEffect const 0 8832 19 ScissorEffect const 19 ScissorEffect const 0 0 3777 0 0 0 0 0 0 0 0 0 0 4099 19 SceneGraphReducer * 0 8576 19 SceneGraphReducer * 19 SceneGraphReducer * 0 0 3778 0 0 0 0 0 0 0 0 0 0 4100 25 SceneGraphReducer const * 0 8576 25 SceneGraphReducer const * 25 SceneGraphReducer const * 0 0 4101 0 0 0 0 0 0 0 0 0 0 4101 23 SceneGraphReducer const 0 8832 23 SceneGraphReducer const 23 SceneGraphReducer const 0 0 3778 0 0 0 0 0 0 0 0 0 0 4102 26 AccumulatedAttribs const * 0 8576 26 AccumulatedAttribs const * 26 AccumulatedAttribs const * 0 0 4103 0 0 0 0 0 0 0 0 0 0 4103 24 AccumulatedAttribs const 0 8832 24 AccumulatedAttribs const 24 AccumulatedAttribs const 0 0 4104 0 0 0 0 0 0 0 0 0 0 4104 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. */ 4105 17 GeomTransformer * 0 8576 17 GeomTransformer * 17 GeomTransformer * 0 0 4106 0 0 0 0 0 0 0 0 0 0 4106 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). */ 4107 15 ParamNodePath * 0 8576 15 ParamNodePath * 15 ParamNodePath * 0 0 3783 0 0 0 0 0 0 0 0 0 0 4108 21 ParamNodePath const * 0 8576 21 ParamNodePath const * 21 ParamNodePath const * 0 0 4109 0 0 0 0 0 0 0 0 0 0 4109 19 ParamNodePath const 0 8832 19 ParamNodePath const 19 ParamNodePath const 0 0 3783 0 0 0 0 0 0 0 0 0 0 4110 12 PortalNode * 0 8576 12 PortalNode * 12 PortalNode * 0 0 3785 0 0 0 0 0 0 0 0 0 0 4111 12 PortalMask * 0 8576 12 PortalMask * 12 PortalMask * 0 0 3786 0 0 0 0 0 0 0 0 0 0 4112 18 PortalNode const * 0 8576 18 PortalNode const * 18 PortalNode const * 0 0 4113 0 0 0 0 0 0 0 0 0 0 4113 16 PortalNode const 0 8832 16 PortalNode const 16 PortalNode const 0 0 3785 0 0 0 0 0 0 0 0 0 0 4114 21 ScissorAttrib const * 0 8576 21 ScissorAttrib const * 21 ScissorAttrib const * 0 0 4115 0 0 0 0 0 0 0 0 0 0 4115 19 ScissorAttrib const 0 8832 19 ScissorAttrib const 19 ScissorAttrib const 0 0 3787 0 0 0 0 0 0 0 0 0 0 4116 24 ShadeModelAttrib const * 0 8576 24 ShadeModelAttrib const * 24 ShadeModelAttrib const * 0 0 4117 0 0 0 0 0 0 0 0 0 0 4117 22 ShadeModelAttrib const 0 8832 22 ShadeModelAttrib const 22 ShadeModelAttrib const 0 0 3788 0 0 0 0 0 0 0 0 0 0 4118 21 StencilAttrib const * 0 8576 21 StencilAttrib const * 21 StencilAttrib const * 0 0 4119 0 0 0 0 0 0 0 0 0 0 4119 19 StencilAttrib const 0 8832 19 StencilAttrib const 19 StencilAttrib const 0 0 3790 0 0 0 0 0 0 0 0 0 0 4120 8 Shader * 0 8576 8 Shader * 8 Shader * 0 0 3774 0 0 0 0 0 0 0 0 0 0 0 178 4121 3 pos 0 2 3579 1931 0 0 0 0 0 0 0 19 TransformState::pos 0 4122 3 hpr 0 2 3582 1932 0 0 0 0 0 0 0 19 TransformState::hpr 0 4123 4 quat 0 2 3585 1933 0 0 0 0 0 0 0 20 TransformState::quat 0 4124 9 norm_quat 0 2 3585 1934 0 0 0 0 0 0 0 25 TransformState::norm_quat 0 4125 5 scale 0 2 3582 1935 0 0 0 0 0 0 0 21 TransformState::scale 0 4126 5 shear 0 2 3582 1937 0 0 0 0 0 0 0 21 TransformState::shear 0 4127 3 mat 0 2 3588 1938 0 0 0 0 0 0 0 19 TransformState::mat 0 4128 4 slot 0 2 3594 2008 0 0 0 0 0 0 0 18 RenderAttrib::slot 0 4129 4 mode 0 2 3598 2012 0 0 0 0 0 0 0 22 RenderModeAttrib::mode 0 4130 9 thickness 0 2 3599 2013 0 0 0 0 0 0 0 27 RenderModeAttrib::thickness 0 4131 11 perspective 0 2 3601 2014 0 0 0 0 0 0 0 29 RenderModeAttrib::perspective 0 4132 15 wireframe_color 0 2 3602 2015 0 0 0 0 0 0 0 33 RenderModeAttrib::wireframe_color 0 4133 10 class_slot 0 2 3594 2017 0 0 0 0 0 0 0 28 RenderModeAttrib::class_slot 0 4134 10 class_slot 0 2 3594 2032 0 0 0 0 0 0 0 27 TexMatrixAttrib::class_slot 0 4135 7 attribs 0 138 3608 2050 0 2049 0 0 0 0 0 20 RenderState::attribs 0 4136 15 reference_alpha 0 2 3599 2087 0 0 0 0 0 0 0 32 AlphaTestAttrib::reference_alpha 0 4137 4 mode 0 2 3595 2088 0 0 0 0 0 0 0 21 AlphaTestAttrib::mode 0 4138 10 class_slot 0 2 3594 2089 0 0 0 0 0 0 0 27 AlphaTestAttrib::class_slot 0 4139 4 mode 0 2 3613 2094 0 0 0 0 0 0 0 21 AntialiasAttrib::mode 0 4140 9 mode_type 0 2 3613 2095 0 0 0 0 0 0 0 26 AntialiasAttrib::mode_type 0 4141 12 mode_quality 0 2 3613 2096 0 0 0 0 0 0 0 29 AntialiasAttrib::mode_quality 0 4142 10 class_slot 0 2 3594 2097 0 0 0 0 0 0 0 27 AntialiasAttrib::class_slot 0 4143 5 state 0 6 3619 2168 2167 0 0 0 0 0 0 16 PandaNode::state 0 4144 7 effects 0 6 3620 2171 2170 0 0 0 0 0 0 18 PandaNode::effects 0 4145 9 transform 0 6 3621 2174 2173 0 0 0 0 0 0 20 PandaNode::transform 0 4146 14 prev_transform 0 2 3621 2177 0 0 0 0 0 0 0 25 PandaNode::prev_transform 0 4147 4 tags 0 686 3622 2182 2181 2183 0 2184 2185 0 2186 15 PandaNode::tags 0 4148 11 python_tags 0 2 3624 2188 0 0 0 0 0 0 0 22 PandaNode::python_tags 0 4149 11 overall_bit 0 2 3628 2204 0 0 0 0 0 0 0 22 PandaNode::overall_bit 0 4150 15 all_camera_mask 0 2 3628 2205 0 0 0 0 0 0 0 26 PandaNode::all_camera_mask 0 4151 14 overall_hidden 0 6 3601 2206 2207 0 0 0 0 0 0 25 PandaNode::overall_hidden 0 4152 17 draw_control_mask 0 2 3628 2209 0 0 0 0 0 0 0 28 PandaNode::draw_control_mask 0 4153 14 draw_show_mask 0 2 3628 2210 0 0 0 0 0 0 0 25 PandaNode::draw_show_mask 0 4154 17 into_collide_mask 0 6 3631 2214 2213 0 0 0 0 0 0 28 PandaNode::into_collide_mask 0 4155 18 legal_collide_mask 0 2 3631 2215 0 0 0 0 0 0 0 29 PandaNode::legal_collide_mask 0 4156 11 bounds_type 0 6 3632 2225 2224 0 0 0 0 0 0 22 PandaNode::bounds_type 0 4157 15 nested_vertices 0 2 3594 2230 0 0 0 0 0 0 0 26 PandaNode::nested_vertices 0 4158 15 internal_bounds 0 2 3634 2231 0 0 0 0 0 0 0 26 PandaNode::internal_bounds 0 4159 17 internal_vertices 0 2 3594 2232 0 0 0 0 0 0 0 28 PandaNode::internal_vertices 0 4160 12 bounds_stale 0 2 3601 2235 0 0 0 0 0 0 0 23 PandaNode::bounds_stale 0 4161 5 final 0 6 3601 2237 2236 0 0 0 0 0 0 16 PandaNode::final 0 4162 8 children 0 2 3636 2254 0 0 0 0 0 0 0 19 PandaNode::children 0 4163 7 stashed 0 2 3637 2151 0 0 0 0 0 0 0 18 PandaNode::stashed 0 4164 7 parents 0 2 3638 2255 0 0 0 0 0 0 0 18 PandaNode::parents 0 4165 4 mode 0 2 3640 2259 0 0 0 0 0 0 0 24 TransparencyAttrib::mode 0 4166 10 class_slot 0 2 3594 2260 0 0 0 0 0 0 0 30 TransparencyAttrib::class_slot 0 4167 9 operation 0 2 3642 2266 0 0 0 0 0 0 0 24 LogicOpAttrib::operation 0 4168 10 class_slot 0 2 3594 2267 0 0 0 0 0 0 0 25 LogicOpAttrib::class_slot 0 4169 5 nodes 0 66 3651 2360 0 0 0 0 2359 0 0 15 NodePath::nodes 0 4170 9 ancestors 0 66 3649 2361 0 0 0 0 2359 0 0 19 NodePath::ancestors 0 4171 10 error_type 0 2 3650 2362 0 0 0 0 0 0 0 20 NodePath::error_type 0 4172 8 children 0 2 3652 2371 0 0 0 0 0 0 0 18 NodePath::children 0 4173 16 stashed_children 0 2 3652 2374 0 0 0 0 0 0 0 26 NodePath::stashed_children 0 4174 6 parent 0 10 3649 2418 0 2417 0 0 0 0 0 16 NodePath::parent 0 4175 4 sort 0 2 3594 2419 0 0 0 0 0 0 0 14 NodePath::sort 0 4176 8 net_tags 0 138 3622 2717 0 2718 0 0 0 0 0 18 NodePath::net_tags 0 4177 4 tags 0 2 3624 2720 0 0 0 0 0 0 0 14 NodePath::tags 0 4178 11 python_tags 0 2 3624 2721 0 0 0 0 0 0 0 21 NodePath::python_tags 0 4179 4 name 0 6 3622 2733 2732 0 0 0 0 0 0 14 NodePath::name 0 4180 6 volume 0 10 3599 2759 0 2758 0 0 0 0 0 25 AudioVolumeAttrib::volume 0 4181 10 class_slot 0 2 3594 2761 0 0 0 0 0 0 0 29 AudioVolumeAttrib::class_slot 0 4182 7 outputs 0 2 3594 2766 0 0 0 0 0 0 0 26 AuxBitplaneAttrib::outputs 0 4183 10 class_slot 0 2 3594 2767 0 0 0 0 0 0 0 29 AuxBitplaneAttrib::class_slot 0 4184 12 file_version 0 2 3624 2800 0 0 0 0 0 0 0 21 BamFile::file_version 0 4185 11 file_endian 0 2 3661 2794 0 0 0 0 0 0 0 20 BamFile::file_endian 0 4186 20 file_stdfloat_double 0 2 3601 2795 0 0 0 0 0 0 0 29 BamFile::file_stdfloat_double 0 4187 6 reader 0 2 3662 2798 0 0 0 0 0 0 0 15 BamFile::reader 0 4188 6 writer 0 2 3664 2799 0 0 0 0 0 0 0 15 BamFile::writer 0 4189 6 active 0 6 3601 2845 2844 0 0 0 0 0 0 14 Camera::active 0 4190 5 scene 0 6 3670 2847 2846 0 0 0 0 0 0 13 Camera::scene 0 4191 15 display_regions 0 66 3671 2849 0 0 0 0 2848 0 0 23 Camera::display_regions 0 4192 11 camera_mask 0 6 3628 2851 2850 0 0 0 0 0 0 19 Camera::camera_mask 0 4193 11 cull_center 0 6 3670 2853 2852 0 0 0 0 0 0 19 Camera::cull_center 0 4194 11 cull_bounds 0 6 3673 2855 2854 0 0 0 0 0 0 19 Camera::cull_bounds 0 4195 10 lod_center 0 6 3670 2857 2856 0 0 0 0 0 0 18 Camera::lod_center 0 4196 13 initial_state 0 6 3619 2859 2858 0 0 0 0 0 0 21 Camera::initial_state 0 4197 13 tag_state_key 0 6 3674 2861 2860 0 0 0 0 0 0 21 Camera::tag_state_key 0 4198 9 lod_scale 0 6 3599 2863 2862 0 0 0 0 0 0 17 Camera::lod_scale 0 4199 10 tag_states 0 174 3619 2868 2864 2867 0 2865 0 0 0 18 Camera::tag_states 0 4200 14 aux_scene_data 0 174 3675 2871 2869 2871 0 2870 0 0 0 22 Camera::aux_scene_data 0 4201 5 plane 0 6 3678 2877 2876 0 0 0 0 0 0 16 PlaneNode::plane 0 4202 9 viz_scale 0 6 3599 2879 2878 0 0 0 0 0 0 20 PlaneNode::viz_scale 0 4203 8 priority 0 6 3594 2881 2880 0 0 0 0 0 0 19 PlaneNode::priority 0 4204 11 clip_effect 0 6 3594 2883 2882 0 0 0 0 0 0 22 PlaneNode::clip_effect 0 4205 10 class_slot 0 2 3594 2908 0 0 0 0 0 0 0 27 ClipPlaneAttrib::class_slot 0 4206 10 color_type 0 2 3684 2915 0 0 0 0 0 0 0 23 ColorAttrib::color_type 0 4207 5 color 0 2 3602 2916 0 0 0 0 0 0 0 18 ColorAttrib::color 0 4208 10 class_slot 0 2 3594 2917 0 0 0 0 0 0 0 23 ColorAttrib::class_slot 0 4209 8 rgb_mode 0 2 3686 2923 0 0 0 0 0 0 0 26 ColorBlendAttrib::rgb_mode 0 4210 13 rgb_operand_a 0 2 3687 2924 0 0 0 0 0 0 0 31 ColorBlendAttrib::rgb_operand_a 0 4211 13 rgb_operand_b 0 2 3687 2925 0 0 0 0 0 0 0 31 ColorBlendAttrib::rgb_operand_b 0 4212 10 alpha_mode 0 2 3686 2926 0 0 0 0 0 0 0 28 ColorBlendAttrib::alpha_mode 0 4213 15 alpha_operand_a 0 2 3687 2927 0 0 0 0 0 0 0 33 ColorBlendAttrib::alpha_operand_a 0 4214 15 alpha_operand_b 0 2 3687 2928 0 0 0 0 0 0 0 33 ColorBlendAttrib::alpha_operand_b 0 4215 5 color 0 2 3603 2929 0 0 0 0 0 0 0 23 ColorBlendAttrib::color 0 4216 10 class_slot 0 2 3594 2932 0 0 0 0 0 0 0 28 ColorBlendAttrib::class_slot 0 4217 5 scale 0 10 3689 2944 0 2941 0 0 0 0 0 23 ColorScaleAttrib::scale 0 4218 10 class_slot 0 2 3594 2946 0 0 0 0 0 0 0 28 ColorScaleAttrib::class_slot 0 4219 8 channels 0 2 3693 2951 0 0 0 0 0 0 0 26 ColorWriteAttrib::channels 0 4220 10 class_slot 0 2 3594 2952 0 0 0 0 0 0 0 28 ColorWriteAttrib::class_slot 0 4221 20 default_collide_mask 0 2 3631 2980 0 0 0 0 0 0 0 30 GeomNode::default_collide_mask 0 4222 8 bin_name 0 2 3674 2984 0 0 0 0 0 0 0 23 CullBinAttrib::bin_name 0 4223 10 draw_order 0 2 3594 2985 0 0 0 0 0 0 0 25 CullBinAttrib::draw_order 0 4224 10 class_slot 0 2 3594 2986 0 0 0 0 0 0 0 25 CullBinAttrib::class_slot 0 4225 4 mode 0 2 3702 3010 0 0 0 0 0 0 0 20 CullFaceAttrib::mode 0 4226 7 reverse 0 2 3601 3011 0 0 0 0 0 0 0 23 CullFaceAttrib::reverse 0 4227 14 effective_mode 0 2 3702 3012 0 0 0 0 0 0 0 30 CullFaceAttrib::effective_mode 0 4228 10 class_slot 0 2 3594 3013 0 0 0 0 0 0 0 26 CullFaceAttrib::class_slot 0 4229 5 valid 0 2 3601 3017 0 0 0 0 0 0 0 22 WorkingNodePath::valid 0 4230 9 node_path 0 2 3649 3018 0 0 0 0 0 0 0 26 WorkingNodePath::node_path 0 4231 9 node_path 0 2 3649 3027 0 0 0 0 0 0 0 28 CullTraverserData::node_path 0 4232 4 mode 0 6 3707 3061 3062 0 0 0 0 0 0 9 Fog::mode 0 4233 5 color 0 6 3602 3063 3064 0 0 0 0 0 0 10 Fog::color 0 4234 18 linear_onset_point 0 6 3579 3066 3067 0 0 0 0 0 0 23 Fog::linear_onset_point 0 4235 19 linear_opaque_point 0 6 3579 3068 3069 0 0 0 0 0 0 24 Fog::linear_opaque_point 0 4236 11 exp_density 0 6 3599 3071 3072 0 0 0 0 0 0 16 Fog::exp_density 0 4237 3 fog 0 2 3709 3078 0 0 0 0 0 0 0 14 FogAttrib::fog 0 4238 10 class_slot 0 2 3594 3079 0 0 0 0 0 0 0 21 FogAttrib::class_slot 0 4239 4 mode 0 2 3714 3118 0 0 0 0 0 0 0 25 RescaleNormalAttrib::mode 0 4240 10 class_slot 0 2 3594 3119 0 0 0 0 0 0 0 31 RescaleNormalAttrib::class_slot 0 4241 6 offset 0 2 3594 3135 0 0 0 0 0 0 0 25 DepthOffsetAttrib::offset 0 4242 9 min_value 0 2 3599 3136 0 0 0 0 0 0 0 28 DepthOffsetAttrib::min_value 0 4243 9 max_value 0 2 3599 3137 0 0 0 0 0 0 0 28 DepthOffsetAttrib::max_value 0 4244 10 class_slot 0 2 3594 3138 0 0 0 0 0 0 0 29 DepthOffsetAttrib::class_slot 0 4245 4 mode 0 2 3595 3143 0 0 0 0 0 0 0 21 DepthTestAttrib::mode 0 4246 10 class_slot 0 2 3594 3144 0 0 0 0 0 0 0 27 DepthTestAttrib::class_slot 0 4247 4 mode 0 2 3721 3149 0 0 0 0 0 0 0 22 DepthWriteAttrib::mode 0 4248 10 class_slot 0 2 3594 3150 0 0 0 0 0 0 0 28 DepthWriteAttrib::class_slot 0 4249 5 color 0 6 3602 3156 3157 0 0 0 0 0 0 12 Light::color 0 4250 17 color_temperature 0 6 3599 3159 3160 0 0 0 0 0 0 24 Light::color_temperature 0 4251 8 priority 0 6 3594 3165 3164 0 0 0 0 0 0 15 Light::priority 0 4252 9 on_lights 0 66 3649 3179 0 0 0 0 3177 0 0 22 LightAttrib::on_lights 0 4253 10 off_lights 0 66 3649 3183 0 0 0 0 3182 0 0 23 LightAttrib::off_lights 0 4254 10 class_slot 0 2 3594 3195 0 0 0 0 0 0 0 23 LightAttrib::class_slot 0 4255 4 mode 0 2 3726 3204 0 0 0 0 0 0 0 21 LightRampAttrib::mode 0 4256 10 class_slot 0 2 3594 3207 0 0 0 0 0 0 0 27 LightRampAttrib::class_slot 0 4257 5 types 0 66 3732 3253 0 0 0 0 3252 0 0 29 LoaderFileTypeRegistry::types 0 4258 8 material 0 2 3734 3263 0 0 0 0 0 0 0 24 MaterialAttrib::material 0 4259 10 class_slot 0 2 3594 3264 0 0 0 0 0 0 0 26 MaterialAttrib::class_slot 0 4260 4 orig 0 2 3651 3268 0 0 0 0 0 0 0 25 ModelFlattenRequest::orig 0 4261 8 filename 0 2 3739 3274 0 0 0 0 0 0 0 26 ModelLoadRequest::filename 0 4262 7 options 0 2 3741 3275 0 0 0 0 0 0 0 25 ModelLoadRequest::options 0 4263 6 loader 0 2 3743 3276 0 0 0 0 0 0 0 24 ModelLoadRequest::loader 0 4264 15 model_ref_count 0 2 3594 3290 0 0 0 0 0 0 0 26 ModelRoot::model_ref_count 0 4265 8 fullpath 0 6 3739 3291 3292 0 0 0 0 0 0 19 ModelRoot::fullpath 0 4266 9 timestamp 0 6 3747 3293 3294 0 0 0 0 0 0 20 ModelRoot::timestamp 0 4267 9 reference 0 6 3750 3297 3298 0 0 0 0 0 0 20 ModelRoot::reference 0 4268 8 filename 0 2 3739 3313 0 0 0 0 0 0 0 26 ModelSaveRequest::filename 0 4269 7 options 0 2 3741 3314 0 0 0 0 0 0 0 25 ModelSaveRequest::options 0 4270 4 node 0 2 3651 3315 0 0 0 0 0 0 0 22 ModelSaveRequest::node 0 4271 6 loader 0 2 3743 3316 0 0 0 0 0 0 0 24 ModelSaveRequest::loader 0 4272 9 on_stages 0 66 3754 3328 0 0 0 0 3327 0 0 24 TextureAttrib::on_stages 0 4273 8 textures 0 650 3756 3333 0 3332 0 0 3327 0 3328 23 TextureAttrib::textures 0 4274 8 samplers 0 650 3758 3334 0 3332 0 0 3327 0 3328 23 TextureAttrib::samplers 0 4275 10 off_stages 0 66 3754 3338 0 0 0 0 3337 0 0 25 TextureAttrib::off_stages 0 4276 10 class_slot 0 2 3594 3348 0 0 0 0 0 0 0 25 TextureAttrib::class_slot 0 4277 10 class_slot 0 2 3594 3361 0 0 0 0 0 0 0 24 TexGenAttrib::class_slot 0 4278 12 double_sided 0 6 3601 3365 3364 0 0 0 0 0 0 26 OccluderNode::double_sided 0 4279 12 min_coverage 0 6 3599 3367 3366 0 0 0 0 0 0 26 OccluderNode::min_coverage 0 4280 8 vertices 0 70 3579 3370 3371 0 0 0 3369 0 0 22 OccluderNode::vertices 0 4281 6 shader 0 2 3772 3457 0 0 0 0 0 0 0 20 ShaderAttrib::shader 0 4282 14 instance_count 0 2 3594 3438 0 0 0 0 0 0 0 28 ShaderAttrib::instance_count 0 4283 10 class_slot 0 2 3594 3466 0 0 0 0 0 0 0 24 ShaderAttrib::class_slot 0 4284 16 into_portal_mask 0 6 3786 3523 3521 0 0 0 0 0 0 28 PortalNode::into_portal_mask 0 4285 16 from_portal_mask 0 6 3786 3522 3520 0 0 0 0 0 0 28 PortalNode::from_portal_mask 0 4286 11 portal_geom 0 6 3601 3525 3524 0 0 0 0 0 0 23 PortalNode::portal_geom 0 4287 8 vertices 0 66 3579 3529 0 0 0 0 3528 0 0 20 PortalNode::vertices 0 4288 7 cell_in 0 6 3649 3531 3530 0 0 0 0 0 0 19 PortalNode::cell_in 0 4289 8 cell_out 0 6 3649 3533 3532 0 0 0 0 0 0 20 PortalNode::cell_out 0 4290 10 clip_plane 0 6 3601 3535 3534 0 0 0 0 0 0 22 PortalNode::clip_plane 0 4291 7 visible 0 6 3601 3537 3536 0 0 0 0 0 0 19 PortalNode::visible 0 4292 9 max_depth 0 6 3594 3539 3538 0 0 0 0 0 0 21 PortalNode::max_depth 0 4293 4 open 0 6 3601 3541 3540 0 0 0 0 0 0 16 PortalNode::open 0 4294 5 frame 0 2 3689 3547 0 0 0 0 0 0 0 20 ScissorAttrib::frame 0 4295 10 class_slot 0 2 3594 3548 0 0 0 0 0 0 0 25 ScissorAttrib::class_slot 0 4296 4 mode 0 2 3789 3553 0 0 0 0 0 0 0 22 ShadeModelAttrib::mode 0 4297 10 class_slot 0 2 3594 3554 0 0 0 0 0 0 0 28 ShadeModelAttrib::class_slot 0 4298 10 class_slot 0 2 3594 3564 0 0 0 0 0 0 0 25 StencilAttrib::class_slot 0 30 4299 10 get_stages 0 2026 2027 27 TexMatrixAttrib::get_stages 0 4300 11 get_parents 0 2137 2138 22 PandaNode::get_parents 0 4301 12 get_children 0 2140 2141 23 PandaNode::get_children 0 4302 11 get_stashed 0 2150 2151 22 PandaNode::get_stashed 0 4303 9 get_names 0 2296 2297 33 InternalNameCollection::get_names 0 4304 18 get_texture_stages 0 2334 2335 42 TextureStageCollection::get_texture_stages 0 4305 9 get_nodes 0 2359 2360 19 NodePath::get_nodes 0 4306 13 get_ancestors 0 2359 2361 23 NodePath::get_ancestors 0 4307 9 get_paths 0 2386 2387 29 NodePathCollection::get_paths 0 4308 9 get_nodes 0 2743 2744 29 AttribNodeRegistry::get_nodes 0 4309 19 get_display_regions 0 2848 2849 27 Camera::get_display_regions 0 4310 13 get_on_planes 0 2895 2896 30 ClipPlaneAttrib::get_on_planes 0 4311 14 get_off_planes 0 2898 2899 31 ClipPlaneAttrib::get_off_planes 0 4312 9 get_geoms 0 2965 2966 19 GeomNode::get_geoms 0 4313 12 modify_geoms 0 2965 2967 22 GeomNode::modify_geoms 0 4314 15 get_geom_states 0 2965 2968 25 GeomNode::get_geom_states 0 4315 8 get_bins 0 2991 2992 24 CullBinManager::get_bins 0 4316 13 get_on_lights 0 3177 3179 26 LightAttrib::get_on_lights 0 4317 14 get_off_lights 0 3182 3183 27 LightAttrib::get_off_lights 0 4318 9 get_files 0 3218 3219 26 Loader::Results::get_files 0 4319 14 get_file_types 0 3218 3220 31 Loader::Results::get_file_types 0 4320 9 get_types 0 3252 3253 33 LoaderFileTypeRegistry::get_types 0 4321 13 get_on_stages 0 3327 3328 28 TextureAttrib::get_on_stages 0 4322 16 get_on_ff_stages 0 3329 3330 31 TextureAttrib::get_on_ff_stages 0 4323 14 get_off_stages 0 3337 3338 29 TextureAttrib::get_off_stages 0 4324 12 get_vertices 0 3369 3370 26 OccluderNode::get_vertices 0 4325 16 get_on_occluders 0 3374 3375 32 OccluderEffect::get_on_occluders 0 4326 10 get_points 0 3487 3488 25 ScissorEffect::get_points 0 4327 9 get_nodes 0 3487 3489 24 ScissorEffect::get_nodes 0 4328 12 get_vertices 0 3528 3529 24 PortalNode::get_vertices 0