1302896369 2 2 9 libgrutil 4 Xs2x 5 panda 195 226 9 CardMaker 4 421 20 CardMaker::CardMaker 0 1 1 703 // Filename: cardMaker.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 62 inline CardMaker::CardMaker(basic_string< char > const &name); 227 10 ~CardMaker 4 421 21 CardMaker::~CardMaker 0 0 217 //////////////////////////////////////////////////////////////////// // Function: CardMaker::Destructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 35 inline CardMaker::~CardMaker(void); 228 5 reset 4 421 16 CardMaker::reset 0 1 2 265 //////////////////////////////////////////////////////////////////// // Function: CardMaker::reset // Access: Public // Description: Resets all the parameters to their initial defaults. //////////////////////////////////////////////////////////////////// 28 void CardMaker::reset(void); 229 12 set_uv_range 4 421 23 CardMaker::set_uv_range 0 5 3 4 5 6 7 2410 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices appropriately to show the non-pad region // of the texture. //////////////////////////////////////////////////////////////////// 429 void CardMaker::set_uv_range(LPoint2f const &ll, LPoint2f const &ur); void CardMaker::set_uv_range(LPoint2f const &ll, LPoint2f const &lr, LPoint2f const &ur, LPoint2f const &ul); void CardMaker::set_uv_range(LPoint3f const &ll, LPoint3f const &lr, LPoint3f const &ur, LPoint3f const &ul); void CardMaker::set_uv_range(LVector4f const &x, LVector4f const &y, LVector4f const &z); void CardMaker::set_uv_range(Texture const *tex); 230 17 set_uv_range_cube 4 421 28 CardMaker::set_uv_range_cube 0 1 8 336 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range_cube // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices appropriately for a cube-map face. //////////////////////////////////////////////////////////////////// 44 void CardMaker::set_uv_range_cube(int face); 231 11 set_has_uvs 4 421 22 CardMaker::set_has_uvs 0 1 9 313 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_has_uvs // Access: Public // Description: Sets the flag indicating whether vertices will be // generated with UV's or not. //////////////////////////////////////////////////////////////////// 46 inline void CardMaker::set_has_uvs(bool flag); 232 14 set_has_3d_uvs 4 421 25 CardMaker::set_has_3d_uvs 0 1 10 468 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_has_3d_uvs // Access: Public // Description: Sets the flag indicating whether vertices will be // generated with 3-component UVW's (true) or // 2-component UV's (the default, false). Normally, // this will be implicitly set by setting the uv_range. //////////////////////////////////////////////////////////////////// 49 inline void CardMaker::set_has_3d_uvs(bool flag); 233 9 set_frame 4 421 20 CardMaker::set_frame 0 3 11 12 13 733 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame // Access: Public // Description: Sets the size of the card. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame // Access: Public // Description: Sets the size of the card. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame // Access: Public // Description: Sets the size of the card. //////////////////////////////////////////////////////////////////// 256 inline void CardMaker::set_frame(float left, float right, float bottom, float top); inline void CardMaker::set_frame(LVecBase4f const &frame); inline void CardMaker::set_frame(LPoint3f const &ll, LPoint3f const &lr, LPoint3f const &ur, LPoint3f const &ul); 234 25 set_frame_fullscreen_quad 4 421 36 CardMaker::set_frame_fullscreen_quad 0 1 14 387 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame_fullscreen_quad // Access: Public // Description: Sets the card to (-1,1,-1,1), which is appropriate // if you plan to parent it to render2d and use it // as a fullscreen quad. //////////////////////////////////////////////////////////////////// 55 inline void CardMaker::set_frame_fullscreen_quad(void); 235 9 set_color 4 421 20 CardMaker::set_color 0 2 15 16 490 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_color // Access: Public // Description: Sets the color of the card. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_color // Access: Public // Description: Sets the color of the card. //////////////////////////////////////////////////////////////////// 128 inline void CardMaker::set_color(float r, float g, float b, float a); inline void CardMaker::set_color(LVecBase4f const &color); 236 15 set_has_normals 4 421 26 CardMaker::set_has_normals 0 1 17 657 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_has_normals // Access: Public // Description: Sets the flag indicating whether vertices will be // generated with normals or not. Normals are required // if you intend to enable lighting on the card, but are // just wasted space and bandwidth otherwise, so there // is a (slight) optimization for disabling them. If // enabled, the normals will be generated perpendicular // to the card's face. //////////////////////////////////////////////////////////////////// 50 inline void CardMaker::set_has_normals(bool flag); 237 19 set_source_geometry 4 421 30 CardMaker::set_source_geometry 0 1 18 799 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_source_geometry // Access: Published // Description: Sets a node that will be copied (and scaled and // translated) to generate the frame, instead of // generating a new polygon. The node may contain // arbitrary geometry that describes a flat polygon // contained within the indicated left, right, bottom, // top frame. // // When generate() is called, the geometry in this node // will be scaled and translated appropriately to give // it the size and aspect ratio specified by // set_frame(). //////////////////////////////////////////////////////////////////// 85 inline void CardMaker::set_source_geometry(PandaNode *node, LVecBase4f const &frame); 238 21 clear_source_geometry 4 421 32 CardMaker::clear_source_geometry 0 1 19 320 //////////////////////////////////////////////////////////////////// // Function: CardMaker::clear_source_geometry // Access: Published // Description: Removes the node specified by an earlier call to // set_source_geometry(). //////////////////////////////////////////////////////////////////// 51 inline void CardMaker::clear_source_geometry(void); 239 8 generate 4 421 19 CardMaker::generate 0 1 20 290 //////////////////////////////////////////////////////////////////// // Function: CardMaker::generate // Access: Public // Description: Generates a GeomNode that renders the specified // geometry. //////////////////////////////////////////////////////////////////// 49 PointerTo< PandaNode > CardMaker::generate(void); 240 13 FFMpegTexture 4 423 28 FFMpegTexture::FFMpegTexture 0 2 21 22 561 //////////////////////////////////////////////////////////////////// // Function: FFMpegTexture::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: FFMpegTexture::Copy Constructor // Access: Protected // Description: Use FFmpegTexture::make_copy() to make a duplicate copy of // an existing FFMpegTexture. //////////////////////////////////////////////////////////////////// 78 FFMpegTexture::FFMpegTexture(basic_string< char > const &name = ((string()))); 241 14 get_class_type 4 423 29 FFMpegTexture::get_class_type 0 1 23 0 54 static TypeHandle FFMpegTexture::get_class_type(void); 242 12 FisheyeMaker 4 425 26 FisheyeMaker::FisheyeMaker 0 1 24 708 // Filename: fisheyeMaker.I // Created by: drose (3Oct05) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 68 inline FisheyeMaker::FisheyeMaker(basic_string< char > const &name); 243 13 ~FisheyeMaker 4 425 27 FisheyeMaker::~FisheyeMaker 0 0 220 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::Destructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 41 inline FisheyeMaker::~FisheyeMaker(void); 244 5 reset 4 425 19 FisheyeMaker::reset 0 1 25 268 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::reset // Access: Public // Description: Resets all the parameters to their initial defaults. //////////////////////////////////////////////////////////////////// 31 void FisheyeMaker::reset(void); 245 7 set_fov 4 425 21 FisheyeMaker::set_fov 0 1 26 384 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_fov // Access: Public // Description: Specifies the field of view of the fisheye // projection. A sphere map will have a 360-degree // field of view (and this is the default). //////////////////////////////////////////////////////////////////// 38 void FisheyeMaker::set_fov(float fov); 246 16 set_num_vertices 4 425 30 FisheyeMaker::set_num_vertices 0 1 27 596 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_num_vertices // Access: Public // Description: Specifies the approximate number of vertices to be // used to generate the rose. This is the approximate // number of vertices that will be located within the // rose's unit circle, not counting the inscribing // square (if any). The actual number of vertices used // may be +/- 25% of this value. //////////////////////////////////////////////////////////////////// 61 inline void FisheyeMaker::set_num_vertices(int num_vertices); 247 20 set_square_inscribed 4 425 34 FisheyeMaker::set_square_inscribed 0 1 28 946 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_square_inscribed // Access: Public // Description: Sets the flag that indicates whether the rose should // be inscribed within a square. When this is true, an // additional square is generated to inscribed the // circular rose, with the indicated "radius" (the sides // of the square will be 2 * square_radius). The // texture coordinates of the square will uniformly map // to the back pole of the cube map. // // This is mainly useful to provide a good uniform // background color for a sphere map so that it does not // have a sharp circular edge that might produce // artifacts due to numerical imprecision when mapping. //////////////////////////////////////////////////////////////////// 91 inline void FisheyeMaker::set_square_inscribed(bool square_inscribed, float square_radius); 248 14 set_reflection 4 425 28 FisheyeMaker::set_reflection 0 1 29 614 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_reflection // Access: Public // Description: Sets the flag indicating whether the texture image // should be mirrored (true) or normal (false). When // this is true, the 3-D texture coordinates will be // reversed so that the image is appropriate for a // reflection. This is the best choice for generating a // sphere map from a cube map. The default is false. //////////////////////////////////////////////////////////////////// 58 inline void FisheyeMaker::set_reflection(bool reflection); 249 8 generate 4 425 22 FisheyeMaker::generate 0 1 30 293 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::generate // Access: Public // Description: Generates a GeomNode that renders the specified // geometry. //////////////////////////////////////////////////////////////////// 52 PointerTo< PandaNode > FisheyeMaker::generate(void); 250 14 FrameRateMeter 4 426 30 FrameRateMeter::FrameRateMeter 0 1 31 227 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 65 FrameRateMeter::FrameRateMeter(basic_string< char > const &name); 251 12 setup_window 4 426 28 FrameRateMeter::setup_window 0 1 32 360 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::setup_window // Access: Published // Description: Sets up the frame rate meter to create a // DisplayRegion to render itself into the indicated // window. //////////////////////////////////////////////////////////////////// 58 void FrameRateMeter::setup_window(GraphicsOutput *window); 252 12 clear_window 4 426 28 FrameRateMeter::clear_window 0 1 33 300 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::clear_window // Access: Published // Description: Undoes the effect of a previous call to // setup_window(). //////////////////////////////////////////////////////////////////// 40 void FrameRateMeter::clear_window(void); 253 10 get_window 4 426 26 FrameRateMeter::get_window 0 1 34 858 // Filename: frameRateMeter.I // Created by: drose (23Dec03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_window // Access: Published // Description: Returns the GraphicsOutput that was passed to // setup_window(), or NULL if setup_window() has not // been called. //////////////////////////////////////////////////////////////////// 62 inline GraphicsOutput *FrameRateMeter::get_window(void) const; 254 18 get_display_region 4 426 34 FrameRateMeter::get_display_region 0 1 35 419 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_display_region // Access: Published // Description: Returns the DisplayRegion that the meter has created // to render itself into the window to setup_window(), // or NULL if setup_window() has not been called. //////////////////////////////////////////////////////////////////// 69 inline DisplayRegion *FrameRateMeter::get_display_region(void) const; 255 19 set_update_interval 4 426 35 FrameRateMeter::set_update_interval 0 1 36 537 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::set_update_interval // Access: Published // Description: Specifies the number of seconds that should elapse // between updates to the frame rate indication. This // should be reasonably slow (e.g. 0.2 to 1.0) so that // the calculation of the frame rate text does not // itself dominate the frame rate. //////////////////////////////////////////////////////////////////// 72 inline void FrameRateMeter::set_update_interval(double update_interval); 256 19 get_update_interval 4 426 35 FrameRateMeter::get_update_interval 0 1 37 344 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_update_interval // Access: Published // Description: Returns the number of seconds that will elapse // between updates to the frame rate indication. //////////////////////////////////////////////////////////////////// 62 inline double FrameRateMeter::get_update_interval(void) const; 257 16 set_text_pattern 4 426 32 FrameRateMeter::set_text_pattern 0 1 38 442 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::set_text_pattern // Access: Published // Description: Sets the sprintf() pattern that is used to format the // text. The string "%f" or some variant will be // replaced with the current frame rate in frames per // second. //////////////////////////////////////////////////////////////////// 87 inline void FrameRateMeter::set_text_pattern(basic_string< char > const &text_pattern); 258 16 get_text_pattern 4 426 32 FrameRateMeter::get_text_pattern 0 1 39 311 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_text_pattern // Access: Published // Description: Returns the sprintf() pattern that is used to format the // text. //////////////////////////////////////////////////////////////////// 80 inline basic_string< char > const &FrameRateMeter::get_text_pattern(void) const; 259 16 set_clock_object 4 426 32 FrameRateMeter::set_clock_object 0 1 40 404 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::set_clock_object // Access: Published // Description: Sets the clock that is used to determine the frame // rate. The default is the application's global clock // (ClockObject::get_global_clock()). //////////////////////////////////////////////////////////////////// 72 inline void FrameRateMeter::set_clock_object(ClockObject *clock_object); 260 16 get_clock_object 4 426 32 FrameRateMeter::get_clock_object 0 1 41 308 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_clock_object // Access: Published // Description: Returns the clock that is used to determine the frame // rate. //////////////////////////////////////////////////////////////////// 65 inline ClockObject *FrameRateMeter::get_clock_object(void) const; 261 6 update 4 426 22 FrameRateMeter::update 0 1 42 442 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::update // Access: Published // Description: You can call this to explicitly force the // FrameRateMeter to update itself with the latest frame // rate information. Normally, it is not necessary to // call this explicitly. //////////////////////////////////////////////////////////////////// 41 inline void FrameRateMeter::update(void); 262 14 get_class_type 4 426 30 FrameRateMeter::get_class_type 0 1 43 0 55 static TypeHandle FrameRateMeter::get_class_type(void); 263 13 GeoMipTerrain 4 428 28 GeoMipTerrain::GeoMipTerrain 0 1 44 225 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 inline GeoMipTerrain::GeoMipTerrain(basic_string< char > const &name); 264 11 heightfield 4 428 26 GeoMipTerrain::heightfield 0 1 45 396 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::heightfield // Access: Published // Description: Returns a reference to the heightfield (a PNMImage) // contained inside GeoMipTerrain. You can use // the reference to alter the heightfield. //////////////////////////////////////////////////////////////////// 50 inline PNMImage &GeoMipTerrain::heightfield(void); 265 15 set_heightfield 4 428 30 GeoMipTerrain::set_heightfield 0 4 46 47 48 49 1024 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_heightfield // Access: Published // Description: Loads the specified heightmap image file into // the heightfield. Returns true if succeeded, or // false if an error has occured. // If the heightmap is not a power of two plus one, // it is scaled up using a gaussian filter. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_heightfield // Access: Published // Description: Loads the specified heightmap image file into // the heightfield. Returns true if succeeded, or // false if an error has occured. // If the heightmap is not a power of two plus one, // it is scaled up using a gaussian filter. //////////////////////////////////////////////////////////////////// 242 bool GeoMipTerrain::set_heightfield(Filename const &filename, PNMFileType *type = ((void *)(0))); inline bool GeoMipTerrain::set_heightfield(PNMImage const &image); inline bool GeoMipTerrain::set_heightfield(basic_string< char > const &path); 266 9 color_map 4 428 24 GeoMipTerrain::color_map 0 1 50 390 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::color_map // Access: Published // Description: Returns a reference to the color map (a PNMImage) // contained inside GeoMipTerrain. You can use // the reference to alter the color map. //////////////////////////////////////////////////////////////////// 48 inline PNMImage &GeoMipTerrain::color_map(void); 267 13 set_color_map 4 428 28 GeoMipTerrain::set_color_map 0 5 51 52 53 54 55 511 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_color_map // Access: Published // Description: Loads the specified image as color map. The next // time generate() is called, the terrain is painted // with this color map using the vertex color column. // Returns a boolean indicating whether the operation // has succeeded. //////////////////////////////////////////////////////////////////// 307 inline bool GeoMipTerrain::set_color_map(Filename const &filename, PNMFileType *type = ((void *)(0))); inline bool GeoMipTerrain::set_color_map(PNMImage const &image); inline bool GeoMipTerrain::set_color_map(Texture const *image); inline bool GeoMipTerrain::set_color_map(basic_string< char > const &path); 268 13 has_color_map 4 428 28 GeoMipTerrain::has_color_map 0 1 56 269 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::has_color_map // Access: Published // Description: Returns whether a color map has been set. //////////////////////////////////////////////////////////////////// 47 inline bool GeoMipTerrain::has_color_map(void); 269 15 clear_color_map 4 428 30 GeoMipTerrain::clear_color_map 0 1 57 251 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::clear_color_map // Access: Published // Description: Clears the color map. //////////////////////////////////////////////////////////////////// 49 inline void GeoMipTerrain::clear_color_map(void); 270 13 get_elevation 4 428 28 GeoMipTerrain::get_elevation 0 1 58 746 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_elevation // Access: Published // Description: Fetches the elevation at (x, y), where the input // coordinate is specified in pixels. This ignores // the current LOD level and instead provides an // accurate number. Linear blending is used for // non-integral coordinates. // Terrain scale is NOT taken into account! To get // accurate normals, please multiply this with the // terrain Z scale! // // trueElev = terr.get_elevation(x,y) * terr.get_sz(); //////////////////////////////////////////////////////////////////// 56 double GeoMipTerrain::get_elevation(double x, double y); 271 10 get_normal 4 428 25 GeoMipTerrain::get_normal 0 2 59 60 1530 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_normal // Access: Published // Description: Fetches the terrain normal at (x,y), where the input // coordinate is specified in pixels. This ignores the // current LOD level and instead provides an // accurate number. // Terrain scale is NOT taken into account! To get // accurate normals, please divide it by the // terrain scale and normalize it again! //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_normal // Access: Published // Description: Fetches the terrain normal at (x, y), where the // input coordinate is specified in pixels. This // ignores the current LOD level and instead provides // an accurate number. // Terrain scale is NOT taken into account! To get // accurate normals, please divide it by the // terrain scale and normalize it again, like this: // // LVector3f normal (terr.get_normal(x, y)); // normal.set(normal.get_x() / root.get_sx(), // normal.get_y() / root.get_sy(), // normal.get_z() / root.get_sz()); // normal.normalize(); //////////////////////////////////////////////////////////////////// 154 LVector3f GeoMipTerrain::get_normal(int x, int y); inline LVector3f GeoMipTerrain::get_normal(unsigned short int mx, unsigned short int my, int x, int y); 272 14 set_bruteforce 4 428 29 GeoMipTerrain::set_bruteforce 0 1 61 518 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_bruteforce // Access: Published // Description: Sets a boolean specifying whether the terrain will // be rendered bruteforce. If the terrain is rendered // bruteforce, there will be no Level of Detail, and // the update() call will only update the // terrain if it is marked dirty. //////////////////////////////////////////////////////////////////// 51 inline void GeoMipTerrain::set_bruteforce(bool bf); 273 14 get_bruteforce 4 428 29 GeoMipTerrain::get_bruteforce 0 1 62 372 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_bruteforce // Access: Published // Description: Returns a boolean whether the terrain is rendered // bruteforce or not. See set_bruteforce for more // information. //////////////////////////////////////////////////////////////////// 48 inline bool GeoMipTerrain::get_bruteforce(void); 274 16 set_auto_flatten 4 428 31 GeoMipTerrain::set_auto_flatten 0 1 63 473 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_auto_flatten // Access: Private // Description: The terrain can be automatically flattened (using // flatten_light, flatten_medium, or flatten_strong) // after each update. This only affects future // updates, it doesn't flatten the current terrain. //////////////////////////////////////////////////////////////////// 54 inline void GeoMipTerrain::set_auto_flatten(int mode); 275 15 set_focal_point 4 428 30 GeoMipTerrain::set_focal_point 0 6 64 65 66 67 68 69 1213 // The focal point is the point at which the terrain will have the // highest quality (lowest level of detail). Parts farther away from // the focal point will have a lower quality (higher level of detail). // The focal point is not taken in respect if bruteforce is set true. // The focal point is the point at which the terrain will have the // highest quality (lowest level of detail). Parts farther away from // the focal point will have a lower quality (higher level of detail). // The focal point is not taken in respect if bruteforce is set true. //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_focal_point // Access: Published // Description: Sets the focal point. GeoMipTerrain generates // high-resolution terrain around the focal point, and // progressively lower and lower resolution terrain // as you get farther away. If a point is supplied // and not a NodePath, make sure it's relative to // the terrain. Only the x and y coordinates of // the focal point are taken in respect. //////////////////////////////////////////////////////////////////// 349 inline void GeoMipTerrain::set_focal_point(LPoint2d fp); inline void GeoMipTerrain::set_focal_point(LPoint2f fp); inline void GeoMipTerrain::set_focal_point(LPoint3d fp); inline void GeoMipTerrain::set_focal_point(LPoint3f fp); inline void GeoMipTerrain::set_focal_point(double x, double y); inline void GeoMipTerrain::set_focal_point(NodePath fnp); 276 15 get_focal_point 4 428 30 GeoMipTerrain::get_focal_point 0 1 70 394 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_focal_point // Access: Published // Description: Returns the focal point, as a NodePath. // If you have set it to be just a point, it will // return an empty node at the focal position. //////////////////////////////////////////////////////////////////// 59 inline NodePath GeoMipTerrain::get_focal_point(void) const; 277 8 get_root 4 428 23 GeoMipTerrain::get_root 0 1 71 546 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_root // Access: Published // Description: Returns the root of the terrain. This is a // single PandaNode to which all the rest of the // terrain is parented. The generate and update // operations replace the nodes which are parented // to this root, but they don't replace this root // itself. //////////////////////////////////////////////////////////////////// 52 inline NodePath GeoMipTerrain::get_root(void) const; 278 14 set_block_size 4 428 29 GeoMipTerrain::set_block_size 0 1 72 329 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_block_size // Access: Published // Description: Sets the block size. If it is not a power of two, // the closest power of two is used. //////////////////////////////////////////////////////////////////// 68 inline void GeoMipTerrain::set_block_size(unsigned short int newbs); 279 14 get_block_size 4 428 29 GeoMipTerrain::get_block_size 0 1 73 249 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_block_size // Access: Published // Description: Gets the block size. //////////////////////////////////////////////////////////////////// 62 inline unsigned short int GeoMipTerrain::get_block_size(void); 280 13 get_max_level 4 428 28 GeoMipTerrain::get_max_level 0 1 74 387 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_max_level // Access: Published // Description: Returns the highest level possible for this block // size. When a block is at this level, it will be // the worst quality possible. //////////////////////////////////////////////////////////////////// 61 inline unsigned short int GeoMipTerrain::get_max_level(void); 281 13 set_min_level 4 428 28 GeoMipTerrain::set_min_level 0 1 75 518 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_min_level // Access: Published // Description: Sets the minimum level of detail at which blocks // may be generated by generate() or update(). // The default value is 0, which is the highest // quality. This value is also taken in respect when // generating the terrain bruteforce. //////////////////////////////////////////////////////////////////// 70 inline void GeoMipTerrain::set_min_level(unsigned short int minlevel); 282 13 get_min_level 4 428 28 GeoMipTerrain::get_min_level 0 1 76 425 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_min_level // Access: Published // Description: Gets the minimum level of detail at which blocks // may be generated by generate() or update(). // The default value is 0, which is the highest // quality. //////////////////////////////////////////////////////////////////// 61 inline unsigned short int GeoMipTerrain::get_min_level(void); 283 8 is_dirty 4 428 23 GeoMipTerrain::is_dirty 0 1 77 585 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::is_dirty // Access: Published // Description: Returns a bool indicating whether the terrain is // marked 'dirty', that means the terrain has to be // regenerated on the next update() call, because // for instance the heightfield has changed. // Once the terrain has been regenerated, the dirty // flag automatically gets reset internally. //////////////////////////////////////////////////////////////////// 42 inline bool GeoMipTerrain::is_dirty(void); 284 10 set_factor 4 428 25 GeoMipTerrain::set_factor 0 1 78 633 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_factor // Access: Published // Description: DEPRECATED method. Use set_near/far instead. // Sets the quality factor at which blocks must be // generated. The higher this level, the better // quality the terrain will be, but more expensive // to render. A value of 0 makes the terrain the // lowest quality possible, depending on blocksize. // The default value is 100. //////////////////////////////////////////////////////////////////// 52 inline void GeoMipTerrain::set_factor(float factor); 285 12 set_near_far 4 428 27 GeoMipTerrain::set_near_far 0 1 79 275 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_near_far // Access: Published // Description: Sets the near and far LOD distances in one call. //////////////////////////////////////////////////////////////////// 77 inline void GeoMipTerrain::set_near_far(double input_near, double input_far); 286 8 set_near 4 428 23 GeoMipTerrain::set_near 0 1 80 394 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_near // Access: Published // Description: Sets the near LOD distance, at which the terrain // will be rendered at highest quality. // This distance is in the terrain's coordinate space! //////////////////////////////////////////////////////////////////// 55 inline void GeoMipTerrain::set_near(double input_near); 287 7 set_far 4 428 22 GeoMipTerrain::set_far 0 1 81 391 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_far // Access: Published // Description: Sets the far LOD distance, at which the terrain // will be rendered at lowest quality. // This distance is in the terrain's coordinate space! //////////////////////////////////////////////////////////////////// 53 inline void GeoMipTerrain::set_far(double input_far); 288 19 get_block_node_path 4 428 34 GeoMipTerrain::get_block_node_path 0 1 82 724 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_block_node_path // Access: Published // Description: Returns the NodePath of the specified block. // If auto-flatten is enabled and the node is // getting removed during the flattening process, // it will still return a NodePath with the // appropriate terrain chunk, but it will be in // a temporary scenegraph. // Please note that this returns a const object and // you can not modify the node. Modify the heightfield // instead. //////////////////////////////////////////////////////////////////// 103 inline NodePath const GeoMipTerrain::get_block_node_path(unsigned short int mx, unsigned short int my); 289 18 get_block_from_pos 4 428 33 GeoMipTerrain::get_block_from_pos 0 1 83 832 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_block_from_pos // Access: Published // Description: Gets the coordinates of the block at the specified // position. This position must be relative to the // terrain, not to render. Returns an array containing // two values: the block x and the block y coords. // If the positions are out of range, the closest // block is taken. // Note that the VecBase returned does not represent // a vector, position, or rotation, but it contains // the block index of the block which you can use // in GeoMipTerrain::get_block_node_path. //////////////////////////////////////////////////////////////////// 72 inline LVecBase2f GeoMipTerrain::get_block_from_pos(double x, double y); 290 20 set_border_stitching 4 428 35 GeoMipTerrain::set_border_stitching 0 1 84 690 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_border_stitching // Access: Published // Description: If this value is true, the LOD level at the // borders of the terrain will be 0. This is useful // if you have multiple terrains attached and you // want to stitch them together, to fix seams. // This setting also has effect when bruteforce is // enabled, although in that case you are probably // better off with setting the minlevels to the same // value. //////////////////////////////////////////////////////////////////// 64 inline void GeoMipTerrain::set_border_stitching(bool stitching); 291 20 get_border_stitching 4 428 35 GeoMipTerrain::get_border_stitching 0 1 85 336 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_stitching // Access: Published // Description: Returns the current stitching setting. False by // default, unless set_stitching has been set. //////////////////////////////////////////////////////////////////// 54 inline bool GeoMipTerrain::get_border_stitching(void); 292 7 get_far 4 428 22 GeoMipTerrain::get_far 0 1 86 289 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_far // Access: Published // Description: Returns the far LOD distance in the terrain coordinate // space //////////////////////////////////////////////////////////////////// 43 inline double GeoMipTerrain::get_far(void); 293 8 get_near 4 428 23 GeoMipTerrain::get_near 0 1 87 291 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_near // Access: Published // Description: Returns the near LOD distance in the terrain coordinate // space //////////////////////////////////////////////////////////////////// 44 inline double GeoMipTerrain::get_near(void); 294 16 get_flatten_mode 4 428 31 GeoMipTerrain::get_flatten_mode 0 1 88 345 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_flatten_mode // Access: Published // Description: Returns the automatic-flatten mode (e.g., off, // flatten_light, flatten_medium, or flatten_strong) //////////////////////////////////////////////////////////////////// 49 inline int GeoMipTerrain::get_flatten_mode(void); 295 16 make_slope_image 4 428 31 GeoMipTerrain::make_slope_image 0 1 89 888 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::make_slope_image // Access: Published // Description: Returns a new grayscale image containing the slope // angles. A white pixel value means a vertical slope, // while a black pixel will mean that the terrain is // entirely flat at that pixel. // You can translate it to degrees by mapping the // greyscale values from 0 to 90 degrees. // The resulting image will have the same size as the // heightfield image. // The scale will be taken into respect -- meaning, // if you change the terrain scale, the slope image // will need to be regenerated in order to be correct. //////////////////////////////////////////////////////////////////// 47 PNMImage GeoMipTerrain::make_slope_image(void); 296 8 generate 4 428 23 GeoMipTerrain::generate 0 1 90 463 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::generate // Access: Published // Description: (Re)generates the entire terrain, erasing the // current. // This call un-flattens the terrain, so make sure // you have set auto-flatten if you want to keep // your terrain flattened. //////////////////////////////////////////////////////////////////// 35 void GeoMipTerrain::generate(void); 297 6 update 4 428 21 GeoMipTerrain::update 0 1 91 790 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::update // Access: Published // Description: Loops through all of the terrain blocks, and // checks whether they need to be updated. // If that is indeed the case, it regenerates the // mipmap. Returns a true when the terrain has // changed. Returns false when the terrain isn't // updated at all. If there is no terrain yet, // it generates the entire terrain. // This call un-flattens the terrain, so make sure // you have set auto-flatten if you want to keep // your terrain flattened. //////////////////////////////////////////////////////////////////// 33 bool GeoMipTerrain::update(void); 298 14 get_class_type 4 428 29 GeoMipTerrain::get_class_type 0 1 92 0 54 static TypeHandle GeoMipTerrain::get_class_type(void); 299 21 HeightfieldTesselator 4 431 44 HeightfieldTesselator::HeightfieldTesselator 0 1 93 731 // Filename: heightfieldTesselator.I // Created by: jyelon (17jul06) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 86 inline HeightfieldTesselator::HeightfieldTesselator(basic_string< char > const &name); 300 22 ~HeightfieldTesselator 4 431 45 HeightfieldTesselator::~HeightfieldTesselator 0 0 232 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 59 inline HeightfieldTesselator::~HeightfieldTesselator(void); 301 11 heightfield 4 431 34 HeightfieldTesselator::heightfield 0 1 94 416 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::heightfield // Access: Published // Description: Returns a reference to the heightfield (a PNMImage) // contained inside the HeightfieldTesselator. You // can use the reference to alter the heightfield. //////////////////////////////////////////////////////////////////// 58 inline PNMImage &HeightfieldTesselator::heightfield(void); 302 15 set_heightfield 4 431 38 HeightfieldTesselator::set_heightfield 0 2 95 96 317 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_heightfield // Access: Published // Description: Loads the specified greyscale image file into // the heightfield. //////////////////////////////////////////////////////////////////// 112 inline bool HeightfieldTesselator::set_heightfield(Filename const &filename, PNMFileType *type = ((void *)(0))); 303 14 set_poly_count 4 431 37 HeightfieldTesselator::set_poly_count 0 1 97 385 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_poly_count // Access: Public // Description: Sets the polygon-count target. The tesselator // usually manages to come within about 20% of the // target, plus or minus. //////////////////////////////////////////////////////////////////// 57 inline void HeightfieldTesselator::set_poly_count(int n); 304 21 set_visibility_radius 4 431 44 HeightfieldTesselator::set_visibility_radius 0 1 98 677 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_visibility_radius // Access: Published // Description: Sets the visibility radius. Polygons that // are completely outside the radius (relative to // the focal point) are cropped away. The cropping // is imperfect (all approximations are conservative), // so this should be used in conjunction with a far // clipping plane, fog, or some other visibility // limiting mechanism. The units are in pixels. //////////////////////////////////////////////////////////////////// 64 inline void HeightfieldTesselator::set_visibility_radius(int r); 305 15 set_focal_point 4 431 38 HeightfieldTesselator::set_focal_point 0 1 99 488 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_focal_point // Access: Published // Description: Sets the focal point. The tesselator generates // high-resolution terrain around the focal point, and // progressively lower and lower resolution terrain // as you get farther away. The units are in pixels. //////////////////////////////////////////////////////////////////// 65 inline void HeightfieldTesselator::set_focal_point(int x, int y); 306 20 set_horizontal_scale 4 431 43 HeightfieldTesselator::set_horizontal_scale 0 1 100 398 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_horizontal_scale // Access: Published // Description: Sets the horizontal scale. The default scale is 1.0, // meaning that each pixel in the heightfield is // 1x1 panda units wide. //////////////////////////////////////////////////////////////////// 66 inline void HeightfieldTesselator::set_horizontal_scale(double h); 307 18 set_vertical_scale 4 431 41 HeightfieldTesselator::set_vertical_scale 0 1 101 423 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_vertical_scale // Access: Published // Description: Sets the vertical scale. The default scale is 255.0, // meaning that each as the gray value ranges from (0-1), // the elevation ranges from (0-255) feet. //////////////////////////////////////////////////////////////////// 64 inline void HeightfieldTesselator::set_vertical_scale(double v); 308 17 set_max_triangles 4 431 40 HeightfieldTesselator::set_max_triangles 0 1 102 272 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_max_triangles // Access: Published // Description: Sets the max triangles per geom. //////////////////////////////////////////////////////////////////// 60 inline void HeightfieldTesselator::set_max_triangles(int n); 309 13 get_elevation 4 431 36 HeightfieldTesselator::get_elevation 0 1 103 525 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::get_elevation // Access: Private // Description: Fetches the elevation at (x,y), where the input // coordinate is specified in pixels. This ignores the // current tesselation level and instead provides an // accurate number. Linear blending is used for // non-integral coordinates. //////////////////////////////////////////////////////////////////// 64 double HeightfieldTesselator::get_elevation(double x, double y); 310 8 generate 4 431 31 HeightfieldTesselator::generate 0 1 104 346 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::generate // Access: Published // Description: Generates a tree of nodes that represents the // heightfield. This can be reparented into the scene. //////////////////////////////////////////////////////////////////// 47 NodePath HeightfieldTesselator::generate(void); 311 23 SceneGraphAnalyzerMeter 4 432 48 SceneGraphAnalyzerMeter::SceneGraphAnalyzerMeter 0 1 105 236 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 100 SceneGraphAnalyzerMeter::SceneGraphAnalyzerMeter(basic_string< char > const &name, PandaNode *node); 312 12 setup_window 4 432 37 SceneGraphAnalyzerMeter::setup_window 0 1 106 369 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::setup_window // Access: Published // Description: Sets up the frame rate meter to create a // DisplayRegion to render itself into the indicated // window. //////////////////////////////////////////////////////////////////// 67 void SceneGraphAnalyzerMeter::setup_window(GraphicsOutput *window); 313 12 clear_window 4 432 37 SceneGraphAnalyzerMeter::clear_window 0 1 107 309 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::clear_window // Access: Published // Description: Undoes the effect of a previous call to // setup_window(). //////////////////////////////////////////////////////////////////// 49 void SceneGraphAnalyzerMeter::clear_window(void); 314 10 get_window 4 432 35 SceneGraphAnalyzerMeter::get_window 0 1 108 876 // Filename: sceneGraphAnalyzerMeter.I // Created by: pratt (14Feb07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_window // Access: Published // Description: Returns the GraphicsOutput that was passed to // setup_window(), or NULL if setup_window() has not // been called. //////////////////////////////////////////////////////////////////// 71 inline GraphicsOutput *SceneGraphAnalyzerMeter::get_window(void) const; 315 18 get_display_region 4 432 43 SceneGraphAnalyzerMeter::get_display_region 0 1 109 428 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_display_region // Access: Published // Description: Returns the DisplayRegion that the meter has created // to render itself into the window to setup_window(), // or NULL if setup_window() has not been called. //////////////////////////////////////////////////////////////////// 78 inline DisplayRegion *SceneGraphAnalyzerMeter::get_display_region(void) const; 316 19 set_update_interval 4 432 44 SceneGraphAnalyzerMeter::set_update_interval 0 1 110 535 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::set_update_interval // Access: Published // Description: Specifies the number of seconds that should elapse // between updates to the meter. This should be // reasonably slow (e.g. 0.5 to 2.0) so that the // calculation of the scene graph analysis does not // itself dominate the frame rate. //////////////////////////////////////////////////////////////////// 81 inline void SceneGraphAnalyzerMeter::set_update_interval(double update_interval); 317 19 get_update_interval 4 432 44 SceneGraphAnalyzerMeter::get_update_interval 0 1 111 353 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_update_interval // Access: Published // Description: Returns the number of seconds that will elapse // between updates to the frame rate indication. //////////////////////////////////////////////////////////////////// 71 inline double SceneGraphAnalyzerMeter::get_update_interval(void) const; 318 8 set_node 4 432 33 SceneGraphAnalyzerMeter::set_node 0 1 112 262 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::set_node // Access: Published // Description: Sets the node to be analyzed. //////////////////////////////////////////////////////////////////// 63 inline void SceneGraphAnalyzerMeter::set_node(PandaNode *node); 319 8 get_node 4 432 33 SceneGraphAnalyzerMeter::get_node 0 1 113 265 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_node // Access: Published // Description: Returns the node to be analyzed. //////////////////////////////////////////////////////////////////// 64 inline PandaNode *SceneGraphAnalyzerMeter::get_node(void) const; 320 6 update 4 432 31 SceneGraphAnalyzerMeter::update 0 1 114 469 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::update // Access: Published // Description: You can call this to explicitly force the // SceneGraphAnalyzerMeter to update itself with the // latest scene graph analysis information. // Normally, it is not necessary to call this explicitly. //////////////////////////////////////////////////////////////////// 50 inline void SceneGraphAnalyzerMeter::update(void); 321 14 get_class_type 4 432 39 SceneGraphAnalyzerMeter::get_class_type 0 1 115 0 64 static TypeHandle SceneGraphAnalyzerMeter::get_class_type(void); 322 10 MeshDrawer 4 433 22 MeshDrawer::MeshDrawer 0 1 116 263 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::Constructor // Access: Published // Description: Creates the MeshDrawer low level system. //////////////////////////////////////////////////////////////////// 36 inline MeshDrawer::MeshDrawer(void); 323 10 set_budget 4 433 22 MeshDrawer::set_budget 0 1 117 385 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::set_budget // Access: Published // Description: Sets the total triangle budget of the drawer. // This will not be exceeded. Don't set some thing too // large because it will be slow //////////////////////////////////////////////////////////////////// 47 inline void MeshDrawer::set_budget(int budget); 324 10 get_budget 4 433 22 MeshDrawer::get_budget 0 1 118 268 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::get_budget() // Access: Published // Description: Gets the total triangle budget of the drawer //////////////////////////////////////////////////////////////////// 40 inline int MeshDrawer::get_budget(void); 325 8 get_root 4 433 20 MeshDrawer::get_root 0 1 119 424 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::get_root // Access: Published // Description: Returns the root NodePath. You should use this node // to reparent mesh drawer onto the scene // might also want to disable depth draw or enable // transparency. //////////////////////////////////////////////////////////////////// 43 inline NodePath MeshDrawer::get_root(void); 326 5 begin 4 433 17 MeshDrawer::begin 0 1 120 367 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::begin // Access: Published // Description: Pass the current camera node and the root node. // Passing the camera is required to generate // bill boards that face it. //////////////////////////////////////////////////////////////////// 57 void MeshDrawer::begin(NodePath camera, NodePath render); 327 3 tri 4 433 15 MeshDrawer::tri 0 1 121 258 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::tri // Access: Published // Description: Draws a triangle with the given parameters. //////////////////////////////////////////////////////////////////// 157 inline void MeshDrawer::tri(LVector3f v1, LVector4f c1, LVector2f uv1, LVector3f v2, LVector4f c2, LVector2f uv2, LVector3f v3, LVector4f c3, LVector2f uv3); 328 8 particle 4 433 20 MeshDrawer::particle 0 1 122 385 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::particle // Access: Published // Description: Draws a particle that is sort of like a bill board // but has an extra rotation component. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 103 void MeshDrawer::particle(LVector3f pos, LVector4f frame, float size, LVector4f color, float rotation); 329 16 blended_particle 4 433 28 MeshDrawer::blended_particle 0 1 123 400 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::blended_particle // Access: Published // Description: Works just like particle but accepts 2 frames and // a blend (from 0 to 1) component between them // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 143 void MeshDrawer::blended_particle(LVector3f pos, LVector4f frame1, LVector4f frame2, float blend, float size, LVector4f color, float rotation); 330 9 billboard 4 433 21 MeshDrawer::billboard 0 1 124 380 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::billboard // Access: Published // Description: Draws a billboard - particle with no rotation. // Billboards always face the camera. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 88 void MeshDrawer::billboard(LVector3f pos, LVector4f frame, float size, LVector4f color); 331 7 segment 4 433 19 MeshDrawer::segment 0 1 125 367 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::segment // Access: Published // Description: Draws a segment a line with a thickness. That has // billboarding effect. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 109 void MeshDrawer::segment(LVector3f start, LVector3f stop, LVector4f frame, float thickness, LVector4f color); 332 13 cross_segment 4 433 25 MeshDrawer::cross_segment 0 1 126 503 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::cross_segment // Access: Published // Description: Draws a segment a line with a thickness. This // segment does not use the bill boarding behavior // and instead draws 2 planes in a cross. // Stars at start and ends at stop. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 115 void MeshDrawer::cross_segment(LVector3f start, LVector3f stop, LVector4f frame, float thickness, LVector4f color); 333 14 uneven_segment 4 433 26 MeshDrawer::uneven_segment 0 1 127 426 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::uneven_segment // Access: Published // Description: Draws a segment a line with different thickness // and color on both sides. // Stars at start and ends at stop. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 172 void MeshDrawer::uneven_segment(LVector3f start, LVector3f stop, LVector4f frame, float thickness_start, LVector4f color_start, float thickness_stop, LVector4f color_stop); 334 12 link_segment 4 433 24 MeshDrawer::link_segment 0 1 128 415 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::link_segment // Access: Published // Description: Stars or continues linked segment. // Control position, frame, thickness and color with // parameters. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 96 void MeshDrawer::link_segment(LVector3f pos, LVector4f frame, float thickness, LVector4f color); 335 16 link_segment_end 4 433 28 MeshDrawer::link_segment_end 0 1 129 433 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::link_segment_end // Access: Published // Description: Finish drawing linked segments, needs at least // two calls to link_segment before it can end // the linked segment. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 68 void MeshDrawer::link_segment_end(LVector4f frame, LVector4f color); 336 9 explosion 4 433 21 MeshDrawer::explosion 0 1 130 333 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::explosion // Access: Published // Description: Draws number of particles in a sphere like emitter. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 126 void MeshDrawer::explosion(LVector3f pos, LVector4f frame, float size, LVector4f color, int seed, int number, float distance); 337 6 stream 4 433 18 MeshDrawer::stream 0 1 131 374 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::stream // Access: Published // Description: Draws a number of particles in a big line with a // shift dictated by the offset. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 129 void MeshDrawer::stream(LVector3f start, LVector3f stop, LVector4f frame, float size, LVector4f color, int number, float offset); 338 8 geometry 4 433 20 MeshDrawer::geometry 0 1 132 559 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::geometry // Access: Published // Description: Draws the geometry that is inside this node path into // the MeshDrawer object. This performs a similar // functions as RigidBodyCombiner but for very // dynamic situations that share the same texture // like physcal chunks of explosions. // It can be a little slow //////////////////////////////////////////////////////////////////// 41 void MeshDrawer::geometry(NodePath node); 339 3 end 4 433 15 MeshDrawer::end 0 1 133 293 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::end // Access: Published // Description: Finish the drawing and clearing off the remaining // vertexes. //////////////////////////////////////////////////////////////////// 27 void MeshDrawer::end(void); 340 14 get_class_type 4 433 26 MeshDrawer::get_class_type 0 1 134 0 51 static TypeHandle MeshDrawer::get_class_type(void); 341 12 MeshDrawer2D 4 434 26 MeshDrawer2D::MeshDrawer2D 0 1 135 267 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::Constructor // Access: Published // Description: Creates the MeshDrawer2D low level system. //////////////////////////////////////////////////////////////////// 40 inline MeshDrawer2D::MeshDrawer2D(void); 342 10 set_budget 4 434 24 MeshDrawer2D::set_budget 0 1 136 269 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::set_budget // Access: Published // Description: Sets the total triangle budget of the drawer. //////////////////////////////////////////////////////////////////// 49 inline void MeshDrawer2D::set_budget(int budget); 343 10 get_budget 4 434 24 MeshDrawer2D::get_budget 0 1 137 270 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::get_budget() // Access: Published // Description: Gets the total triangle budget of the drawer //////////////////////////////////////////////////////////////////// 42 inline int MeshDrawer2D::get_budget(void); 344 8 get_root 4 434 22 MeshDrawer2D::get_root 0 1 138 248 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::get_root // Access: Published // Description: Returns the root NodePath. //////////////////////////////////////////////////////////////////// 45 inline NodePath MeshDrawer2D::get_root(void); 345 8 quad_raw 4 434 22 MeshDrawer2D::quad_raw 0 1 139 286 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle. // Ignores the cliping rectangle //////////////////////////////////////////////////////////////////// 207 inline void MeshDrawer2D::quad_raw(LVector3f v1, LVector4f c1, LVector2f uv1, LVector3f v2, LVector4f c2, LVector2f uv2, LVector3f v3, LVector4f c3, LVector2f uv3, LVector3f v4, LVector4f c4, LVector2f uv4); 346 13 rectangle_raw 4 434 27 MeshDrawer2D::rectangle_raw 0 1 140 0 131 inline void MeshDrawer2D::rectangle_raw(float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f color); 347 8 set_clip 4 434 22 MeshDrawer2D::set_clip 0 1 141 247 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::set_budget // Access: Published // Description: Sets clipping rectangle //////////////////////////////////////////////////////////////////// 71 inline void MeshDrawer2D::set_clip(float x, float y, float w, float h); 348 9 rectangle 4 434 23 MeshDrawer2D::rectangle 0 1 142 258 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle, that can be cliped //////////////////////////////////////////////////////////////////// 127 inline void MeshDrawer2D::rectangle(float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f color); 349 16 rectangle_border 4 434 30 MeshDrawer2D::rectangle_border 0 1 143 318 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle, with borders and corders, // taken from the surrounding texture //////////////////////////////////////////////////////////////////// 203 void MeshDrawer2D::rectangle_border(float x, float y, float w, float h, float r, float t, float l, float b, float tr, float tt, float tl, float tb, float u, float v, float us, float vs, LVector4f color); 350 22 rectangle_border_tiled 4 434 36 MeshDrawer2D::rectangle_border_tiled 0 1 144 318 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle, with borders and corders, // taken from the surrounding texture //////////////////////////////////////////////////////////////////// 209 void MeshDrawer2D::rectangle_border_tiled(float x, float y, float w, float h, float r, float t, float l, float b, float tr, float tt, float tl, float tb, float u, float v, float us, float vs, LVector4f color); 351 15 rectangle_tiled 4 434 29 MeshDrawer2D::rectangle_tiled 0 1 145 290 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a tiled rectangle, size of tiles is in // us and vs //////////////////////////////////////////////////////////////////// 126 void MeshDrawer2D::rectangle_tiled(float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f color); 352 5 begin 4 434 19 MeshDrawer2D::begin 0 1 146 306 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::begin // Access: Published // Description: Opens up the geom for drawing, dont forget to call // MeshDrawer2D::end() //////////////////////////////////////////////////////////////////// 31 void MeshDrawer2D::begin(void); 353 3 end 4 434 17 MeshDrawer2D::end 0 1 147 293 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::end // Access: Published // Description: Finish the drawing and clearing off the remaining // vertexes. //////////////////////////////////////////////////////////////////// 29 void MeshDrawer2D::end(void); 354 14 get_class_type 4 434 28 MeshDrawer2D::get_class_type 0 1 148 0 53 static TypeHandle MeshDrawer2D::get_class_type(void); 355 12 MovieTexture 4 435 26 MovieTexture::MovieTexture 0 2 149 150 934 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::Constructor // Access: Published // Description: Creates a blank movie texture. Movies must be // added using do_read_one or do_load_one. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MovieTexture::Constructor // Access: Published // Description: Creates a texture playing the specified movie. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MovieTexture::Copy Constructor // Access: Protected // Description: Use MovieTexture::make_copy() to make a duplicate copy of // an existing MovieTexture. //////////////////////////////////////////////////////////////////// 120 MovieTexture::MovieTexture(basic_string< char > const &name); MovieTexture::MovieTexture(PointerTo< MovieVideo > video); 356 16 get_video_length 4 435 30 MovieTexture::get_video_length 0 1 151 752 // Filename: movieTexture.I // Created by: jyelon (01Aug2007) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_video_length // Access: Published // Description: Returns the length of the video. //////////////////////////////////////////////////////////////////// 57 inline double MovieTexture::get_video_length(void) const; 357 15 get_video_width 4 435 29 MovieTexture::get_video_width 0 1 152 463 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_video_width // Access: Published // Description: Returns the width in texels of the source video // stream. This is not necessarily the width of the // actual texture, since the texture may have been // expanded to raise it to a power of 2. //////////////////////////////////////////////////////////////////// 53 inline int MovieTexture::get_video_width(void) const; 358 16 get_video_height 4 435 30 MovieTexture::get_video_height 0 1 153 466 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_video_height // Access: Published // Description: Returns the height in texels of the source video // stream. This is not necessarily the height of the // actual texture, since the texture may have been // expanded to raise it to a power of 2. //////////////////////////////////////////////////////////////////// 54 inline int MovieTexture::get_video_height(void) const; 359 13 get_tex_scale 4 435 27 MovieTexture::get_tex_scale 0 1 154 965 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_tex_scale // Access: Published // Description: Returns a scale pair that is suitable for applying to // geometry via NodePath::set_tex_scale(), which will // convert texture coordinates on the geometry from the // range 0..1 into the appropriate range to render the // video part of the texture. // // This is necessary in the event the video source is // not a power of two and set_power_2() is true. In // this case, the video image will be mapped to the // lower-left corner of the texture, and the rest of the // texture space will be unused; so we will need to // remap any texture coordinates to fill the space // correctly. //////////////////////////////////////////////////////////////////// 58 inline LVecBase2f MovieTexture::get_tex_scale(void) const; 360 7 restart 4 435 21 MovieTexture::restart 0 1 155 400 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::restart // Access: Published // Description: Start playing the movie from where it was last // paused. Has no effect if the movie is not paused, // or if the movie's cursor is already at the end. //////////////////////////////////////////////////////////////////// 33 void MovieTexture::restart(void); 361 4 stop 4 435 18 MovieTexture::stop 0 1 156 383 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::stop // Access: Published // Description: Stops a currently playing or looping movie right // where it is. The movie's cursor remains frozen at // the point where it was stopped. //////////////////////////////////////////////////////////////////// 30 void MovieTexture::stop(void); 362 4 play 4 435 18 MovieTexture::play 0 1 157 253 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::play // Access: Published // Description: Plays the movie from the beginning. //////////////////////////////////////////////////////////////////// 30 void MovieTexture::play(void); 363 8 set_time 4 435 22 MovieTexture::set_time 0 1 158 246 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_time // Access: Published // Description: Sets the movie's cursor. //////////////////////////////////////////////////////////////////// 38 void MovieTexture::set_time(double t); 364 8 get_time 4 435 22 MovieTexture::get_time 0 1 159 565 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_time // Access: Published // Description: Returns the current value of the movie's cursor. // If the movie's loop count is greater than one, then // its length is effectively multiplied for the // purposes of this function. In other words, // the return value will be in the range 0.0 // to (length * loopcount). //////////////////////////////////////////////////////////////////// 42 double MovieTexture::get_time(void) const; 365 8 set_loop 4 435 22 MovieTexture::set_loop 0 1 160 335 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_loop // Access: Published // Description: If true, sets the movie's loop count to 1 billion. // If false, sets the movie's loop count to one. //////////////////////////////////////////////////////////////////// 41 void MovieTexture::set_loop(bool enable); 366 8 get_loop 4 435 22 MovieTexture::get_loop 0 1 161 298 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_loop // Access: Published // Description: Returns true if the movie's loop count is not equal // to one. //////////////////////////////////////////////////////////////////// 40 bool MovieTexture::get_loop(void) const; 367 14 set_loop_count 4 435 28 MovieTexture::set_loop_count 0 1 162 277 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_loop_count // Access: Published // Description: Sets the movie's loop count to the desired value. //////////////////////////////////////////////////////////////////// 45 void MovieTexture::set_loop_count(int count); 368 14 get_loop_count 4 435 28 MovieTexture::get_loop_count 0 1 163 259 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_loop_count // Access: Published // Description: Returns the movie's loop count. //////////////////////////////////////////////////////////////////// 45 int MovieTexture::get_loop_count(void) const; 369 13 set_play_rate 4 435 27 MovieTexture::set_play_rate 0 1 164 412 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_play_rate // Access: Published // Description: Sets the movie's play-rate. This is the speed at // which the movie's cursor advances. The default is // to advance 1.0 movie-seconds per real-time second. //////////////////////////////////////////////////////////////////// 51 void MovieTexture::set_play_rate(double play_rate); 370 13 get_play_rate 4 435 27 MovieTexture::get_play_rate 0 1 165 254 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_play_rate // Access: Published // Description: Gets the movie's play-rate. //////////////////////////////////////////////////////////////////// 47 double MovieTexture::get_play_rate(void) const; 371 10 is_playing 4 435 24 MovieTexture::is_playing 0 1 166 272 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::is_playing // Access: Published // Description: Returns true if the movie's cursor is advancing. //////////////////////////////////////////////////////////////////// 42 bool MovieTexture::is_playing(void) const; 372 14 synchronize_to 4 435 28 MovieTexture::synchronize_to 0 1 167 375 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::synchronize_to // Access: Published // Description: Synchronize this texture to a sound. Typically, // you would load the texture and the sound from the // same AVI file. //////////////////////////////////////////////////////////////////// 53 void MovieTexture::synchronize_to(AudioSound *sound); 373 13 unsynchronize 4 435 27 MovieTexture::unsynchronize 0 1 168 259 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::unsynchronize // Access: Published // Description: Stop synchronizing with a sound. //////////////////////////////////////////////////////////////////// 39 void MovieTexture::unsynchronize(void); 374 14 get_class_type 4 435 28 MovieTexture::get_class_type 0 1 169 0 53 static TypeHandle MovieTexture::get_class_type(void); 375 19 NodeVertexTransform 4 437 40 NodeVertexTransform::NodeVertexTransform 0 2 170 171 231 //////////////////////////////////////////////////////////////////// // Function: NodeVertexTransform::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 109 NodeVertexTransform::NodeVertexTransform(PandaNode const *node, VertexTransform const *prev = ((void *)(0))); 376 8 get_node 4 437 29 NodeVertexTransform::get_node 0 1 172 800 // Filename: nodeVertexTransform.I // Created by: drose (22Feb07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: NodeVertexTransform::get_node // Access: Published // Description: Returns the PandaNode whose transform supplies this // object. //////////////////////////////////////////////////////////////////// 66 inline PandaNode const *NodeVertexTransform::get_node(void) const; 377 8 get_prev 4 437 29 NodeVertexTransform::get_prev 0 1 173 352 //////////////////////////////////////////////////////////////////// // Function: NodeVertexTransform::get_prev // Access: Published // Description: Returns the VertexTransform object whose matrix will // be composed with the result of this node's transform. //////////////////////////////////////////////////////////////////// 72 inline VertexTransform const *NodeVertexTransform::get_prev(void) const; 378 14 get_class_type 4 437 35 NodeVertexTransform::get_class_type 0 1 174 0 60 static TypeHandle NodeVertexTransform::get_class_type(void); 379 20 ~NodeVertexTransform 4 437 41 NodeVertexTransform::~NodeVertexTransform 0 0 0 48 NodeVertexTransform::~NodeVertexTransform(void); 380 17 RigidBodyCombiner 4 439 36 RigidBodyCombiner::RigidBodyCombiner 0 1 175 465 //////////////////////////////////////////////////////////////////// // Function: RigidBodyCombiner::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: RigidBodyCombiner::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 RigidBodyCombiner::RigidBodyCombiner(basic_string< char > const &name); 381 7 collect 4 439 26 RigidBodyCombiner::collect 0 1 176 1362 //////////////////////////////////////////////////////////////////// // Function: RigidBodyCombiner::collect // Access: Published // Description: Walks through the entire subgraph of nodes rooted at // this node, accumulates all of the RenderAttribs and // Geoms below this node, flattening them into just one // Geom (or as few as possible, if there are multiple // different states). // // Nodes that have transforms on them at the time of // collect(), or any ModelNodes with the // preserve_transform flag, will be identified as // "moving" nodes, and their transforms will be // monitored as they change in future frames and each // new transform directly applied to the vertices. // // This call must be made after adding any nodes to or // removing any nodes from the subgraph rooted at this // node. It should not be made too often, as it is a // relatively expensive call. If you need to hide // children of this node, consider scaling them to zero // (or very near zero), or moving them behind the // camera, instead. //////////////////////////////////////////////////////////////////// 38 void RigidBodyCombiner::collect(void); 382 18 get_internal_scene 4 439 37 RigidBodyCombiner::get_internal_scene 0 1 177 620 //////////////////////////////////////////////////////////////////// // Function: RigidBodyCombiner::get_internal_scene // Access: Published // Description: Returns a special NodePath that represents the // internal node of this object. This is the node that // is actually sent to the graphics card for rendering; // it contains the collection of the children of this // node into as few Geoms as possible. // // This node is filled up by the last call to collect(). //////////////////////////////////////////////////////////////////// 53 NodePath RigidBodyCombiner::get_internal_scene(void); 383 14 get_class_type 4 439 33 RigidBodyCombiner::get_class_type 0 1 178 0 58 static TypeHandle RigidBodyCombiner::get_class_type(void); 384 18 ~RigidBodyCombiner 4 439 37 RigidBodyCombiner::~RigidBodyCombiner 0 0 0 44 RigidBodyCombiner::~RigidBodyCombiner(void); 385 23 upcast_to_CullTraverser 12 441 51 PipeOcclusionCullTraverser::upcast_to_CullTraverser 0 1 188 55 upcast from PipeOcclusionCullTraverser to CullTraverser 73 CullTraverser *PipeOcclusionCullTraverser::upcast_to_CullTraverser(void); 386 38 downcast_to_PipeOcclusionCullTraverser 12 442 53 CullTraverser::downcast_to_PipeOcclusionCullTraverser 0 1 189 57 downcast from CullTraverser to PipeOcclusionCullTraverser 88 PipeOcclusionCullTraverser *CullTraverser::downcast_to_PipeOcclusionCullTraverser(void); 387 21 upcast_to_CullHandler 12 441 49 PipeOcclusionCullTraverser::upcast_to_CullHandler 0 1 190 53 upcast from PipeOcclusionCullTraverser to CullHandler 69 CullHandler *PipeOcclusionCullTraverser::upcast_to_CullHandler(void); 388 38 downcast_to_PipeOcclusionCullTraverser 12 443 51 CullHandler::downcast_to_PipeOcclusionCullTraverser 0 1 191 55 downcast from CullHandler to PipeOcclusionCullTraverser 86 PipeOcclusionCullTraverser *CullHandler::downcast_to_PipeOcclusionCullTraverser(void); 389 26 PipeOcclusionCullTraverser 4 441 54 PipeOcclusionCullTraverser::PipeOcclusionCullTraverser 0 2 179 180 485 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 173 PipeOcclusionCullTraverser::PipeOcclusionCullTraverser(GraphicsOutput *host); PipeOcclusionCullTraverser::PipeOcclusionCullTraverser(PipeOcclusionCullTraverser const ©); 390 9 set_scene 4 441 37 PipeOcclusionCullTraverser::set_scene 0 1 181 246 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::set_scene // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 135 virtual void PipeOcclusionCullTraverser::set_scene(SceneSetup *scene_setup, GraphicsStateGuardianBase *gsg, bool dr_incomplete_render); 391 12 end_traverse 4 441 40 PipeOcclusionCullTraverser::end_traverse 0 1 182 407 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::end_traverse // Access: Public, Virtual // Description: Should be called when the traverser has finished // traversing its scene, this gives it a chance to do // any necessary finalization. //////////////////////////////////////////////////////////////////// 60 virtual void PipeOcclusionCullTraverser::end_traverse(void); 392 10 get_buffer 4 441 38 PipeOcclusionCullTraverser::get_buffer 0 1 183 740 // Filename: pipeOcclusionCullTraverser.I // Created by: drose (29May07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::get_buffer // Access: Published // Description: //////////////////////////////////////////////////////////////////// 74 inline GraphicsOutput *PipeOcclusionCullTraverser::get_buffer(void) const; 393 11 get_texture 4 441 39 PipeOcclusionCullTraverser::get_texture 0 1 184 338 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::get_texture // Access: Published // Description: Returns a Texture that can be used to visualize the // efforts of the occlusion cull. //////////////////////////////////////////////////////////////////// 55 Texture *PipeOcclusionCullTraverser::get_texture(void); 394 18 set_occlusion_mask 4 441 46 PipeOcclusionCullTraverser::set_occlusion_mask 0 1 185 536 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::set_occlusion_mask // Access: Public // Description: Specifies the DrawMask that should be set on // occlusion polygons for this scene. This identifies // the polygons that are to be treated as occluders. // Polygons that do not have this draw mask set will not // be considered occluders. //////////////////////////////////////////////////////////////////// 110 inline void PipeOcclusionCullTraverser::set_occlusion_mask(BitMask< unsigned int, 32 > const &occlusion_mask); 395 18 get_occlusion_mask 4 441 46 PipeOcclusionCullTraverser::get_occlusion_mask 0 1 186 331 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::get_occlusion_mask // Access: Public // Description: Returns the DrawMask for occlusion polygons. See // set_occlusion_mask(). //////////////////////////////////////////////////////////////////// 101 inline BitMask< unsigned int, 32 > const &PipeOcclusionCullTraverser::get_occlusion_mask(void) const; 396 14 get_class_type 4 441 42 PipeOcclusionCullTraverser::get_class_type 0 1 187 0 67 static TypeHandle PipeOcclusionCullTraverser::get_class_type(void); 397 27 ~PipeOcclusionCullTraverser 4 441 55 PipeOcclusionCullTraverser::~PipeOcclusionCullTraverser 0 0 0 62 PipeOcclusionCullTraverser::~PipeOcclusionCullTraverser(void); 398 8 LineSegs 4 444 18 LineSegs::LineSegs 0 2 192 193 649 //////////////////////////////////////////////////////////////////// // Function: LineSegs::Constructor // Access: Public // Description: Constructs a LineSegs object, which can be used to // create any number of disconnected lines or points of // various thicknesses and colors through the visible // scene. After creating the object, call move_to() and // draw_to() repeatedly to describe the path, then call // create() to create a GeomNode which will render the // described path. //////////////////////////////////////////////////////////////////// 65 LineSegs::LineSegs(basic_string< char > const &name = ("lines")); 399 9 ~LineSegs 4 444 19 LineSegs::~LineSegs 0 0 199 //////////////////////////////////////////////////////////////////// // Function: LineSegs::Destructor // Access: Public //////////////////////////////////////////////////////////////////// 26 LineSegs::~LineSegs(void); 400 5 reset 4 444 15 LineSegs::reset 0 1 194 297 //////////////////////////////////////////////////////////////////// // Function: LineSegs::reset // Access: Public // Description: Removes any lines in progress and resets to the // initial empty state. //////////////////////////////////////////////////////////////////// 27 void LineSegs::reset(void); 401 9 set_color 4 444 19 LineSegs::set_color 0 3 195 196 197 724 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_color // Access: Public // Description: Establishes the color that will be assigned to all // vertices created by future calls to move_to() and // draw_to(). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_color // Access: Public // Description: Establishes the color that will be assigned to all // vertices created by future calls to move_to() and // draw_to(). //////////////////////////////////////////////////////////////////// 132 inline void LineSegs::set_color(float r, float g, float b, float a = (1)); inline void LineSegs::set_color(LVecBase4f const &color); 402 13 set_thickness 4 444 23 LineSegs::set_thickness 0 1 198 391 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_thickness // Access: Public // Description: Establishes the line thickness or point size in // pixels that will be assigned to all lines and points // created by future calls to create(). //////////////////////////////////////////////////////////////////// 49 inline void LineSegs::set_thickness(float thick); 403 7 move_to 4 444 17 LineSegs::move_to 0 2 199 200 932 //////////////////////////////////////////////////////////////////// // Function: LineSegs::move_to // Access: Public // Description: Moves the pen to the given point without drawing a // line. When followed by draw_to(), this marks the // first point of a line segment; when followed by // move_to() or create(), this creates a single point. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: LineSegs::move_to // Access: Public // Description: Moves the pen to the given point without drawing a // line. When followed by draw_to(), this marks the // first point of a line segment; when followed by // move_to() or create(), this creates a single point. //////////////////////////////////////////////////////////////////// 102 inline void LineSegs::move_to(float x, float y, float z); void LineSegs::move_to(LVecBase3f const &v); 404 7 draw_to 4 444 17 LineSegs::draw_to 0 2 201 202 992 //////////////////////////////////////////////////////////////////// // Function: LineSegs::draw_to // Access: Public // Description: Draws a line segment from the pen's last position // (the last call to move_to or draw_to) to the // indicated point. move_to() and draw_to() only update // tables; the actual drawing is performed when create() // is called. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: LineSegs::draw_to // Access: Public // Description: Draws a line segment from the pen's last position // (the last call to move_to or draw_to) to the // indicated point. move_to() and draw_to() only update // tables; the actual drawing is performed when create() // is called. //////////////////////////////////////////////////////////////////// 102 inline void LineSegs::draw_to(float x, float y, float z); void LineSegs::draw_to(LVecBase3f const &v); 405 20 get_current_position 4 444 30 LineSegs::get_current_position 0 1 203 349 //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_current_position // Access: Public // Description: Returns the pen's current position. The next call to // draw_to() will draw a line segment from this point. //////////////////////////////////////////////////////////////////// 53 LPoint3f const &LineSegs::get_current_position(void); 406 8 is_empty 4 444 18 LineSegs::is_empty 0 1 204 358 //////////////////////////////////////////////////////////////////// // Function: LineSegs::empty // Access: Public // Description: Returns true if move_to() or draw_to() have not been // called since the last reset() or create(), false // otherwise. //////////////////////////////////////////////////////////////////// 30 bool LineSegs::is_empty(void); 407 6 create 4 444 16 LineSegs::create 0 4 205 206 207 208 1455 //////////////////////////////////////////////////////////////////// // Function: LineSegs::create // Access: Public // Description: Creates a new GeomNode that will render the series of // line segments and points described via calls to // move_to() and draw_to(). The lines and points are // created with the color and thickness established by // calls to set_color() and set_thick(). // // If dynamic is true, the line segments will be created // with the dynamic Geom setting, optimizing them for // runtime vertex animation. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: LineSegs::create // Access: Public // Description: Appends to an existing GeomNode a new Geom that // will render the series of line segments and points // described via calls to move_to() and draw_to(). The // lines and points are created with the color and // thickness established by calls to set_color() and // set_thick(). // // If dynamic is true, the line segments will be created // with the dynamic Geom setting, optimizing them for // runtime vertex animation. //////////////////////////////////////////////////////////////////// 122 inline GeomNode *LineSegs::create(bool dynamic = (0)); GeomNode *LineSegs::create(GeomNode *previous, bool dynamic = (0)); 408 16 get_num_vertices 4 444 26 LineSegs::get_num_vertices 0 1 209 540 // Functions to move the line vertices after they have been created. //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_num_vertices // Access: Public // Description: Returns the total number of line segment and point // vertices generated by the last call to create(). The // positions of these vertices may be read and adjusted // through get_vertex() and set_vertex(). //////////////////////////////////////////////////////////////////// 50 inline int LineSegs::get_num_vertices(void) const; 409 10 get_vertex 4 444 20 LineSegs::get_vertex 0 1 210 583 // Functions to move the line vertices after they have been created. //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_vertex // Access: Public // Description: Returns the nth point or vertex of the line segment // sequence generated by the last call to create(). The // first move_to() generates vertex 0; subsequent // move_to() and draw_to() calls generate consecutively // higher vertex numbers. //////////////////////////////////////////////////////////////////// 43 LPoint3f LineSegs::get_vertex(int n) const; 410 10 set_vertex 4 444 20 LineSegs::set_vertex 0 2 211 212 1024 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex // Access: Public // Description: Moves the nth point or vertex of the line segment // sequence generated by the last call to create(). The // first move_to() generates vertex 0; subsequent // move_to() and draw_to() calls generate consecutively // higher vertex numbers. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex // Access: Public // Description: Moves the nth point or vertex of the line segment // sequence generated by the last call to create(). The // first move_to() generates vertex 0; subsequent // move_to() and draw_to() calls generate consecutively // higher vertex numbers. //////////////////////////////////////////////////////////////////// 128 void LineSegs::set_vertex(int n, LPoint3f const &vert); inline void LineSegs::set_vertex(int vertex, float x, float y, float z); 411 16 get_vertex_color 4 444 26 LineSegs::get_vertex_color 0 1 213 268 //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_vertex_color // Access: Public // Description: Returns the color of the nth point or vertex. //////////////////////////////////////////////////////////////////// 56 LVecBase4f LineSegs::get_vertex_color(int vertex) const; 412 16 set_vertex_color 4 444 26 LineSegs::set_vertex_color 0 3 214 215 216 622 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex_color // Access: Public // Description: Changes the vertex color of the nth point or vertex. // See set_vertex(). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex_color // Access: Public // Description: Changes the vertex color of the nth point or vertex. // See set_vertex(). //////////////////////////////////////////////////////////////////// 159 void LineSegs::set_vertex_color(int vertex, LVecBase4f const &c); inline void LineSegs::set_vertex_color(int vertex, float r, float g, float b, float a = (1)); 413 15 MultitexReducer 4 445 32 MultitexReducer::MultitexReducer 0 1 217 0 39 MultitexReducer::MultitexReducer(void); 414 16 ~MultitexReducer 4 445 33 MultitexReducer::~MultitexReducer 0 0 0 40 MultitexReducer::~MultitexReducer(void); 415 5 clear 4 445 22 MultitexReducer::clear 0 1 218 0 34 void MultitexReducer::clear(void); 416 4 scan 4 445 21 MultitexReducer::scan 0 3 219 220 221 2603 // Filename: multitexReducer.I // Created by: drose (30Nov04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MultitexReducer::scan // Access: Published // Description: Starts scanning the hierarchy beginning at the // indicated node. Any GeomNodes discovered in the // hierarchy with multitexture will be added to internal // structures in the MultitexReducer so that a future // call to flatten() will operate on all of these at // once. // // This version of this method does not accumulate state // from the parents of the indicated node; thus, only // multitexture effects that have been applied at node // and below will be considered. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MultitexReducer::scan // Access: Published // Description: Starts scanning the hierarchy beginning at the // indicated node. Any GeomNodes discovered in the // hierarchy with multitexture will be added to internal // structures in the MultitexReducer so that a future // call to flatten() will operate on all of these at // once. // // The second parameter represents the NodePath from // which to accumulate the state that is considered for // the multitexture. Pass an empty NodePath to // accumulate all the state from the root of the graph, // or you may specify some other node here in order to // not consider nodes above that as contributing to the // state to be flattened. This is particularly useful // if you have some texture stage which is applied // globally to a scene (for instance, a caustics // effect), which you don't want to be considered for // flattening by the MultitexReducer. //////////////////////////////////////////////////////////////////// 245 inline void MultitexReducer::scan(NodePath const &node); inline void MultitexReducer::scan(NodePath const &node, NodePath const &state_from); void MultitexReducer::scan(PandaNode *node, RenderState const *state, TransformState const *transform); 417 10 set_target 4 445 27 MultitexReducer::set_target 0 1 222 0 54 void MultitexReducer::set_target(TextureStage *stage); 418 12 set_use_geom 4 445 29 MultitexReducer::set_use_geom 0 1 223 0 50 void MultitexReducer::set_use_geom(bool use_geom); 419 17 set_allow_tex_mat 4 445 34 MultitexReducer::set_allow_tex_mat 0 1 224 0 60 void MultitexReducer::set_allow_tex_mat(bool allow_tex_mat); 420 7 flatten 4 445 24 MultitexReducer::flatten 0 1 225 0 54 void MultitexReducer::flatten(GraphicsOutput *window); 225 1 14 Dtool_Xs2xJ3MS 7 3 447 227 14 Dtool_Xs2xJ3MS 703 // Filename: cardMaker.I // Created by: drose (16Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: CardMaker::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 446 2 14 Dtool_Xs2xcuRh 4 5 448 0 14 Dtool_Xs2xcuRh 265 //////////////////////////////////////////////////////////////////// // Function: CardMaker::reset // Access: Public // Description: Resets all the parameters to their initial defaults. //////////////////////////////////////////////////////////////////// 1 4 this 3 447 3 14 Dtool_Xs2x_5fw 4 6 448 0 14 Dtool_Xs2x_5fw 508 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// 3 4 this 3 447 2 ll 1 449 2 ur 1 449 4 14 Dtool_Xs2xZxSq 4 6 448 0 14 Dtool_Xs2xZxSq 508 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// 5 4 this 3 447 2 ll 1 449 2 lr 1 449 2 ur 1 449 2 ul 1 449 5 14 Dtool_Xs2xbEBS 4 6 448 0 14 Dtool_Xs2xbEBS 508 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// 5 4 this 3 447 2 ll 1 452 2 lr 1 452 2 ur 1 452 2 ul 1 452 6 14 Dtool_Xs2xPjcg 4 6 448 0 14 Dtool_Xs2xPjcg 508 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices. If set_has_uvs() is true (as it is by // default), the vertices will be generated with the // indicated range of UV's, which will be useful if a // texture is applied. //////////////////////////////////////////////////////////////////// 4 4 this 3 447 1 x 1 455 1 y 1 455 1 z 1 455 7 14 Dtool_Xs2xkOgl 4 6 448 0 14 Dtool_Xs2xkOgl 370 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices appropriately to show the non-pad region // of the texture. //////////////////////////////////////////////////////////////////// 2 4 this 3 447 3 tex 1 458 8 14 Dtool_Xs2xQ5BM 4 7 448 0 14 Dtool_Xs2xQ5BM 336 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_uv_range_cube // Access: Public // Description: Sets the range of UV's that will be applied to the // vertices appropriately for a cube-map face. //////////////////////////////////////////////////////////////////// 2 4 this 3 447 4 face 1 460 9 14 Dtool_Xs2x_g_I 4 8 448 0 14 Dtool_Xs2x_g_I 313 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_has_uvs // Access: Public // Description: Sets the flag indicating whether vertices will be // generated with UV's or not. //////////////////////////////////////////////////////////////////// 2 4 this 3 447 4 flag 1 461 10 14 Dtool_Xs2xHbQa 4 9 448 0 14 Dtool_Xs2xHbQa 468 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_has_3d_uvs // Access: Public // Description: Sets the flag indicating whether vertices will be // generated with 3-component UVW's (true) or // 2-component UV's (the default, false). Normally, // this will be implicitly set by setting the uv_range. //////////////////////////////////////////////////////////////////// 2 4 this 3 447 4 flag 1 461 11 14 Dtool_Xs2xUJOB 4 10 448 0 14 Dtool_Xs2xUJOB 243 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame // Access: Public // Description: Sets the size of the card. //////////////////////////////////////////////////////////////////// 5 4 this 3 447 2 ll 1 452 2 lr 1 452 2 ur 1 452 2 ul 1 452 12 14 Dtool_Xs2xKOM1 4 10 448 0 14 Dtool_Xs2xKOM1 243 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame // Access: Public // Description: Sets the size of the card. //////////////////////////////////////////////////////////////////// 2 4 this 3 447 5 frame 1 462 13 14 Dtool_Xs2x3xT3 4 10 448 0 14 Dtool_Xs2x3xT3 243 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame // Access: Public // Description: Sets the size of the card. //////////////////////////////////////////////////////////////////// 5 4 this 3 447 4 left 1 465 5 right 1 465 6 bottom 1 465 3 top 1 465 14 14 Dtool_Xs2xQhnV 4 11 448 0 14 Dtool_Xs2xQhnV 387 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_frame_fullscreen_quad // Access: Public // Description: Sets the card to (-1,1,-1,1), which is appropriate // if you plan to parent it to render2d and use it // as a fullscreen quad. //////////////////////////////////////////////////////////////////// 1 4 this 3 447 15 14 Dtool_Xs2xolpK 4 12 448 0 14 Dtool_Xs2xolpK 244 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_color // Access: Public // Description: Sets the color of the card. //////////////////////////////////////////////////////////////////// 2 4 this 3 447 5 color 1 462 16 14 Dtool_Xs2x0RvM 4 12 448 0 14 Dtool_Xs2x0RvM 244 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_color // Access: Public // Description: Sets the color of the card. //////////////////////////////////////////////////////////////////// 5 4 this 3 447 1 r 1 465 1 g 1 465 1 b 1 465 1 a 1 465 17 14 Dtool_Xs2xjaAn 4 13 448 0 14 Dtool_Xs2xjaAn 657 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_has_normals // Access: Public // Description: Sets the flag indicating whether vertices will be // generated with normals or not. Normals are required // if you intend to enable lighting on the card, but are // just wasted space and bandwidth otherwise, so there // is a (slight) optimization for disabling them. If // enabled, the normals will be generated perpendicular // to the card's face. //////////////////////////////////////////////////////////////////// 2 4 this 3 447 4 flag 1 461 18 14 Dtool_Xs2xvDmZ 4 14 448 0 14 Dtool_Xs2xvDmZ 799 //////////////////////////////////////////////////////////////////// // Function: CardMaker::set_source_geometry // Access: Published // Description: Sets a node that will be copied (and scaled and // translated) to generate the frame, instead of // generating a new polygon. The node may contain // arbitrary geometry that describes a flat polygon // contained within the indicated left, right, bottom, // top frame. // // When generate() is called, the geometry in this node // will be scaled and translated appropriately to give // it the size and aspect ratio specified by // set_frame(). //////////////////////////////////////////////////////////////////// 3 4 this 3 447 4 node 1 466 5 frame 1 462 19 14 Dtool_Xs2xH1YC 4 15 448 0 14 Dtool_Xs2xH1YC 320 //////////////////////////////////////////////////////////////////// // Function: CardMaker::clear_source_geometry // Access: Published // Description: Removes the node specified by an earlier call to // set_source_geometry(). //////////////////////////////////////////////////////////////////// 1 4 this 3 447 20 14 Dtool_Xs2xscLf 7 16 466 0 14 Dtool_Xs2xscLf 290 //////////////////////////////////////////////////////////////////// // Function: CardMaker::generate // Access: Public // Description: Generates a GeomNode that renders the specified // geometry. //////////////////////////////////////////////////////////////////// 1 4 this 3 447 21 14 Dtool_Xs2xgRyy 7 19 467 0 14 Dtool_Xs2xgRyy 226 //////////////////////////////////////////////////////////////////// // Function: FFMpegTexture::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 446 22 14 Dtool_Xs2xe6Q2 7 19 467 0 14 Dtool_Xs2xe6Q2 226 //////////////////////////////////////////////////////////////////// // Function: FFMpegTexture::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 23 14 Dtool_Xs2xpeG4 7 20 469 0 14 Dtool_Xs2xpeG4 0 0 24 14 Dtool_Xs2xH_r8 7 22 470 243 14 Dtool_Xs2xH_r8 708 // Filename: fisheyeMaker.I // Created by: drose (3Oct05) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 446 25 14 Dtool_Xs2xXR72 4 24 448 0 14 Dtool_Xs2xXR72 268 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::reset // Access: Public // Description: Resets all the parameters to their initial defaults. //////////////////////////////////////////////////////////////////// 1 4 this 3 470 26 14 Dtool_Xs2xi0Pu 4 25 448 0 14 Dtool_Xs2xi0Pu 384 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_fov // Access: Public // Description: Specifies the field of view of the fisheye // projection. A sphere map will have a 360-degree // field of view (and this is the default). //////////////////////////////////////////////////////////////////// 2 4 this 3 470 3 fov 1 465 27 14 Dtool_Xs2xtqHT 4 26 448 0 14 Dtool_Xs2xtqHT 596 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_num_vertices // Access: Public // Description: Specifies the approximate number of vertices to be // used to generate the rose. This is the approximate // number of vertices that will be located within the // rose's unit circle, not counting the inscribing // square (if any). The actual number of vertices used // may be +/- 25% of this value. //////////////////////////////////////////////////////////////////// 2 4 this 3 470 12 num_vertices 1 460 28 14 Dtool_Xs2x7SsF 4 27 448 0 14 Dtool_Xs2x7SsF 946 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_square_inscribed // Access: Public // Description: Sets the flag that indicates whether the rose should // be inscribed within a square. When this is true, an // additional square is generated to inscribed the // circular rose, with the indicated "radius" (the sides // of the square will be 2 * square_radius). The // texture coordinates of the square will uniformly map // to the back pole of the cube map. // // This is mainly useful to provide a good uniform // background color for a sphere map so that it does not // have a sharp circular edge that might produce // artifacts due to numerical imprecision when mapping. //////////////////////////////////////////////////////////////////// 3 4 this 3 470 16 square_inscribed 1 461 13 square_radius 1 465 29 14 Dtool_Xs2xS249 4 28 448 0 14 Dtool_Xs2xS249 614 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::set_reflection // Access: Public // Description: Sets the flag indicating whether the texture image // should be mirrored (true) or normal (false). When // this is true, the 3-D texture coordinates will be // reversed so that the image is appropriate for a // reflection. This is the best choice for generating a // sphere map from a cube map. The default is false. //////////////////////////////////////////////////////////////////// 2 4 this 3 470 10 reflection 1 461 30 14 Dtool_Xs2x86hh 7 29 466 0 14 Dtool_Xs2x86hh 293 //////////////////////////////////////////////////////////////////// // Function: FisheyeMaker::generate // Access: Public // Description: Generates a GeomNode that renders the specified // geometry. //////////////////////////////////////////////////////////////////// 1 4 this 3 470 31 14 Dtool_Xs2xYERg 7 32 471 0 14 Dtool_Xs2xYERg 227 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 446 32 14 Dtool_Xs2xU30L 4 33 448 0 14 Dtool_Xs2xU30L 360 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::setup_window // Access: Published // Description: Sets up the frame rate meter to create a // DisplayRegion to render itself into the indicated // window. //////////////////////////////////////////////////////////////////// 2 4 this 3 471 6 window 1 472 33 14 Dtool_Xs2xxnBF 4 34 448 0 14 Dtool_Xs2xxnBF 300 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::clear_window // Access: Published // Description: Undoes the effect of a previous call to // setup_window(). //////////////////////////////////////////////////////////////////// 1 4 this 3 471 34 14 Dtool_Xs2xYSXV 7 35 472 0 14 Dtool_Xs2xYSXV 858 // Filename: frameRateMeter.I // Created by: drose (23Dec03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_window // Access: Published // Description: Returns the GraphicsOutput that was passed to // setup_window(), or NULL if setup_window() has not // been called. //////////////////////////////////////////////////////////////////// 1 4 this 3 474 35 14 Dtool_Xs2xtWk2 7 36 477 0 14 Dtool_Xs2xtWk2 419 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_display_region // Access: Published // Description: Returns the DisplayRegion that the meter has created // to render itself into the window to setup_window(), // or NULL if setup_window() has not been called. //////////////////////////////////////////////////////////////////// 1 4 this 3 474 36 14 Dtool_Xs2xUvgr 4 37 448 0 14 Dtool_Xs2xUvgr 537 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::set_update_interval // Access: Published // Description: Specifies the number of seconds that should elapse // between updates to the frame rate indication. This // should be reasonably slow (e.g. 0.2 to 1.0) so that // the calculation of the frame rate text does not // itself dominate the frame rate. //////////////////////////////////////////////////////////////////// 2 4 this 3 471 15 update_interval 1 478 37 14 Dtool_Xs2x0Ouf 6 38 478 0 14 Dtool_Xs2x0Ouf 344 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_update_interval // Access: Published // Description: Returns the number of seconds that will elapse // between updates to the frame rate indication. //////////////////////////////////////////////////////////////////// 1 4 this 3 474 38 14 Dtool_Xs2xNbmG 4 39 448 0 14 Dtool_Xs2xNbmG 442 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::set_text_pattern // Access: Published // Description: Sets the sprintf() pattern that is used to format the // text. The string "%f" or some variant will be // replaced with the current frame rate in frames per // second. //////////////////////////////////////////////////////////////////// 2 4 this 3 471 12 text_pattern 1 446 39 14 Dtool_Xs2xJ3wF 6 40 446 0 14 Dtool_Xs2xJ3wF 311 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_text_pattern // Access: Published // Description: Returns the sprintf() pattern that is used to format the // text. //////////////////////////////////////////////////////////////////// 1 4 this 3 474 40 14 Dtool_Xs2xqr7U 4 41 448 0 14 Dtool_Xs2xqr7U 404 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::set_clock_object // Access: Published // Description: Sets the clock that is used to determine the frame // rate. The default is the application's global clock // (ClockObject::get_global_clock()). //////////////////////////////////////////////////////////////////// 2 4 this 3 471 12 clock_object 1 479 41 14 Dtool_Xs2xZmdy 7 42 479 0 14 Dtool_Xs2xZmdy 308 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::get_clock_object // Access: Published // Description: Returns the clock that is used to determine the frame // rate. //////////////////////////////////////////////////////////////////// 1 4 this 3 474 42 14 Dtool_Xs2xCl_G 4 43 448 0 14 Dtool_Xs2xCl_G 442 //////////////////////////////////////////////////////////////////// // Function: FrameRateMeter::update // Access: Published // Description: You can call this to explicitly force the // FrameRateMeter to update itself with the latest frame // rate information. Normally, it is not necessary to // call this explicitly. //////////////////////////////////////////////////////////////////// 1 4 this 3 471 43 14 Dtool_Xs2xKim9 7 44 469 0 14 Dtool_Xs2xKim9 0 0 44 14 Dtool_Xs2xoG9Y 7 47 481 0 14 Dtool_Xs2xoG9Y 225 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 446 45 14 Dtool_Xs2xqpVp 6 48 482 0 14 Dtool_Xs2xqpVp 396 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::heightfield // Access: Published // Description: Returns a reference to the heightfield (a PNMImage) // contained inside GeoMipTerrain. You can use // the reference to alter the heightfield. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 46 14 Dtool_Xs2xJzWh 6 49 461 0 14 Dtool_Xs2xJzWh 511 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_heightfield // Access: Published // Description: Loads the specified heightmap image file into // the heightfield. Returns true if succeeded, or // false if an error has occured. // If the heightmap is not a power of two plus one, // it is scaled up using a gaussian filter. //////////////////////////////////////////////////////////////////// 3 4 this 3 481 8 filename 1 484 4 type 1 487 47 14 Dtool_Xs2xYIBy 6 49 461 0 14 Dtool_Xs2xYIBy 511 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_heightfield // Access: Published // Description: Loads the specified heightmap image file into // the heightfield. Returns true if succeeded, or // false if an error has occured. // If the heightmap is not a power of two plus one, // it is scaled up using a gaussian filter. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 8 filename 1 484 48 14 Dtool_Xs2xm4qH 6 49 461 0 14 Dtool_Xs2xm4qH 511 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_heightfield // Access: Published // Description: Loads the specified heightmap image file into // the heightfield. Returns true if succeeded, or // false if an error has occured. // If the heightmap is not a power of two plus one, // it is scaled up using a gaussian filter. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 5 image 1 489 49 14 Dtool_Xs2xxycN 6 49 461 0 14 Dtool_Xs2xxycN 0 2 4 this 3 481 4 path 1 446 50 14 Dtool_Xs2xfXT0 6 50 482 0 14 Dtool_Xs2xfXT0 390 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::color_map // Access: Published // Description: Returns a reference to the color map (a PNMImage) // contained inside GeoMipTerrain. You can use // the reference to alter the color map. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 51 14 Dtool_Xs2xPmDS 6 51 461 0 14 Dtool_Xs2xPmDS 511 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_color_map // Access: Published // Description: Loads the specified image as color map. The next // time generate() is called, the terrain is painted // with this color map using the vertex color column. // Returns a boolean indicating whether the operation // has succeeded. //////////////////////////////////////////////////////////////////// 3 4 this 3 481 8 filename 1 484 4 type 1 487 52 14 Dtool_Xs2xThOn 6 51 461 0 14 Dtool_Xs2xThOn 511 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_color_map // Access: Published // Description: Loads the specified image as color map. The next // time generate() is called, the terrain is painted // with this color map using the vertex color column. // Returns a boolean indicating whether the operation // has succeeded. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 8 filename 1 484 53 14 Dtool_Xs2xAtUU 6 51 461 0 14 Dtool_Xs2xAtUU 0 2 4 this 3 481 5 image 1 489 54 14 Dtool_Xs2xFqBu 6 51 461 0 14 Dtool_Xs2xFqBu 0 2 4 this 3 481 5 image 1 458 55 14 Dtool_Xs2xuhnV 6 51 461 0 14 Dtool_Xs2xuhnV 0 2 4 this 3 481 4 path 1 446 56 14 Dtool_Xs2xbSon 6 52 461 0 14 Dtool_Xs2xbSon 269 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::has_color_map // Access: Published // Description: Returns whether a color map has been set. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 57 14 Dtool_Xs2xs5cJ 4 53 448 0 14 Dtool_Xs2xs5cJ 251 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::clear_color_map // Access: Published // Description: Clears the color map. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 58 14 Dtool_Xs2x1u6r 6 54 478 0 14 Dtool_Xs2x1u6r 746 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_elevation // Access: Published // Description: Fetches the elevation at (x, y), where the input // coordinate is specified in pixels. This ignores // the current LOD level and instead provides an // accurate number. Linear blending is used for // non-integral coordinates. // Terrain scale is NOT taken into account! To get // accurate normals, please multiply this with the // terrain Z scale! // // trueElev = terr.get_elevation(x,y) * terr.get_sz(); //////////////////////////////////////////////////////////////////// 3 4 this 3 481 1 x 1 478 1 y 1 478 59 14 Dtool_Xs2x_DkD 7 55 492 0 14 Dtool_Xs2x_DkD 910 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_normal // Access: Published // Description: Fetches the terrain normal at (x, y), where the // input coordinate is specified in pixels. This // ignores the current LOD level and instead provides // an accurate number. // Terrain scale is NOT taken into account! To get // accurate normals, please divide it by the // terrain scale and normalize it again, like this: // // LVector3f normal (terr.get_normal(x, y)); // normal.set(normal.get_x() / root.get_sx(), // normal.get_y() / root.get_sy(), // normal.get_z() / root.get_sz()); // normal.normalize(); //////////////////////////////////////////////////////////////////// 3 4 this 3 481 1 x 1 460 1 y 1 460 60 14 Dtool_Xs2x8Kv7 7 55 492 0 14 Dtool_Xs2x8Kv7 618 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_normal // Access: Published // Description: Fetches the terrain normal at (x,y), where the input // coordinate is specified in pixels. This ignores the // current LOD level and instead provides an // accurate number. // Terrain scale is NOT taken into account! To get // accurate normals, please divide it by the // terrain scale and normalize it again! //////////////////////////////////////////////////////////////////// 5 4 this 3 481 2 mx 1 493 2 my 1 493 1 x 1 460 1 y 1 460 61 14 Dtool_Xs2xxJUg 4 56 448 0 14 Dtool_Xs2xxJUg 518 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_bruteforce // Access: Published // Description: Sets a boolean specifying whether the terrain will // be rendered bruteforce. If the terrain is rendered // bruteforce, there will be no Level of Detail, and // the update() call will only update the // terrain if it is marked dirty. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 2 bf 1 461 62 14 Dtool_Xs2x94Pk 6 57 461 0 14 Dtool_Xs2x94Pk 372 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_bruteforce // Access: Published // Description: Returns a boolean whether the terrain is rendered // bruteforce or not. See set_bruteforce for more // information. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 63 14 Dtool_Xs2xCbvp 4 59 448 0 14 Dtool_Xs2xCbvp 473 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_auto_flatten // Access: Private // Description: The terrain can be automatically flattened (using // flatten_light, flatten_medium, or flatten_strong) // after each update. This only affects future // updates, it doesn't flatten the current terrain. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 4 mode 1 460 64 14 Dtool_Xs2xyaSr 4 60 448 0 14 Dtool_Xs2xyaSr 276 // The focal point is the point at which the terrain will have the // highest quality (lowest level of detail). Parts farther away from // the focal point will have a lower quality (higher level of detail). // The focal point is not taken in respect if bruteforce is set true. 2 4 this 3 481 2 fp 1 494 65 14 Dtool_Xs2xOiSL 4 60 448 0 14 Dtool_Xs2xOiSL 276 // The focal point is the point at which the terrain will have the // highest quality (lowest level of detail). Parts farther away from // the focal point will have a lower quality (higher level of detail). // The focal point is not taken in respect if bruteforce is set true. 2 4 this 3 481 2 fp 1 496 66 14 Dtool_Xs2xrZyu 4 60 448 0 14 Dtool_Xs2xrZyu 0 2 4 this 3 481 2 fp 1 497 67 14 Dtool_Xs2xniyO 4 60 448 0 14 Dtool_Xs2xniyO 0 2 4 this 3 481 2 fp 1 499 68 14 Dtool_Xs2xZTC5 4 60 448 0 14 Dtool_Xs2xZTC5 0 2 4 this 3 481 3 fnp 1 500 69 14 Dtool_Xs2xroJ3 4 60 448 0 14 Dtool_Xs2xroJ3 657 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_focal_point // Access: Published // Description: Sets the focal point. GeoMipTerrain generates // high-resolution terrain around the focal point, and // progressively lower and lower resolution terrain // as you get farther away. If a point is supplied // and not a NodePath, make sure it's relative to // the terrain. Only the x and y coordinates of // the focal point are taken in respect. //////////////////////////////////////////////////////////////////// 3 4 this 3 481 1 x 1 478 1 y 1 478 70 14 Dtool_Xs2xzyJx 7 61 500 0 14 Dtool_Xs2xzyJx 394 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_focal_point // Access: Published // Description: Returns the focal point, as a NodePath. // If you have set it to be just a point, it will // return an empty node at the focal position. //////////////////////////////////////////////////////////////////// 1 4 this 3 502 71 14 Dtool_Xs2xiRdh 7 62 500 0 14 Dtool_Xs2xiRdh 546 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_root // Access: Published // Description: Returns the root of the terrain. This is a // single PandaNode to which all the rest of the // terrain is parented. The generate and update // operations replace the nodes which are parented // to this root, but they don't replace this root // itself. //////////////////////////////////////////////////////////////////// 1 4 this 3 502 72 14 Dtool_Xs2xBUSL 4 63 448 0 14 Dtool_Xs2xBUSL 329 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_block_size // Access: Published // Description: Sets the block size. If it is not a power of two, // the closest power of two is used. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 5 newbs 1 493 73 14 Dtool_Xs2xToFz 6 64 493 0 14 Dtool_Xs2xToFz 249 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_block_size // Access: Published // Description: Gets the block size. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 74 14 Dtool_Xs2xngc9 6 65 493 0 14 Dtool_Xs2xngc9 387 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_max_level // Access: Published // Description: Returns the highest level possible for this block // size. When a block is at this level, it will be // the worst quality possible. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 75 14 Dtool_Xs2xkJtk 4 66 448 0 14 Dtool_Xs2xkJtk 518 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_min_level // Access: Published // Description: Sets the minimum level of detail at which blocks // may be generated by generate() or update(). // The default value is 0, which is the highest // quality. This value is also taken in respect when // generating the terrain bruteforce. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 8 minlevel 1 493 76 14 Dtool_Xs2xmePe 6 67 493 0 14 Dtool_Xs2xmePe 425 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_min_level // Access: Published // Description: Gets the minimum level of detail at which blocks // may be generated by generate() or update(). // The default value is 0, which is the highest // quality. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 77 14 Dtool_Xs2xKmb4 6 68 461 0 14 Dtool_Xs2xKmb4 585 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::is_dirty // Access: Published // Description: Returns a bool indicating whether the terrain is // marked 'dirty', that means the terrain has to be // regenerated on the next update() call, because // for instance the heightfield has changed. // Once the terrain has been regenerated, the dirty // flag automatically gets reset internally. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 78 14 Dtool_Xs2xwWkW 4 69 448 0 14 Dtool_Xs2xwWkW 633 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_factor // Access: Published // Description: DEPRECATED method. Use set_near/far instead. // Sets the quality factor at which blocks must be // generated. The higher this level, the better // quality the terrain will be, but more expensive // to render. A value of 0 makes the terrain the // lowest quality possible, depending on blocksize. // The default value is 100. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 6 factor 1 465 79 14 Dtool_Xs2xO5qC 4 70 448 0 14 Dtool_Xs2xO5qC 275 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_near_far // Access: Published // Description: Sets the near and far LOD distances in one call. //////////////////////////////////////////////////////////////////// 3 4 this 3 481 10 input_near 1 478 9 input_far 1 478 80 14 Dtool_Xs2xEOBo 4 71 448 0 14 Dtool_Xs2xEOBo 394 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_near // Access: Published // Description: Sets the near LOD distance, at which the terrain // will be rendered at highest quality. // This distance is in the terrain's coordinate space! //////////////////////////////////////////////////////////////////// 2 4 this 3 481 10 input_near 1 478 81 14 Dtool_Xs2xPhpF 4 72 448 0 14 Dtool_Xs2xPhpF 391 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_far // Access: Published // Description: Sets the far LOD distance, at which the terrain // will be rendered at lowest quality. // This distance is in the terrain's coordinate space! //////////////////////////////////////////////////////////////////// 2 4 this 3 481 9 input_far 1 478 82 14 Dtool_Xs2xV1Mt 7 73 505 0 14 Dtool_Xs2xV1Mt 724 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_block_node_path // Access: Published // Description: Returns the NodePath of the specified block. // If auto-flatten is enabled and the node is // getting removed during the flattening process, // it will still return a NodePath with the // appropriate terrain chunk, but it will be in // a temporary scenegraph. // Please note that this returns a const object and // you can not modify the node. Modify the heightfield // instead. //////////////////////////////////////////////////////////////////// 3 4 this 3 481 2 mx 1 493 2 my 1 493 83 14 Dtool_Xs2xYcN0 7 74 507 0 14 Dtool_Xs2xYcN0 832 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_block_from_pos // Access: Published // Description: Gets the coordinates of the block at the specified // position. This position must be relative to the // terrain, not to render. Returns an array containing // two values: the block x and the block y coords. // If the positions are out of range, the closest // block is taken. // Note that the VecBase returned does not represent // a vector, position, or rotation, but it contains // the block index of the block which you can use // in GeoMipTerrain::get_block_node_path. //////////////////////////////////////////////////////////////////// 3 4 this 3 481 1 x 1 478 1 y 1 478 84 14 Dtool_Xs2xnK8G 4 75 448 0 14 Dtool_Xs2xnK8G 690 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::set_border_stitching // Access: Published // Description: If this value is true, the LOD level at the // borders of the terrain will be 0. This is useful // if you have multiple terrains attached and you // want to stitch them together, to fix seams. // This setting also has effect when bruteforce is // enabled, although in that case you are probably // better off with setting the minlevels to the same // value. //////////////////////////////////////////////////////////////////// 2 4 this 3 481 9 stitching 1 461 85 14 Dtool_Xs2xLmPz 6 76 461 0 14 Dtool_Xs2xLmPz 336 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_stitching // Access: Published // Description: Returns the current stitching setting. False by // default, unless set_stitching has been set. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 86 14 Dtool_Xs2x5uZa 6 77 478 0 14 Dtool_Xs2x5uZa 289 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_far // Access: Published // Description: Returns the far LOD distance in the terrain coordinate // space //////////////////////////////////////////////////////////////////// 1 4 this 3 481 87 14 Dtool_Xs2xId44 6 78 478 0 14 Dtool_Xs2xId44 291 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_near // Access: Published // Description: Returns the near LOD distance in the terrain coordinate // space //////////////////////////////////////////////////////////////////// 1 4 this 3 481 88 14 Dtool_Xs2xhTuL 6 79 460 0 14 Dtool_Xs2xhTuL 345 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::get_flatten_mode // Access: Published // Description: Returns the automatic-flatten mode (e.g., off, // flatten_light, flatten_medium, or flatten_strong) //////////////////////////////////////////////////////////////////// 1 4 this 3 481 89 14 Dtool_Xs2xBNpS 7 80 482 0 14 Dtool_Xs2xBNpS 888 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::make_slope_image // Access: Published // Description: Returns a new grayscale image containing the slope // angles. A white pixel value means a vertical slope, // while a black pixel will mean that the terrain is // entirely flat at that pixel. // You can translate it to degrees by mapping the // greyscale values from 0 to 90 degrees. // The resulting image will have the same size as the // heightfield image. // The scale will be taken into respect -- meaning, // if you change the terrain scale, the slope image // will need to be regenerated in order to be correct. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 90 14 Dtool_Xs2xccNU 4 81 448 0 14 Dtool_Xs2xccNU 463 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::generate // Access: Published // Description: (Re)generates the entire terrain, erasing the // current. // This call un-flattens the terrain, so make sure // you have set auto-flatten if you want to keep // your terrain flattened. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 91 14 Dtool_Xs2xxGAG 6 82 461 0 14 Dtool_Xs2xxGAG 790 //////////////////////////////////////////////////////////////////// // Function: GeoMipTerrain::update // Access: Published // Description: Loops through all of the terrain blocks, and // checks whether they need to be updated. // If that is indeed the case, it regenerates the // mipmap. Returns a true when the terrain has // changed. Returns false when the terrain isn't // updated at all. If there is no terrain yet, // it generates the entire terrain. // This call un-flattens the terrain, so make sure // you have set auto-flatten if you want to keep // your terrain flattened. //////////////////////////////////////////////////////////////////// 1 4 this 3 481 92 14 Dtool_Xs2xBjrR 7 83 469 0 14 Dtool_Xs2xBjrR 0 0 93 14 Dtool_Xs2xArZ1 7 85 508 300 14 Dtool_Xs2xArZ1 731 // Filename: heightfieldTesselator.I // Created by: jyelon (17jul06) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 446 94 14 Dtool_Xs2xzq0T 6 87 482 0 14 Dtool_Xs2xzq0T 416 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::heightfield // Access: Published // Description: Returns a reference to the heightfield (a PNMImage) // contained inside the HeightfieldTesselator. You // can use the reference to alter the heightfield. //////////////////////////////////////////////////////////////////// 1 4 this 3 508 95 14 Dtool_Xs2xjB94 6 88 461 0 14 Dtool_Xs2xjB94 317 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_heightfield // Access: Published // Description: Loads the specified greyscale image file into // the heightfield. //////////////////////////////////////////////////////////////////// 3 4 this 3 508 8 filename 1 484 4 type 1 487 96 14 Dtool_Xs2xr6iN 6 88 461 0 14 Dtool_Xs2xr6iN 317 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_heightfield // Access: Published // Description: Loads the specified greyscale image file into // the heightfield. //////////////////////////////////////////////////////////////////// 2 4 this 3 508 8 filename 1 484 97 14 Dtool_Xs2xjLhQ 4 89 448 0 14 Dtool_Xs2xjLhQ 385 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_poly_count // Access: Public // Description: Sets the polygon-count target. The tesselator // usually manages to come within about 20% of the // target, plus or minus. //////////////////////////////////////////////////////////////////// 2 4 this 3 508 1 n 1 460 98 14 Dtool_Xs2xHSWP 4 90 448 0 14 Dtool_Xs2xHSWP 677 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_visibility_radius // Access: Published // Description: Sets the visibility radius. Polygons that // are completely outside the radius (relative to // the focal point) are cropped away. The cropping // is imperfect (all approximations are conservative), // so this should be used in conjunction with a far // clipping plane, fog, or some other visibility // limiting mechanism. The units are in pixels. //////////////////////////////////////////////////////////////////// 2 4 this 3 508 1 r 1 460 99 14 Dtool_Xs2x8fss 4 91 448 0 14 Dtool_Xs2x8fss 488 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_focal_point // Access: Published // Description: Sets the focal point. The tesselator generates // high-resolution terrain around the focal point, and // progressively lower and lower resolution terrain // as you get farther away. The units are in pixels. //////////////////////////////////////////////////////////////////// 3 4 this 3 508 1 x 1 460 1 y 1 460 100 14 Dtool_Xs2xp0Br 4 92 448 0 14 Dtool_Xs2xp0Br 398 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_horizontal_scale // Access: Published // Description: Sets the horizontal scale. The default scale is 1.0, // meaning that each pixel in the heightfield is // 1x1 panda units wide. //////////////////////////////////////////////////////////////////// 2 4 this 3 508 1 h 1 478 101 14 Dtool_Xs2xPLaX 4 93 448 0 14 Dtool_Xs2xPLaX 423 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_vertical_scale // Access: Published // Description: Sets the vertical scale. The default scale is 255.0, // meaning that each as the gray value ranges from (0-1), // the elevation ranges from (0-255) feet. //////////////////////////////////////////////////////////////////// 2 4 this 3 508 1 v 1 478 102 14 Dtool_Xs2x9mbV 4 94 448 0 14 Dtool_Xs2x9mbV 272 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::set_max_triangles // Access: Published // Description: Sets the max triangles per geom. //////////////////////////////////////////////////////////////////// 2 4 this 3 508 1 n 1 460 103 14 Dtool_Xs2xsBBI 6 95 478 0 14 Dtool_Xs2xsBBI 525 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::get_elevation // Access: Private // Description: Fetches the elevation at (x,y), where the input // coordinate is specified in pixels. This ignores the // current tesselation level and instead provides an // accurate number. Linear blending is used for // non-integral coordinates. //////////////////////////////////////////////////////////////////// 3 4 this 3 508 1 x 1 478 1 y 1 478 104 14 Dtool_Xs2xG1QH 7 96 500 0 14 Dtool_Xs2xG1QH 346 //////////////////////////////////////////////////////////////////// // Function: HeightfieldTesselator::generate // Access: Published // Description: Generates a tree of nodes that represents the // heightfield. This can be reparented into the scene. //////////////////////////////////////////////////////////////////// 1 4 this 3 508 105 14 Dtool_Xs2xx_T0 7 98 509 0 14 Dtool_Xs2xx_T0 236 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 name 1 446 4 node 1 466 106 14 Dtool_Xs2xWe_a 4 99 448 0 14 Dtool_Xs2xWe_a 369 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::setup_window // Access: Published // Description: Sets up the frame rate meter to create a // DisplayRegion to render itself into the indicated // window. //////////////////////////////////////////////////////////////////// 2 4 this 3 509 6 window 1 472 107 14 Dtool_Xs2xQgNS 4 100 448 0 14 Dtool_Xs2xQgNS 309 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::clear_window // Access: Published // Description: Undoes the effect of a previous call to // setup_window(). //////////////////////////////////////////////////////////////////// 1 4 this 3 509 108 14 Dtool_Xs2xRXM8 7 101 472 0 14 Dtool_Xs2xRXM8 876 // Filename: sceneGraphAnalyzerMeter.I // Created by: pratt (14Feb07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_window // Access: Published // Description: Returns the GraphicsOutput that was passed to // setup_window(), or NULL if setup_window() has not // been called. //////////////////////////////////////////////////////////////////// 1 4 this 3 510 109 14 Dtool_Xs2xElWA 7 102 477 0 14 Dtool_Xs2xElWA 428 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_display_region // Access: Published // Description: Returns the DisplayRegion that the meter has created // to render itself into the window to setup_window(), // or NULL if setup_window() has not been called. //////////////////////////////////////////////////////////////////// 1 4 this 3 510 110 14 Dtool_Xs2xUN_u 4 103 448 0 14 Dtool_Xs2xUN_u 535 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::set_update_interval // Access: Published // Description: Specifies the number of seconds that should elapse // between updates to the meter. This should be // reasonably slow (e.g. 0.5 to 2.0) so that the // calculation of the scene graph analysis does not // itself dominate the frame rate. //////////////////////////////////////////////////////////////////// 2 4 this 3 509 15 update_interval 1 478 111 14 Dtool_Xs2xa6gl 6 104 478 0 14 Dtool_Xs2xa6gl 353 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_update_interval // Access: Published // Description: Returns the number of seconds that will elapse // between updates to the frame rate indication. //////////////////////////////////////////////////////////////////// 1 4 this 3 510 112 14 Dtool_Xs2xz_PO 4 105 448 0 14 Dtool_Xs2xz_PO 262 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::set_node // Access: Published // Description: Sets the node to be analyzed. //////////////////////////////////////////////////////////////////// 2 4 this 3 509 4 node 1 466 113 14 Dtool_Xs2xvFXY 7 106 466 0 14 Dtool_Xs2xvFXY 265 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::get_node // Access: Published // Description: Returns the node to be analyzed. //////////////////////////////////////////////////////////////////// 1 4 this 3 510 114 14 Dtool_Xs2xHudS 4 107 448 0 14 Dtool_Xs2xHudS 469 //////////////////////////////////////////////////////////////////// // Function: SceneGraphAnalyzerMeter::update // Access: Published // Description: You can call this to explicitly force the // SceneGraphAnalyzerMeter to update itself with the // latest scene graph analysis information. // Normally, it is not necessary to call this explicitly. //////////////////////////////////////////////////////////////////// 1 4 this 3 509 115 14 Dtool_Xs2xW6OB 7 108 469 0 14 Dtool_Xs2xW6OB 0 0 116 14 Dtool_Xs2xfr1x 7 110 512 0 14 Dtool_Xs2xfr1x 263 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::Constructor // Access: Published // Description: Creates the MeshDrawer low level system. //////////////////////////////////////////////////////////////////// 0 117 14 Dtool_Xs2xWgqx 4 111 448 0 14 Dtool_Xs2xWgqx 385 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::set_budget // Access: Published // Description: Sets the total triangle budget of the drawer. // This will not be exceeded. Don't set some thing too // large because it will be slow //////////////////////////////////////////////////////////////////// 2 4 this 3 512 6 budget 1 460 118 14 Dtool_Xs2xqR0e 6 112 460 0 14 Dtool_Xs2xqR0e 268 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::get_budget() // Access: Published // Description: Gets the total triangle budget of the drawer //////////////////////////////////////////////////////////////////// 1 4 this 3 512 119 14 Dtool_Xs2xQVVy 7 113 500 0 14 Dtool_Xs2xQVVy 424 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::get_root // Access: Published // Description: Returns the root NodePath. You should use this node // to reparent mesh drawer onto the scene // might also want to disable depth draw or enable // transparency. //////////////////////////////////////////////////////////////////// 1 4 this 3 512 120 14 Dtool_Xs2xiNeR 4 114 448 0 14 Dtool_Xs2xiNeR 367 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::begin // Access: Published // Description: Pass the current camera node and the root node. // Passing the camera is required to generate // bill boards that face it. //////////////////////////////////////////////////////////////////// 3 4 this 3 512 6 camera 1 500 6 render 1 500 121 14 Dtool_Xs2xy_6H 4 115 448 0 14 Dtool_Xs2xy_6H 258 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::tri // Access: Published // Description: Draws a triangle with the given parameters. //////////////////////////////////////////////////////////////////// 10 4 this 3 512 2 v1 1 492 2 c1 1 513 3 uv1 1 514 2 v2 1 492 2 c2 1 513 3 uv2 1 514 2 v3 1 492 2 c3 1 513 3 uv3 1 514 122 14 Dtool_Xs2xpNbq 4 116 448 0 14 Dtool_Xs2xpNbq 385 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::particle // Access: Published // Description: Draws a particle that is sort of like a bill board // but has an extra rotation component. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 6 4 this 3 512 3 pos 1 492 5 frame 1 513 4 size 1 465 5 color 1 513 8 rotation 1 465 123 14 Dtool_Xs2xJ1Ji 4 117 448 0 14 Dtool_Xs2xJ1Ji 400 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::blended_particle // Access: Published // Description: Works just like particle but accepts 2 frames and // a blend (from 0 to 1) component between them // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 8 4 this 3 512 3 pos 1 492 6 frame1 1 513 6 frame2 1 513 5 blend 1 465 4 size 1 465 5 color 1 513 8 rotation 1 465 124 14 Dtool_Xs2x1_Ov 4 118 448 0 14 Dtool_Xs2x1_Ov 380 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::billboard // Access: Published // Description: Draws a billboard - particle with no rotation. // Billboards always face the camera. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 5 4 this 3 512 3 pos 1 492 5 frame 1 513 4 size 1 465 5 color 1 513 125 14 Dtool_Xs2xMTt9 4 119 448 0 14 Dtool_Xs2xMTt9 367 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::segment // Access: Published // Description: Draws a segment a line with a thickness. That has // billboarding effect. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 6 4 this 3 512 5 start 1 492 4 stop 1 492 5 frame 1 513 9 thickness 1 465 5 color 1 513 126 14 Dtool_Xs2xNFNJ 4 120 448 0 14 Dtool_Xs2xNFNJ 503 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::cross_segment // Access: Published // Description: Draws a segment a line with a thickness. This // segment does not use the bill boarding behavior // and instead draws 2 planes in a cross. // Stars at start and ends at stop. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 6 4 this 3 512 5 start 1 492 4 stop 1 492 5 frame 1 513 9 thickness 1 465 5 color 1 513 127 14 Dtool_Xs2xenR0 4 121 448 0 14 Dtool_Xs2xenR0 426 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::uneven_segment // Access: Published // Description: Draws a segment a line with different thickness // and color on both sides. // Stars at start and ends at stop. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 8 4 this 3 512 5 start 1 492 4 stop 1 492 5 frame 1 513 15 thickness_start 1 465 11 color_start 1 513 14 thickness_stop 1 465 10 color_stop 1 513 128 14 Dtool_Xs2xjjqk 4 122 448 0 14 Dtool_Xs2xjjqk 415 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::link_segment // Access: Published // Description: Stars or continues linked segment. // Control position, frame, thickness and color with // parameters. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 5 4 this 3 512 3 pos 1 492 5 frame 1 513 9 thickness 1 465 5 color 1 513 129 14 Dtool_Xs2xFg7W 4 123 448 0 14 Dtool_Xs2xFg7W 433 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::link_segment_end // Access: Published // Description: Finish drawing linked segments, needs at least // two calls to link_segment before it can end // the linked segment. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 3 4 this 3 512 5 frame 1 513 5 color 1 513 130 14 Dtool_Xs2xskV5 4 124 448 0 14 Dtool_Xs2xskV5 333 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::explosion // Access: Published // Description: Draws number of particles in a sphere like emitter. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 8 4 this 3 512 3 pos 1 492 5 frame 1 513 4 size 1 465 5 color 1 513 4 seed 1 460 6 number 1 460 8 distance 1 465 131 14 Dtool_Xs2xY_Xp 4 125 448 0 14 Dtool_Xs2xY_Xp 374 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::stream // Access: Published // Description: Draws a number of particles in a big line with a // shift dictated by the offset. // Frame contains u,v,u-size,v-size quadruple. //////////////////////////////////////////////////////////////////// 8 4 this 3 512 5 start 1 492 4 stop 1 492 5 frame 1 513 4 size 1 465 5 color 1 513 6 number 1 460 6 offset 1 465 132 14 Dtool_Xs2xsuCB 4 126 448 0 14 Dtool_Xs2xsuCB 559 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::geometry // Access: Published // Description: Draws the geometry that is inside this node path into // the MeshDrawer object. This performs a similar // functions as RigidBodyCombiner but for very // dynamic situations that share the same texture // like physcal chunks of explosions. // It can be a little slow //////////////////////////////////////////////////////////////////// 2 4 this 3 512 4 node 1 500 133 14 Dtool_Xs2xk62l 4 127 448 0 14 Dtool_Xs2xk62l 293 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer::end // Access: Published // Description: Finish the drawing and clearing off the remaining // vertexes. //////////////////////////////////////////////////////////////////// 1 4 this 3 512 134 14 Dtool_Xs2xxrHK 7 128 469 0 14 Dtool_Xs2xxrHK 0 0 135 14 Dtool_Xs2xv8ZS 7 130 516 0 14 Dtool_Xs2xv8ZS 267 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::Constructor // Access: Published // Description: Creates the MeshDrawer2D low level system. //////////////////////////////////////////////////////////////////// 0 136 14 Dtool_Xs2xbALn 4 131 448 0 14 Dtool_Xs2xbALn 269 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::set_budget // Access: Published // Description: Sets the total triangle budget of the drawer. //////////////////////////////////////////////////////////////////// 2 4 this 3 516 6 budget 1 460 137 14 Dtool_Xs2xRJg6 6 132 460 0 14 Dtool_Xs2xRJg6 270 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::get_budget() // Access: Published // Description: Gets the total triangle budget of the drawer //////////////////////////////////////////////////////////////////// 1 4 this 3 516 138 14 Dtool_Xs2xJOPG 7 133 500 0 14 Dtool_Xs2xJOPG 248 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::get_root // Access: Published // Description: Returns the root NodePath. //////////////////////////////////////////////////////////////////// 1 4 this 3 516 139 14 Dtool_Xs2x2PJQ 4 134 448 0 14 Dtool_Xs2x2PJQ 286 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle. // Ignores the cliping rectangle //////////////////////////////////////////////////////////////////// 13 4 this 3 516 2 v1 1 492 2 c1 1 513 3 uv1 1 514 2 v2 1 492 2 c2 1 513 3 uv2 1 514 2 v3 1 492 2 c3 1 513 3 uv3 1 514 2 v4 1 492 2 c4 1 513 3 uv4 1 514 140 14 Dtool_Xs2x_a4G 4 135 448 0 14 Dtool_Xs2x_a4G 0 10 4 this 3 516 1 x 1 465 1 y 1 465 1 w 1 465 1 h 1 465 1 u 1 465 1 v 1 465 2 us 1 465 2 vs 1 465 5 color 1 513 141 14 Dtool_Xs2xiH2C 4 136 448 0 14 Dtool_Xs2xiH2C 247 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::set_budget // Access: Published // Description: Sets clipping rectangle //////////////////////////////////////////////////////////////////// 5 4 this 3 516 1 x 1 465 1 y 1 465 1 w 1 465 1 h 1 465 142 14 Dtool_Xs2xB9NP 4 137 448 0 14 Dtool_Xs2xB9NP 258 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle, that can be cliped //////////////////////////////////////////////////////////////////// 10 4 this 3 516 1 x 1 465 1 y 1 465 1 w 1 465 1 h 1 465 1 u 1 465 1 v 1 465 2 us 1 465 2 vs 1 465 5 color 1 513 143 14 Dtool_Xs2xRnOr 4 138 448 0 14 Dtool_Xs2xRnOr 318 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle, with borders and corders, // taken from the surrounding texture //////////////////////////////////////////////////////////////////// 18 4 this 3 516 1 x 1 465 1 y 1 465 1 w 1 465 1 h 1 465 1 r 1 465 1 t 1 465 1 l 1 465 1 b 1 465 2 tr 1 465 2 tt 1 465 2 tl 1 465 2 tb 1 465 1 u 1 465 1 v 1 465 2 us 1 465 2 vs 1 465 5 color 1 513 144 14 Dtool_Xs2xri7F 4 139 448 0 14 Dtool_Xs2xri7F 318 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a 2d rectangle, with borders and corders, // taken from the surrounding texture //////////////////////////////////////////////////////////////////// 18 4 this 3 516 1 x 1 465 1 y 1 465 1 w 1 465 1 h 1 465 1 r 1 465 1 t 1 465 1 l 1 465 1 b 1 465 2 tr 1 465 2 tt 1 465 2 tl 1 465 2 tb 1 465 1 u 1 465 1 v 1 465 2 us 1 465 2 vs 1 465 5 color 1 513 145 14 Dtool_Xs2x3ANl 4 140 448 0 14 Dtool_Xs2x3ANl 290 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::quad // Access: Published // Description: Draws a tiled rectangle, size of tiles is in // us and vs //////////////////////////////////////////////////////////////////// 10 4 this 3 516 1 x 1 465 1 y 1 465 1 w 1 465 1 h 1 465 1 u 1 465 1 v 1 465 2 us 1 465 2 vs 1 465 5 color 1 513 146 14 Dtool_Xs2x3xzi 4 141 448 0 14 Dtool_Xs2x3xzi 306 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::begin // Access: Published // Description: Opens up the geom for drawing, dont forget to call // MeshDrawer2D::end() //////////////////////////////////////////////////////////////////// 1 4 this 3 516 147 14 Dtool_Xs2xszaL 4 142 448 0 14 Dtool_Xs2xszaL 293 //////////////////////////////////////////////////////////////////// // Function: MeshDrawer2D::end // Access: Published // Description: Finish the drawing and clearing off the remaining // vertexes. //////////////////////////////////////////////////////////////////// 1 4 this 3 516 148 14 Dtool_Xs2xcYFt 7 143 469 0 14 Dtool_Xs2xcYFt 0 0 149 14 Dtool_Xs2xMJH8 7 146 519 0 14 Dtool_Xs2xMJH8 271 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::Constructor // Access: Published // Description: Creates a texture playing the specified movie. //////////////////////////////////////////////////////////////////// 1 5 video 1 517 150 14 Dtool_Xs2xZAUA 7 146 519 0 14 Dtool_Xs2xZAUA 329 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::Constructor // Access: Published // Description: Creates a blank movie texture. Movies must be // added using do_read_one or do_load_one. //////////////////////////////////////////////////////////////////// 1 4 name 1 446 151 14 Dtool_Xs2xGvQt 6 147 478 0 14 Dtool_Xs2xGvQt 752 // Filename: movieTexture.I // Created by: jyelon (01Aug2007) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_video_length // Access: Published // Description: Returns the length of the video. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 152 14 Dtool_Xs2xs0yw 6 148 460 0 14 Dtool_Xs2xs0yw 463 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_video_width // Access: Published // Description: Returns the width in texels of the source video // stream. This is not necessarily the width of the // actual texture, since the texture may have been // expanded to raise it to a power of 2. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 153 14 Dtool_Xs2x74_7 6 149 460 0 14 Dtool_Xs2x74_7 466 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_video_height // Access: Published // Description: Returns the height in texels of the source video // stream. This is not necessarily the height of the // actual texture, since the texture may have been // expanded to raise it to a power of 2. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 154 14 Dtool_Xs2xaujg 7 150 507 0 14 Dtool_Xs2xaujg 965 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_tex_scale // Access: Published // Description: Returns a scale pair that is suitable for applying to // geometry via NodePath::set_tex_scale(), which will // convert texture coordinates on the geometry from the // range 0..1 into the appropriate range to render the // video part of the texture. // // This is necessary in the event the video source is // not a power of two and set_power_2() is true. In // this case, the video image will be mapped to the // lower-left corner of the texture, and the rest of the // texture space will be unused; so we will need to // remap any texture coordinates to fill the space // correctly. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 155 14 Dtool_Xs2x5AAR 4 151 448 0 14 Dtool_Xs2x5AAR 400 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::restart // Access: Published // Description: Start playing the movie from where it was last // paused. Has no effect if the movie is not paused, // or if the movie's cursor is already at the end. //////////////////////////////////////////////////////////////////// 1 4 this 3 519 156 14 Dtool_Xs2xfYSb 4 152 448 0 14 Dtool_Xs2xfYSb 383 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::stop // Access: Published // Description: Stops a currently playing or looping movie right // where it is. The movie's cursor remains frozen at // the point where it was stopped. //////////////////////////////////////////////////////////////////// 1 4 this 3 519 157 14 Dtool_Xs2xIfsD 4 153 448 0 14 Dtool_Xs2xIfsD 253 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::play // Access: Published // Description: Plays the movie from the beginning. //////////////////////////////////////////////////////////////////// 1 4 this 3 519 158 14 Dtool_Xs2xIupa 4 154 448 0 14 Dtool_Xs2xIupa 246 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_time // Access: Published // Description: Sets the movie's cursor. //////////////////////////////////////////////////////////////////// 2 4 this 3 519 1 t 1 478 159 14 Dtool_Xs2x2Gj_ 6 155 478 0 14 Dtool_Xs2x2Gj_ 565 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_time // Access: Published // Description: Returns the current value of the movie's cursor. // If the movie's loop count is greater than one, then // its length is effectively multiplied for the // purposes of this function. In other words, // the return value will be in the range 0.0 // to (length * loopcount). //////////////////////////////////////////////////////////////////// 1 4 this 3 520 160 14 Dtool_Xs2xunAa 4 156 448 0 14 Dtool_Xs2xunAa 335 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_loop // Access: Published // Description: If true, sets the movie's loop count to 1 billion. // If false, sets the movie's loop count to one. //////////////////////////////////////////////////////////////////// 2 4 this 3 519 6 enable 1 461 161 14 Dtool_Xs2x_amy 6 157 461 0 14 Dtool_Xs2x_amy 298 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_loop // Access: Published // Description: Returns true if the movie's loop count is not equal // to one. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 162 14 Dtool_Xs2xGUzI 4 158 448 0 14 Dtool_Xs2xGUzI 277 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_loop_count // Access: Published // Description: Sets the movie's loop count to the desired value. //////////////////////////////////////////////////////////////////// 2 4 this 3 519 5 count 1 460 163 14 Dtool_Xs2xvH29 6 159 460 0 14 Dtool_Xs2xvH29 259 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_loop_count // Access: Published // Description: Returns the movie's loop count. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 164 14 Dtool_Xs2xACuB 4 160 448 0 14 Dtool_Xs2xACuB 412 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::set_play_rate // Access: Published // Description: Sets the movie's play-rate. This is the speed at // which the movie's cursor advances. The default is // to advance 1.0 movie-seconds per real-time second. //////////////////////////////////////////////////////////////////// 2 4 this 3 519 9 play_rate 1 478 165 14 Dtool_Xs2x4dlJ 6 161 478 0 14 Dtool_Xs2x4dlJ 254 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::get_play_rate // Access: Published // Description: Gets the movie's play-rate. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 166 14 Dtool_Xs2xrcHq 6 162 461 0 14 Dtool_Xs2xrcHq 272 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::is_playing // Access: Published // Description: Returns true if the movie's cursor is advancing. //////////////////////////////////////////////////////////////////// 1 4 this 3 520 167 14 Dtool_Xs2xm7Uo 4 163 448 0 14 Dtool_Xs2xm7Uo 375 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::synchronize_to // Access: Published // Description: Synchronize this texture to a sound. Typically, // you would load the texture and the sound from the // same AVI file. //////////////////////////////////////////////////////////////////// 2 4 this 3 519 5 sound 1 522 168 14 Dtool_Xs2xPVnL 4 164 448 0 14 Dtool_Xs2xPVnL 259 //////////////////////////////////////////////////////////////////// // Function: MovieTexture::unsynchronize // Access: Published // Description: Stop synchronizing with a sound. //////////////////////////////////////////////////////////////////// 1 4 this 3 519 169 14 Dtool_Xs2x4XKd 7 165 469 0 14 Dtool_Xs2x4XKd 0 0 170 14 Dtool_Xs2xUAs_ 7 168 528 379 14 Dtool_Xs2xUAs_ 231 //////////////////////////////////////////////////////////////////// // Function: NodeVertexTransform::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 node 1 524 4 prev 1 526 171 14 Dtool_Xs2xLMac 7 168 528 379 14 Dtool_Xs2xLMac 231 //////////////////////////////////////////////////////////////////// // Function: NodeVertexTransform::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 node 1 524 172 14 Dtool_Xs2xE50V 7 169 524 0 14 Dtool_Xs2xE50V 800 // Filename: nodeVertexTransform.I // Created by: drose (22Feb07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: NodeVertexTransform::get_node // Access: Published // Description: Returns the PandaNode whose transform supplies this // object. //////////////////////////////////////////////////////////////////// 1 4 this 3 529 173 14 Dtool_Xs2xIvje 7 170 526 0 14 Dtool_Xs2xIvje 352 //////////////////////////////////////////////////////////////////// // Function: NodeVertexTransform::get_prev // Access: Published // Description: Returns the VertexTransform object whose matrix will // be composed with the result of this node's transform. //////////////////////////////////////////////////////////////////// 1 4 this 3 529 174 14 Dtool_Xs2xXA2j 7 171 469 0 14 Dtool_Xs2xXA2j 0 0 175 14 Dtool_Xs2x_teO 7 175 531 384 14 Dtool_Xs2x_teO 229 //////////////////////////////////////////////////////////////////// // Function: RigidBodyCombiner::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 446 176 14 Dtool_Xs2xJTag 4 176 448 0 14 Dtool_Xs2xJTag 1362 //////////////////////////////////////////////////////////////////// // Function: RigidBodyCombiner::collect // Access: Published // Description: Walks through the entire subgraph of nodes rooted at // this node, accumulates all of the RenderAttribs and // Geoms below this node, flattening them into just one // Geom (or as few as possible, if there are multiple // different states). // // Nodes that have transforms on them at the time of // collect(), or any ModelNodes with the // preserve_transform flag, will be identified as // "moving" nodes, and their transforms will be // monitored as they change in future frames and each // new transform directly applied to the vertices. // // This call must be made after adding any nodes to or // removing any nodes from the subgraph rooted at this // node. It should not be made too often, as it is a // relatively expensive call. If you need to hide // children of this node, consider scaling them to zero // (or very near zero), or moving them behind the // camera, instead. //////////////////////////////////////////////////////////////////// 1 4 this 3 531 177 14 Dtool_Xs2xxe0d 7 177 500 0 14 Dtool_Xs2xxe0d 620 //////////////////////////////////////////////////////////////////// // Function: RigidBodyCombiner::get_internal_scene // Access: Published // Description: Returns a special NodePath that represents the // internal node of this object. This is the node that // is actually sent to the graphics card for rendering; // it contains the collection of the children of this // node into as few Geoms as possible. // // This node is filled up by the last call to collect(). //////////////////////////////////////////////////////////////////// 1 4 this 3 531 178 14 Dtool_Xs2xpy_l 7 178 469 0 14 Dtool_Xs2xpy_l 0 0 179 14 Dtool_Xs2x_HaA 7 187 532 397 14 Dtool_Xs2x_HaA 239 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 host 1 472 180 14 Dtool_Xs2xStnT 7 187 532 397 14 Dtool_Xs2xStnT 244 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 533 181 14 Dtool_Xs2xZLBh 4 188 448 0 14 Dtool_Xs2xZLBh 246 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::set_scene // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 532 11 scene_setup 1 535 3 gsg 1 537 20 dr_incomplete_render 1 461 182 14 Dtool_Xs2xLqEM 4 189 448 0 14 Dtool_Xs2xLqEM 407 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::end_traverse // Access: Public, Virtual // Description: 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 532 183 14 Dtool_Xs2xUW92 7 190 472 0 14 Dtool_Xs2xUW92 740 // Filename: pipeOcclusionCullTraverser.I // Created by: drose (29May07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::get_buffer // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 533 184 14 Dtool_Xs2xtAY0 7 191 539 0 14 Dtool_Xs2xtAY0 338 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::get_texture // Access: Published // Description: Returns a Texture that can be used to visualize the // efforts of the occlusion cull. //////////////////////////////////////////////////////////////////// 1 4 this 3 532 185 14 Dtool_Xs2xym4N 4 192 448 0 14 Dtool_Xs2xym4N 536 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::set_occlusion_mask // Access: Public // Description: Specifies the DrawMask that should be set on // occlusion polygons for this scene. This identifies // the polygons that are to be treated as occluders. // Polygons that do not have this draw mask set will not // be considered occluders. //////////////////////////////////////////////////////////////////// 2 4 this 3 532 14 occlusion_mask 1 540 186 14 Dtool_Xs2xFvGP 6 193 540 0 14 Dtool_Xs2xFvGP 331 //////////////////////////////////////////////////////////////////// // Function: PipeOcclusionCullTraverser::get_occlusion_mask // Access: Public // Description: Returns the DrawMask for occlusion polygons. See // set_occlusion_mask(). //////////////////////////////////////////////////////////////////// 1 4 this 3 533 187 14 Dtool_Xs2x29Qt 7 194 469 0 14 Dtool_Xs2x29Qt 0 0 188 14 Dtool_Xs2xyqvZ 7 182 543 0 14 Dtool_Xs2xyqvZ 0 1 4 this 3 532 189 14 Dtool_Xs2xMpn5 7 183 532 397 14 Dtool_Xs2xMpn5 0 1 4 this 3 543 190 14 Dtool_Xs2x2XE5 6 185 544 0 14 Dtool_Xs2x2XE5 0 1 4 this 3 532 191 14 Dtool_Xs2xKLis 7 186 532 397 14 Dtool_Xs2xKLis 0 1 4 this 3 544 192 14 Dtool_Xs2xcyYH 7 197 545 399 14 Dtool_Xs2xcyYH 649 //////////////////////////////////////////////////////////////////// // Function: LineSegs::Constructor // Access: Public // Description: Constructs a LineSegs object, which can be used to // create any number of disconnected lines or points of // various thicknesses and colors through the visible // scene. After creating the object, call move_to() and // draw_to() repeatedly to describe the path, then call // create() to create a GeomNode which will render the // described path. //////////////////////////////////////////////////////////////////// 1 4 name 1 446 193 14 Dtool_Xs2xWNQY 7 197 545 399 14 Dtool_Xs2xWNQY 649 //////////////////////////////////////////////////////////////////// // Function: LineSegs::Constructor // Access: Public // Description: Constructs a LineSegs object, which can be used to // create any number of disconnected lines or points of // various thicknesses and colors through the visible // scene. After creating the object, call move_to() and // draw_to() repeatedly to describe the path, then call // create() to create a GeomNode which will render the // described path. //////////////////////////////////////////////////////////////////// 0 194 14 Dtool_Xs2xgqmq 4 199 448 0 14 Dtool_Xs2xgqmq 297 //////////////////////////////////////////////////////////////////// // Function: LineSegs::reset // Access: Public // Description: Removes any lines in progress and resets to the // initial empty state. //////////////////////////////////////////////////////////////////// 1 4 this 3 545 195 14 Dtool_Xs2x0j3d 4 200 448 0 14 Dtool_Xs2x0j3d 361 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_color // Access: Public // Description: Establishes the color that will be assigned to all // vertices created by future calls to move_to() and // draw_to(). //////////////////////////////////////////////////////////////////// 2 4 this 3 545 5 color 1 462 196 14 Dtool_Xs2xoG3B 4 200 448 0 14 Dtool_Xs2xoG3B 361 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_color // Access: Public // Description: Establishes the color that will be assigned to all // vertices created by future calls to move_to() and // draw_to(). //////////////////////////////////////////////////////////////////// 5 4 this 3 545 1 r 1 465 1 g 1 465 1 b 1 465 1 a 1 465 197 14 Dtool_Xs2xIOs9 4 200 448 0 14 Dtool_Xs2xIOs9 361 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_color // Access: Public // Description: Establishes the color that will be assigned to all // vertices created by future calls to move_to() and // draw_to(). //////////////////////////////////////////////////////////////////// 4 4 this 3 545 1 r 1 465 1 g 1 465 1 b 1 465 198 14 Dtool_Xs2xJ0o7 4 201 448 0 14 Dtool_Xs2xJ0o7 391 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_thickness // Access: Public // Description: Establishes the line thickness or point size in // pixels that will be assigned to all lines and points // created by future calls to create(). //////////////////////////////////////////////////////////////////// 2 4 this 3 545 5 thick 1 465 199 14 Dtool_Xs2x8wH1 4 202 448 0 14 Dtool_Xs2x8wH1 465 //////////////////////////////////////////////////////////////////// // Function: LineSegs::move_to // Access: Public // Description: Moves the pen to the given point without drawing a // line. When followed by draw_to(), this marks the // first point of a line segment; when followed by // move_to() or create(), this creates a single point. //////////////////////////////////////////////////////////////////// 2 4 this 3 545 1 v 1 546 200 14 Dtool_Xs2xrLxC 4 202 448 0 14 Dtool_Xs2xrLxC 465 //////////////////////////////////////////////////////////////////// // Function: LineSegs::move_to // Access: Public // Description: Moves the pen to the given point without drawing a // line. When followed by draw_to(), this marks the // first point of a line segment; when followed by // move_to() or create(), this creates a single point. //////////////////////////////////////////////////////////////////// 4 4 this 3 545 1 x 1 465 1 y 1 465 1 z 1 465 201 14 Dtool_Xs2xq1dS 4 203 448 0 14 Dtool_Xs2xq1dS 495 //////////////////////////////////////////////////////////////////// // Function: LineSegs::draw_to // Access: Public // Description: Draws a line segment from the pen's last position // (the last call to move_to or draw_to) to the // indicated point. move_to() and draw_to() only update // tables; the actual drawing is performed when create() // is called. //////////////////////////////////////////////////////////////////// 2 4 this 3 545 1 v 1 546 202 14 Dtool_Xs2x8oGg 4 203 448 0 14 Dtool_Xs2x8oGg 495 //////////////////////////////////////////////////////////////////// // Function: LineSegs::draw_to // Access: Public // Description: Draws a line segment from the pen's last position // (the last call to move_to or draw_to) to the // indicated point. move_to() and draw_to() only update // tables; the actual drawing is performed when create() // is called. //////////////////////////////////////////////////////////////////// 4 4 this 3 545 1 x 1 465 1 y 1 465 1 z 1 465 203 14 Dtool_Xs2xHil_ 6 204 452 0 14 Dtool_Xs2xHil_ 349 //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_current_position // Access: Public // Description: Returns the pen's current position. The next call to // draw_to() will draw a line segment from this point. //////////////////////////////////////////////////////////////////// 1 4 this 3 545 204 14 Dtool_Xs2xBf1p 6 205 461 0 14 Dtool_Xs2xBf1p 358 //////////////////////////////////////////////////////////////////// // Function: LineSegs::empty // Access: Public // Description: Returns true if move_to() or draw_to() have not been // called since the last reset() or create(), false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 545 205 14 Dtool_Xs2xZFoc 7 206 550 0 14 Dtool_Xs2xZFoc 745 //////////////////////////////////////////////////////////////////// // Function: LineSegs::create // Access: Public // Description: Appends to an existing GeomNode a new Geom that // will render the series of line segments and points // described via calls to move_to() and draw_to(). The // lines and points are created with the color and // thickness established by calls to set_color() and // set_thick(). // // If dynamic is true, the line segments will be created // with the dynamic Geom setting, optimizing them for // runtime vertex animation. //////////////////////////////////////////////////////////////////// 3 4 this 3 545 8 previous 1 550 7 dynamic 1 461 206 14 Dtool_Xs2x_ama 7 206 550 0 14 Dtool_Xs2x_ama 745 //////////////////////////////////////////////////////////////////// // Function: LineSegs::create // Access: Public // Description: Appends to an existing GeomNode a new Geom that // will render the series of line segments and points // described via calls to move_to() and draw_to(). The // lines and points are created with the color and // thickness established by calls to set_color() and // set_thick(). // // If dynamic is true, the line segments will be created // with the dynamic Geom setting, optimizing them for // runtime vertex animation. //////////////////////////////////////////////////////////////////// 2 4 this 3 545 8 previous 1 550 207 14 Dtool_Xs2xDS3i 7 206 550 0 14 Dtool_Xs2xDS3i 708 //////////////////////////////////////////////////////////////////// // Function: LineSegs::create // Access: Public // Description: Creates a new GeomNode that will render the series of // line segments and points described via calls to // move_to() and draw_to(). The lines and points are // created with the color and thickness established by // calls to set_color() and set_thick(). // // If dynamic is true, the line segments will be created // with the dynamic Geom setting, optimizing them for // runtime vertex animation. //////////////////////////////////////////////////////////////////// 2 4 this 3 545 7 dynamic 1 461 208 14 Dtool_Xs2xt4D_ 7 206 550 0 14 Dtool_Xs2xt4D_ 708 //////////////////////////////////////////////////////////////////// // Function: LineSegs::create // Access: Public // Description: Creates a new GeomNode that will render the series of // line segments and points described via calls to // move_to() and draw_to(). The lines and points are // created with the color and thickness established by // calls to set_color() and set_thick(). // // If dynamic is true, the line segments will be created // with the dynamic Geom setting, optimizing them for // runtime vertex animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 545 209 14 Dtool_Xs2xLyjT 6 207 460 0 14 Dtool_Xs2xLyjT 470 //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_num_vertices // Access: Public // Description: Returns the total number of line segment and point // vertices generated by the last call to create(). The // positions of these vertices may be read and adjusted // through get_vertex() and set_vertex(). //////////////////////////////////////////////////////////////////// 1 4 this 3 551 210 14 Dtool_Xs2x62YQ 7 208 499 0 14 Dtool_Xs2x62YQ 513 //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_vertex // Access: Public // Description: Returns the nth point or vertex of the line segment // sequence generated by the last call to create(). The // first move_to() generates vertex 0; subsequent // move_to() and draw_to() calls generate consecutively // higher vertex numbers. //////////////////////////////////////////////////////////////////// 2 4 this 3 551 1 n 1 460 211 14 Dtool_Xs2xMZV4 4 209 448 0 14 Dtool_Xs2xMZV4 511 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex // Access: Public // Description: Moves the nth point or vertex of the line segment // sequence generated by the last call to create(). The // first move_to() generates vertex 0; subsequent // move_to() and draw_to() calls generate consecutively // higher vertex numbers. //////////////////////////////////////////////////////////////////// 3 4 this 3 545 1 n 1 460 4 vert 1 452 212 14 Dtool_Xs2xx0WV 4 209 448 0 14 Dtool_Xs2xx0WV 511 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex // Access: Public // Description: Moves the nth point or vertex of the line segment // sequence generated by the last call to create(). The // first move_to() generates vertex 0; subsequent // move_to() and draw_to() calls generate consecutively // higher vertex numbers. //////////////////////////////////////////////////////////////////// 5 4 this 3 545 6 vertex 1 460 1 x 1 465 1 y 1 465 1 z 1 465 213 14 Dtool_Xs2x6Cje 7 210 553 0 14 Dtool_Xs2x6Cje 268 //////////////////////////////////////////////////////////////////// // Function: LineSegs::get_vertex_color // Access: Public // Description: Returns the color of the nth point or vertex. //////////////////////////////////////////////////////////////////// 2 4 this 3 551 6 vertex 1 460 214 14 Dtool_Xs2xzZOI 4 211 448 0 14 Dtool_Xs2xzZOI 310 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex_color // Access: Public // Description: Changes the vertex color of the nth point or vertex. // See set_vertex(). //////////////////////////////////////////////////////////////////// 3 4 this 3 545 6 vertex 1 460 1 c 1 462 215 14 Dtool_Xs2xP_Xd 4 211 448 0 14 Dtool_Xs2xP_Xd 310 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex_color // Access: Public // Description: Changes the vertex color of the nth point or vertex. // See set_vertex(). //////////////////////////////////////////////////////////////////// 6 4 this 3 545 6 vertex 1 460 1 r 1 465 1 g 1 465 1 b 1 465 1 a 1 465 216 14 Dtool_Xs2xFwym 4 211 448 0 14 Dtool_Xs2xFwym 310 //////////////////////////////////////////////////////////////////// // Function: LineSegs::set_vertex_color // Access: Public // Description: Changes the vertex color of the nth point or vertex. // See set_vertex(). //////////////////////////////////////////////////////////////////// 5 4 this 3 545 6 vertex 1 460 1 r 1 465 1 g 1 465 1 b 1 465 217 14 Dtool_Xs2xwAX5 7 213 554 414 14 Dtool_Xs2xwAX5 0 0 218 14 Dtool_Xs2xDQSi 4 215 448 0 14 Dtool_Xs2xDQSi 0 1 4 this 3 554 219 14 Dtool_Xs2xEInR 4 216 448 0 14 Dtool_Xs2xEInR 1311 // Filename: multitexReducer.I // Created by: drose (30Nov04) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MultitexReducer::scan // Access: Published // Description: Starts scanning the hierarchy beginning at the // indicated node. Any GeomNodes discovered in the // hierarchy with multitexture will be added to internal // structures in the MultitexReducer so that a future // call to flatten() will operate on all of these at // once. // // This version of this method does not accumulate state // from the parents of the indicated node; thus, only // multitexture effects that have been applied at node // and below will be considered. //////////////////////////////////////////////////////////////////// 2 4 this 3 554 4 node 1 505 220 14 Dtool_Xs2xqawa 4 216 448 0 14 Dtool_Xs2xqawa 1290 //////////////////////////////////////////////////////////////////// // Function: MultitexReducer::scan // Access: Published // Description: Starts scanning the hierarchy beginning at the // indicated node. Any GeomNodes discovered in the // hierarchy with multitexture will be added to internal // structures in the MultitexReducer so that a future // call to flatten() will operate on all of these at // once. // // The second parameter represents the NodePath from // which to accumulate the state that is considered for // the multitexture. Pass an empty NodePath to // accumulate all the state from the root of the graph, // or you may specify some other node here in order to // not consider nodes above that as contributing to the // state to be flattened. This is particularly useful // if you have some texture stage which is applied // globally to a scene (for instance, a caustics // effect), which you don't want to be considered for // flattening by the MultitexReducer. //////////////////////////////////////////////////////////////////// 3 4 this 3 554 4 node 1 505 10 state_from 1 505 221 14 Dtool_Xs2xcyhS 4 216 448 0 14 Dtool_Xs2xcyhS 0 4 4 this 3 554 4 node 1 466 5 state 1 555 9 transform 1 558 222 14 Dtool_Xs2xjnJP 4 217 448 0 14 Dtool_Xs2xjnJP 0 2 4 this 3 554 5 stage 1 561 223 14 Dtool_Xs2xl_cC 4 218 448 0 14 Dtool_Xs2xl_cC 0 2 4 this 3 554 8 use_geom 1 461 224 14 Dtool_Xs2xhlww 4 219 448 0 14 Dtool_Xs2xhlww 0 2 4 this 3 554 13 allow_tex_mat 1 461 225 14 Dtool_Xs2xq9Y9 4 220 448 0 14 Dtool_Xs2xq9Y9 0 2 4 this 3 554 6 window 1 472 144 421 9 CardMaker 26625 9 CardMaker 9 CardMaker 0 0 0 1 226 227 0 12 228 229 230 231 232 233 234 235 236 237 238 239 0 0 1 0 422 0 0 0 0 350 //////////////////////////////////////////////////////////////////// // Class : CardMaker // Description : This class generates 2-d "cards", that is, // rectangular polygons, particularly useful for showing // textures etc. in the 2-d scene graph. //////////////////////////////////////////////////////////////////// 422 7 Namable 2049 7 Namable 7 Namable 0 0 0 0 0 0 0 0 0 0 0 0 324 //////////////////////////////////////////////////////////////////// // Class : Namable // Description : A base class for all things which can have a name. // The name is either empty or nonempty, but it is never // NULL. //////////////////////////////////////////////////////////////////// 423 13 FFMpegTexture 75777 13 FFMpegTexture 13 FFMpegTexture 0 0 0 1 240 0 0 1 241 0 0 1 0 424 0 0 0 0 186 //////////////////////////////////////////////////////////////////// // Class : FFMpegTexture // Description : //////////////////////////////////////////////////////////////////// 424 12 VideoTexture 2049 12 VideoTexture 12 VideoTexture 0 0 0 0 0 0 0 0 0 0 0 0 480 //////////////////////////////////////////////////////////////////// // Class : VideoTexture // Description : The base class for a family of animated Textures that // take their input from a video source, such as a movie // file. These Textures may be stopped, started, // etc. using the AnimInterface controls, similar to an // animated character. //////////////////////////////////////////////////////////////////// 425 12 FisheyeMaker 26625 12 FisheyeMaker 12 FisheyeMaker 0 0 0 1 242 243 0 6 244 245 246 247 248 249 0 0 1 0 422 0 0 0 0 743 //////////////////////////////////////////////////////////////////// // Class : FisheyeMaker // Description : This class is similar to CardMaker, but instead of // generating ordinary cards, it generates a circular // rose that represents the projection of a 3-D scene // through a fisheye lens. The texture coordinates of // the rose are defined so that each 2-D vertex has a // 3-D UVW that reflects the corresponding position in // 3-D space of that particular vertex. // // This class is particularly suited for converting cube // maps to sphere maps. //////////////////////////////////////////////////////////////////// 426 14 FrameRateMeter 75777 14 FrameRateMeter 14 FrameRateMeter 0 0 0 1 250 0 0 12 251 252 253 254 255 256 257 258 259 260 261 262 0 0 1 0 427 0 0 0 0 673 //////////////////////////////////////////////////////////////////// // Class : FrameRateMeter // Description : This is a special TextNode that automatically updates // itself with the current frame rate. It can be placed // anywhere in the world where you'd like to see the // frame rate. // // It also has a special mode in which it may be // attached directly to a channel or window. If this is // done, it creates a DisplayRegion for itself and renders // itself in the upper-right-hand corner. //////////////////////////////////////////////////////////////////// 427 8 TextNode 2049 8 TextNode 8 TextNode 0 0 0 0 0 0 0 0 0 0 0 0 1336 //////////////////////////////////////////////////////////////////// // Class : TextNode // Description : The primary interface to this module. This class // does basic text assembly; given a string of text and // a TextFont object, it creates a piece of geometry // that may be placed in the 3-d or 2-d world to // represent the indicated text. // // The TextNode may be used in one of two ways. // Naively, it may simply be parented directly into the // scene graph and rendered as if it were a GeomNode; in // this mode, the actual polygon geometry that renders // the text is not directly visible or accessible, but // remains hidden within the TextNode. // // The second way TextNode may be used is as a text // generator. To use it in this way, do not parent the // TextNode to the scene graph; instead, set the // properties of the text and call generate() to return // an ordinary node, containing ordinary geometry, which // you may use however you like. Each time you call // generate() a new node is returned. //////////////////////////////////////////////////////////////////// 428 13 GeoMipTerrain 75777 13 GeoMipTerrain 13 GeoMipTerrain 0 0 0 1 263 0 0 35 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 0 0 1 0 429 0 0 0 1 430 697 //////////////////////////////////////////////////////////////////// // Class : GeoMipTerrain // Description : GeoMipTerrain, meaning Panda3D GeoMipMapping, can convert // a heightfield image into a 3D terrain, consisting // of several GeomNodes. It uses the GeoMipMapping // algorithm, or Geometrical MipMapping, based on // the LOD (Level of Detail) algorithm. For more // information about the GeoMipMapping algoritm, see // this paper, written by Willem H. de Boer: // http://flipcode.com/articles/article_geomipmaps.pdf //////////////////////////////////////////////////////////////////// 429 11 TypedObject 2049 11 TypedObject 11 TypedObject 0 0 0 0 0 0 0 0 0 0 0 0 3666 //////////////////////////////////////////////////////////////////// // Class : TypedObject // Description : 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 //////////////////////////////////////////////////////////////////// 430 15 AutoFlattenMode 794624 30 GeoMipTerrain::AutoFlattenMode 30 GeoMipTerrain::AutoFlattenMode 428 0 0 0 0 0 0 0 0 0 4 7 AFM_off 22 GeoMipTerrain::AFM_off 0 9 AFM_light 24 GeoMipTerrain::AFM_light 1 10 AFM_medium 25 GeoMipTerrain::AFM_medium 2 10 AFM_strong 25 GeoMipTerrain::AFM_strong 3 0 108 // The flatten mode specifies whether the terrain nodes are flattened // together after each terrain update. 431 21 HeightfieldTesselator 26625 21 HeightfieldTesselator 21 HeightfieldTesselator 0 0 0 1 299 300 0 10 301 302 303 304 305 306 307 308 309 310 0 0 1 0 422 0 0 0 0 2003 //////////////////////////////////////////////////////////////////// // Class : HeightfieldTesselator // Description : Converts a height field in the form of a greyscale // image into a scene consisting of a number of GeomNodes. // // The tesselation uses an LOD algorithm. You // supply a "focal point" (X,Y) which tells the // tesselator where the bulk of the detail should // be concentrated. The intent is that as the player // walks around the terrain, you should occasionally // move the focal point to wherever the player is. // You should not move the focal point every frame: // tesselation is not that fast. Also, changing the // focal point may cause popping, so it is best to // minimize the number of changes. There are a number // of parameters that you can use to control tesselation, // such as a target polygon count, and a visibility // radius. // // The heightfield needs to be a multiple of 128 pixels // in each dimension. It does not need to be square, // and it does not need to be a power of two. For // example, a 384 x 640 heightfield is fine. // Be aware that tesselation time is proportional to // heightfield area, so if you plan to use a size larger // than about 512x512, it may be desirable to benchmark. // // Altering parameters, such as the poly count, the // view radius, or the focal point, does not alter any // GeomNodes already generated. Parameter changes only // affect subsequently-generated GeomNodes. It is // possible to cache many different tesselations of the // same terrain. // //////////////////////////////////////////////////////////////////// 432 23 SceneGraphAnalyzerMeter 75777 23 SceneGraphAnalyzerMeter 23 SceneGraphAnalyzerMeter 0 0 0 1 311 0 0 10 312 313 314 315 316 317 318 319 320 321 0 0 1 0 427 0 0 0 0 720 //////////////////////////////////////////////////////////////////// // Class : SceneGraphAnalyzerMeter // Description : This is a special TextNode that automatically updates // itself with output from a SceneGraphAnalyzer instance. // It can be placed anywhere in the world where you'd like // to see the output from SceneGraphAnalyzer. // // It also has a special mode in which it may be // attached directly to a channel or window. If this is // done, it creates a DisplayRegion for itself and renders // itself in the upper-right-hand corner. //////////////////////////////////////////////////////////////////// 433 10 MeshDrawer 75777 10 MeshDrawer 10 MeshDrawer 0 0 0 1 322 0 0 18 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 0 0 1 0 429 0 0 0 0 988 //////////////////////////////////////////////////////////////////// // Class : MeshDrawer // Description : Mesh drawer creates a single geom object that can be // shaped with different draw commands. This is an // efficient way to render bunch of billboards, particles, // fast changing triangles. Its implemented by recycling // same geom over and over again. Max budget specifies // how many triangles are allowed. Some uses of this // class can be : particle system, radar icons, health // bars, 2d icons, 2d ui, bullets, missile trails. Any // that can be drawn with triangles can be drawn with // this class. At the low level this uses the // GeomVertexRewriter's. The internal geom consists of // vertex, normal, uv and color channels. //////////////////////////////////////////////////////////////////// 434 12 MeshDrawer2D 75777 12 MeshDrawer2D 12 MeshDrawer2D 0 0 0 1 341 0 0 13 342 343 344 345 346 347 348 349 350 351 352 353 354 0 0 1 0 429 0 0 0 0 379 //////////////////////////////////////////////////////////////////// // Class : MeshDrawer2D // Description : This class allows the drawing of 2d objects - // mainly based on quads and rectangles. // Alows clipping and serverl high level UI theme // functions. //////////////////////////////////////////////////////////////////// 435 12 MovieTexture 75777 12 MovieTexture 12 MovieTexture 0 0 0 1 355 0 0 19 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 0 0 1 0 436 0 0 0 0 279 //////////////////////////////////////////////////////////////////// // Class : MovieTexture // Description : A texture that fetches video frames from an // underlying object of class Movie. //////////////////////////////////////////////////////////////////// 436 7 Texture 2049 7 Texture 7 Texture 0 0 0 0 0 0 0 0 0 0 0 0 1051 //////////////////////////////////////////////////////////////////// // Class : Texture // Description : 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. //////////////////////////////////////////////////////////////////// 437 19 NodeVertexTransform 141313 19 NodeVertexTransform 19 NodeVertexTransform 0 0 0 1 375 379 0 3 376 377 378 0 0 1 0 438 0 0 0 0 523 //////////////////////////////////////////////////////////////////// // Class : NodeVertexTransform // Description : This VertexTransform gets its matrix from the // Transform stored on a node. It can also compose its // node's transform with another VertexTransform, // allowing you to build up a chain of // NodeVertexTransforms that represent a list of // composed matrices. //////////////////////////////////////////////////////////////////// 438 15 VertexTransform 2049 15 VertexTransform 15 VertexTransform 0 0 0 0 0 0 0 0 0 0 0 0 558 //////////////////////////////////////////////////////////////////// // Class : VertexTransform // Description : This is an abstract base class that holds a pointer // to some transform, computed in some arbitrary way, // that is to be applied to vertices during rendering. // This is used to implement soft-skinned and animated // vertices. Derived classes will define how the // transform is actually computed. //////////////////////////////////////////////////////////////////// 439 17 RigidBodyCombiner 141313 17 RigidBodyCombiner 17 RigidBodyCombiner 0 0 0 1 380 384 0 3 381 382 383 0 0 1 0 440 0 0 0 0 1335 //////////////////////////////////////////////////////////////////// // Class : RigidBodyCombiner // Description : This is a special node that combines multiple // independently-moving rigid nodes into one Geom // internally (or as few Geoms as possible), for the // purposes of improving rendering performance. // // To use it, parent a number of moving objects to this // node and call collect(). A child node is identified // as "moving" if (a) it has a non-identity transform // initially, or (b) it is a ModelNode with the // preserve_transform flag set. Any other nodes will be // considered static, and later transforms applied to // them will not be identified. // // You should call collect() only at startup or if you // change the set of children; it is a relatively // expensive call. // // Once you call collect(), you may change the // transforms on the child nodes freely without having // to call collect() again. // // RenderEffects such as Billboards are not supported // below this node. //////////////////////////////////////////////////////////////////// 440 9 PandaNode 2049 9 PandaNode 9 PandaNode 0 0 0 0 0 0 0 0 0 0 0 0 374 //////////////////////////////////////////////////////////////////// // Class : PandaNode // Description : 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. //////////////////////////////////////////////////////////////////// 441 26 PipeOcclusionCullTraverser 141313 26 PipeOcclusionCullTraverser 26 PipeOcclusionCullTraverser 0 0 0 1 389 397 0 7 390 391 392 393 394 395 396 0 0 2 3 442 385 386 3 443 387 388 0 0 983 //////////////////////////////////////////////////////////////////// // Class : PipeOcclusionCullTraverser // Description : This specialization of CullTraverser uses the // graphics pipe itself to perform occlusion culling. // As such, it's likely to be inefficient (since it // interferes with the pipe's normal mode of rendering), // and is mainly useful to test other, CPU-based // occlusion algorithms. // // This cannot be used in a multithreaded pipeline // environment where cull and draw are operating // simultaneously. // // It can't be defined in the cull subdirectory, because // it needs access to GraphicsPipe and DisplayRegion and // other classes in display. So we put it in grutil // instead, for lack of any better ideas. //////////////////////////////////////////////////////////////////// 442 13 CullTraverser 2049 13 CullTraverser 13 CullTraverser 0 0 0 0 0 0 0 0 0 0 0 0 512 //////////////////////////////////////////////////////////////////// // Class : CullTraverser // Description : 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. //////////////////////////////////////////////////////////////////// 443 11 CullHandler 2049 11 CullHandler 11 CullHandler 0 0 0 0 0 0 0 0 0 0 0 0 442 //////////////////////////////////////////////////////////////////// // Class : CullHandler // Description : This defines the abstract interface for an object // that receives Geoms identified by the CullTraverser. // By itself, it's not a particularly useful class; to // use it, derive from it and redefine record_object(). //////////////////////////////////////////////////////////////////// 444 8 LineSegs 26625 8 LineSegs 8 LineSegs 0 0 0 1 398 399 0 13 400 401 402 403 404 405 406 407 408 409 410 411 412 2 565 566 0 1 0 422 0 0 0 0 493 //////////////////////////////////////////////////////////////////// // Class : LineSegs // Description : Encapsulates creation of a series of connected or // disconnected line segments or points, for drawing // paths or rays. This class doesn't attempt to be the // smartest it could possibly be; it's intended // primarily as a visualization and editing tool. //////////////////////////////////////////////////////////////////// 445 15 MultitexReducer 26625 15 MultitexReducer 15 MultitexReducer 0 0 0 1 413 414 0 6 415 416 417 418 419 420 0 0 0 0 0 964 //////////////////////////////////////////////////////////////////// // Class : MultitexReducer // Description : This object presents an interface for generating new // texture images that represent the combined images // from one or more individual textures, reproducing // certain kinds of multitexture effects without // depending on multitexture support in the hardware. // // This also flattens out texture matrices and removes // extra texture coordinates from the Geoms. It is thus // not a complete substitute for true multitexturing, // because it does not lend itself well to dynamic // animation of the textures once they have been // flattened. It is, however, useful for "baking in" a // particular multitexture effect. //////////////////////////////////////////////////////////////////// 446 13 atomic string 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 447 11 CardMaker * 8576 11 CardMaker * 11 CardMaker * 0 0 421 0 0 0 0 0 0 0 0 0 0 448 4 void 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 449 16 LPoint2f const * 8576 16 LPoint2f const * 16 LPoint2f const * 0 0 450 0 0 0 0 0 0 0 0 0 0 450 14 LPoint2f const 8832 14 LPoint2f const 14 LPoint2f const 0 0 451 0 0 0 0 0 0 0 0 0 0 451 9 TexCoordf 2048 8 LPoint2f 8 LPoint2f 0 0 0 0 0 0 0 0 0 0 0 0 706 // Filename: lpoint2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint2 // Description : This is a two-component point in space. //////////////////////////////////////////////////////////////////// 452 16 LPoint3f const * 8576 16 LPoint3f const * 16 LPoint3f const * 0 0 453 0 0 0 0 0 0 0 0 0 0 453 14 LPoint3f const 8832 14 LPoint3f const 14 LPoint3f const 0 0 454 0 0 0 0 0 0 0 0 0 0 454 7 Vertexf 2048 8 LPoint3f 8 LPoint3f 0 0 0 0 0 0 0 0 0 0 0 0 1083 // Filename: lpoint3_src.h // Created by: drose (25Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint3 // Description : 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. //////////////////////////////////////////////////////////////////// 455 17 LVector4f const * 8576 17 LVector4f const * 17 LVector4f const * 0 0 456 0 0 0 0 0 0 0 0 0 0 456 15 LVector4f const 8832 15 LVector4f const 15 LVector4f const 0 0 457 0 0 0 0 0 0 0 0 0 0 457 9 LVector4f 2048 9 LVector4f 9 LVector4f 0 0 0 0 0 0 0 0 0 0 0 0 710 // Filename: lvector4_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVector4 // Description : This is a four-component vector distance. //////////////////////////////////////////////////////////////////// 458 15 Texture const * 8576 15 Texture const * 15 Texture const * 0 0 459 0 0 0 0 0 0 0 0 0 0 459 13 Texture const 8832 13 Texture const 13 Texture const 0 0 436 0 0 0 0 0 0 0 0 0 0 460 3 int 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 461 4 bool 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 462 18 LVecBase4f const * 8576 18 LVecBase4f const * 18 LVecBase4f const * 0 0 463 0 0 0 0 0 0 0 0 0 0 463 16 LVecBase4f const 8832 16 LVecBase4f const 16 LVecBase4f const 0 0 464 0 0 0 0 0 0 0 0 0 0 464 6 Colorf 2048 10 LVecBase4f 10 LVecBase4f 0 0 0 0 0 0 0 0 0 0 0 0 265 //////////////////////////////////////////////////////////////////// // Class : LVecBase4 // Description : This is the base class for all three-component // vectors and points. //////////////////////////////////////////////////////////////////// 465 5 float 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 466 11 PandaNode * 8576 11 PandaNode * 11 PandaNode * 0 0 440 0 0 0 0 0 0 0 0 0 0 467 15 FFMpegTexture * 8576 15 FFMpegTexture * 15 FFMpegTexture * 0 0 423 0 0 0 0 0 0 0 0 0 0 468 10 TypeHandle 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098 //////////////////////////////////////////////////////////////////// // Class : TypeHandle // Description : 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. //////////////////////////////////////////////////////////////////// 469 12 TypeHandle * 8576 12 TypeHandle * 12 TypeHandle * 0 0 468 0 0 0 0 0 0 0 0 0 0 470 14 FisheyeMaker * 8576 14 FisheyeMaker * 14 FisheyeMaker * 0 0 425 0 0 0 0 0 0 0 0 0 0 471 16 FrameRateMeter * 8576 16 FrameRateMeter * 16 FrameRateMeter * 0 0 426 0 0 0 0 0 0 0 0 0 0 472 16 GraphicsOutput * 8576 16 GraphicsOutput * 16 GraphicsOutput * 0 0 473 0 0 0 0 0 0 0 0 0 0 473 14 GraphicsOutput 2048 14 GraphicsOutput 14 GraphicsOutput 0 0 0 0 0 0 0 2 567 568 0 0 0 0 1111 //////////////////////////////////////////////////////////////////// // Class : GraphicsOutput // Description : This is a base class for the various different // classes that represent the result of a frame of // rendering. The most common kind of GraphicsOutput is // a GraphicsWindow, which is a real-time window on the // desktop, but another example is GraphicsBuffer, which // is an offscreen buffer. // // The actual rendering, and anything associated with // the graphics context itself, is managed by the // associated GraphicsStateGuardian (which might output // to multiple GraphicsOutput objects). // // GraphicsOutputs 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. //////////////////////////////////////////////////////////////////// 474 22 FrameRateMeter const * 8576 22 FrameRateMeter const * 22 FrameRateMeter const * 0 0 475 0 0 0 0 0 0 0 0 0 0 475 20 FrameRateMeter const 8832 20 FrameRateMeter const 20 FrameRateMeter const 0 0 426 0 0 0 0 0 0 0 0 0 0 476 13 DisplayRegion 2048 13 DisplayRegion 13 DisplayRegion 0 0 0 0 0 0 0 0 0 0 0 0 677 //////////////////////////////////////////////////////////////////// // Class : DisplayRegion // Description : A rectangular subregion within a window for rendering // into. Typically, there is one DisplayRegion that // covers the whole window, but you may also create // smaller DisplayRegions for having different regions // within the window that represent different scenes. // You may also stack up DisplayRegions like panes of // glass, usually for layering 2-d interfaces on top of // a 3-d scene. //////////////////////////////////////////////////////////////////// 477 15 DisplayRegion * 8576 15 DisplayRegion * 15 DisplayRegion * 0 0 476 0 0 0 0 0 0 0 0 0 0 478 6 double 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0 479 13 ClockObject * 8576 13 ClockObject * 13 ClockObject * 0 0 480 0 0 0 0 0 0 0 0 0 0 480 11 ClockObject 2048 11 ClockObject 11 ClockObject 0 0 0 0 0 0 0 0 0 0 0 0 1457 //////////////////////////////////////////////////////////////////// // Class : ClockObject // Description : A ClockObject keeps track of elapsed real time and // discrete time. In normal mode, get_frame_time() // returns the time as of the last time tick() was // called. This is the "discrete" time, and is usually // used to get the time as of, for instance, the // beginning of the current frame. // // In other modes, as set by set_mode() or the // clock-mode config variable, get_frame_time() may // return other values to simulate different timing // effects, for instance to perform non-real-time // animation. See set_mode(). // // In all modes, get_real_time() always returns the // elapsed real time in seconds since the ClockObject // was constructed, or since it was last reset. // // You can create your own ClockObject whenever you want // to have your own local timer. There is also a // default, global ClockObject intended to represent // global time for the application; this is normally set // up to tick every frame so that its get_frame_time() // will return the time for the current frame. //////////////////////////////////////////////////////////////////// 481 15 GeoMipTerrain * 8576 15 GeoMipTerrain * 15 GeoMipTerrain * 0 0 428 0 0 0 0 0 0 0 0 0 0 482 10 PNMImage * 8576 10 PNMImage * 10 PNMImage * 0 0 483 0 0 0 0 0 0 0 0 0 0 483 8 PNMImage 2048 8 PNMImage 8 PNMImage 0 0 0 0 0 0 0 0 0 0 0 0 1506 //////////////////////////////////////////////////////////////////// // Class : PNMImage // Description : The name of this class derives from the fact that we // originally implemented it as a layer on top of the // "pnm library", based on netpbm, which was built to // implement pbm, pgm, and pbm files, and is the // underlying support of a number of public-domain image // file converters. Nowadays we are no longer derived // directly from the pnm library, mainly to allow // support of C++ iostreams instead of the C stdio FILE // interface. // // Conceptually, a PNMImage is a two-dimensional array // of xels, which are the PNM-defined generic pixel // type. Each xel may have a red, green, and blue // component, or (if the image is grayscale) a gray // component. The image may be read in, the individual // xels manipulated, and written out again, or a black // image may be constructed from scratch. // // The image is of size XSize() by YSize() xels, // numbered from top to bottom, left to right, beginning // at zero. // // Files can be specified by filename, or by an iostream // pointer. The filename "-" refers to stdin or stdout. //////////////////////////////////////////////////////////////////// 484 16 Filename const * 8576 16 Filename const * 16 Filename const * 0 0 485 0 0 0 0 0 0 0 0 0 0 485 14 Filename const 8832 14 Filename const 14 Filename const 0 0 486 0 0 0 0 0 0 0 0 0 0 486 8 Filename 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 869 //////////////////////////////////////////////////////////////////// // Class : Filename // Description : 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. //////////////////////////////////////////////////////////////////// 487 13 PNMFileType * 8576 13 PNMFileType * 13 PNMFileType * 0 0 488 0 0 0 0 0 0 0 0 0 0 488 11 PNMFileType 2048 11 PNMFileType 11 PNMFileType 0 0 0 0 0 0 0 0 0 0 0 0 0 489 16 PNMImage const * 8576 16 PNMImage const * 16 PNMImage const * 0 0 490 0 0 0 0 0 0 0 0 0 0 490 14 PNMImage const 8832 14 PNMImage const 14 PNMImage const 0 0 483 0 0 0 0 0 0 0 0 0 0 491 7 Normalf 2048 9 LVector3f 9 LVector3f 0 0 0 0 0 0 0 0 0 0 0 0 1086 // Filename: lvector3_src.h // Created by: drose (24Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVector3 // Description : 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. //////////////////////////////////////////////////////////////////// 492 11 LVector3f * 8576 11 LVector3f * 11 LVector3f * 0 0 491 0 0 0 0 0 0 0 0 0 0 493 18 unsigned short int 8262 18 unsigned short int 18 unsigned short int 0 1 0 0 0 0 0 0 0 0 0 0 0 494 10 LPoint2d * 8576 10 LPoint2d * 10 LPoint2d * 0 0 495 0 0 0 0 0 0 0 0 0 0 495 9 TexCoordd 2048 8 LPoint2d 8 LPoint2d 0 0 0 0 0 0 0 0 0 0 0 0 706 // Filename: lpoint2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint2 // Description : This is a two-component point in space. //////////////////////////////////////////////////////////////////// 496 10 LPoint2f * 8576 10 LPoint2f * 10 LPoint2f * 0 0 451 0 0 0 0 0 0 0 0 0 0 497 10 LPoint3d * 8576 10 LPoint3d * 10 LPoint3d * 0 0 498 0 0 0 0 0 0 0 0 0 0 498 7 Vertexd 2048 8 LPoint3d 8 LPoint3d 0 0 0 0 0 0 0 0 0 0 0 0 1083 // Filename: lpoint3_src.h // Created by: drose (25Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint3 // Description : 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. //////////////////////////////////////////////////////////////////// 499 10 LPoint3f * 8576 10 LPoint3f * 10 LPoint3f * 0 0 454 0 0 0 0 0 0 0 0 0 0 500 10 NodePath * 8576 10 NodePath * 10 NodePath * 0 0 501 0 0 0 0 0 0 0 0 0 0 501 8 NodePath 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 2 569 570 0 0 0 0 4938 // // A NodePath is the fundamental unit of high-level interaction with // the scene graph. It encapsulates the complete path down to a node // from some other node, usually the root of the scene graph. This is // used to resolve ambiguities associated with instancing. // // NodePath also contains a number of handy high-level methods for // common scene-graph manipulations, such as reparenting, and common // state changes, such as repositioning. // // There are also a number of NodePath methods for finding nodes deep // within the tree by name or by type. These take a path string, // which at its simplest consists of a series of node names separated // by slashes, like a directory pathname. // // Each component of the path string may optionally consist of one of // the following special names, instead of a node name: // // * -- matches exactly one node, with any name. // ** -- matches any sequence of zero or more nodes. // +typename -- matches any node that is or derives from the given type. // -typename -- matches any node that is the given type exactly. // =tag -- matches any node that has the indicated tag. // =tag=value -- matches any node whose tag matches the indicated value. // // Furthermore, a node name may itself contain standard filename // globbing characters, like *, ?, and [a-z], that will be accepted as // a partial match. (In fact, the '*' special name may be seen as // just a special case of this.) The globbing characters may not be // used with the typename matches or with tag matches, but they may // be used to match a tag's value in the =tag=value syntax. // // The special characters "@@", appearing at the beginning of a node // name, indicate a stashed node. Normally, stashed nodes are not // returned by a find (but see the special flags, below), but a // stashed node may be found if it is explicitly named with its // leading @@ characters. By extension, "@@*" may be used to identify // any stashed node. // // Examples: // // "room//graph" will look for a node named "graph", which is a child // of an unnamed node, which is a child of a node named "room", which // is a child of the starting path. // // "**/red*" will look for any node anywhere in the tree (below the // starting path) with a name that begins with "red". // // "**/+PartBundleNode/**/head" will look for a node named "head", // somewhere below a PartBundleNode anywhere in the tree. // // // The search is always potentially ambiguous, even if the special // wildcard operators are not used, because there may be multiple // nodes in the tree with the same name. In general, in the case of // an ambiguity, the shortest path is preferred; when a method (such // as extend_by) must choose only only one of several possible paths, // it will choose the shortest available; on the other hand, when a // method (such as find_all_matches) is to return all of the matching // paths, it will sort them so that the shortest paths appear first in // the output. // // // Special flags. The entire string may optionally be followed by the // ";" character, followed by one or more of the following special // control flags, with no intervening spaces or punctuation: // // -h Do not return hidden nodes. // +h Do return hidden nodes. // -s Do not return stashed nodes unless explicitly referenced with @@. // +s Return stashed nodes even without any explicit @@ characters. // -i Node name comparisons are not case insensitive: case must match // exactly. // +i Node name comparisons are case insensitive: case is not important. // This affects matches against the node name only; node type // and tag strings are always case sensitive. // // The default flags are +h-s-i. // //////////////////////////////////////////////////////////////////// // Class : NodePath // Description : 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. //////////////////////////////////////////////////////////////////// 502 21 GeoMipTerrain const * 8576 21 GeoMipTerrain const * 21 GeoMipTerrain const * 0 0 503 0 0 0 0 0 0 0 0 0 0 503 19 GeoMipTerrain const 8832 19 GeoMipTerrain const 19 GeoMipTerrain const 0 0 428 0 0 0 0 0 0 0 0 0 0 504 14 NodePath const 8832 14 NodePath const 14 NodePath const 0 0 501 0 0 0 0 0 0 0 0 0 0 505 16 NodePath const * 8576 16 NodePath const * 16 NodePath const * 0 0 504 0 0 0 0 0 0 0 0 0 0 506 10 LVecBase2f 2048 10 LVecBase2f 10 LVecBase2f 0 0 0 0 0 0 0 0 0 0 0 0 805 // Filename: lvecBase2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //typedef struct {FLOATTYPE _0, _1} FLOATNAME(data); //////////////////////////////////////////////////////////////////// // Class : LVecBase2 // Description : This is the base class for all two-component // vectors and points. //////////////////////////////////////////////////////////////////// 507 12 LVecBase2f * 8576 12 LVecBase2f * 12 LVecBase2f * 0 0 506 0 0 0 0 0 0 0 0 0 0 508 23 HeightfieldTesselator * 8576 23 HeightfieldTesselator * 23 HeightfieldTesselator * 0 0 431 0 0 0 0 0 0 0 0 0 0 509 25 SceneGraphAnalyzerMeter * 8576 25 SceneGraphAnalyzerMeter * 25 SceneGraphAnalyzerMeter * 0 0 432 0 0 0 0 0 0 0 0 0 0 510 31 SceneGraphAnalyzerMeter const * 8576 31 SceneGraphAnalyzerMeter const * 31 SceneGraphAnalyzerMeter const * 0 0 511 0 0 0 0 0 0 0 0 0 0 511 29 SceneGraphAnalyzerMeter const 8832 29 SceneGraphAnalyzerMeter const 29 SceneGraphAnalyzerMeter const 0 0 432 0 0 0 0 0 0 0 0 0 0 512 12 MeshDrawer * 8576 12 MeshDrawer * 12 MeshDrawer * 0 0 433 0 0 0 0 0 0 0 0 0 0 513 11 LVector4f * 8576 11 LVector4f * 11 LVector4f * 0 0 457 0 0 0 0 0 0 0 0 0 0 514 11 LVector2f * 8576 11 LVector2f * 11 LVector2f * 0 0 515 0 0 0 0 0 0 0 0 0 0 515 9 LVector2f 2048 9 LVector2f 9 LVector2f 0 0 0 0 0 0 0 0 0 0 0 0 707 // Filename: lvector2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVector2 // Description : This is a two-component vector offset. //////////////////////////////////////////////////////////////////// 516 14 MeshDrawer2D * 8576 14 MeshDrawer2D * 14 MeshDrawer2D * 0 0 434 0 0 0 0 0 0 0 0 0 0 517 12 MovieVideo * 8576 12 MovieVideo * 12 MovieVideo * 0 0 518 0 0 0 0 0 0 0 0 0 0 518 10 MovieVideo 2048 10 MovieVideo 10 MovieVideo 0 0 0 0 0 0 0 0 0 0 0 0 676 //////////////////////////////////////////////////////////////////// // Class : MovieVideo // Description : A MovieVideo is actually any source that provides // a sequence of video frames. That could include an // AVI file, a digital camera, or an internet TV station. // // The difference between a MovieVideo and a // MovieVideoCursor is like the difference between a // filename and a file handle. The MovieVideo just // indicates a particular movie. The MovieVideoCursor // is what allows access. //////////////////////////////////////////////////////////////////// 519 14 MovieTexture * 8576 14 MovieTexture * 14 MovieTexture * 0 0 435 0 0 0 0 0 0 0 0 0 0 520 20 MovieTexture const * 8576 20 MovieTexture const * 20 MovieTexture const * 0 0 521 0 0 0 0 0 0 0 0 0 0 521 18 MovieTexture const 8832 18 MovieTexture const 18 MovieTexture const 0 0 435 0 0 0 0 0 0 0 0 0 0 522 12 AudioSound * 8576 12 AudioSound * 12 AudioSound * 0 0 523 0 0 0 0 0 0 0 0 0 0 523 10 AudioSound 2048 10 AudioSound 10 AudioSound 0 0 0 0 0 0 0 0 0 0 0 0 0 524 17 PandaNode const * 8576 17 PandaNode const * 17 PandaNode const * 0 0 525 0 0 0 0 0 0 0 0 0 0 525 15 PandaNode const 8832 15 PandaNode const 15 PandaNode const 0 0 440 0 0 0 0 0 0 0 0 0 0 526 23 VertexTransform const * 8576 23 VertexTransform const * 23 VertexTransform const * 0 0 527 0 0 0 0 0 0 0 0 0 0 527 21 VertexTransform const 8832 21 VertexTransform const 21 VertexTransform const 0 0 438 0 0 0 0 0 0 0 0 0 0 528 21 NodeVertexTransform * 8576 21 NodeVertexTransform * 21 NodeVertexTransform * 0 0 437 0 0 0 0 0 0 0 0 0 0 529 27 NodeVertexTransform const * 8576 27 NodeVertexTransform const * 27 NodeVertexTransform const * 0 0 530 0 0 0 0 0 0 0 0 0 0 530 25 NodeVertexTransform const 8832 25 NodeVertexTransform const 25 NodeVertexTransform const 0 0 437 0 0 0 0 0 0 0 0 0 0 531 19 RigidBodyCombiner * 8576 19 RigidBodyCombiner * 19 RigidBodyCombiner * 0 0 439 0 0 0 0 0 0 0 0 0 0 532 28 PipeOcclusionCullTraverser * 8576 28 PipeOcclusionCullTraverser * 28 PipeOcclusionCullTraverser * 0 0 441 0 0 0 0 0 0 0 0 0 0 533 34 PipeOcclusionCullTraverser const * 8576 34 PipeOcclusionCullTraverser const * 34 PipeOcclusionCullTraverser const * 0 0 534 0 0 0 0 0 0 0 0 0 0 534 32 PipeOcclusionCullTraverser const 8832 32 PipeOcclusionCullTraverser const 32 PipeOcclusionCullTraverser const 0 0 441 0 0 0 0 0 0 0 0 0 0 535 12 SceneSetup * 8576 12 SceneSetup * 12 SceneSetup * 0 0 536 0 0 0 0 0 0 0 0 0 0 536 10 SceneSetup 2048 10 SceneSetup 10 SceneSetup 0 0 0 0 0 0 0 0 0 0 0 0 331 //////////////////////////////////////////////////////////////////// // Class : SceneSetup // Description : This object holds the camera position, etc., and // other general setup information for rendering a // particular scene. //////////////////////////////////////////////////////////////////// 537 27 GraphicsStateGuardianBase * 8576 27 GraphicsStateGuardianBase * 27 GraphicsStateGuardianBase * 0 0 538 0 0 0 0 0 0 0 0 0 0 538 25 GraphicsStateGuardianBase 2048 25 GraphicsStateGuardianBase 25 GraphicsStateGuardianBase 0 0 0 0 0 0 0 1 571 0 0 0 0 957 //////////////////////////////////////////////////////////////////// // Class : GraphicsStateGuardianBase // Description : 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. //////////////////////////////////////////////////////////////////// 539 9 Texture * 8576 9 Texture * 9 Texture * 0 0 436 0 0 0 0 0 0 0 0 0 0 540 35 BitMask< unsigned int, 32 > const * 8576 35 BitMask< unsigned int, 32 > const * 35 BitMask< unsigned int, 32 > const * 0 0 541 0 0 0 0 0 0 0 0 0 0 541 33 BitMask< unsigned int, 32 > const 8832 33 BitMask< unsigned int, 32 > const 33 BitMask< unsigned int, 32 > const 0 0 542 0 0 0 0 0 0 0 0 0 0 542 9 BitMask32 2048 27 BitMask< unsigned int, 32 > 27 BitMask< unsigned int, 32 > 0 0 0 0 0 0 0 0 0 0 0 0 0 543 15 CullTraverser * 8576 15 CullTraverser * 15 CullTraverser * 0 0 442 0 0 0 0 0 0 0 0 0 0 544 13 CullHandler * 8576 13 CullHandler * 13 CullHandler * 0 0 443 0 0 0 0 0 0 0 0 0 0 545 10 LineSegs * 8576 10 LineSegs * 10 LineSegs * 0 0 444 0 0 0 0 0 0 0 0 0 0 546 18 LVecBase3f const * 8576 18 LVecBase3f const * 18 LVecBase3f const * 0 0 547 0 0 0 0 0 0 0 0 0 0 547 16 LVecBase3f const 8832 16 LVecBase3f const 16 LVecBase3f const 0 0 548 0 0 0 0 0 0 0 0 0 0 548 9 RGBColorf 2048 10 LVecBase3f 10 LVecBase3f 0 0 0 0 0 0 0 0 0 0 0 0 754 // Filename: lvecBase3_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVecBase3 // Description : This is the base class for all three-component // vectors and points. //////////////////////////////////////////////////////////////////// 549 8 GeomNode 2048 8 GeomNode 8 GeomNode 0 0 0 0 0 0 0 2 572 573 0 0 0 0 423 //////////////////////////////////////////////////////////////////// // Class : GeomNode // Description : 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. //////////////////////////////////////////////////////////////////// 550 10 GeomNode * 8576 10 GeomNode * 10 GeomNode * 0 0 549 0 0 0 0 0 0 0 0 0 0 551 16 LineSegs const * 8576 16 LineSegs const * 16 LineSegs const * 0 0 552 0 0 0 0 0 0 0 0 0 0 552 14 LineSegs const 8832 14 LineSegs const 14 LineSegs const 0 0 444 0 0 0 0 0 0 0 0 0 0 553 12 LVecBase4f * 8576 12 LVecBase4f * 12 LVecBase4f * 0 0 464 0 0 0 0 0 0 0 0 0 0 554 17 MultitexReducer * 8576 17 MultitexReducer * 17 MultitexReducer * 0 0 445 0 0 0 0 0 0 0 0 0 0 555 19 RenderState const * 8576 19 RenderState const * 19 RenderState const * 0 0 556 0 0 0 0 0 0 0 0 0 0 556 17 RenderState const 8832 17 RenderState const 17 RenderState const 0 0 557 0 0 0 0 0 0 0 0 0 0 557 11 RenderState 2048 11 RenderState 11 RenderState 0 0 0 0 0 0 0 0 0 0 0 0 621 //////////////////////////////////////////////////////////////////// // Class : RenderState // Description : 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. //////////////////////////////////////////////////////////////////// 558 22 TransformState const * 8576 22 TransformState const * 22 TransformState const * 0 0 559 0 0 0 0 0 0 0 0 0 0 559 20 TransformState const 8832 20 TransformState const 20 TransformState const 0 0 560 0 0 0 0 0 0 0 0 0 0 560 14 TransformState 2048 14 TransformState 14 TransformState 0 0 0 0 0 0 0 0 0 0 0 0 1138 //////////////////////////////////////////////////////////////////// // Class : TransformState // Description : 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. //////////////////////////////////////////////////////////////////// 561 14 TextureStage * 8576 14 TextureStage * 14 TextureStage * 0 0 562 0 0 0 0 0 0 0 0 0 0 562 12 TextureStage 2048 12 TextureStage 12 TextureStage 0 0 0 0 0 0 0 0 0 0 0 0 600 //////////////////////////////////////////////////////////////////// // Class : TextureStage // Description : 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. //////////////////////////////////////////////////////////////////// 563 6 string 2048 20 basic_string< char > 20 basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0 564 23 PointerTo< MovieVideo > 2048 23 PointerTo< MovieVideo > 23 PointerTo< MovieVideo > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 565 0 196 12 get_vertices 16 get_num_vertices 10 get_vertex 566 0 196 17 get_vertex_colors 16 get_num_vertices 16 get_vertex_color 567 0 280 19 get_display_regions 23 get_num_display_regions 18 get_display_region 568 0 280 26 get_active_display_regions 30 get_num_active_display_regions 25 get_active_display_region 569 0 344 9 get_nodes 13 get_num_nodes 8 get_node 570 0 344 13 get_ancestors 13 get_num_nodes 12 get_ancestor 571 0 494 8 get_gsgs 12 get_num_gsgs 7 get_gsg 572 0 528 9 get_geoms 13 get_num_geoms 8 get_geom 573 0 528 15 get_geom_states 13 get_num_geoms 14 get_geom_state