mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-26 05:02:31 -06:00
6037 lines
323 KiB
Text
6037 lines
323 KiB
Text
1412103621
|
|
2 2
|
|
11 libp3grutil 4 sM0l 12 panda3d.core
|
|
222
|
|
260 9 CardMaker 0 4 482 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);
|
|
|
|
261 10 ~CardMaker 0 4 482 21 CardMaker::~CardMaker 0 0 217
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::Destructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
35
|
|
inline CardMaker::~CardMaker(void);
|
|
|
|
262 5 reset 0 4 482 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);
|
|
|
|
263 12 set_uv_range 0 4 482 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);
|
|
|
|
264 17 set_uv_range_cube 0 4 482 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);
|
|
|
|
265 11 set_has_uvs 0 4 482 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);
|
|
|
|
266 14 set_has_3d_uvs 0 4 482 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);
|
|
|
|
267 9 set_frame 0 4 482 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);
|
|
|
|
268 25 set_frame_fullscreen_quad 0 4 482 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);
|
|
|
|
269 9 set_color 0 4 482 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);
|
|
|
|
270 15 set_has_normals 0 4 482 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);
|
|
|
|
271 19 set_source_geometry 0 4 482 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);
|
|
|
|
272 21 clear_source_geometry 0 4 482 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);
|
|
|
|
273 8 generate 0 4 482 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);
|
|
|
|
274 12 FisheyeMaker 0 4 484 26 FisheyeMaker::FisheyeMaker 0 1 21 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);
|
|
|
|
275 13 ~FisheyeMaker 0 4 484 27 FisheyeMaker::~FisheyeMaker 0 0 220
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: FisheyeMaker::Destructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
41
|
|
inline FisheyeMaker::~FisheyeMaker(void);
|
|
|
|
276 5 reset 0 4 484 19 FisheyeMaker::reset 0 1 22 268
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: FisheyeMaker::reset
|
|
// Access: Public
|
|
// Description: Resets all the parameters to their initial defaults.
|
|
////////////////////////////////////////////////////////////////////
|
|
31
|
|
void FisheyeMaker::reset(void);
|
|
|
|
277 7 set_fov 0 4 484 21 FisheyeMaker::set_fov 0 1 23 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);
|
|
|
|
278 16 set_num_vertices 0 4 484 30 FisheyeMaker::set_num_vertices 0 1 24 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);
|
|
|
|
279 20 set_square_inscribed 0 4 484 34 FisheyeMaker::set_square_inscribed 0 1 25 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);
|
|
|
|
280 14 set_reflection 0 4 484 28 FisheyeMaker::set_reflection 0 1 26 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);
|
|
|
|
281 8 generate 0 4 484 22 FisheyeMaker::generate 0 1 27 293
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: FisheyeMaker::generate
|
|
// Access: Public
|
|
// Description: Generates a GeomNode that renders the specified
|
|
// geometry.
|
|
////////////////////////////////////////////////////////////////////
|
|
52
|
|
PointerTo< PandaNode > FisheyeMaker::generate(void);
|
|
|
|
282 14 FrameRateMeter 0 4 485 30 FrameRateMeter::FrameRateMeter 0 1 28 227
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: FrameRateMeter::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
65
|
|
FrameRateMeter::FrameRateMeter(basic_string< char > const &name);
|
|
|
|
283 12 setup_window 0 4 485 28 FrameRateMeter::setup_window 0 1 29 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);
|
|
|
|
284 12 clear_window 0 4 485 28 FrameRateMeter::clear_window 0 1 30 300
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: FrameRateMeter::clear_window
|
|
// Access: Published
|
|
// Description: Undoes the effect of a previous call to
|
|
// setup_window().
|
|
////////////////////////////////////////////////////////////////////
|
|
40
|
|
void FrameRateMeter::clear_window(void);
|
|
|
|
285 10 get_window 0 4 485 26 FrameRateMeter::get_window 0 1 31 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;
|
|
|
|
286 18 get_display_region 0 4 485 34 FrameRateMeter::get_display_region 0 1 32 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;
|
|
|
|
287 19 set_update_interval 0 4 485 35 FrameRateMeter::set_update_interval 0 1 33 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);
|
|
|
|
288 19 get_update_interval 0 4 485 35 FrameRateMeter::get_update_interval 0 1 34 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;
|
|
|
|
289 16 set_text_pattern 0 4 485 32 FrameRateMeter::set_text_pattern 0 1 35 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);
|
|
|
|
290 16 get_text_pattern 0 4 485 32 FrameRateMeter::get_text_pattern 0 1 36 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;
|
|
|
|
291 16 set_clock_object 0 4 485 32 FrameRateMeter::set_clock_object 0 1 37 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);
|
|
|
|
292 16 get_clock_object 0 4 485 32 FrameRateMeter::get_clock_object 0 1 38 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;
|
|
|
|
293 6 update 0 4 485 22 FrameRateMeter::update 0 1 39 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);
|
|
|
|
294 14 get_class_type 0 4 485 30 FrameRateMeter::get_class_type 0 1 40 0
|
|
55
|
|
static TypeHandle FrameRateMeter::get_class_type(void);
|
|
|
|
295 13 GeoMipTerrain 0 4 487 28 GeoMipTerrain::GeoMipTerrain 0 1 41 225
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
70
|
|
inline GeoMipTerrain::GeoMipTerrain(basic_string< char > const &name);
|
|
|
|
296 11 heightfield 0 4 487 26 GeoMipTerrain::heightfield 0 1 42 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);
|
|
|
|
297 15 set_heightfield 0 4 487 30 GeoMipTerrain::set_heightfield 0 4 43 44 45 46 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);
|
|
|
|
298 9 color_map 0 4 487 24 GeoMipTerrain::color_map 0 1 47 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);
|
|
|
|
299 13 set_color_map 0 4 487 28 GeoMipTerrain::set_color_map 0 5 48 49 50 51 52 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);
|
|
|
|
300 13 has_color_map 0 4 487 28 GeoMipTerrain::has_color_map 0 1 53 269
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::has_color_map
|
|
// Access: Published
|
|
// Description: Returns whether a color map has been set.
|
|
////////////////////////////////////////////////////////////////////
|
|
53
|
|
inline bool GeoMipTerrain::has_color_map(void) const;
|
|
|
|
301 15 clear_color_map 0 4 487 30 GeoMipTerrain::clear_color_map 0 1 54 251
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::clear_color_map
|
|
// Access: Published
|
|
// Description: Clears the color map.
|
|
////////////////////////////////////////////////////////////////////
|
|
49
|
|
inline void GeoMipTerrain::clear_color_map(void);
|
|
|
|
302 22 calc_ambient_occlusion 0 4 487 37 GeoMipTerrain::calc_ambient_occlusion 0 4 55 56 57 58 533
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::calc_ambient_occlusion
|
|
// Access: Published
|
|
// Description: Calculates an approximate for the ambient occlusion
|
|
// and stores it in the color map, so that it will be
|
|
// written to the vertex colors. Any existing color
|
|
// map will be discarded.
|
|
// You need to call this before generating the geometry.
|
|
////////////////////////////////////////////////////////////////////
|
|
113
|
|
void GeoMipTerrain::calc_ambient_occlusion(float radius = (32), float contrast = (2), float brightness = (0.75));
|
|
|
|
303 13 get_elevation 0 4 487 28 GeoMipTerrain::get_elevation 0 1 59 745
|
|
////////////////////////////////////////////////////////////////////
|
|
// 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);
|
|
|
|
304 10 get_normal 0 4 487 25 GeoMipTerrain::get_normal 0 2 60 61 1529
|
|
////////////////////////////////////////////////////////////////////
|
|
// 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:
|
|
//
|
|
// LVector3 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);
|
|
|
|
305 14 set_bruteforce 0 4 487 29 GeoMipTerrain::set_bruteforce 0 1 62 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);
|
|
|
|
306 14 get_bruteforce 0 4 487 29 GeoMipTerrain::get_bruteforce 0 1 63 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);
|
|
|
|
307 16 set_auto_flatten 0 4 487 31 GeoMipTerrain::set_auto_flatten 0 1 64 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);
|
|
|
|
308 15 set_focal_point 0 4 487 30 GeoMipTerrain::set_focal_point 0 6 65 66 67 68 69 70 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
377
|
|
inline void GeoMipTerrain::set_focal_point(LPoint2d const &fp);
|
|
inline void GeoMipTerrain::set_focal_point(LPoint2f const &fp);
|
|
inline void GeoMipTerrain::set_focal_point(LPoint3d const &fp);
|
|
inline void GeoMipTerrain::set_focal_point(LPoint3f const &fp);
|
|
inline void GeoMipTerrain::set_focal_point(double x, double y);
|
|
inline void GeoMipTerrain::set_focal_point(NodePath fnp);
|
|
|
|
309 15 get_focal_point 0 4 487 30 GeoMipTerrain::get_focal_point 0 1 71 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;
|
|
|
|
310 8 get_root 0 4 487 23 GeoMipTerrain::get_root 0 1 72 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;
|
|
|
|
311 14 set_block_size 0 4 487 29 GeoMipTerrain::set_block_size 0 1 73 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);
|
|
|
|
312 14 get_block_size 0 4 487 29 GeoMipTerrain::get_block_size 0 1 74 249
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::get_block_size
|
|
// Access: Published
|
|
// Description: Gets the block size.
|
|
////////////////////////////////////////////////////////////////////
|
|
62
|
|
inline unsigned short int GeoMipTerrain::get_block_size(void);
|
|
|
|
313 13 get_max_level 0 4 487 28 GeoMipTerrain::get_max_level 0 1 75 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);
|
|
|
|
314 13 set_min_level 0 4 487 28 GeoMipTerrain::set_min_level 0 1 76 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);
|
|
|
|
315 13 get_min_level 0 4 487 28 GeoMipTerrain::get_min_level 0 1 77 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);
|
|
|
|
316 8 is_dirty 0 4 487 23 GeoMipTerrain::is_dirty 0 1 78 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);
|
|
|
|
317 10 set_factor 0 4 487 25 GeoMipTerrain::set_factor 0 1 79 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);
|
|
|
|
318 12 set_near_far 0 4 487 27 GeoMipTerrain::set_near_far 0 1 80 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);
|
|
|
|
319 8 set_near 0 4 487 23 GeoMipTerrain::set_near 0 1 81 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);
|
|
|
|
320 7 set_far 0 4 487 22 GeoMipTerrain::set_far 0 1 82 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);
|
|
|
|
321 19 get_block_node_path 0 4 487 34 GeoMipTerrain::get_block_node_path 0 1 83 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);
|
|
|
|
322 18 get_block_from_pos 0 4 487 33 GeoMipTerrain::get_block_from_pos 0 1 84 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);
|
|
|
|
323 20 set_border_stitching 0 4 487 35 GeoMipTerrain::set_border_stitching 0 1 85 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);
|
|
|
|
324 20 get_border_stitching 0 4 487 35 GeoMipTerrain::get_border_stitching 0 1 86 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);
|
|
|
|
325 7 get_far 0 4 487 22 GeoMipTerrain::get_far 0 1 87 299
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::get_far
|
|
// Access: Published
|
|
// Description: Returns the far LOD distance in the terrain coordinate
|
|
// space
|
|
////////////////////////////////////////////////////////////////////
|
|
43
|
|
inline double GeoMipTerrain::get_far(void);
|
|
|
|
326 8 get_near 0 4 487 23 GeoMipTerrain::get_near 0 1 88 301
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::get_near
|
|
// Access: Published
|
|
// Description: Returns the near LOD distance in the terrain coordinate
|
|
// space
|
|
////////////////////////////////////////////////////////////////////
|
|
44
|
|
inline double GeoMipTerrain::get_near(void);
|
|
|
|
327 16 get_flatten_mode 0 4 487 31 GeoMipTerrain::get_flatten_mode 0 1 89 344
|
|
////////////////////////////////////////////////////////////////////
|
|
// 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);
|
|
|
|
328 16 make_slope_image 0 4 487 31 GeoMipTerrain::make_slope_image 0 1 90 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);
|
|
|
|
329 8 generate 0 4 487 23 GeoMipTerrain::generate 0 1 91 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);
|
|
|
|
330 6 update 0 4 487 21 GeoMipTerrain::update 0 1 92 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);
|
|
|
|
331 14 get_class_type 0 4 487 29 GeoMipTerrain::get_class_type 0 1 93 0
|
|
54
|
|
static TypeHandle GeoMipTerrain::get_class_type(void);
|
|
|
|
332 21 HeightfieldTesselator 0 4 490 44 HeightfieldTesselator::HeightfieldTesselator 0 1 94 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);
|
|
|
|
333 22 ~HeightfieldTesselator 0 4 490 45 HeightfieldTesselator::~HeightfieldTesselator 0 0 232
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: HeightfieldTesselator::Destructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
59
|
|
inline HeightfieldTesselator::~HeightfieldTesselator(void);
|
|
|
|
334 11 heightfield 0 4 490 34 HeightfieldTesselator::heightfield 0 1 95 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);
|
|
|
|
335 15 set_heightfield 0 4 490 38 HeightfieldTesselator::set_heightfield 0 2 96 97 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)));
|
|
|
|
336 14 set_poly_count 0 4 490 37 HeightfieldTesselator::set_poly_count 0 1 98 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);
|
|
|
|
337 21 set_visibility_radius 0 4 490 44 HeightfieldTesselator::set_visibility_radius 0 1 99 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);
|
|
|
|
338 15 set_focal_point 0 4 490 38 HeightfieldTesselator::set_focal_point 0 1 100 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);
|
|
|
|
339 20 set_horizontal_scale 0 4 490 43 HeightfieldTesselator::set_horizontal_scale 0 1 101 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);
|
|
|
|
340 18 set_vertical_scale 0 4 490 41 HeightfieldTesselator::set_vertical_scale 0 1 102 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);
|
|
|
|
341 17 set_max_triangles 0 4 490 40 HeightfieldTesselator::set_max_triangles 0 1 103 272
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: HeightfieldTesselator::set_max_triangles
|
|
// Access: Published
|
|
// Description: Sets the max triangles per geom.
|
|
////////////////////////////////////////////////////////////////////
|
|
60
|
|
inline void HeightfieldTesselator::set_max_triangles(int n);
|
|
|
|
342 13 get_elevation 0 4 490 36 HeightfieldTesselator::get_elevation 0 1 104 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);
|
|
|
|
343 8 generate 0 4 490 31 HeightfieldTesselator::generate 0 1 105 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);
|
|
|
|
344 8 LineSegs 0 4 491 18 LineSegs::LineSegs 0 2 106 107 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"));
|
|
|
|
345 9 ~LineSegs 0 4 491 19 LineSegs::~LineSegs 0 0 199
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: LineSegs::Destructor
|
|
// Access: Public
|
|
////////////////////////////////////////////////////////////////////
|
|
26
|
|
LineSegs::~LineSegs(void);
|
|
|
|
346 5 reset 0 4 491 15 LineSegs::reset 0 1 108 297
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: LineSegs::reset
|
|
// Access: Public
|
|
// Description: Removes any lines in progress and resets to the
|
|
// initial empty state.
|
|
////////////////////////////////////////////////////////////////////
|
|
27
|
|
void LineSegs::reset(void);
|
|
|
|
347 9 set_color 0 4 491 19 LineSegs::set_color 0 3 109 110 111 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);
|
|
|
|
348 13 set_thickness 0 4 491 23 LineSegs::set_thickness 0 1 112 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);
|
|
|
|
349 7 move_to 0 4 491 17 LineSegs::move_to 0 2 113 114 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);
|
|
|
|
350 7 draw_to 0 4 491 17 LineSegs::draw_to 0 2 115 116 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);
|
|
|
|
351 20 get_current_position 0 4 491 30 LineSegs::get_current_position 0 1 117 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);
|
|
|
|
352 8 is_empty 0 4 491 18 LineSegs::is_empty 0 1 118 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);
|
|
|
|
353 6 create 0 4 491 16 LineSegs::create 0 4 119 120 121 122 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));
|
|
|
|
354 16 get_num_vertices 0 4 491 26 LineSegs::get_num_vertices 0 1 123 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;
|
|
|
|
355 10 get_vertex 0 4 491 20 LineSegs::get_vertex 0 1 124 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;
|
|
|
|
356 10 set_vertex 0 4 491 20 LineSegs::set_vertex 0 2 125 126 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);
|
|
|
|
357 16 get_vertex_color 0 4 491 26 LineSegs::get_vertex_color 0 1 127 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;
|
|
|
|
358 16 set_vertex_color 0 4 491 26 LineSegs::set_vertex_color 0 3 128 129 130 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));
|
|
|
|
359 10 MeshDrawer 0 4 492 22 MeshDrawer::MeshDrawer 0 1 131 263
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::Constructor
|
|
// Access: Published
|
|
// Description: Creates the MeshDrawer low level system.
|
|
////////////////////////////////////////////////////////////////////
|
|
36
|
|
inline MeshDrawer::MeshDrawer(void);
|
|
|
|
360 10 set_budget 0 4 492 22 MeshDrawer::set_budget 0 1 132 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);
|
|
|
|
361 10 get_budget 0 4 492 22 MeshDrawer::get_budget 0 1 133 268
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::get_budget()
|
|
// Access: Published
|
|
// Description: Gets the total triangle budget of the drawer
|
|
////////////////////////////////////////////////////////////////////
|
|
40
|
|
inline int MeshDrawer::get_budget(void);
|
|
|
|
362 8 get_root 0 4 492 20 MeshDrawer::get_root 0 1 134 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);
|
|
|
|
363 5 begin 0 4 492 17 MeshDrawer::begin 0 1 135 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);
|
|
|
|
364 3 tri 0 4 492 15 MeshDrawer::tri 0 1 136 258
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::tri
|
|
// Access: Published
|
|
// Description: Draws a triangle with the given parameters.
|
|
////////////////////////////////////////////////////////////////////
|
|
220
|
|
inline void MeshDrawer::tri(LVector3f const &v1, LVector4f const &c1, LVector2f const &uv1, LVector3f const &v2, LVector4f const &c2, LVector2f const &uv2, LVector3f const &v3, LVector4f const &c3, LVector2f const &uv3);
|
|
|
|
365 8 particle 0 4 492 20 MeshDrawer::particle 0 1 137 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
124
|
|
void MeshDrawer::particle(LVector3f const &pos, LVector4f const &frame, float size, LVector4f const &color, float rotation);
|
|
|
|
366 16 blended_particle 0 4 492 28 MeshDrawer::blended_particle 0 1 138 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
171
|
|
void MeshDrawer::blended_particle(LVector3f const &pos, LVector4f const &frame1, LVector4f const &frame2, float blend, float size, LVector4f const &color, float rotation);
|
|
|
|
367 9 billboard 0 4 492 21 MeshDrawer::billboard 0 1 139 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
109
|
|
void MeshDrawer::billboard(LVector3f const &pos, LVector4f const &frame, float size, LVector4f const &color);
|
|
|
|
368 7 segment 0 4 492 19 MeshDrawer::segment 0 1 140 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
137
|
|
void MeshDrawer::segment(LVector3f const &start, LVector3f const &stop, LVector4f const &frame, float thickness, LVector4f const &color);
|
|
|
|
369 13 cross_segment 0 4 492 25 MeshDrawer::cross_segment 0 1 141 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
143
|
|
void MeshDrawer::cross_segment(LVector3f const &start, LVector3f const &stop, LVector4f const &frame, float thickness, LVector4f const &color);
|
|
|
|
370 14 uneven_segment 0 4 492 26 MeshDrawer::uneven_segment 0 1 142 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
207
|
|
void MeshDrawer::uneven_segment(LVector3f const &start, LVector3f const &stop, LVector4f const &frame, float thickness_start, LVector4f const &color_start, float thickness_stop, LVector4f const &color_stop);
|
|
|
|
371 12 link_segment 0 4 492 24 MeshDrawer::link_segment 0 1 143 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
117
|
|
void MeshDrawer::link_segment(LVector3f const &pos, LVector4f const &frame, float thickness, LVector4f const &color);
|
|
|
|
372 16 link_segment_end 0 4 492 28 MeshDrawer::link_segment_end 0 1 144 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
82
|
|
void MeshDrawer::link_segment_end(LVector4f const &frame, LVector4f const &color);
|
|
|
|
373 9 explosion 0 4 492 21 MeshDrawer::explosion 0 1 145 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
147
|
|
void MeshDrawer::explosion(LVector3f const &pos, LVector4f const &frame, float size, LVector4f const &color, int seed, int number, float distance);
|
|
|
|
374 6 stream 0 4 492 18 MeshDrawer::stream 0 1 146 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
157
|
|
void MeshDrawer::stream(LVector3f const &start, LVector3f const &stop, LVector4f const &frame, float size, LVector4f const &color, int number, float offset);
|
|
|
|
375 8 geometry 0 4 492 20 MeshDrawer::geometry 0 1 147 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);
|
|
|
|
376 3 end 0 4 492 15 MeshDrawer::end 0 1 148 293
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::end
|
|
// Access: Published
|
|
// Description: Finish the drawing and clearing off the remaining
|
|
// vertexes.
|
|
////////////////////////////////////////////////////////////////////
|
|
27
|
|
void MeshDrawer::end(void);
|
|
|
|
377 14 get_class_type 0 4 492 26 MeshDrawer::get_class_type 0 1 149 0
|
|
51
|
|
static TypeHandle MeshDrawer::get_class_type(void);
|
|
|
|
378 12 MeshDrawer2D 0 4 493 26 MeshDrawer2D::MeshDrawer2D 0 1 150 267
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::Constructor
|
|
// Access: Published
|
|
// Description: Creates the MeshDrawer2D low level system.
|
|
////////////////////////////////////////////////////////////////////
|
|
40
|
|
inline MeshDrawer2D::MeshDrawer2D(void);
|
|
|
|
379 10 set_budget 0 4 493 24 MeshDrawer2D::set_budget 0 1 151 269
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::set_budget
|
|
// Access: Published
|
|
// Description: Sets the total triangle budget of the drawer.
|
|
////////////////////////////////////////////////////////////////////
|
|
49
|
|
inline void MeshDrawer2D::set_budget(int budget);
|
|
|
|
380 10 get_budget 0 4 493 24 MeshDrawer2D::get_budget 0 1 152 270
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::get_budget()
|
|
// Access: Published
|
|
// Description: Gets the total triangle budget of the drawer
|
|
////////////////////////////////////////////////////////////////////
|
|
42
|
|
inline int MeshDrawer2D::get_budget(void);
|
|
|
|
381 8 get_root 0 4 493 22 MeshDrawer2D::get_root 0 1 153 248
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::get_root
|
|
// Access: Published
|
|
// Description: Returns the root NodePath.
|
|
////////////////////////////////////////////////////////////////////
|
|
45
|
|
inline NodePath MeshDrawer2D::get_root(void);
|
|
|
|
382 8 quad_raw 0 4 493 22 MeshDrawer2D::quad_raw 0 1 154 286
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle.
|
|
// Ignores the cliping rectangle
|
|
////////////////////////////////////////////////////////////////////
|
|
291
|
|
inline void MeshDrawer2D::quad_raw(LVector3f const &v1, LVector4f const &c1, LVector2f const &uv1, LVector3f const &v2, LVector4f const &c2, LVector2f const &uv2, LVector3f const &v3, LVector4f const &c3, LVector2f const &uv3, LVector3f const &v4, LVector4f const &c4, LVector2f const &uv4);
|
|
|
|
383 13 rectangle_raw 0 4 493 27 MeshDrawer2D::rectangle_raw 0 1 155 0
|
|
138
|
|
inline void MeshDrawer2D::rectangle_raw(float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f const &color);
|
|
|
|
384 8 set_clip 0 4 493 22 MeshDrawer2D::set_clip 0 1 156 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);
|
|
|
|
385 9 rectangle 0 4 493 23 MeshDrawer2D::rectangle 0 1 157 258
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle, that can be cliped
|
|
////////////////////////////////////////////////////////////////////
|
|
134
|
|
inline void MeshDrawer2D::rectangle(float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f const &color);
|
|
|
|
386 16 rectangle_border 0 4 493 30 MeshDrawer2D::rectangle_border 0 1 158 318
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle, with borders and corders,
|
|
// taken from the surrounding texture
|
|
////////////////////////////////////////////////////////////////////
|
|
210
|
|
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 const &color);
|
|
|
|
387 22 rectangle_border_tiled 0 4 493 36 MeshDrawer2D::rectangle_border_tiled 0 1 159 318
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle, with borders and corders,
|
|
// taken from the surrounding texture
|
|
////////////////////////////////////////////////////////////////////
|
|
216
|
|
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 const &color);
|
|
|
|
388 15 rectangle_tiled 0 4 493 29 MeshDrawer2D::rectangle_tiled 0 1 160 290
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a tiled rectangle, size of tiles is in
|
|
// us and vs
|
|
////////////////////////////////////////////////////////////////////
|
|
133
|
|
void MeshDrawer2D::rectangle_tiled(float x, float y, float w, float h, float u, float v, float us, float vs, LVector4f const &color);
|
|
|
|
389 5 begin 0 4 493 19 MeshDrawer2D::begin 0 1 161 307
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::begin
|
|
// Access: Published
|
|
// Description: Opens up the geom for drawing, don't forget to call
|
|
// MeshDrawer2D::end()
|
|
////////////////////////////////////////////////////////////////////
|
|
31
|
|
void MeshDrawer2D::begin(void);
|
|
|
|
390 3 end 0 4 493 17 MeshDrawer2D::end 0 1 162 293
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::end
|
|
// Access: Published
|
|
// Description: Finish the drawing and clearing off the remaining
|
|
// vertexes.
|
|
////////////////////////////////////////////////////////////////////
|
|
29
|
|
void MeshDrawer2D::end(void);
|
|
|
|
391 14 get_class_type 0 4 493 28 MeshDrawer2D::get_class_type 0 1 163 0
|
|
53
|
|
static TypeHandle MeshDrawer2D::get_class_type(void);
|
|
|
|
392 12 MovieTexture 0 4 494 26 MovieTexture::MovieTexture 0 2 164 165 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
108
|
|
MovieTexture::MovieTexture(basic_string< char > const &name);
|
|
MovieTexture::MovieTexture(MovieVideo *video);
|
|
|
|
393 16 get_video_length 0 4 494 30 MovieTexture::get_video_length 0 1 166 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;
|
|
|
|
394 15 get_video_width 0 4 494 29 MovieTexture::get_video_width 0 1 167 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;
|
|
|
|
395 16 get_video_height 0 4 494 30 MovieTexture::get_video_height 0 1 168 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;
|
|
|
|
396 16 get_color_cursor 0 4 494 30 MovieTexture::get_color_cursor 0 1 169 386
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_color_cursor
|
|
// Access: Published
|
|
// Description: Returns the MovieVideoCursor that is feeding the
|
|
// color channels for the indicated page, where 0 <=
|
|
// page < get_num_pages().
|
|
////////////////////////////////////////////////////////////////////
|
|
66
|
|
inline MovieVideoCursor *MovieTexture::get_color_cursor(int page);
|
|
|
|
397 16 get_alpha_cursor 0 4 494 30 MovieTexture::get_alpha_cursor 0 1 170 385
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_alpha_cursor
|
|
// Access: Published
|
|
// Description: Returns the MovieVideoCursor that is feeding the
|
|
// alpha channel for the indicated page, where 0 <=
|
|
// page < get_num_pages().
|
|
////////////////////////////////////////////////////////////////////
|
|
66
|
|
inline MovieVideoCursor *MovieTexture::get_alpha_cursor(int page);
|
|
|
|
398 7 restart 0 4 494 21 MovieTexture::restart 0 1 171 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);
|
|
|
|
399 4 stop 0 4 494 18 MovieTexture::stop 0 1 172 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);
|
|
|
|
400 4 play 0 4 494 18 MovieTexture::play 0 1 173 253
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::play
|
|
// Access: Published
|
|
// Description: Plays the movie from the beginning.
|
|
////////////////////////////////////////////////////////////////////
|
|
30
|
|
void MovieTexture::play(void);
|
|
|
|
401 8 set_time 0 4 494 22 MovieTexture::set_time 0 1 174 246
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::set_time
|
|
// Access: Published
|
|
// Description: Sets the movie's cursor.
|
|
////////////////////////////////////////////////////////////////////
|
|
38
|
|
void MovieTexture::set_time(double t);
|
|
|
|
402 8 get_time 0 4 494 22 MovieTexture::get_time 0 1 175 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;
|
|
|
|
403 8 set_loop 0 4 494 22 MovieTexture::set_loop 0 1 176 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);
|
|
|
|
404 8 get_loop 0 4 494 22 MovieTexture::get_loop 0 1 177 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;
|
|
|
|
405 14 set_loop_count 0 4 494 28 MovieTexture::set_loop_count 0 1 178 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);
|
|
|
|
406 14 get_loop_count 0 4 494 28 MovieTexture::get_loop_count 0 1 179 259
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_loop_count
|
|
// Access: Published
|
|
// Description: Returns the movie's loop count.
|
|
////////////////////////////////////////////////////////////////////
|
|
45
|
|
int MovieTexture::get_loop_count(void) const;
|
|
|
|
407 13 set_play_rate 0 4 494 27 MovieTexture::set_play_rate 0 1 180 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);
|
|
|
|
408 13 get_play_rate 0 4 494 27 MovieTexture::get_play_rate 0 1 181 254
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_play_rate
|
|
// Access: Published
|
|
// Description: Gets the movie's play-rate.
|
|
////////////////////////////////////////////////////////////////////
|
|
47
|
|
double MovieTexture::get_play_rate(void) const;
|
|
|
|
409 10 is_playing 0 4 494 24 MovieTexture::is_playing 0 1 182 272
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::is_playing
|
|
// Access: Published
|
|
// Description: Returns true if the movie's cursor is advancing.
|
|
////////////////////////////////////////////////////////////////////
|
|
42
|
|
bool MovieTexture::is_playing(void) const;
|
|
|
|
410 14 synchronize_to 0 4 494 28 MovieTexture::synchronize_to 0 1 183 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);
|
|
|
|
411 13 unsynchronize 0 4 494 27 MovieTexture::unsynchronize 0 1 184 259
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::unsynchronize
|
|
// Access: Published
|
|
// Description: Stop synchronizing with a sound.
|
|
////////////////////////////////////////////////////////////////////
|
|
39
|
|
void MovieTexture::unsynchronize(void);
|
|
|
|
412 14 get_class_type 0 4 494 28 MovieTexture::get_class_type 0 1 185 0
|
|
53
|
|
static TypeHandle MovieTexture::get_class_type(void);
|
|
|
|
413 15 MultitexReducer 0 4 496 32 MultitexReducer::MultitexReducer 0 1 186 0
|
|
39
|
|
MultitexReducer::MultitexReducer(void);
|
|
|
|
414 16 ~MultitexReducer 0 4 496 33 MultitexReducer::~MultitexReducer 0 0 0
|
|
40
|
|
MultitexReducer::~MultitexReducer(void);
|
|
|
|
415 5 clear 0 4 496 22 MultitexReducer::clear 0 1 187 0
|
|
34
|
|
void MultitexReducer::clear(void);
|
|
|
|
416 4 scan 0 4 496 21 MultitexReducer::scan 0 3 188 189 190 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 0 4 496 27 MultitexReducer::set_target 0 1 191 0
|
|
54
|
|
void MultitexReducer::set_target(TextureStage *stage);
|
|
|
|
418 12 set_use_geom 0 4 496 29 MultitexReducer::set_use_geom 0 1 192 0
|
|
50
|
|
void MultitexReducer::set_use_geom(bool use_geom);
|
|
|
|
419 17 set_allow_tex_mat 0 4 496 34 MultitexReducer::set_allow_tex_mat 0 1 193 0
|
|
60
|
|
void MultitexReducer::set_allow_tex_mat(bool allow_tex_mat);
|
|
|
|
420 7 flatten 0 4 496 24 MultitexReducer::flatten 0 1 194 0
|
|
54
|
|
void MultitexReducer::flatten(GraphicsOutput *window);
|
|
|
|
421 19 NodeVertexTransform 0 4 497 40 NodeVertexTransform::NodeVertexTransform 0 2 195 196 231
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: NodeVertexTransform::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
109
|
|
NodeVertexTransform::NodeVertexTransform(PandaNode const *node, VertexTransform const *prev = ((void *)(0)));
|
|
|
|
422 8 get_node 0 4 497 29 NodeVertexTransform::get_node 0 1 197 799
|
|
// Filename: nodeVertexTransform.I
|
|
// Created by: drose (22eb07)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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;
|
|
|
|
423 8 get_prev 0 4 497 29 NodeVertexTransform::get_prev 0 1 198 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;
|
|
|
|
424 14 get_class_type 0 4 497 35 NodeVertexTransform::get_class_type 0 1 199 0
|
|
60
|
|
static TypeHandle NodeVertexTransform::get_class_type(void);
|
|
|
|
425 20 ~NodeVertexTransform 0 4 497 41 NodeVertexTransform::~NodeVertexTransform 0 0 0
|
|
48
|
|
NodeVertexTransform::~NodeVertexTransform(void);
|
|
|
|
426 23 SceneGraphAnalyzerMeter 0 4 499 48 SceneGraphAnalyzerMeter::SceneGraphAnalyzerMeter 0 1 200 236
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
100
|
|
SceneGraphAnalyzerMeter::SceneGraphAnalyzerMeter(basic_string< char > const &name, PandaNode *node);
|
|
|
|
427 12 setup_window 0 4 499 37 SceneGraphAnalyzerMeter::setup_window 0 1 201 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);
|
|
|
|
428 12 clear_window 0 4 499 37 SceneGraphAnalyzerMeter::clear_window 0 1 202 309
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::clear_window
|
|
// Access: Published
|
|
// Description: Undoes the effect of a previous call to
|
|
// setup_window().
|
|
////////////////////////////////////////////////////////////////////
|
|
49
|
|
void SceneGraphAnalyzerMeter::clear_window(void);
|
|
|
|
429 10 get_window 0 4 499 35 SceneGraphAnalyzerMeter::get_window 0 1 203 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;
|
|
|
|
430 18 get_display_region 0 4 499 43 SceneGraphAnalyzerMeter::get_display_region 0 1 204 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;
|
|
|
|
431 19 set_update_interval 0 4 499 44 SceneGraphAnalyzerMeter::set_update_interval 0 1 205 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);
|
|
|
|
432 19 get_update_interval 0 4 499 44 SceneGraphAnalyzerMeter::get_update_interval 0 1 206 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;
|
|
|
|
433 8 set_node 0 4 499 33 SceneGraphAnalyzerMeter::set_node 0 1 207 262
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::set_node
|
|
// Access: Published
|
|
// Description: Sets the node to be analyzed.
|
|
////////////////////////////////////////////////////////////////////
|
|
63
|
|
inline void SceneGraphAnalyzerMeter::set_node(PandaNode *node);
|
|
|
|
434 8 get_node 0 4 499 33 SceneGraphAnalyzerMeter::get_node 0 1 208 265
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::get_node
|
|
// Access: Published
|
|
// Description: Returns the node to be analyzed.
|
|
////////////////////////////////////////////////////////////////////
|
|
64
|
|
inline PandaNode *SceneGraphAnalyzerMeter::get_node(void) const;
|
|
|
|
435 6 update 0 4 499 31 SceneGraphAnalyzerMeter::update 0 1 209 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);
|
|
|
|
436 14 get_class_type 0 4 499 39 SceneGraphAnalyzerMeter::get_class_type 0 1 210 0
|
|
64
|
|
static TypeHandle SceneGraphAnalyzerMeter::get_class_type(void);
|
|
|
|
437 17 RigidBodyCombiner 0 4 500 36 RigidBodyCombiner::RigidBodyCombiner 0 1 211 465
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: RigidBodyCombiner::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: RigidBodyCombiner::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
71
|
|
RigidBodyCombiner::RigidBodyCombiner(basic_string< char > const &name);
|
|
|
|
438 7 collect 0 4 500 26 RigidBodyCombiner::collect 0 1 212 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);
|
|
|
|
439 18 get_internal_scene 0 4 500 37 RigidBodyCombiner::get_internal_scene 0 1 213 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);
|
|
|
|
440 14 get_class_type 0 4 500 33 RigidBodyCombiner::get_class_type 0 1 214 0
|
|
58
|
|
static TypeHandle RigidBodyCombiner::get_class_type(void);
|
|
|
|
441 18 ~RigidBodyCombiner 0 4 500 37 RigidBodyCombiner::~RigidBodyCombiner 0 0 0
|
|
44
|
|
RigidBodyCombiner::~RigidBodyCombiner(void);
|
|
|
|
442 23 upcast_to_CullTraverser 0 12 502 51 PipeOcclusionCullTraverser::upcast_to_CullTraverser 0 1 224 55
|
|
upcast from PipeOcclusionCullTraverser to CullTraverser
|
|
73
|
|
CullTraverser *PipeOcclusionCullTraverser::upcast_to_CullTraverser(void);
|
|
|
|
443 38 downcast_to_PipeOcclusionCullTraverser 0 12 503 53 CullTraverser::downcast_to_PipeOcclusionCullTraverser 0 1 225 57
|
|
downcast from CullTraverser to PipeOcclusionCullTraverser
|
|
88
|
|
PipeOcclusionCullTraverser *CullTraverser::downcast_to_PipeOcclusionCullTraverser(void);
|
|
|
|
444 21 upcast_to_CullHandler 0 12 502 49 PipeOcclusionCullTraverser::upcast_to_CullHandler 0 1 226 53
|
|
upcast from PipeOcclusionCullTraverser to CullHandler
|
|
69
|
|
CullHandler *PipeOcclusionCullTraverser::upcast_to_CullHandler(void);
|
|
|
|
445 38 downcast_to_PipeOcclusionCullTraverser 0 12 504 51 CullHandler::downcast_to_PipeOcclusionCullTraverser 0 1 227 55
|
|
downcast from CullHandler to PipeOcclusionCullTraverser
|
|
86
|
|
PipeOcclusionCullTraverser *CullHandler::downcast_to_PipeOcclusionCullTraverser(void);
|
|
|
|
446 26 PipeOcclusionCullTraverser 0 4 502 54 PipeOcclusionCullTraverser::PipeOcclusionCullTraverser 0 2 215 216 485
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PipeOcclusionCullTraverser::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PipeOcclusionCullTraverser::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
173
|
|
PipeOcclusionCullTraverser::PipeOcclusionCullTraverser(GraphicsOutput *host);
|
|
PipeOcclusionCullTraverser::PipeOcclusionCullTraverser(PipeOcclusionCullTraverser const ©);
|
|
|
|
447 9 set_scene 0 6 502 37 PipeOcclusionCullTraverser::set_scene 0 1 217 246
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PipeOcclusionCullTraverser::set_scene
|
|
// Access: Published, Virtual
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
135
|
|
virtual void PipeOcclusionCullTraverser::set_scene(SceneSetup *scene_setup, GraphicsStateGuardianBase *gsg, bool dr_incomplete_render);
|
|
|
|
448 12 end_traverse 0 6 502 40 PipeOcclusionCullTraverser::end_traverse 0 1 218 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);
|
|
|
|
449 10 get_buffer 0 4 502 38 PipeOcclusionCullTraverser::get_buffer 0 1 219 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;
|
|
|
|
450 11 get_texture 0 4 502 39 PipeOcclusionCullTraverser::get_texture 0 1 220 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);
|
|
|
|
451 18 set_occlusion_mask 0 4 502 46 PipeOcclusionCullTraverser::set_occlusion_mask 0 1 221 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);
|
|
|
|
452 18 get_occlusion_mask 0 4 502 46 PipeOcclusionCullTraverser::get_occlusion_mask 0 1 222 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;
|
|
|
|
453 14 get_class_type 0 4 502 42 PipeOcclusionCullTraverser::get_class_type 0 1 223 0
|
|
67
|
|
static TypeHandle PipeOcclusionCullTraverser::get_class_type(void);
|
|
|
|
454 27 ~PipeOcclusionCullTraverser 0 4 502 55 PipeOcclusionCullTraverser::~PipeOcclusionCullTraverser 0 0 0
|
|
62
|
|
PipeOcclusionCullTraverser::~PipeOcclusionCullTraverser(void);
|
|
|
|
455 9 PfmVizzer 0 4 505 20 PfmVizzer::PfmVizzer 0 1 228 526
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::Constructor
|
|
// Access: Published
|
|
// Description: The PfmVizzer constructor receives a reference to a
|
|
// PfmFile which it will operate on. It does not keep
|
|
// ownership of this reference; it is your
|
|
// responsibility to ensure the PfmFile does not
|
|
// destruct during the lifetime of the PfmVizzer.
|
|
////////////////////////////////////////////////////////////////////
|
|
35
|
|
PfmVizzer::PfmVizzer(PfmFile &pfm);
|
|
|
|
456 7 get_pfm 0 4 505 18 PfmVizzer::get_pfm 0 2 229 230 1091
|
|
// Filename: pfmVizzer.I
|
|
// Created by: drose (30Sep12)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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: PfmVizzer::get_pfm
|
|
// Access: Published
|
|
// Description: Returns the reference to the PfmFile manipulated by
|
|
// this PfmVizzer.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_pfm
|
|
// Access: Published
|
|
// Description: Returns the reference to the PfmFile manipulated by
|
|
// this PfmVizzer.
|
|
////////////////////////////////////////////////////////////////////
|
|
95
|
|
inline PfmFile &PfmVizzer::get_pfm(void);
|
|
inline PfmFile const &PfmVizzer::get_pfm(void) const;
|
|
|
|
457 7 project 0 4 505 18 PfmVizzer::project 0 1 231 633
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::project
|
|
// Access: Published
|
|
// Description: Adjusts each (x, y, z) point of the Pfm file by
|
|
// projecting it through the indicated lens, converting
|
|
// each point to a (u, v, w) texture coordinate. The
|
|
// resulting file can be generated to a mesh (with
|
|
// set_vis_inverse(true) and generate_vis_mesh())
|
|
// that will apply the lens distortion to an arbitrary
|
|
// texture image.
|
|
////////////////////////////////////////////////////////////////////
|
|
42
|
|
void PfmVizzer::project(Lens const *lens);
|
|
|
|
458 7 extrude 0 4 505 18 PfmVizzer::extrude 0 1 232 707
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::extrude
|
|
// Access: Published
|
|
// Description: Converts each (u, v, depth) point of the Pfm file to
|
|
// an (x, y, z) point, by reversing project(). If the
|
|
// original file is only a 1-d file, assumes that it is
|
|
// a depth map with implicit (u, v) coordinates.
|
|
//
|
|
// This method is only valid for a linear lens (e.g. a
|
|
// PerspectiveLens or OrthographicLens). Non-linear
|
|
// lenses don't necessarily compute a sensible depth
|
|
// coordinate.
|
|
////////////////////////////////////////////////////////////////////
|
|
42
|
|
void PfmVizzer::extrude(Lens const *lens);
|
|
|
|
459 15 set_vis_inverse 0 4 505 26 PfmVizzer::set_vis_inverse 0 1 233 771
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_inverse
|
|
// Access: Published
|
|
// Description: Sets the vis_inverse flag. When this flag is true,
|
|
// vis meshes and point clouds are generated with the
|
|
// 3-d depth value in the texture coordinates, and the
|
|
// 2-d index value in the vertex position. When it is
|
|
// false, meshes are generated normally, with the 3-d
|
|
// depth value in the vertex position and the 2-d index
|
|
// value in the texture coordinates.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
////////////////////////////////////////////////////////////////////
|
|
57
|
|
inline void PfmVizzer::set_vis_inverse(bool vis_inverse);
|
|
|
|
460 15 get_vis_inverse 0 4 505 26 PfmVizzer::get_vis_inverse 0 1 234 279
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_vis_inverse
|
|
// Access: Published
|
|
// Description: Returns the vis_inverse flag. See set_vis_inverse().
|
|
////////////////////////////////////////////////////////////////////
|
|
51
|
|
inline bool PfmVizzer::get_vis_inverse(void) const;
|
|
|
|
461 22 set_flat_texcoord_name 0 4 505 33 PfmVizzer::set_flat_texcoord_name 0 1 235 830
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_flat_texcoord_name
|
|
// Access: Published
|
|
// Description: If the flat_texcoord_name is specified, it is the
|
|
// name of an additional vertex column that will be
|
|
// created for the "flat" texture coordinates, i.e. the
|
|
// original 0..1 values that correspond to the 2-D index
|
|
// position of each point in the original pfm file.
|
|
//
|
|
// These are the same values that will be assigned to
|
|
// the default texture coordinates if the vis_inverse
|
|
// flag is *not* true.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
////////////////////////////////////////////////////////////////////
|
|
80
|
|
inline void PfmVizzer::set_flat_texcoord_name(InternalName *flat_texcoord_name);
|
|
|
|
462 24 clear_flat_texcoord_name 0 4 505 35 PfmVizzer::clear_flat_texcoord_name 0 1 236 446
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::clear_flat_texcoord_name
|
|
// Access: Published
|
|
// Description: Resets the flat_texcoord_name to empty, so that
|
|
// additional texture coordinates are not created.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
////////////////////////////////////////////////////////////////////
|
|
54
|
|
inline void PfmVizzer::clear_flat_texcoord_name(void);
|
|
|
|
463 22 get_flat_texcoord_name 0 4 505 33 PfmVizzer::get_flat_texcoord_name 0 1 237 295
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_flat_texcoord_name
|
|
// Access: Published
|
|
// Description: Returns the flat_texcoord_name. See set_flat_texcoord_name().
|
|
////////////////////////////////////////////////////////////////////
|
|
67
|
|
inline InternalName *PfmVizzer::get_flat_texcoord_name(void) const;
|
|
|
|
464 10 set_vis_2d 0 4 505 21 PfmVizzer::set_vis_2d 0 1 238 576
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_2d
|
|
// Access: Published
|
|
// Description: Sets the vis_2d flag. When this flag is true,
|
|
// only the first two (x, y) value of each depth point
|
|
// is considered meaningful; the z component is ignored.
|
|
// This is only relevant for generating visualizations.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
////////////////////////////////////////////////////////////////////
|
|
47
|
|
inline void PfmVizzer::set_vis_2d(bool vis_2d);
|
|
|
|
465 10 get_vis_2d 0 4 505 21 PfmVizzer::get_vis_2d 0 1 239 264
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_vis_2d
|
|
// Access: Published
|
|
// Description: Returns the vis_2d flag. See set_vis_2d().
|
|
////////////////////////////////////////////////////////////////////
|
|
46
|
|
inline bool PfmVizzer::get_vis_2d(void) const;
|
|
|
|
466 20 set_keep_beyond_lens 0 4 505 31 PfmVizzer::set_keep_beyond_lens 0 1 240 516
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_keep_beyond_lens
|
|
// Access: Published
|
|
// Description: Sets the keep_beyond_lens flag. When this flag is
|
|
// true, points that fall outside of the normal lens
|
|
// range in project() or in add_vis_column() will be
|
|
// retained anyway; when it is false, these points will
|
|
// be discarded.
|
|
////////////////////////////////////////////////////////////////////
|
|
67
|
|
inline void PfmVizzer::set_keep_beyond_lens(bool keep_beyond_lens);
|
|
|
|
467 20 get_keep_beyond_lens 0 4 505 31 PfmVizzer::get_keep_beyond_lens 0 1 241 311
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_keep_beyond_lens
|
|
// Access: Published
|
|
// Description: Returns the keep_beyond_lens flag. See
|
|
// set_keep_beyond_lens().
|
|
////////////////////////////////////////////////////////////////////
|
|
56
|
|
inline bool PfmVizzer::get_keep_beyond_lens(void) const;
|
|
|
|
468 13 set_vis_blend 0 4 505 24 PfmVizzer::set_vis_blend 0 1 242 805
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_blend
|
|
// Access: Published
|
|
// Description: Specifies a blending map--a grayscale image--that
|
|
// will be applied to the vertex color during
|
|
// generate_vis_mesh() and generate_vis_points(). The
|
|
// image size must exactly match the mesh size of the
|
|
// PfmVizzer.
|
|
//
|
|
// Ownership of the pointer is not kept by the PfmVizzer;
|
|
// it is your responsibility to ensure it does not
|
|
// destruct during the lifetime of the PfmVizzer (or at
|
|
// least not before your subsequent call to
|
|
// generate_vis_mesh()).
|
|
////////////////////////////////////////////////////////////////////
|
|
64
|
|
inline void PfmVizzer::set_vis_blend(PNMImage const *vis_blend);
|
|
|
|
469 15 clear_vis_blend 0 4 505 26 PfmVizzer::clear_vis_blend 0 1 243 305
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_blend
|
|
// Access: Published
|
|
// Description: Removes the blending map set by a prior call to
|
|
// set_vis_blend().
|
|
////////////////////////////////////////////////////////////////////
|
|
45
|
|
inline void PfmVizzer::clear_vis_blend(void);
|
|
|
|
470 13 get_vis_blend 0 4 505 24 PfmVizzer::get_vis_blend 0 1 244 377
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_vis_blend
|
|
// Access: Published
|
|
// Description: Returns the blending map set by the most recent call
|
|
// to set_vis_blend(), or NULL if there is no blending
|
|
// map in effect.
|
|
////////////////////////////////////////////////////////////////////
|
|
60
|
|
inline PNMImage const *PfmVizzer::get_vis_blend(void) const;
|
|
|
|
471 11 set_aux_pfm 0 4 505 22 PfmVizzer::set_aux_pfm 0 1 245 762
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_aux_pfm
|
|
// Access: Published
|
|
// Description: Assigns an auxiliary PfmFile to this PfmVizzer. This
|
|
// file will be queried by column types
|
|
// CT_aux_vertex1/2/3, but has no other meaning to the
|
|
// vizzer. This size of this PfmFile should exactly
|
|
// match the base PfmFile. No reference count is held
|
|
// and no copy is made; the caller is responsible for
|
|
// ensuring that the auxiliary PfmFile will persist
|
|
// throughout the lifetime of the PfmVizzer it is
|
|
// assigned to.
|
|
////////////////////////////////////////////////////////////////////
|
|
55
|
|
inline void PfmVizzer::set_aux_pfm(PfmFile const *pfm);
|
|
|
|
472 13 clear_aux_pfm 0 4 505 24 PfmVizzer::clear_aux_pfm 0 1 246 274
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::clear_aux_pfm
|
|
// Access: Published
|
|
// Description: Removes the auxiliary PfmFile from this PfmVizzer.
|
|
////////////////////////////////////////////////////////////////////
|
|
43
|
|
inline void PfmVizzer::clear_aux_pfm(void);
|
|
|
|
473 11 get_aux_pfm 0 4 505 22 PfmVizzer::get_aux_pfm 0 1 247 438
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_aux_pfm
|
|
// Access: Published
|
|
// Description: Returns the reference to the auxiliary PfmFile
|
|
// queried by this PfmVizzer. This contains the values
|
|
// that will be reflected in CT_aux_vertex3 etc. See
|
|
// set_aux_pfm().
|
|
////////////////////////////////////////////////////////////////////
|
|
57
|
|
inline PfmFile const *PfmVizzer::get_aux_pfm(void) const;
|
|
|
|
474 17 clear_vis_columns 0 4 505 28 PfmVizzer::clear_vis_columns 0 1 248 372
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::clear_vis_columns
|
|
// Access: Published
|
|
// Description: Removes all of the previously-added vis columns in
|
|
// preparation for building a new list. See
|
|
// add_vis_column().
|
|
////////////////////////////////////////////////////////////////////
|
|
40
|
|
void PfmVizzer::clear_vis_columns(void);
|
|
|
|
475 14 add_vis_column 0 4 505 25 PfmVizzer::add_vis_column 0 4 249 250 251 252 1511
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::add_vis_column
|
|
// Access: Published
|
|
// Description: Adds a new vis column specification to the list of
|
|
// vertex data columns that will be generated at the
|
|
// next call to generate_vis_points() or
|
|
// generate_vis_mesh(). This advanced interface
|
|
// supercedes the higher-level set_vis_inverse(),
|
|
// set_flat_texcoord_name(), and set_vis_2d().
|
|
//
|
|
// If you use this advanced interface, you must specify
|
|
// explicitly the complete list of data columns to be
|
|
// created in the resulting GeomVertexData, by calling
|
|
// add_vis_column() each time. For each column, you
|
|
// specify the source of the column in the PFMFile, the
|
|
// target column and name in the GeomVertexData, and an
|
|
// optional transform matrix and/or lens to transform
|
|
// and project the point before generating it.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::add_vis_column
|
|
// Access: Private, Static
|
|
// Description: The private implementation of the public
|
|
// add_vis_column(), this adds the column to the
|
|
// indicated specific vector.
|
|
////////////////////////////////////////////////////////////////////
|
|
237
|
|
void PfmVizzer::add_vis_column(PfmVizzer::ColumnType source, PfmVizzer::ColumnType target, InternalName *name, TransformState const *transform = ((void *)(0)), Lens const *lens = ((void *)(0)), PfmFile const *undist_lut = ((void *)(0)));
|
|
|
|
476 19 generate_vis_points 0 4 505 30 PfmVizzer::generate_vis_points 0 1 253 445
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::generate_vis_points
|
|
// Access: Published
|
|
// Description: Creates a point cloud with the points of the pfm as
|
|
// 3-d coordinates in space, and texture coordinates
|
|
// ranging from 0 .. 1 based on the position within the
|
|
// pfm grid.
|
|
////////////////////////////////////////////////////////////////////
|
|
52
|
|
NodePath PfmVizzer::generate_vis_points(void) const;
|
|
|
|
477 17 generate_vis_mesh 0 4 505 28 PfmVizzer::generate_vis_mesh 0 2 254 255 445
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::generate_vis_mesh
|
|
// Access: Published
|
|
// Description: Creates a triangle mesh with the points of the pfm as
|
|
// 3-d coordinates in space, and texture coordinates
|
|
// ranging from 0 .. 1 based on the position within the
|
|
// pfm grid.
|
|
////////////////////////////////////////////////////////////////////
|
|
83
|
|
NodePath PfmVizzer::generate_vis_mesh(PfmVizzer::MeshFace face = (MF_front)) const;
|
|
|
|
478 23 calc_max_u_displacement 0 4 505 34 PfmVizzer::calc_max_u_displacement 0 1 256 474
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::calc_max_u_displacement
|
|
// Access: Published
|
|
// Description: Computes the maximum amount of shift, in pixels
|
|
// either left or right, of any pixel in the distortion
|
|
// map. This can be passed to make_displacement(); see
|
|
// that function for more information.
|
|
////////////////////////////////////////////////////////////////////
|
|
54
|
|
double PfmVizzer::calc_max_u_displacement(void) const;
|
|
|
|
479 23 calc_max_v_displacement 0 4 505 34 PfmVizzer::calc_max_v_displacement 0 1 257 471
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::calc_max_v_displacement
|
|
// Access: Published
|
|
// Description: Computes the maximum amount of shift, in pixels
|
|
// either up or down, of any pixel in the distortion
|
|
// map. This can be passed to make_displacement(); see
|
|
// that function for more information.
|
|
////////////////////////////////////////////////////////////////////
|
|
54
|
|
double PfmVizzer::calc_max_v_displacement(void) const;
|
|
|
|
480 17 make_displacement 0 4 505 28 PfmVizzer::make_displacement 0 2 258 259 2875
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::make_displacement
|
|
// Access: Published
|
|
// Description: Assuming the underlying PfmFile is a 2-d distortion
|
|
// mesh, with the U and V in the first two components
|
|
// and the third component unused, this computes an
|
|
// AfterEffects-style displacement map that represents
|
|
// the same distortion. The indicated PNMImage will be
|
|
// filled in with a displacement map image, with
|
|
// horizontal shift in the red channel and vertical
|
|
// shift in the green channel, where a fully bright (or
|
|
// fully black) pixel indicates a shift of max_u or
|
|
// max_v pixels.
|
|
//
|
|
// Use calc_max_u_displacement() and
|
|
// calc_max_v_displacement() to compute suitable values
|
|
// for max_u and max_v.
|
|
//
|
|
// This generates an integer 16-bit displacement image.
|
|
// It is a good idea, though not necessarily essential,
|
|
// to check "Preserve RGB" in the interpret footage
|
|
// section for each displacement image. Set
|
|
// for_32bit true if this is meant to be used in a
|
|
// 32-bit project file, and false if it is meant to be
|
|
// used in a 16-bit project file.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::make_displacement
|
|
// Access: Published
|
|
// Description: Assuming the underlying PfmFile is a 2-d distortion
|
|
// mesh, with the U and V in the first two components
|
|
// and the third component unused, this computes an
|
|
// AfterEffects-style displacement map that represents
|
|
// the same distortion. The indicated PNMImage will be
|
|
// filled in with a displacement map image, with
|
|
// horizontal shift in the red channel and vertical
|
|
// shift in the green channel, where a fully bright (or
|
|
// fully black) pixel indicates a shift of max_u or
|
|
// max_v pixels.
|
|
//
|
|
// Use calc_max_u_displacement() and
|
|
// calc_max_v_displacement() to compute suitable values
|
|
// for max_u and max_v.
|
|
//
|
|
// This generates a 32-bit floating-point displacement
|
|
// image. It is essential to check "Preserve RGB" in
|
|
// the interpret footage section for each displacement
|
|
// image. Set for_32bit true if this is meant to
|
|
// be used in a 32-bit project file, and false if it is
|
|
// meant to be used in a 16-bit project file.
|
|
////////////////////////////////////////////////////////////////////
|
|
204
|
|
void PfmVizzer::make_displacement(PNMImage &result, double max_u, double max_v, bool for_32bit) const;
|
|
void PfmVizzer::make_displacement(PfmFile &result, double max_u, double max_v, bool for_32bit) const;
|
|
|
|
481 10 ~PfmVizzer 0 4 505 21 PfmVizzer::~PfmVizzer 0 0 0
|
|
28
|
|
PfmVizzer::~PfmVizzer(void);
|
|
|
|
259
|
|
1 14 Dtool_sM0lJ3MS 0 7 3 509 261 14 Dtool_sM0lJ3MS 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 508
|
|
2 14 Dtool_sM0lcuRh 0 4 5 510 0 14 Dtool_sM0lcuRh 265 ////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::reset
|
|
// Access: Public
|
|
// Description: Resets all the parameters to their initial defaults.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 509
|
|
3 14 Dtool_sM0l_5fw 0 4 6 510 0 14 Dtool_sM0l_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 509 2 ll 1 511 2 ur 1 511
|
|
4 14 Dtool_sM0lZxSq 0 4 6 510 0 14 Dtool_sM0lZxSq 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 509 2 ll 1 511 2 lr 1 511 2 ur 1 511 2 ul 1 511
|
|
5 14 Dtool_sM0lbEBS 0 4 6 510 0 14 Dtool_sM0lbEBS 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 509 2 ll 1 514 2 lr 1 514 2 ur 1 514 2 ul 1 514
|
|
6 14 Dtool_sM0lPjcg 0 4 6 510 0 14 Dtool_sM0lPjcg 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 509 1 x 1 517 1 y 1 517 1 z 1 517
|
|
7 14 Dtool_sM0lkOgl 0 4 6 510 0 14 Dtool_sM0lkOgl 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 509 3 tex 1 520
|
|
8 14 Dtool_sM0lQ5BM 0 4 7 510 0 14 Dtool_sM0lQ5BM 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 509 4 face 1 522
|
|
9 14 Dtool_sM0l_g_I 0 4 8 510 0 14 Dtool_sM0l_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 509 4 flag 1 523
|
|
10 14 Dtool_sM0lHbQa 0 4 9 510 0 14 Dtool_sM0lHbQa 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 509 4 flag 1 523
|
|
11 14 Dtool_sM0lUJOB 0 4 10 510 0 14 Dtool_sM0lUJOB 243 ////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::set_frame
|
|
// Access: Public
|
|
// Description: Sets the size of the card.
|
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 509 2 ll 1 514 2 lr 1 514 2 ur 1 514 2 ul 1 514
|
|
12 14 Dtool_sM0lKOM1 0 4 10 510 0 14 Dtool_sM0lKOM1 243 ////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::set_frame
|
|
// Access: Public
|
|
// Description: Sets the size of the card.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 509 5 frame 1 524
|
|
13 14 Dtool_sM0l3xT3 0 4 10 510 0 14 Dtool_sM0l3xT3 243 ////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::set_frame
|
|
// Access: Public
|
|
// Description: Sets the size of the card.
|
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 509 4 left 1 527 5 right 1 527 6 bottom 1 527 3 top 1 527
|
|
14 14 Dtool_sM0lQhnV 0 4 11 510 0 14 Dtool_sM0lQhnV 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 509
|
|
15 14 Dtool_sM0lolpK 0 4 12 510 0 14 Dtool_sM0lolpK 244 ////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::set_color
|
|
// Access: Public
|
|
// Description: Sets the color of the card.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 509 5 color 1 524
|
|
16 14 Dtool_sM0l0RvM 0 4 12 510 0 14 Dtool_sM0l0RvM 244 ////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::set_color
|
|
// Access: Public
|
|
// Description: Sets the color of the card.
|
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 509 1 r 1 527 1 g 1 527 1 b 1 527 1 a 1 527
|
|
17 14 Dtool_sM0ljaAn 0 4 13 510 0 14 Dtool_sM0ljaAn 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 509 4 flag 1 523
|
|
18 14 Dtool_sM0lvDmZ 0 4 14 510 0 14 Dtool_sM0lvDmZ 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 509 4 node 1 528 5 frame 1 524
|
|
19 14 Dtool_sM0lH1YC 0 4 15 510 0 14 Dtool_sM0lH1YC 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 509
|
|
20 14 Dtool_sM0lscLf 0 7 16 528 0 14 Dtool_sM0lscLf 290 ////////////////////////////////////////////////////////////////////
|
|
// Function: CardMaker::generate
|
|
// Access: Public
|
|
// Description: Generates a GeomNode that renders the specified
|
|
// geometry.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 509
|
|
21 14 Dtool_sM0lH_r8 0 7 18 529 275 14 Dtool_sM0lH_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 508
|
|
22 14 Dtool_sM0lXR72 0 4 20 510 0 14 Dtool_sM0lXR72 268 ////////////////////////////////////////////////////////////////////
|
|
// Function: FisheyeMaker::reset
|
|
// Access: Public
|
|
// Description: Resets all the parameters to their initial defaults.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 529
|
|
23 14 Dtool_sM0li0Pu 0 4 21 510 0 14 Dtool_sM0li0Pu 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 529 3 fov 1 527
|
|
24 14 Dtool_sM0ltqHT 0 4 22 510 0 14 Dtool_sM0ltqHT 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 529 12 num_vertices 1 522
|
|
25 14 Dtool_sM0l7SsF 0 4 23 510 0 14 Dtool_sM0l7SsF 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 529 16 square_inscribed 1 523 13 square_radius 1 527
|
|
26 14 Dtool_sM0lS249 0 4 24 510 0 14 Dtool_sM0lS249 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 529 10 reflection 1 523
|
|
27 14 Dtool_sM0l86hh 0 7 25 528 0 14 Dtool_sM0l86hh 293 ////////////////////////////////////////////////////////////////////
|
|
// Function: FisheyeMaker::generate
|
|
// Access: Public
|
|
// Description: Generates a GeomNode that renders the specified
|
|
// geometry.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 529
|
|
28 14 Dtool_sM0lYERg 0 7 28 530 0 14 Dtool_sM0lYERg 227 ////////////////////////////////////////////////////////////////////
|
|
// Function: FrameRateMeter::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 508
|
|
29 14 Dtool_sM0lU30L 0 4 29 510 0 14 Dtool_sM0lU30L 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 530 6 window 1 531
|
|
30 14 Dtool_sM0lxnBF 0 4 30 510 0 14 Dtool_sM0lxnBF 300 ////////////////////////////////////////////////////////////////////
|
|
// Function: FrameRateMeter::clear_window
|
|
// Access: Published
|
|
// Description: Undoes the effect of a previous call to
|
|
// setup_window().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 530
|
|
31 14 Dtool_sM0lYSXV 0 7 31 531 0 14 Dtool_sM0lYSXV 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 533
|
|
32 14 Dtool_sM0ltWk2 0 7 32 536 0 14 Dtool_sM0ltWk2 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 533
|
|
33 14 Dtool_sM0lUvgr 0 4 33 510 0 14 Dtool_sM0lUvgr 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 530 15 update_interval 1 537
|
|
34 14 Dtool_sM0l0Ouf 0 6 34 537 0 14 Dtool_sM0l0Ouf 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 533
|
|
35 14 Dtool_sM0lNbmG 0 4 35 510 0 14 Dtool_sM0lNbmG 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 530 12 text_pattern 1 508
|
|
36 14 Dtool_sM0lJ3wF 0 6 36 508 0 14 Dtool_sM0lJ3wF 311 ////////////////////////////////////////////////////////////////////
|
|
// Function: FrameRateMeter::get_text_pattern
|
|
// Access: Published
|
|
// Description: Returns the sprintf() pattern that is used to format the
|
|
// text.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 533
|
|
37 14 Dtool_sM0lqr7U 0 4 37 510 0 14 Dtool_sM0lqr7U 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 530 12 clock_object 1 538
|
|
38 14 Dtool_sM0lZmdy 0 7 38 538 0 14 Dtool_sM0lZmdy 308 ////////////////////////////////////////////////////////////////////
|
|
// Function: FrameRateMeter::get_clock_object
|
|
// Access: Published
|
|
// Description: Returns the clock that is used to determine the frame
|
|
// rate.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 533
|
|
39 14 Dtool_sM0lCl_G 0 4 39 510 0 14 Dtool_sM0lCl_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 530
|
|
40 14 Dtool_sM0lKim9 0 7 40 541 0 14 Dtool_sM0lKim9 0 0
|
|
41 14 Dtool_sM0loG9Y 0 7 43 542 0 14 Dtool_sM0loG9Y 225 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 508
|
|
42 14 Dtool_sM0lqpVp 0 6 44 543 0 14 Dtool_sM0lqpVp 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 542
|
|
43 14 Dtool_sM0lJzWh 0 6 45 523 0 14 Dtool_sM0lJzWh 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 542 8 filename 1 545 4 type 1 548
|
|
44 14 Dtool_sM0lYIBy 0 6 45 523 0 14 Dtool_sM0lYIBy 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 542 8 filename 1 545
|
|
45 14 Dtool_sM0lm4qH 0 6 45 523 0 14 Dtool_sM0lm4qH 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 542 5 image 1 550
|
|
46 14 Dtool_sM0lxycN 0 6 45 523 0 14 Dtool_sM0lxycN 0 2 4 this 3 542 4 path 1 508
|
|
47 14 Dtool_sM0lfXT0 0 6 46 543 0 14 Dtool_sM0lfXT0 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 542
|
|
48 14 Dtool_sM0lPmDS 0 6 47 523 0 14 Dtool_sM0lPmDS 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 542 8 filename 1 545 4 type 1 548
|
|
49 14 Dtool_sM0lThOn 0 6 47 523 0 14 Dtool_sM0lThOn 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 542 8 filename 1 545
|
|
50 14 Dtool_sM0lAtUU 0 6 47 523 0 14 Dtool_sM0lAtUU 0 2 4 this 3 542 5 image 1 550
|
|
51 14 Dtool_sM0lFqBu 0 6 47 523 0 14 Dtool_sM0lFqBu 0 2 4 this 3 542 5 image 1 520
|
|
52 14 Dtool_sM0luhnV 0 6 47 523 0 14 Dtool_sM0luhnV 0 2 4 this 3 542 4 path 1 508
|
|
53 14 Dtool_sM0la6h_ 0 6 48 523 0 14 Dtool_sM0la6h_ 269 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::has_color_map
|
|
// Access: Published
|
|
// Description: Returns whether a color map has been set.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 552
|
|
54 14 Dtool_sM0ls5cJ 0 4 49 510 0 14 Dtool_sM0ls5cJ 251 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::clear_color_map
|
|
// Access: Published
|
|
// Description: Clears the color map.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 542
|
|
55 14 Dtool_sM0l_Gab 0 4 50 510 0 14 Dtool_sM0l_Gab 533 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::calc_ambient_occlusion
|
|
// Access: Published
|
|
// Description: Calculates an approximate for the ambient occlusion
|
|
// and stores it in the color map, so that it will be
|
|
// written to the vertex colors. Any existing color
|
|
// map will be discarded.
|
|
// You need to call this before generating the geometry.
|
|
//////////////////////////////////////////////////////////////////// 4 4 this 3 542 6 radius 1 527 8 contrast 1 527 10 brightness 1 527
|
|
56 14 Dtool_sM0l9EuB 0 4 50 510 0 14 Dtool_sM0l9EuB 533 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::calc_ambient_occlusion
|
|
// Access: Published
|
|
// Description: Calculates an approximate for the ambient occlusion
|
|
// and stores it in the color map, so that it will be
|
|
// written to the vertex colors. Any existing color
|
|
// map will be discarded.
|
|
// You need to call this before generating the geometry.
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 542 6 radius 1 527 8 contrast 1 527
|
|
57 14 Dtool_sM0lcndp 0 4 50 510 0 14 Dtool_sM0lcndp 533 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::calc_ambient_occlusion
|
|
// Access: Published
|
|
// Description: Calculates an approximate for the ambient occlusion
|
|
// and stores it in the color map, so that it will be
|
|
// written to the vertex colors. Any existing color
|
|
// map will be discarded.
|
|
// You need to call this before generating the geometry.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 542 6 radius 1 527
|
|
58 14 Dtool_sM0laAMN 0 4 50 510 0 14 Dtool_sM0laAMN 533 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::calc_ambient_occlusion
|
|
// Access: Published
|
|
// Description: Calculates an approximate for the ambient occlusion
|
|
// and stores it in the color map, so that it will be
|
|
// written to the vertex colors. Any existing color
|
|
// map will be discarded.
|
|
// You need to call this before generating the geometry.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 542
|
|
59 14 Dtool_sM0l1u6r 0 6 51 537 0 14 Dtool_sM0l1u6r 745 ////////////////////////////////////////////////////////////////////
|
|
// 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 542 1 x 1 537 1 y 1 537
|
|
60 14 Dtool_sM0l_DkD 0 7 52 555 0 14 Dtool_sM0l_DkD 909 ////////////////////////////////////////////////////////////////////
|
|
// 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:
|
|
//
|
|
// LVector3 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 542 1 x 1 522 1 y 1 522
|
|
61 14 Dtool_sM0l8Kv7 0 7 52 555 0 14 Dtool_sM0l8Kv7 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 542 2 mx 1 556 2 my 1 556 1 x 1 522 1 y 1 522
|
|
62 14 Dtool_sM0lxJUg 0 4 53 510 0 14 Dtool_sM0lxJUg 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 542 2 bf 1 523
|
|
63 14 Dtool_sM0l94Pk 0 6 54 523 0 14 Dtool_sM0l94Pk 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 542
|
|
64 14 Dtool_sM0lCbvp 0 4 56 510 0 14 Dtool_sM0lCbvp 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 542 4 mode 1 522
|
|
65 14 Dtool_sM0lyaSr 0 4 57 510 0 14 Dtool_sM0lyaSr 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 542 2 fp 1 557
|
|
66 14 Dtool_sM0lOiSL 0 4 57 510 0 14 Dtool_sM0lOiSL 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 542 2 fp 1 511
|
|
67 14 Dtool_sM0lrZyu 0 4 57 510 0 14 Dtool_sM0lrZyu 0 2 4 this 3 542 2 fp 1 560
|
|
68 14 Dtool_sM0lniyO 0 4 57 510 0 14 Dtool_sM0lniyO 0 2 4 this 3 542 2 fp 1 514
|
|
69 14 Dtool_sM0lZTC5 0 4 57 510 0 14 Dtool_sM0lZTC5 0 2 4 this 3 542 3 fnp 1 563
|
|
70 14 Dtool_sM0lroJ3 0 4 57 510 0 14 Dtool_sM0lroJ3 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 542 1 x 1 537 1 y 1 537
|
|
71 14 Dtool_sM0lzyJx 0 7 58 563 0 14 Dtool_sM0lzyJx 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 552
|
|
72 14 Dtool_sM0liRdh 0 7 59 563 0 14 Dtool_sM0liRdh 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 552
|
|
73 14 Dtool_sM0lBUSL 0 4 60 510 0 14 Dtool_sM0lBUSL 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 542 5 newbs 1 556
|
|
74 14 Dtool_sM0lToFz 0 6 61 556 0 14 Dtool_sM0lToFz 249 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::get_block_size
|
|
// Access: Published
|
|
// Description: Gets the block size.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 542
|
|
75 14 Dtool_sM0lngc9 0 6 62 556 0 14 Dtool_sM0lngc9 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 542
|
|
76 14 Dtool_sM0lkJtk 0 4 63 510 0 14 Dtool_sM0lkJtk 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 542 8 minlevel 1 556
|
|
77 14 Dtool_sM0lmePe 0 6 64 556 0 14 Dtool_sM0lmePe 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 542
|
|
78 14 Dtool_sM0lKmb4 0 6 65 523 0 14 Dtool_sM0lKmb4 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 542
|
|
79 14 Dtool_sM0lwWkW 0 4 66 510 0 14 Dtool_sM0lwWkW 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 542 6 factor 1 527
|
|
80 14 Dtool_sM0lO5qC 0 4 67 510 0 14 Dtool_sM0lO5qC 275 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::set_near_far
|
|
// Access: Published
|
|
// Description: Sets the near and far LOD distances in one call.
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 542 10 input_near 1 537 9 input_far 1 537
|
|
81 14 Dtool_sM0lEOBo 0 4 68 510 0 14 Dtool_sM0lEOBo 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 542 10 input_near 1 537
|
|
82 14 Dtool_sM0lPhpF 0 4 69 510 0 14 Dtool_sM0lPhpF 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 542 9 input_far 1 537
|
|
83 14 Dtool_sM0lV1Mt 0 7 70 566 0 14 Dtool_sM0lV1Mt 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 542 2 mx 1 556 2 my 1 556
|
|
84 14 Dtool_sM0lYcN0 0 7 71 568 0 14 Dtool_sM0lYcN0 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 542 1 x 1 537 1 y 1 537
|
|
85 14 Dtool_sM0lnK8G 0 4 72 510 0 14 Dtool_sM0lnK8G 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 542 9 stitching 1 523
|
|
86 14 Dtool_sM0lLmPz 0 6 73 523 0 14 Dtool_sM0lLmPz 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 542
|
|
87 14 Dtool_sM0l5uZa 0 6 74 537 0 14 Dtool_sM0l5uZa 299 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::get_far
|
|
// Access: Published
|
|
// Description: Returns the far LOD distance in the terrain coordinate
|
|
// space
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 542
|
|
88 14 Dtool_sM0lId44 0 6 75 537 0 14 Dtool_sM0lId44 301 ////////////////////////////////////////////////////////////////////
|
|
// Function: GeoMipTerrain::get_near
|
|
// Access: Published
|
|
// Description: Returns the near LOD distance in the terrain coordinate
|
|
// space
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 542
|
|
89 14 Dtool_sM0lhTuL 0 6 76 522 0 14 Dtool_sM0lhTuL 344 ////////////////////////////////////////////////////////////////////
|
|
// 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 542
|
|
90 14 Dtool_sM0lBNpS 0 7 77 543 0 14 Dtool_sM0lBNpS 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 542
|
|
91 14 Dtool_sM0lccNU 0 4 78 510 0 14 Dtool_sM0lccNU 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 542
|
|
92 14 Dtool_sM0lxGAG 0 6 79 523 0 14 Dtool_sM0lxGAG 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 542
|
|
93 14 Dtool_sM0lBjrR 0 7 80 541 0 14 Dtool_sM0lBjrR 0 0
|
|
94 14 Dtool_sM0lArZ1 0 7 82 569 333 14 Dtool_sM0lArZ1 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 508
|
|
95 14 Dtool_sM0lzq0T 0 6 84 543 0 14 Dtool_sM0lzq0T 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 569
|
|
96 14 Dtool_sM0ljB94 0 6 85 523 0 14 Dtool_sM0ljB94 317 ////////////////////////////////////////////////////////////////////
|
|
// Function: HeightfieldTesselator::set_heightfield
|
|
// Access: Published
|
|
// Description: Loads the specified greyscale image file into
|
|
// the heightfield.
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 569 8 filename 1 545 4 type 1 548
|
|
97 14 Dtool_sM0lr6iN 0 6 85 523 0 14 Dtool_sM0lr6iN 317 ////////////////////////////////////////////////////////////////////
|
|
// Function: HeightfieldTesselator::set_heightfield
|
|
// Access: Published
|
|
// Description: Loads the specified greyscale image file into
|
|
// the heightfield.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 569 8 filename 1 545
|
|
98 14 Dtool_sM0ljLhQ 0 4 86 510 0 14 Dtool_sM0ljLhQ 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 569 1 n 1 522
|
|
99 14 Dtool_sM0lHSWP 0 4 87 510 0 14 Dtool_sM0lHSWP 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 569 1 r 1 522
|
|
100 14 Dtool_sM0l8fss 0 4 88 510 0 14 Dtool_sM0l8fss 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 569 1 x 1 522 1 y 1 522
|
|
101 14 Dtool_sM0lp0Br 0 4 89 510 0 14 Dtool_sM0lp0Br 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 569 1 h 1 537
|
|
102 14 Dtool_sM0lPLaX 0 4 90 510 0 14 Dtool_sM0lPLaX 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 569 1 v 1 537
|
|
103 14 Dtool_sM0l9mbV 0 4 91 510 0 14 Dtool_sM0l9mbV 272 ////////////////////////////////////////////////////////////////////
|
|
// Function: HeightfieldTesselator::set_max_triangles
|
|
// Access: Published
|
|
// Description: Sets the max triangles per geom.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 569 1 n 1 522
|
|
104 14 Dtool_sM0lsBBI 0 6 92 537 0 14 Dtool_sM0lsBBI 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 569 1 x 1 537 1 y 1 537
|
|
105 14 Dtool_sM0lG1QH 0 7 93 563 0 14 Dtool_sM0lG1QH 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 569
|
|
106 14 Dtool_sM0lcyYH 0 7 95 570 345 14 Dtool_sM0lcyYH 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 508
|
|
107 14 Dtool_sM0lWNQY 0 7 95 570 345 14 Dtool_sM0lWNQY 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
|
|
108 14 Dtool_sM0lgqmq 0 4 97 510 0 14 Dtool_sM0lgqmq 297 ////////////////////////////////////////////////////////////////////
|
|
// Function: LineSegs::reset
|
|
// Access: Public
|
|
// Description: Removes any lines in progress and resets to the
|
|
// initial empty state.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 570
|
|
109 14 Dtool_sM0l0j3d 0 4 98 510 0 14 Dtool_sM0l0j3d 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 570 5 color 1 524
|
|
110 14 Dtool_sM0loG3B 0 4 98 510 0 14 Dtool_sM0loG3B 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 570 1 r 1 527 1 g 1 527 1 b 1 527 1 a 1 527
|
|
111 14 Dtool_sM0lIOs9 0 4 98 510 0 14 Dtool_sM0lIOs9 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 570 1 r 1 527 1 g 1 527 1 b 1 527
|
|
112 14 Dtool_sM0lJ0o7 0 4 99 510 0 14 Dtool_sM0lJ0o7 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 570 5 thick 1 527
|
|
113 14 Dtool_sM0l8wH1 0 4 100 510 0 14 Dtool_sM0l8wH1 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 570 1 v 1 571
|
|
114 14 Dtool_sM0lrLxC 0 4 100 510 0 14 Dtool_sM0lrLxC 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 570 1 x 1 527 1 y 1 527 1 z 1 527
|
|
115 14 Dtool_sM0lq1dS 0 4 101 510 0 14 Dtool_sM0lq1dS 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 570 1 v 1 571
|
|
116 14 Dtool_sM0l8oGg 0 4 101 510 0 14 Dtool_sM0l8oGg 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 570 1 x 1 527 1 y 1 527 1 z 1 527
|
|
117 14 Dtool_sM0lHil_ 0 6 102 514 0 14 Dtool_sM0lHil_ 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 570
|
|
118 14 Dtool_sM0lBf1p 0 6 103 523 0 14 Dtool_sM0lBf1p 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 570
|
|
119 14 Dtool_sM0lZFoc 0 7 104 575 0 14 Dtool_sM0lZFoc 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 570 8 previous 1 575 7 dynamic 1 523
|
|
120 14 Dtool_sM0l_ama 0 7 104 575 0 14 Dtool_sM0l_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 570 8 previous 1 575
|
|
121 14 Dtool_sM0lDS3i 0 7 104 575 0 14 Dtool_sM0lDS3i 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 570 7 dynamic 1 523
|
|
122 14 Dtool_sM0lt4D_ 0 7 104 575 0 14 Dtool_sM0lt4D_ 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 570
|
|
123 14 Dtool_sM0lLyjT 0 6 105 522 0 14 Dtool_sM0lLyjT 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 576
|
|
124 14 Dtool_sM0l62YQ 0 7 106 578 0 14 Dtool_sM0l62YQ 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 576 1 n 1 522
|
|
125 14 Dtool_sM0lMZV4 0 4 107 510 0 14 Dtool_sM0lMZV4 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 570 1 n 1 522 4 vert 1 514
|
|
126 14 Dtool_sM0lx0WV 0 4 107 510 0 14 Dtool_sM0lx0WV 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 570 6 vertex 1 522 1 x 1 527 1 y 1 527 1 z 1 527
|
|
127 14 Dtool_sM0l6Cje 0 7 108 579 0 14 Dtool_sM0l6Cje 268 ////////////////////////////////////////////////////////////////////
|
|
// Function: LineSegs::get_vertex_color
|
|
// Access: Public
|
|
// Description: Returns the color of the nth point or vertex.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 576 6 vertex 1 522
|
|
128 14 Dtool_sM0lzZOI 0 4 109 510 0 14 Dtool_sM0lzZOI 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 570 6 vertex 1 522 1 c 1 524
|
|
129 14 Dtool_sM0lP_Xd 0 4 109 510 0 14 Dtool_sM0lP_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 570 6 vertex 1 522 1 r 1 527 1 g 1 527 1 b 1 527 1 a 1 527
|
|
130 14 Dtool_sM0lFwym 0 4 109 510 0 14 Dtool_sM0lFwym 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 570 6 vertex 1 522 1 r 1 527 1 g 1 527 1 b 1 527
|
|
131 14 Dtool_sM0lfr1x 0 7 111 580 0 14 Dtool_sM0lfr1x 263 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::Constructor
|
|
// Access: Published
|
|
// Description: Creates the MeshDrawer low level system.
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
132 14 Dtool_sM0lWgqx 0 4 112 510 0 14 Dtool_sM0lWgqx 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 580 6 budget 1 522
|
|
133 14 Dtool_sM0lqR0e 0 6 113 522 0 14 Dtool_sM0lqR0e 268 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::get_budget()
|
|
// Access: Published
|
|
// Description: Gets the total triangle budget of the drawer
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 580
|
|
134 14 Dtool_sM0lQVVy 0 7 114 563 0 14 Dtool_sM0lQVVy 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 580
|
|
135 14 Dtool_sM0liNeR 0 4 115 510 0 14 Dtool_sM0liNeR 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 580 6 camera 1 563 6 render 1 563
|
|
136 14 Dtool_sM0ly_6H 0 4 116 510 0 14 Dtool_sM0ly_6H 258 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::tri
|
|
// Access: Published
|
|
// Description: Draws a triangle with the given parameters.
|
|
//////////////////////////////////////////////////////////////////// 10 4 this 3 580 2 v1 1 581 2 c1 1 517 3 uv1 1 583 2 v2 1 581 2 c2 1 517 3 uv2 1 583 2 v3 1 581 2 c3 1 517 3 uv3 1 583
|
|
137 14 Dtool_sM0lpNbq 0 4 117 510 0 14 Dtool_sM0lpNbq 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 580 3 pos 1 581 5 frame 1 517 4 size 1 527 5 color 1 517 8 rotation 1 527
|
|
138 14 Dtool_sM0lJ1Ji 0 4 118 510 0 14 Dtool_sM0lJ1Ji 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 580 3 pos 1 581 6 frame1 1 517 6 frame2 1 517 5 blend 1 527 4 size 1 527 5 color 1 517 8 rotation 1 527
|
|
139 14 Dtool_sM0l1_Ov 0 4 119 510 0 14 Dtool_sM0l1_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 580 3 pos 1 581 5 frame 1 517 4 size 1 527 5 color 1 517
|
|
140 14 Dtool_sM0lMTt9 0 4 120 510 0 14 Dtool_sM0lMTt9 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 580 5 start 1 581 4 stop 1 581 5 frame 1 517 9 thickness 1 527 5 color 1 517
|
|
141 14 Dtool_sM0lNFNJ 0 4 121 510 0 14 Dtool_sM0lNFNJ 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 580 5 start 1 581 4 stop 1 581 5 frame 1 517 9 thickness 1 527 5 color 1 517
|
|
142 14 Dtool_sM0lenR0 0 4 122 510 0 14 Dtool_sM0lenR0 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 580 5 start 1 581 4 stop 1 581 5 frame 1 517 15 thickness_start 1 527 11 color_start 1 517 14 thickness_stop 1 527 10 color_stop 1 517
|
|
143 14 Dtool_sM0ljjqk 0 4 123 510 0 14 Dtool_sM0ljjqk 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 580 3 pos 1 581 5 frame 1 517 9 thickness 1 527 5 color 1 517
|
|
144 14 Dtool_sM0lFg7W 0 4 124 510 0 14 Dtool_sM0lFg7W 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 580 5 frame 1 517 5 color 1 517
|
|
145 14 Dtool_sM0lskV5 0 4 125 510 0 14 Dtool_sM0lskV5 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 580 3 pos 1 581 5 frame 1 517 4 size 1 527 5 color 1 517 4 seed 1 522 6 number 1 522 8 distance 1 527
|
|
146 14 Dtool_sM0lY_Xp 0 4 126 510 0 14 Dtool_sM0lY_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 580 5 start 1 581 4 stop 1 581 5 frame 1 517 4 size 1 527 5 color 1 517 6 number 1 522 6 offset 1 527
|
|
147 14 Dtool_sM0lsuCB 0 4 127 510 0 14 Dtool_sM0lsuCB 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 580 4 node 1 563
|
|
148 14 Dtool_sM0lk62l 0 4 128 510 0 14 Dtool_sM0lk62l 293 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer::end
|
|
// Access: Published
|
|
// Description: Finish the drawing and clearing off the remaining
|
|
// vertexes.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 580
|
|
149 14 Dtool_sM0lxrHK 0 7 129 541 0 14 Dtool_sM0lxrHK 0 0
|
|
150 14 Dtool_sM0lv8ZS 0 7 131 586 0 14 Dtool_sM0lv8ZS 267 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::Constructor
|
|
// Access: Published
|
|
// Description: Creates the MeshDrawer2D low level system.
|
|
//////////////////////////////////////////////////////////////////// 0
|
|
151 14 Dtool_sM0lbALn 0 4 132 510 0 14 Dtool_sM0lbALn 269 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::set_budget
|
|
// Access: Published
|
|
// Description: Sets the total triangle budget of the drawer.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 586 6 budget 1 522
|
|
152 14 Dtool_sM0lRJg6 0 6 133 522 0 14 Dtool_sM0lRJg6 270 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::get_budget()
|
|
// Access: Published
|
|
// Description: Gets the total triangle budget of the drawer
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 586
|
|
153 14 Dtool_sM0lJOPG 0 7 134 563 0 14 Dtool_sM0lJOPG 248 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::get_root
|
|
// Access: Published
|
|
// Description: Returns the root NodePath.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 586
|
|
154 14 Dtool_sM0l2PJQ 0 4 135 510 0 14 Dtool_sM0l2PJQ 286 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle.
|
|
// Ignores the cliping rectangle
|
|
//////////////////////////////////////////////////////////////////// 13 4 this 3 586 2 v1 1 581 2 c1 1 517 3 uv1 1 583 2 v2 1 581 2 c2 1 517 3 uv2 1 583 2 v3 1 581 2 c3 1 517 3 uv3 1 583 2 v4 1 581 2 c4 1 517 3 uv4 1 583
|
|
155 14 Dtool_sM0l_a4G 0 4 136 510 0 14 Dtool_sM0l_a4G 0 10 4 this 3 586 1 x 1 527 1 y 1 527 1 w 1 527 1 h 1 527 1 u 1 527 1 v 1 527 2 us 1 527 2 vs 1 527 5 color 1 517
|
|
156 14 Dtool_sM0liH2C 0 4 137 510 0 14 Dtool_sM0liH2C 247 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::set_budget
|
|
// Access: Published
|
|
// Description: Sets clipping rectangle
|
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 586 1 x 1 527 1 y 1 527 1 w 1 527 1 h 1 527
|
|
157 14 Dtool_sM0lB9NP 0 4 138 510 0 14 Dtool_sM0lB9NP 258 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle, that can be cliped
|
|
//////////////////////////////////////////////////////////////////// 10 4 this 3 586 1 x 1 527 1 y 1 527 1 w 1 527 1 h 1 527 1 u 1 527 1 v 1 527 2 us 1 527 2 vs 1 527 5 color 1 517
|
|
158 14 Dtool_sM0lRnOr 0 4 139 510 0 14 Dtool_sM0lRnOr 318 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle, with borders and corders,
|
|
// taken from the surrounding texture
|
|
//////////////////////////////////////////////////////////////////// 18 4 this 3 586 1 x 1 527 1 y 1 527 1 w 1 527 1 h 1 527 1 r 1 527 1 t 1 527 1 l 1 527 1 b 1 527 2 tr 1 527 2 tt 1 527 2 tl 1 527 2 tb 1 527 1 u 1 527 1 v 1 527 2 us 1 527 2 vs 1 527 5 color 1 517
|
|
159 14 Dtool_sM0lri7F 0 4 140 510 0 14 Dtool_sM0lri7F 318 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a 2d rectangle, with borders and corders,
|
|
// taken from the surrounding texture
|
|
//////////////////////////////////////////////////////////////////// 18 4 this 3 586 1 x 1 527 1 y 1 527 1 w 1 527 1 h 1 527 1 r 1 527 1 t 1 527 1 l 1 527 1 b 1 527 2 tr 1 527 2 tt 1 527 2 tl 1 527 2 tb 1 527 1 u 1 527 1 v 1 527 2 us 1 527 2 vs 1 527 5 color 1 517
|
|
160 14 Dtool_sM0l3ANl 0 4 141 510 0 14 Dtool_sM0l3ANl 290 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::quad
|
|
// Access: Published
|
|
// Description: Draws a tiled rectangle, size of tiles is in
|
|
// us and vs
|
|
//////////////////////////////////////////////////////////////////// 10 4 this 3 586 1 x 1 527 1 y 1 527 1 w 1 527 1 h 1 527 1 u 1 527 1 v 1 527 2 us 1 527 2 vs 1 527 5 color 1 517
|
|
161 14 Dtool_sM0l3xzi 0 4 142 510 0 14 Dtool_sM0l3xzi 307 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::begin
|
|
// Access: Published
|
|
// Description: Opens up the geom for drawing, don't forget to call
|
|
// MeshDrawer2D::end()
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 586
|
|
162 14 Dtool_sM0lszaL 0 4 143 510 0 14 Dtool_sM0lszaL 293 ////////////////////////////////////////////////////////////////////
|
|
// Function: MeshDrawer2D::end
|
|
// Access: Published
|
|
// Description: Finish the drawing and clearing off the remaining
|
|
// vertexes.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 586
|
|
163 14 Dtool_sM0lcYFt 0 7 144 541 0 14 Dtool_sM0lcYFt 0 0
|
|
164 14 Dtool_sM0llUwg 0 7 147 589 0 14 Dtool_sM0llUwg 271 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::Constructor
|
|
// Access: Published
|
|
// Description: Creates a texture playing the specified movie.
|
|
//////////////////////////////////////////////////////////////////// 1 5 video 1 587
|
|
165 14 Dtool_sM0lZAUA 0 7 147 589 0 14 Dtool_sM0lZAUA 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 508
|
|
166 14 Dtool_sM0lGvQt 0 6 148 537 0 14 Dtool_sM0lGvQt 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 590
|
|
167 14 Dtool_sM0ls0yw 0 6 149 522 0 14 Dtool_sM0ls0yw 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 590
|
|
168 14 Dtool_sM0l74_7 0 6 150 522 0 14 Dtool_sM0l74_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 590
|
|
169 14 Dtool_sM0l3f5R 0 7 151 593 0 14 Dtool_sM0l3f5R 386 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_color_cursor
|
|
// Access: Published
|
|
// Description: Returns the MovieVideoCursor that is feeding the
|
|
// color channels for the indicated page, where 0 <=
|
|
// page < get_num_pages().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 589 4 page 1 522
|
|
170 14 Dtool_sM0lLqUh 0 7 152 593 0 14 Dtool_sM0lLqUh 385 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_alpha_cursor
|
|
// Access: Published
|
|
// Description: Returns the MovieVideoCursor that is feeding the
|
|
// alpha channel for the indicated page, where 0 <=
|
|
// page < get_num_pages().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 589 4 page 1 522
|
|
171 14 Dtool_sM0l5AAR 0 4 153 510 0 14 Dtool_sM0l5AAR 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 589
|
|
172 14 Dtool_sM0lfYSb 0 4 154 510 0 14 Dtool_sM0lfYSb 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 589
|
|
173 14 Dtool_sM0lIfsD 0 4 155 510 0 14 Dtool_sM0lIfsD 253 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::play
|
|
// Access: Published
|
|
// Description: Plays the movie from the beginning.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 589
|
|
174 14 Dtool_sM0lIupa 0 4 156 510 0 14 Dtool_sM0lIupa 246 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::set_time
|
|
// Access: Published
|
|
// Description: Sets the movie's cursor.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 589 1 t 1 537
|
|
175 14 Dtool_sM0l2Gj_ 0 6 157 537 0 14 Dtool_sM0l2Gj_ 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 590
|
|
176 14 Dtool_sM0lunAa 0 4 158 510 0 14 Dtool_sM0lunAa 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 589 6 enable 1 523
|
|
177 14 Dtool_sM0l_amy 0 6 159 523 0 14 Dtool_sM0l_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 590
|
|
178 14 Dtool_sM0lGUzI 0 4 160 510 0 14 Dtool_sM0lGUzI 277 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::set_loop_count
|
|
// Access: Published
|
|
// Description: Sets the movie's loop count to the desired value.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 589 5 count 1 522
|
|
179 14 Dtool_sM0lvH29 0 6 161 522 0 14 Dtool_sM0lvH29 259 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_loop_count
|
|
// Access: Published
|
|
// Description: Returns the movie's loop count.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 590
|
|
180 14 Dtool_sM0lACuB 0 4 162 510 0 14 Dtool_sM0lACuB 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 589 9 play_rate 1 537
|
|
181 14 Dtool_sM0l4dlJ 0 6 163 537 0 14 Dtool_sM0l4dlJ 254 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::get_play_rate
|
|
// Access: Published
|
|
// Description: Gets the movie's play-rate.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 590
|
|
182 14 Dtool_sM0lrcHq 0 6 164 523 0 14 Dtool_sM0lrcHq 272 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::is_playing
|
|
// Access: Published
|
|
// Description: Returns true if the movie's cursor is advancing.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 590
|
|
183 14 Dtool_sM0lm7Uo 0 4 165 510 0 14 Dtool_sM0lm7Uo 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 589 5 sound 1 594
|
|
184 14 Dtool_sM0lPVnL 0 4 166 510 0 14 Dtool_sM0lPVnL 259 ////////////////////////////////////////////////////////////////////
|
|
// Function: MovieTexture::unsynchronize
|
|
// Access: Published
|
|
// Description: Stop synchronizing with a sound.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 589
|
|
185 14 Dtool_sM0l4XKd 0 7 167 541 0 14 Dtool_sM0l4XKd 0 0
|
|
186 14 Dtool_sM0lwAX5 0 7 169 596 414 14 Dtool_sM0lwAX5 0 0
|
|
187 14 Dtool_sM0lDQSi 0 4 171 510 0 14 Dtool_sM0lDQSi 0 1 4 this 3 596
|
|
188 14 Dtool_sM0lEInR 0 4 172 510 0 14 Dtool_sM0lEInR 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 596 4 node 1 566
|
|
189 14 Dtool_sM0lqawa 0 4 172 510 0 14 Dtool_sM0lqawa 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 596 4 node 1 566 10 state_from 1 566
|
|
190 14 Dtool_sM0lcyhS 0 4 172 510 0 14 Dtool_sM0lcyhS 0 4 4 this 3 596 4 node 1 528 5 state 1 597 9 transform 1 600
|
|
191 14 Dtool_sM0ljnJP 0 4 173 510 0 14 Dtool_sM0ljnJP 0 2 4 this 3 596 5 stage 1 603
|
|
192 14 Dtool_sM0ll_cC 0 4 174 510 0 14 Dtool_sM0ll_cC 0 2 4 this 3 596 8 use_geom 1 523
|
|
193 14 Dtool_sM0lhlww 0 4 175 510 0 14 Dtool_sM0lhlww 0 2 4 this 3 596 13 allow_tex_mat 1 523
|
|
194 14 Dtool_sM0lq9Y9 0 4 176 510 0 14 Dtool_sM0lq9Y9 0 2 4 this 3 596 6 window 1 531
|
|
195 14 Dtool_sM0lUAs_ 0 7 179 609 425 14 Dtool_sM0lUAs_ 231 ////////////////////////////////////////////////////////////////////
|
|
// Function: NodeVertexTransform::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 node 1 605 4 prev 1 607
|
|
196 14 Dtool_sM0lLMac 0 7 179 609 425 14 Dtool_sM0lLMac 231 ////////////////////////////////////////////////////////////////////
|
|
// Function: NodeVertexTransform::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 node 1 605
|
|
197 14 Dtool_sM0lE50V 0 7 180 605 0 14 Dtool_sM0lE50V 799 // Filename: nodeVertexTransform.I
|
|
// Created by: drose (22eb07)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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 610
|
|
198 14 Dtool_sM0lIvje 0 7 181 607 0 14 Dtool_sM0lIvje 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 610
|
|
199 14 Dtool_sM0lXA2j 0 7 182 541 0 14 Dtool_sM0lXA2j 0 0
|
|
200 14 Dtool_sM0lx_T0 0 7 185 612 0 14 Dtool_sM0lx_T0 236 ////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 4 name 1 508 4 node 1 528
|
|
201 14 Dtool_sM0lWe_a 0 4 186 510 0 14 Dtool_sM0lWe_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 612 6 window 1 531
|
|
202 14 Dtool_sM0lQgNS 0 4 187 510 0 14 Dtool_sM0lQgNS 309 ////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::clear_window
|
|
// Access: Published
|
|
// Description: Undoes the effect of a previous call to
|
|
// setup_window().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 612
|
|
203 14 Dtool_sM0lRXM8 0 7 188 531 0 14 Dtool_sM0lRXM8 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 613
|
|
204 14 Dtool_sM0lElWA 0 7 189 536 0 14 Dtool_sM0lElWA 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 613
|
|
205 14 Dtool_sM0lUN_u 0 4 190 510 0 14 Dtool_sM0lUN_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 612 15 update_interval 1 537
|
|
206 14 Dtool_sM0la6gl 0 6 191 537 0 14 Dtool_sM0la6gl 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 613
|
|
207 14 Dtool_sM0lz_PO 0 4 192 510 0 14 Dtool_sM0lz_PO 262 ////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::set_node
|
|
// Access: Published
|
|
// Description: Sets the node to be analyzed.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 612 4 node 1 528
|
|
208 14 Dtool_sM0lvFXY 0 7 193 528 0 14 Dtool_sM0lvFXY 265 ////////////////////////////////////////////////////////////////////
|
|
// Function: SceneGraphAnalyzerMeter::get_node
|
|
// Access: Published
|
|
// Description: Returns the node to be analyzed.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 613
|
|
209 14 Dtool_sM0lHudS 0 4 194 510 0 14 Dtool_sM0lHudS 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 612
|
|
210 14 Dtool_sM0lW6OB 0 7 195 541 0 14 Dtool_sM0lW6OB 0 0
|
|
211 14 Dtool_sM0l_teO 0 7 198 615 441 14 Dtool_sM0l_teO 229 ////////////////////////////////////////////////////////////////////
|
|
// Function: RigidBodyCombiner::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 508
|
|
212 14 Dtool_sM0lJTag 0 4 199 510 0 14 Dtool_sM0lJTag 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 615
|
|
213 14 Dtool_sM0lxe0d 0 7 200 563 0 14 Dtool_sM0lxe0d 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 615
|
|
214 14 Dtool_sM0lpy_l 0 7 201 541 0 14 Dtool_sM0lpy_l 0 0
|
|
215 14 Dtool_sM0l_HaA 0 7 210 616 454 14 Dtool_sM0l_HaA 239 ////////////////////////////////////////////////////////////////////
|
|
// Function: PipeOcclusionCullTraverser::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 host 1 531
|
|
216 14 Dtool_sM0lStnT 0 7 210 616 454 14 Dtool_sM0lStnT 244 ////////////////////////////////////////////////////////////////////
|
|
// Function: PipeOcclusionCullTraverser::Copy Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 copy 1 617
|
|
217 14 Dtool_sM0lZLBh 0 4 211 510 0 14 Dtool_sM0lZLBh 246 ////////////////////////////////////////////////////////////////////
|
|
// Function: PipeOcclusionCullTraverser::set_scene
|
|
// Access: Published, Virtual
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 4 4 this 3 616 11 scene_setup 1 619 3 gsg 1 621 20 dr_incomplete_render 1 523
|
|
218 14 Dtool_sM0lLqEM 0 4 212 510 0 14 Dtool_sM0lLqEM 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 616
|
|
219 14 Dtool_sM0lUW92 0 7 213 531 0 14 Dtool_sM0lUW92 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 617
|
|
220 14 Dtool_sM0ltAY0 0 7 214 623 0 14 Dtool_sM0ltAY0 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 616
|
|
221 14 Dtool_sM0lym4N 0 4 215 510 0 14 Dtool_sM0lym4N 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 616 14 occlusion_mask 1 624
|
|
222 14 Dtool_sM0lFvGP 0 6 216 624 0 14 Dtool_sM0lFvGP 331 ////////////////////////////////////////////////////////////////////
|
|
// Function: PipeOcclusionCullTraverser::get_occlusion_mask
|
|
// Access: Public
|
|
// Description: Returns the DrawMask for occlusion polygons. See
|
|
// set_occlusion_mask().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 617
|
|
223 14 Dtool_sM0l29Qt 0 7 217 541 0 14 Dtool_sM0l29Qt 0 0
|
|
224 14 Dtool_sM0lyqvZ 0 7 205 627 0 14 Dtool_sM0lyqvZ 0 1 4 this 3 616
|
|
225 14 Dtool_sM0lMpn5 0 7 206 616 454 14 Dtool_sM0lMpn5 0 1 4 this 3 627
|
|
226 14 Dtool_sM0l2XE5 0 6 208 628 0 14 Dtool_sM0l2XE5 0 1 4 this 3 616
|
|
227 14 Dtool_sM0lKLis 0 7 209 616 454 14 Dtool_sM0lKLis 0 1 4 this 3 628
|
|
228 14 Dtool_sM0lYhtW 0 7 220 631 481 14 Dtool_sM0lYhtW 526 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::Constructor
|
|
// Access: Published
|
|
// Description: The PfmVizzer constructor receives a reference to a
|
|
// PfmFile which it will operate on. It does not keep
|
|
// ownership of this reference; it is your
|
|
// responsibility to ensure the PfmFile does not
|
|
// destruct during the lifetime of the PfmVizzer.
|
|
//////////////////////////////////////////////////////////////////// 1 3 pfm 1 629
|
|
229 14 Dtool_sM0lCm5n 0 6 221 629 0 14 Dtool_sM0lCm5n 787 // Filename: pfmVizzer.I
|
|
// Created by: drose (30Sep12)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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: PfmVizzer::get_pfm
|
|
// Access: Published
|
|
// Description: Returns the reference to the PfmFile manipulated by
|
|
// this PfmVizzer.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 631
|
|
230 14 Dtool_sM0lBq29 0 6 221 634 0 14 Dtool_sM0lBq29 302 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_pfm
|
|
// Access: Published
|
|
// Description: Returns the reference to the PfmFile manipulated by
|
|
// this PfmVizzer.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
231 14 Dtool_sM0lerq4 0 4 222 510 0 14 Dtool_sM0lerq4 633 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::project
|
|
// Access: Published
|
|
// Description: Adjusts each (x, y, z) point of the Pfm file by
|
|
// projecting it through the indicated lens, converting
|
|
// each point to a (u, v, w) texture coordinate. The
|
|
// resulting file can be generated to a mesh (with
|
|
// set_vis_inverse(true) and generate_vis_mesh())
|
|
// that will apply the lens distortion to an arbitrary
|
|
// texture image.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 4 lens 1 636
|
|
232 14 Dtool_sM0lSCDk 0 4 223 510 0 14 Dtool_sM0lSCDk 707 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::extrude
|
|
// Access: Published
|
|
// Description: Converts each (u, v, depth) point of the Pfm file to
|
|
// an (x, y, z) point, by reversing project(). If the
|
|
// original file is only a 1-d file, assumes that it is
|
|
// a depth map with implicit (u, v) coordinates.
|
|
//
|
|
// This method is only valid for a linear lens (e.g. a
|
|
// PerspectiveLens or OrthographicLens). Non-linear
|
|
// lenses don't necessarily compute a sensible depth
|
|
// coordinate.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 4 lens 1 636
|
|
233 14 Dtool_sM0le3qR 0 4 224 510 0 14 Dtool_sM0le3qR 771 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_inverse
|
|
// Access: Published
|
|
// Description: Sets the vis_inverse flag. When this flag is true,
|
|
// vis meshes and point clouds are generated with the
|
|
// 3-d depth value in the texture coordinates, and the
|
|
// 2-d index value in the vertex position. When it is
|
|
// false, meshes are generated normally, with the 3-d
|
|
// depth value in the vertex position and the 2-d index
|
|
// value in the texture coordinates.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 11 vis_inverse 1 523
|
|
234 14 Dtool_sM0loA9B 0 6 225 523 0 14 Dtool_sM0loA9B 279 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_vis_inverse
|
|
// Access: Published
|
|
// Description: Returns the vis_inverse flag. See set_vis_inverse().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
235 14 Dtool_sM0ljTwC 0 4 226 510 0 14 Dtool_sM0ljTwC 830 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_flat_texcoord_name
|
|
// Access: Published
|
|
// Description: If the flat_texcoord_name is specified, it is the
|
|
// name of an additional vertex column that will be
|
|
// created for the "flat" texture coordinates, i.e. the
|
|
// original 0..1 values that correspond to the 2-D index
|
|
// position of each point in the original pfm file.
|
|
//
|
|
// These are the same values that will be assigned to
|
|
// the default texture coordinates if the vis_inverse
|
|
// flag is *not* true.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 18 flat_texcoord_name 1 639
|
|
236 14 Dtool_sM0lFuaq 0 4 227 510 0 14 Dtool_sM0lFuaq 446 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::clear_flat_texcoord_name
|
|
// Access: Published
|
|
// Description: Resets the flat_texcoord_name to empty, so that
|
|
// additional texture coordinates are not created.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 631
|
|
237 14 Dtool_sM0lsZh0 0 7 228 639 0 14 Dtool_sM0lsZh0 295 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_flat_texcoord_name
|
|
// Access: Published
|
|
// Description: Returns the flat_texcoord_name. See set_flat_texcoord_name().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
238 14 Dtool_sM0lxb0V 0 4 229 510 0 14 Dtool_sM0lxb0V 576 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_2d
|
|
// Access: Published
|
|
// Description: Sets the vis_2d flag. When this flag is true,
|
|
// only the first two (x, y) value of each depth point
|
|
// is considered meaningful; the z component is ignored.
|
|
// This is only relevant for generating visualizations.
|
|
//
|
|
// This may be used in lieu of the lower-level
|
|
// add_vis_column().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 6 vis_2d 1 523
|
|
239 14 Dtool_sM0lD2S_ 0 6 230 523 0 14 Dtool_sM0lD2S_ 264 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_vis_2d
|
|
// Access: Published
|
|
// Description: Returns the vis_2d flag. See set_vis_2d().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
240 14 Dtool_sM0lHyOn 0 4 231 510 0 14 Dtool_sM0lHyOn 516 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_keep_beyond_lens
|
|
// Access: Published
|
|
// Description: Sets the keep_beyond_lens flag. When this flag is
|
|
// true, points that fall outside of the normal lens
|
|
// range in project() or in add_vis_column() will be
|
|
// retained anyway; when it is false, these points will
|
|
// be discarded.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 16 keep_beyond_lens 1 523
|
|
241 14 Dtool_sM0lzYCl 0 6 232 523 0 14 Dtool_sM0lzYCl 311 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_keep_beyond_lens
|
|
// Access: Published
|
|
// Description: Returns the keep_beyond_lens flag. See
|
|
// set_keep_beyond_lens().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
242 14 Dtool_sM0lMYj5 0 4 233 510 0 14 Dtool_sM0lMYj5 805 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_blend
|
|
// Access: Published
|
|
// Description: Specifies a blending map--a grayscale image--that
|
|
// will be applied to the vertex color during
|
|
// generate_vis_mesh() and generate_vis_points(). The
|
|
// image size must exactly match the mesh size of the
|
|
// PfmVizzer.
|
|
//
|
|
// Ownership of the pointer is not kept by the PfmVizzer;
|
|
// it is your responsibility to ensure it does not
|
|
// destruct during the lifetime of the PfmVizzer (or at
|
|
// least not before your subsequent call to
|
|
// generate_vis_mesh()).
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 9 vis_blend 1 550
|
|
243 14 Dtool_sM0lCIef 0 4 234 510 0 14 Dtool_sM0lCIef 305 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_vis_blend
|
|
// Access: Published
|
|
// Description: Removes the blending map set by a prior call to
|
|
// set_vis_blend().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 631
|
|
244 14 Dtool_sM0lfr5N 0 6 235 550 0 14 Dtool_sM0lfr5N 377 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_vis_blend
|
|
// Access: Published
|
|
// Description: Returns the blending map set by the most recent call
|
|
// to set_vis_blend(), or NULL if there is no blending
|
|
// map in effect.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
245 14 Dtool_sM0lax62 0 4 236 510 0 14 Dtool_sM0lax62 762 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::set_aux_pfm
|
|
// Access: Published
|
|
// Description: Assigns an auxiliary PfmFile to this PfmVizzer. This
|
|
// file will be queried by column types
|
|
// CT_aux_vertex1/2/3, but has no other meaning to the
|
|
// vizzer. This size of this PfmFile should exactly
|
|
// match the base PfmFile. No reference count is held
|
|
// and no copy is made; the caller is responsible for
|
|
// ensuring that the auxiliary PfmFile will persist
|
|
// throughout the lifetime of the PfmVizzer it is
|
|
// assigned to.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 631 3 pfm 1 634
|
|
246 14 Dtool_sM0lmati 0 4 237 510 0 14 Dtool_sM0lmati 274 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::clear_aux_pfm
|
|
// Access: Published
|
|
// Description: Removes the auxiliary PfmFile from this PfmVizzer.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 631
|
|
247 14 Dtool_sM0lPqMr 0 6 238 634 0 14 Dtool_sM0lPqMr 438 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::get_aux_pfm
|
|
// Access: Published
|
|
// Description: Returns the reference to the auxiliary PfmFile
|
|
// queried by this PfmVizzer. This contains the values
|
|
// that will be reflected in CT_aux_vertex3 etc. See
|
|
// set_aux_pfm().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
248 14 Dtool_sM0lnAdT 0 4 240 510 0 14 Dtool_sM0lnAdT 372 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::clear_vis_columns
|
|
// Access: Published
|
|
// Description: Removes all of the previously-added vis columns in
|
|
// preparation for building a new list. See
|
|
// add_vis_column().
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 631
|
|
249 14 Dtool_sM0lvgrj 0 4 241 510 0 14 Dtool_sM0lvgrj 1131 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::add_vis_column
|
|
// Access: Published
|
|
// Description: Adds a new vis column specification to the list of
|
|
// vertex data columns that will be generated at the
|
|
// next call to generate_vis_points() or
|
|
// generate_vis_mesh(). This advanced interface
|
|
// supercedes the higher-level set_vis_inverse(),
|
|
// set_flat_texcoord_name(), and set_vis_2d().
|
|
//
|
|
// If you use this advanced interface, you must specify
|
|
// explicitly the complete list of data columns to be
|
|
// created in the resulting GeomVertexData, by calling
|
|
// add_vis_column() each time. For each column, you
|
|
// specify the source of the column in the PFMFile, the
|
|
// target column and name in the GeomVertexData, and an
|
|
// optional transform matrix and/or lens to transform
|
|
// and project the point before generating it.
|
|
//////////////////////////////////////////////////////////////////// 7 4 this 3 631 6 source 1 506 6 target 1 506 4 name 1 639 9 transform 1 600 4 lens 1 636 10 undist_lut 1 634
|
|
250 14 Dtool_sM0leOrs 0 4 241 510 0 14 Dtool_sM0leOrs 1131 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::add_vis_column
|
|
// Access: Published
|
|
// Description: Adds a new vis column specification to the list of
|
|
// vertex data columns that will be generated at the
|
|
// next call to generate_vis_points() or
|
|
// generate_vis_mesh(). This advanced interface
|
|
// supercedes the higher-level set_vis_inverse(),
|
|
// set_flat_texcoord_name(), and set_vis_2d().
|
|
//
|
|
// If you use this advanced interface, you must specify
|
|
// explicitly the complete list of data columns to be
|
|
// created in the resulting GeomVertexData, by calling
|
|
// add_vis_column() each time. For each column, you
|
|
// specify the source of the column in the PFMFile, the
|
|
// target column and name in the GeomVertexData, and an
|
|
// optional transform matrix and/or lens to transform
|
|
// and project the point before generating it.
|
|
//////////////////////////////////////////////////////////////////// 6 4 this 3 631 6 source 1 506 6 target 1 506 4 name 1 639 9 transform 1 600 4 lens 1 636
|
|
251 14 Dtool_sM0lAN6X 0 4 241 510 0 14 Dtool_sM0lAN6X 1131 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::add_vis_column
|
|
// Access: Published
|
|
// Description: Adds a new vis column specification to the list of
|
|
// vertex data columns that will be generated at the
|
|
// next call to generate_vis_points() or
|
|
// generate_vis_mesh(). This advanced interface
|
|
// supercedes the higher-level set_vis_inverse(),
|
|
// set_flat_texcoord_name(), and set_vis_2d().
|
|
//
|
|
// If you use this advanced interface, you must specify
|
|
// explicitly the complete list of data columns to be
|
|
// created in the resulting GeomVertexData, by calling
|
|
// add_vis_column() each time. For each column, you
|
|
// specify the source of the column in the PFMFile, the
|
|
// target column and name in the GeomVertexData, and an
|
|
// optional transform matrix and/or lens to transform
|
|
// and project the point before generating it.
|
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 631 6 source 1 506 6 target 1 506 4 name 1 639 9 transform 1 600
|
|
252 14 Dtool_sM0lRnAP 0 4 241 510 0 14 Dtool_sM0lRnAP 1131 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::add_vis_column
|
|
// Access: Published
|
|
// Description: Adds a new vis column specification to the list of
|
|
// vertex data columns that will be generated at the
|
|
// next call to generate_vis_points() or
|
|
// generate_vis_mesh(). This advanced interface
|
|
// supercedes the higher-level set_vis_inverse(),
|
|
// set_flat_texcoord_name(), and set_vis_2d().
|
|
//
|
|
// If you use this advanced interface, you must specify
|
|
// explicitly the complete list of data columns to be
|
|
// created in the resulting GeomVertexData, by calling
|
|
// add_vis_column() each time. For each column, you
|
|
// specify the source of the column in the PFMFile, the
|
|
// target column and name in the GeomVertexData, and an
|
|
// optional transform matrix and/or lens to transform
|
|
// and project the point before generating it.
|
|
//////////////////////////////////////////////////////////////////// 4 4 this 3 631 6 source 1 506 6 target 1 506 4 name 1 639
|
|
253 14 Dtool_sM0lkXSO 0 7 242 563 0 14 Dtool_sM0lkXSO 445 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::generate_vis_points
|
|
// Access: Published
|
|
// Description: Creates a point cloud with the points of the pfm as
|
|
// 3-d coordinates in space, and texture coordinates
|
|
// ranging from 0 .. 1 based on the position within the
|
|
// pfm grid.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
254 14 Dtool_sM0l_N33 0 7 244 563 0 14 Dtool_sM0l_N33 445 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::generate_vis_mesh
|
|
// Access: Published
|
|
// Description: Creates a triangle mesh with the points of the pfm as
|
|
// 3-d coordinates in space, and texture coordinates
|
|
// ranging from 0 .. 1 based on the position within the
|
|
// pfm grid.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 632 4 face 1 507
|
|
255 14 Dtool_sM0lRnSX 0 7 244 563 0 14 Dtool_sM0lRnSX 445 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::generate_vis_mesh
|
|
// Access: Published
|
|
// Description: Creates a triangle mesh with the points of the pfm as
|
|
// 3-d coordinates in space, and texture coordinates
|
|
// ranging from 0 .. 1 based on the position within the
|
|
// pfm grid.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
256 14 Dtool_sM0lgwIk 0 6 245 537 0 14 Dtool_sM0lgwIk 474 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::calc_max_u_displacement
|
|
// Access: Published
|
|
// Description: Computes the maximum amount of shift, in pixels
|
|
// either left or right, of any pixel in the distortion
|
|
// map. This can be passed to make_displacement(); see
|
|
// that function for more information.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
257 14 Dtool_sM0lwSbk 0 6 246 537 0 14 Dtool_sM0lwSbk 471 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::calc_max_v_displacement
|
|
// Access: Published
|
|
// Description: Computes the maximum amount of shift, in pixels
|
|
// either up or down, of any pixel in the distortion
|
|
// map. This can be passed to make_displacement(); see
|
|
// that function for more information.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 632
|
|
258 14 Dtool_sM0lMegu 0 4 247 510 0 14 Dtool_sM0lMegu 1460 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::make_displacement
|
|
// Access: Published
|
|
// Description: Assuming the underlying PfmFile is a 2-d distortion
|
|
// mesh, with the U and V in the first two components
|
|
// and the third component unused, this computes an
|
|
// AfterEffects-style displacement map that represents
|
|
// the same distortion. The indicated PNMImage will be
|
|
// filled in with a displacement map image, with
|
|
// horizontal shift in the red channel and vertical
|
|
// shift in the green channel, where a fully bright (or
|
|
// fully black) pixel indicates a shift of max_u or
|
|
// max_v pixels.
|
|
//
|
|
// Use calc_max_u_displacement() and
|
|
// calc_max_v_displacement() to compute suitable values
|
|
// for max_u and max_v.
|
|
//
|
|
// This generates an integer 16-bit displacement image.
|
|
// It is a good idea, though not necessarily essential,
|
|
// to check "Preserve RGB" in the interpret footage
|
|
// section for each displacement image. Set
|
|
// for_32bit true if this is meant to be used in a
|
|
// 32-bit project file, and false if it is meant to be
|
|
// used in a 16-bit project file.
|
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 632 6 result 1 543 5 max_u 1 537 5 max_v 1 537 9 for_32bit 1 523
|
|
259 14 Dtool_sM0lzWjJ 0 4 247 510 0 14 Dtool_sM0lzWjJ 1413 ////////////////////////////////////////////////////////////////////
|
|
// Function: PfmVizzer::make_displacement
|
|
// Access: Published
|
|
// Description: Assuming the underlying PfmFile is a 2-d distortion
|
|
// mesh, with the U and V in the first two components
|
|
// and the third component unused, this computes an
|
|
// AfterEffects-style displacement map that represents
|
|
// the same distortion. The indicated PNMImage will be
|
|
// filled in with a displacement map image, with
|
|
// horizontal shift in the red channel and vertical
|
|
// shift in the green channel, where a fully bright (or
|
|
// fully black) pixel indicates a shift of max_u or
|
|
// max_v pixels.
|
|
//
|
|
// Use calc_max_u_displacement() and
|
|
// calc_max_v_displacement() to compute suitable values
|
|
// for max_u and max_v.
|
|
//
|
|
// This generates a 32-bit floating-point displacement
|
|
// image. It is essential to check "Preserve RGB" in
|
|
// the interpret footage section for each displacement
|
|
// image. Set for_32bit true if this is meant to
|
|
// be used in a 32-bit project file, and false if it is
|
|
// meant to be used in a 16-bit project file.
|
|
//////////////////////////////////////////////////////////////////// 5 4 this 3 632 6 result 1 629 5 max_u 1 537 5 max_v 1 537 9 for_32bit 1 523
|
|
160
|
|
482 9 CardMaker 0 26625 9 CardMaker 9 CardMaker 0 0 0 1 260 261 0 12 262 263 264 265 266 267 268 269 270 271 272 273 0 0 1 0 483 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
483 7 Namable 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
484 12 FisheyeMaker 0 26625 12 FisheyeMaker 12 FisheyeMaker 0 0 0 1 274 275 0 6 276 277 278 279 280 281 0 0 1 0 483 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
485 14 FrameRateMeter 0 75777 14 FrameRateMeter 14 FrameRateMeter 0 0 0 1 282 0 0 12 283 284 285 286 287 288 289 290 291 292 293 294 0 0 1 0 486 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
486 8 TextNode 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
487 13 GeoMipTerrain 0 75777 13 GeoMipTerrain 13 GeoMipTerrain 0 0 0 1 295 0 0 36 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 0 0 1 0 488 0 0 0 1 489 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
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
488 11 TypedObject 0 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() {
|
|
// <<<BaseClassOne>>>::init_type();
|
|
// <<<BaseClassTwo>>>::init_type();
|
|
// <<<BaseClassN>>>::init_type();
|
|
// register_type(_type_handle, "<<<ThisClassStringName>>>",
|
|
// <<<BaseClassOne>>>::get_class_type(),
|
|
// <<<BaseClassTwo>>>::get_class_type(),
|
|
// <<<BaseClassN>>>::get_class_type());
|
|
// }
|
|
// virtual TypeHandle get_type() const {
|
|
// return get_class_type();
|
|
// }
|
|
// virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
|
|
//
|
|
// private:
|
|
// static TypeHandle _type_handle;
|
|
// @endcode
|
|
//
|
|
// @par In the class .cxx file:
|
|
// @code
|
|
// TypeHandle <<<ThisClassStringName>>>::_type_handle;
|
|
// @endcode
|
|
//
|
|
// @par In the class config_<<<PackageName>>>.cxx file:
|
|
// @code
|
|
// ConfigureFn(config_<<<PackageName>>>) {
|
|
// <<<ClassOne>>>::init_type();
|
|
// <<<ClassTwo>>>::init_type();
|
|
// <<<ClassN>>>::init_type();
|
|
// }
|
|
// @endcode
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
489 15 AutoFlattenMode 0 794624 30 GeoMipTerrain::AutoFlattenMode 30 GeoMipTerrain::AutoFlattenMode 487 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.
|
|
|
|
490 21 HeightfieldTesselator 0 26625 21 HeightfieldTesselator 21 HeightfieldTesselator 0 0 0 1 332 333 0 10 334 335 336 337 338 339 340 341 342 343 0 0 1 0 483 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.
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
491 8 LineSegs 0 26625 8 LineSegs 8 LineSegs 0 0 0 1 344 345 0 13 346 347 348 349 350 351 352 353 354 355 356 357 358 2 642 643 0 1 0 483 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
492 10 MeshDrawer 0 75777 10 MeshDrawer 10 MeshDrawer 0 0 0 1 359 0 0 18 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 0 0 1 0 488 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
493 12 MeshDrawer2D 0 75777 12 MeshDrawer2D 12 MeshDrawer2D 0 0 0 1 378 0 0 13 379 380 381 382 383 384 385 386 387 388 389 390 391 0 0 1 0 488 0 0 0 0 378
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : MeshDrawer2D
|
|
// Description : This class allows the drawing of 2d objects -
|
|
// mainly based on quads and rectangles.
|
|
// Allows clipping and serverl high level UI theme
|
|
// functions.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
494 12 MovieTexture 0 75777 12 MovieTexture 12 MovieTexture 0 0 0 1 392 0 0 20 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 0 0 1 0 495 0 0 0 0 279
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : MovieTexture
|
|
// Description : A texture that fetches video frames from an
|
|
// underlying object of class Movie.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
495 7 Texture 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
496 15 MultitexReducer 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
497 19 NodeVertexTransform 0 141313 19 NodeVertexTransform 19 NodeVertexTransform 0 0 0 1 421 425 0 3 422 423 424 0 0 1 0 498 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
498 15 VertexTransform 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
499 23 SceneGraphAnalyzerMeter 0 75777 23 SceneGraphAnalyzerMeter 23 SceneGraphAnalyzerMeter 0 0 0 1 426 0 0 10 427 428 429 430 431 432 433 434 435 436 0 0 1 0 486 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
500 17 RigidBodyCombiner 0 141313 17 RigidBodyCombiner 17 RigidBodyCombiner 0 0 0 1 437 441 0 3 438 439 440 0 0 1 0 501 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
501 9 PandaNode 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
502 26 PipeOcclusionCullTraverser 0 141313 26 PipeOcclusionCullTraverser 26 PipeOcclusionCullTraverser 0 0 0 1 446 454 0 7 447 448 449 450 451 452 453 0 0 2 3 503 442 443 3 504 444 445 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
503 13 CullTraverser 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
504 11 CullHandler 0 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().
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
505 9 PfmVizzer 0 141313 9 PfmVizzer 9 PfmVizzer 0 0 0 1 455 481 0 25 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 0 0 0 0 2 506 507 272
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : PfmVizzer
|
|
// Description : This class aids in the visualization and manipulation
|
|
// of PfmFile objects.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
506 10 ColumnType 0 794624 21 PfmVizzer::ColumnType 21 PfmVizzer::ColumnType 505 0 0 0 0 0 0 0 0 0 10 12 CT_texcoord2 23 PfmVizzer::CT_texcoord2 0 12 CT_texcoord3 23 PfmVizzer::CT_texcoord3 1 10 CT_vertex1 21 PfmVizzer::CT_vertex1 2 10 CT_vertex2 21 PfmVizzer::CT_vertex2 3 10 CT_vertex3 21 PfmVizzer::CT_vertex3 4 10 CT_normal3 21 PfmVizzer::CT_normal3 5 9 CT_blend1 20 PfmVizzer::CT_blend1 6 14 CT_aux_vertex1 25 PfmVizzer::CT_aux_vertex1 7 14 CT_aux_vertex2 25 PfmVizzer::CT_aux_vertex2 8 14 CT_aux_vertex3 25 PfmVizzer::CT_aux_vertex3 9 0 0
|
|
|
|
507 8 MeshFace 0 794624 19 PfmVizzer::MeshFace 19 PfmVizzer::MeshFace 505 0 0 0 0 0 0 0 0 0 3 8 MF_front 19 PfmVizzer::MF_front 1 7 MF_back 18 PfmVizzer::MF_back 2 7 MF_both 18 PfmVizzer::MF_both 3 0 0
|
|
|
|
508 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
509 11 CardMaker * 0 8576 11 CardMaker * 11 CardMaker * 0 0 482 0 0 0 0 0 0 0 0 0 0
|
|
|
|
510 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
511 16 LPoint2f const * 0 8576 16 LPoint2f const * 16 LPoint2f const * 0 0 512 0 0 0 0 0 0 0 0 0 0
|
|
|
|
512 14 LPoint2f const 0 8832 14 LPoint2f const 14 LPoint2f const 0 0 513 0 0 0 0 0 0 0 0 0 0
|
|
|
|
513 8 LPoint2f 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
514 16 LPoint3f const * 0 8576 16 LPoint3f const * 16 LPoint3f const * 0 0 515 0 0 0 0 0 0 0 0 0 0
|
|
|
|
515 14 LPoint3f const 0 8832 14 LPoint3f const 14 LPoint3f const 0 0 516 0 0 0 0 0 0 0 0 0 0
|
|
|
|
516 8 LPoint3f 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
517 17 LVector4f const * 0 8576 17 LVector4f const * 17 LVector4f const * 0 0 518 0 0 0 0 0 0 0 0 0 0
|
|
|
|
518 15 LVector4f const 0 8832 15 LVector4f const 15 LVector4f const 0 0 519 0 0 0 0 0 0 0 0 0 0
|
|
|
|
519 9 LVector4f 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
520 15 Texture const * 0 8576 15 Texture const * 15 Texture const * 0 0 521 0 0 0 0 0 0 0 0 0 0
|
|
|
|
521 13 Texture const 0 8832 13 Texture const 13 Texture const 0 0 495 0 0 0 0 0 0 0 0 0 0
|
|
|
|
522 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
523 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
524 18 LVecBase4f const * 0 8576 18 LVecBase4f const * 18 LVecBase4f const * 0 0 525 0 0 0 0 0 0 0 0 0 0
|
|
|
|
525 16 LVecBase4f const 0 8832 16 LVecBase4f const 16 LVecBase4f const 0 0 526 0 0 0 0 0 0 0 0 0 0
|
|
|
|
526 10 LVecBase4f 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
527 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
528 11 PandaNode * 0 8576 11 PandaNode * 11 PandaNode * 0 0 501 0 0 0 0 0 0 0 0 0 0
|
|
|
|
529 14 FisheyeMaker * 0 8576 14 FisheyeMaker * 14 FisheyeMaker * 0 0 484 0 0 0 0 0 0 0 0 0 0
|
|
|
|
530 16 FrameRateMeter * 0 8576 16 FrameRateMeter * 16 FrameRateMeter * 0 0 485 0 0 0 0 0 0 0 0 0 0
|
|
|
|
531 16 GraphicsOutput * 0 8576 16 GraphicsOutput * 16 GraphicsOutput * 0 0 532 0 0 0 0 0 0 0 0 0 0
|
|
|
|
532 14 GraphicsOutput 0 2048 14 GraphicsOutput 14 GraphicsOutput 0 0 0 0 0 0 0 2 644 645 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
533 22 FrameRateMeter const * 0 8576 22 FrameRateMeter const * 22 FrameRateMeter const * 0 0 534 0 0 0 0 0 0 0 0 0 0
|
|
|
|
534 20 FrameRateMeter const 0 8832 20 FrameRateMeter const 20 FrameRateMeter const 0 0 485 0 0 0 0 0 0 0 0 0 0
|
|
|
|
535 13 DisplayRegion 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
536 15 DisplayRegion * 0 8576 15 DisplayRegion * 15 DisplayRegion * 0 0 535 0 0 0 0 0 0 0 0 0 0
|
|
|
|
537 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
538 13 ClockObject * 0 8576 13 ClockObject * 13 ClockObject * 0 0 539 0 0 0 0 0 0 0 0 0 0
|
|
|
|
539 11 ClockObject 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
540 10 TypeHandle 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
541 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 540 0 0 0 0 0 0 0 0 0 0
|
|
|
|
542 15 GeoMipTerrain * 0 8576 15 GeoMipTerrain * 15 GeoMipTerrain * 0 0 487 0 0 0 0 0 0 0 0 0 0
|
|
|
|
543 10 PNMImage * 0 8576 10 PNMImage * 10 PNMImage * 0 0 544 0 0 0 0 0 0 0 0 0 0
|
|
|
|
544 8 PNMImage 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
545 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 546 0 0 0 0 0 0 0 0 0 0
|
|
|
|
546 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 547 0 0 0 0 0 0 0 0 0 0
|
|
|
|
547 8 Filename 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
548 13 PNMFileType * 0 8576 13 PNMFileType * 13 PNMFileType * 0 0 549 0 0 0 0 0 0 0 0 0 0
|
|
|
|
549 11 PNMFileType 0 2048 11 PNMFileType 11 PNMFileType 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
550 16 PNMImage const * 0 8576 16 PNMImage const * 16 PNMImage const * 0 0 551 0 0 0 0 0 0 0 0 0 0
|
|
|
|
551 14 PNMImage const 0 8832 14 PNMImage const 14 PNMImage const 0 0 544 0 0 0 0 0 0 0 0 0 0
|
|
|
|
552 21 GeoMipTerrain const * 0 8576 21 GeoMipTerrain const * 21 GeoMipTerrain const * 0 0 553 0 0 0 0 0 0 0 0 0 0
|
|
|
|
553 19 GeoMipTerrain const 0 8832 19 GeoMipTerrain const 19 GeoMipTerrain const 0 0 487 0 0 0 0 0 0 0 0 0 0
|
|
|
|
554 9 LVector3f 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
555 11 LVector3f * 0 8576 11 LVector3f * 11 LVector3f * 0 0 554 0 0 0 0 0 0 0 0 0 0
|
|
|
|
556 18 unsigned short int 0 8262 18 unsigned short int 18 unsigned short int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
557 16 LPoint2d const * 0 8576 16 LPoint2d const * 16 LPoint2d const * 0 0 558 0 0 0 0 0 0 0 0 0 0
|
|
|
|
558 14 LPoint2d const 0 8832 14 LPoint2d const 14 LPoint2d const 0 0 559 0 0 0 0 0 0 0 0 0 0
|
|
|
|
559 8 LPoint2d 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
560 16 LPoint3d const * 0 8576 16 LPoint3d const * 16 LPoint3d const * 0 0 561 0 0 0 0 0 0 0 0 0 0
|
|
|
|
561 14 LPoint3d const 0 8832 14 LPoint3d const 14 LPoint3d const 0 0 562 0 0 0 0 0 0 0 0 0 0
|
|
|
|
562 8 LPoint3d 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
563 10 NodePath * 0 8576 10 NodePath * 10 NodePath * 0 0 564 0 0 0 0 0 0 0 0 0 0
|
|
|
|
564 8 NodePath 0 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 2 646 647 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
565 14 NodePath const 0 8832 14 NodePath const 14 NodePath const 0 0 564 0 0 0 0 0 0 0 0 0 0
|
|
|
|
566 16 NodePath const * 0 8576 16 NodePath const * 16 NodePath const * 0 0 565 0 0 0 0 0 0 0 0 0 0
|
|
|
|
567 10 LVecBase2f 0 2048 10 LVecBase2f 10 LVecBase2f 0 0 0 0 0 0 0 0 0 0 0 0 752
|
|
// 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."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : LVecBase2
|
|
// Description : This is the base class for all two-component
|
|
// vectors and points.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
568 12 LVecBase2f * 0 8576 12 LVecBase2f * 12 LVecBase2f * 0 0 567 0 0 0 0 0 0 0 0 0 0
|
|
|
|
569 23 HeightfieldTesselator * 0 8576 23 HeightfieldTesselator * 23 HeightfieldTesselator * 0 0 490 0 0 0 0 0 0 0 0 0 0
|
|
|
|
570 10 LineSegs * 0 8576 10 LineSegs * 10 LineSegs * 0 0 491 0 0 0 0 0 0 0 0 0 0
|
|
|
|
571 18 LVecBase3f const * 0 8576 18 LVecBase3f const * 18 LVecBase3f const * 0 0 572 0 0 0 0 0 0 0 0 0 0
|
|
|
|
572 16 LVecBase3f const 0 8832 16 LVecBase3f const 16 LVecBase3f const 0 0 573 0 0 0 0 0 0 0 0 0 0
|
|
|
|
573 10 LVecBase3f 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
574 8 GeomNode 0 2048 8 GeomNode 8 GeomNode 0 0 0 0 0 0 0 2 648 649 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
575 10 GeomNode * 0 8576 10 GeomNode * 10 GeomNode * 0 0 574 0 0 0 0 0 0 0 0 0 0
|
|
|
|
576 16 LineSegs const * 0 8576 16 LineSegs const * 16 LineSegs const * 0 0 577 0 0 0 0 0 0 0 0 0 0
|
|
|
|
577 14 LineSegs const 0 8832 14 LineSegs const 14 LineSegs const 0 0 491 0 0 0 0 0 0 0 0 0 0
|
|
|
|
578 10 LPoint3f * 0 8576 10 LPoint3f * 10 LPoint3f * 0 0 516 0 0 0 0 0 0 0 0 0 0
|
|
|
|
579 12 LVecBase4f * 0 8576 12 LVecBase4f * 12 LVecBase4f * 0 0 526 0 0 0 0 0 0 0 0 0 0
|
|
|
|
580 12 MeshDrawer * 0 8576 12 MeshDrawer * 12 MeshDrawer * 0 0 492 0 0 0 0 0 0 0 0 0 0
|
|
|
|
581 17 LVector3f const * 0 8576 17 LVector3f const * 17 LVector3f const * 0 0 582 0 0 0 0 0 0 0 0 0 0
|
|
|
|
582 15 LVector3f const 0 8832 15 LVector3f const 15 LVector3f const 0 0 554 0 0 0 0 0 0 0 0 0 0
|
|
|
|
583 17 LVector2f const * 0 8576 17 LVector2f const * 17 LVector2f const * 0 0 584 0 0 0 0 0 0 0 0 0 0
|
|
|
|
584 15 LVector2f const 0 8832 15 LVector2f const 15 LVector2f const 0 0 585 0 0 0 0 0 0 0 0 0 0
|
|
|
|
585 9 LVector2f 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
586 14 MeshDrawer2D * 0 8576 14 MeshDrawer2D * 14 MeshDrawer2D * 0 0 493 0 0 0 0 0 0 0 0 0 0
|
|
|
|
587 12 MovieVideo * 0 8576 12 MovieVideo * 12 MovieVideo * 0 0 588 0 0 0 0 0 0 0 0 0 0
|
|
|
|
588 10 MovieVideo 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
589 14 MovieTexture * 0 8576 14 MovieTexture * 14 MovieTexture * 0 0 494 0 0 0 0 0 0 0 0 0 0
|
|
|
|
590 20 MovieTexture const * 0 8576 20 MovieTexture const * 20 MovieTexture const * 0 0 591 0 0 0 0 0 0 0 0 0 0
|
|
|
|
591 18 MovieTexture const 0 8832 18 MovieTexture const 18 MovieTexture const 0 0 494 0 0 0 0 0 0 0 0 0 0
|
|
|
|
592 16 MovieVideoCursor 0 2048 16 MovieVideoCursor 16 MovieVideoCursor 0 0 0 0 0 0 0 0 0 0 0 0 812
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : MovieVideoCursor
|
|
// 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.
|
|
// A MovieVideoCursor is a handle that lets you read
|
|
// data sequentially from a MovieVideo.
|
|
//
|
|
// Thread safety: each individual MovieVideoCursor
|
|
// must be owned and accessed by a single thread.
|
|
// It is OK for two different threads to open
|
|
// the same file at the same time, as long as they
|
|
// use separate MovieVideoCursor objects.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
593 18 MovieVideoCursor * 0 8576 18 MovieVideoCursor * 18 MovieVideoCursor * 0 0 592 0 0 0 0 0 0 0 0 0 0
|
|
|
|
594 12 AudioSound * 0 8576 12 AudioSound * 12 AudioSound * 0 0 595 0 0 0 0 0 0 0 0 0 0
|
|
|
|
595 10 AudioSound 0 2048 10 AudioSound 10 AudioSound 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
596 17 MultitexReducer * 0 8576 17 MultitexReducer * 17 MultitexReducer * 0 0 496 0 0 0 0 0 0 0 0 0 0
|
|
|
|
597 19 RenderState const * 0 8576 19 RenderState const * 19 RenderState const * 0 0 598 0 0 0 0 0 0 0 0 0 0
|
|
|
|
598 17 RenderState const 0 8832 17 RenderState const 17 RenderState const 0 0 599 0 0 0 0 0 0 0 0 0 0
|
|
|
|
599 11 RenderState 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
600 22 TransformState const * 0 8576 22 TransformState const * 22 TransformState const * 0 0 601 0 0 0 0 0 0 0 0 0 0
|
|
|
|
601 20 TransformState const 0 8832 20 TransformState const 20 TransformState const 0 0 602 0 0 0 0 0 0 0 0 0 0
|
|
|
|
602 14 TransformState 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
603 14 TextureStage * 0 8576 14 TextureStage * 14 TextureStage * 0 0 604 0 0 0 0 0 0 0 0 0 0
|
|
|
|
604 12 TextureStage 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
605 17 PandaNode const * 0 8576 17 PandaNode const * 17 PandaNode const * 0 0 606 0 0 0 0 0 0 0 0 0 0
|
|
|
|
606 15 PandaNode const 0 8832 15 PandaNode const 15 PandaNode const 0 0 501 0 0 0 0 0 0 0 0 0 0
|
|
|
|
607 23 VertexTransform const * 0 8576 23 VertexTransform const * 23 VertexTransform const * 0 0 608 0 0 0 0 0 0 0 0 0 0
|
|
|
|
608 21 VertexTransform const 0 8832 21 VertexTransform const 21 VertexTransform const 0 0 498 0 0 0 0 0 0 0 0 0 0
|
|
|
|
609 21 NodeVertexTransform * 0 8576 21 NodeVertexTransform * 21 NodeVertexTransform * 0 0 497 0 0 0 0 0 0 0 0 0 0
|
|
|
|
610 27 NodeVertexTransform const * 0 8576 27 NodeVertexTransform const * 27 NodeVertexTransform const * 0 0 611 0 0 0 0 0 0 0 0 0 0
|
|
|
|
611 25 NodeVertexTransform const 0 8832 25 NodeVertexTransform const 25 NodeVertexTransform const 0 0 497 0 0 0 0 0 0 0 0 0 0
|
|
|
|
612 25 SceneGraphAnalyzerMeter * 0 8576 25 SceneGraphAnalyzerMeter * 25 SceneGraphAnalyzerMeter * 0 0 499 0 0 0 0 0 0 0 0 0 0
|
|
|
|
613 31 SceneGraphAnalyzerMeter const * 0 8576 31 SceneGraphAnalyzerMeter const * 31 SceneGraphAnalyzerMeter const * 0 0 614 0 0 0 0 0 0 0 0 0 0
|
|
|
|
614 29 SceneGraphAnalyzerMeter const 0 8832 29 SceneGraphAnalyzerMeter const 29 SceneGraphAnalyzerMeter const 0 0 499 0 0 0 0 0 0 0 0 0 0
|
|
|
|
615 19 RigidBodyCombiner * 0 8576 19 RigidBodyCombiner * 19 RigidBodyCombiner * 0 0 500 0 0 0 0 0 0 0 0 0 0
|
|
|
|
616 28 PipeOcclusionCullTraverser * 0 8576 28 PipeOcclusionCullTraverser * 28 PipeOcclusionCullTraverser * 0 0 502 0 0 0 0 0 0 0 0 0 0
|
|
|
|
617 34 PipeOcclusionCullTraverser const * 0 8576 34 PipeOcclusionCullTraverser const * 34 PipeOcclusionCullTraverser const * 0 0 618 0 0 0 0 0 0 0 0 0 0
|
|
|
|
618 32 PipeOcclusionCullTraverser const 0 8832 32 PipeOcclusionCullTraverser const 32 PipeOcclusionCullTraverser const 0 0 502 0 0 0 0 0 0 0 0 0 0
|
|
|
|
619 12 SceneSetup * 0 8576 12 SceneSetup * 12 SceneSetup * 0 0 620 0 0 0 0 0 0 0 0 0 0
|
|
|
|
620 10 SceneSetup 0 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
621 27 GraphicsStateGuardianBase * 0 8576 27 GraphicsStateGuardianBase * 27 GraphicsStateGuardianBase * 0 0 622 0 0 0 0 0 0 0 0 0 0
|
|
|
|
622 25 GraphicsStateGuardianBase 0 2048 25 GraphicsStateGuardianBase 25 GraphicsStateGuardianBase 0 0 0 0 0 0 0 1 650 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
623 9 Texture * 0 8576 9 Texture * 9 Texture * 0 0 495 0 0 0 0 0 0 0 0 0 0
|
|
|
|
624 35 BitMask< unsigned int, 32 > const * 0 8576 35 BitMask< unsigned int, 32 > const * 35 BitMask< unsigned int, 32 > const * 0 0 625 0 0 0 0 0 0 0 0 0 0
|
|
|
|
625 33 BitMask< unsigned int, 32 > const 0 8832 33 BitMask< unsigned int, 32 > const 33 BitMask< unsigned int, 32 > const 0 0 626 0 0 0 0 0 0 0 0 0 0
|
|
|
|
626 9 BitMask32 0 2048 27 BitMask< unsigned int, 32 > 27 BitMask< unsigned int, 32 > 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
627 15 CullTraverser * 0 8576 15 CullTraverser * 15 CullTraverser * 0 0 503 0 0 0 0 0 0 0 0 0 0
|
|
|
|
628 13 CullHandler * 0 8576 13 CullHandler * 13 CullHandler * 0 0 504 0 0 0 0 0 0 0 0 0 0
|
|
|
|
629 9 PfmFile * 0 8576 9 PfmFile * 9 PfmFile * 0 0 630 0 0 0 0 0 0 0 0 0 0
|
|
|
|
630 7 PfmFile 0 2048 7 PfmFile 7 PfmFile 0 0 0 0 0 0 0 0 0 0 0 0 355
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : PfmFile
|
|
// Description : Defines a pfm file, a 2-d table of floating-point
|
|
// numbers, either 3-component or 1-component, or with a
|
|
// special extension, 2- or 4-component.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
631 11 PfmVizzer * 0 8576 11 PfmVizzer * 11 PfmVizzer * 0 0 505 0 0 0 0 0 0 0 0 0 0
|
|
|
|
632 17 PfmVizzer const * 0 8576 17 PfmVizzer const * 17 PfmVizzer const * 0 0 633 0 0 0 0 0 0 0 0 0 0
|
|
|
|
633 15 PfmVizzer const 0 8832 15 PfmVizzer const 15 PfmVizzer const 0 0 505 0 0 0 0 0 0 0 0 0 0
|
|
|
|
634 15 PfmFile const * 0 8576 15 PfmFile const * 15 PfmFile const * 0 0 635 0 0 0 0 0 0 0 0 0 0
|
|
|
|
635 13 PfmFile const 0 8832 13 PfmFile const 13 PfmFile const 0 0 630 0 0 0 0 0 0 0 0 0 0
|
|
|
|
636 12 Lens const * 0 8576 12 Lens const * 12 Lens const * 0 0 637 0 0 0 0 0 0 0 0 0 0
|
|
|
|
637 10 Lens const 0 8832 10 Lens const 10 Lens const 0 0 638 0 0 0 0 0 0 0 0 0 0
|
|
|
|
638 4 Lens 0 2048 4 Lens 4 Lens 0 0 0 0 0 0 0 0 0 0 0 0 668
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : Lens
|
|
// Description : A base class for any number of different kinds of
|
|
// lenses, linear and otherwise. Presently, this
|
|
// includes perspective and orthographic lenses.
|
|
//
|
|
// A Lens object is the main part of a Camera node,
|
|
// which defines the fundamental interface to
|
|
// point-of-view for rendering. Lenses are also used in
|
|
// other contexts, however; for instance, a Spotlight is
|
|
// also defined using a lens.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
639 14 InternalName * 0 8576 14 InternalName * 14 InternalName * 0 0 640 0 0 0 0 0 0 0 0 0 0
|
|
|
|
640 12 InternalName 0 2048 12 InternalName 12 InternalName 0 0 0 0 0 0 0 0 0 0 0 0 837
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : InternalName
|
|
// Description : Encodes a string name in a hash table, mapping it to
|
|
// a pointer. This is used to tokenify names so they
|
|
// may be used efficiently in low-level Panda
|
|
// structures, for instance to differentiate the
|
|
// multiple sets of texture coordinates that might be
|
|
// stored on a Geom.
|
|
//
|
|
// InternalNames are hierarchical, with the '.' used by
|
|
// convention as a separator character. You can
|
|
// construct a single InternalName as a composition of
|
|
// one or more other names, or by giving it a source
|
|
// string directly.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
641 6 string 0 2048 20 basic_string< char > 20 basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
0
|
|
0
|
|
9
|
|
642 0 0 94 12 get_vertices 16 get_num_vertices 10 get_vertex
|
|
643 0 0 94 17 get_vertex_colors 16 get_num_vertices 16 get_vertex_color
|
|
644 0 0 302 19 get_display_regions 23 get_num_display_regions 18 get_display_region
|
|
645 0 0 302 26 get_active_display_regions 30 get_num_active_display_regions 25 get_active_display_region
|
|
646 0 0 374 9 get_nodes 13 get_num_nodes 8 get_node
|
|
647 0 0 374 13 get_ancestors 13 get_num_nodes 12 get_ancestor
|
|
648 0 0 433 9 get_geoms 13 get_num_geoms 8 get_geom
|
|
649 0 0 433 15 get_geom_states 13 get_num_geoms 14 get_geom_state
|
|
650 0 0 582 8 get_gsgs 12 get_num_gsgs 7 get_gsg
|