1302895476 2 2 7 libgobj 4 MAKP 5 panda 1248 1394 11 AdaptiveLru 4 2642 24 AdaptiveLru::AdaptiveLru 0 1 1 224 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 82 AdaptiveLru::AdaptiveLru(basic_string< char > const &name, unsigned int max_size); 1395 12 ~AdaptiveLru 4 2642 25 AdaptiveLru::~AdaptiveLru 0 0 232 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 32 AdaptiveLru::~AdaptiveLru(void); 1396 14 get_total_size 4 2642 27 AdaptiveLru::get_total_size 0 1 2 797 // Filename: adaptiveLru.I // Created by: drose (03Sep08) // //////////////////////////////////////////////////////////////////// // // 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: AdaptiveLru::get_total_size // Access: Published // Description: Returns the total size of all objects currently // active on the LRU. //////////////////////////////////////////////////////////////////// 60 inline unsigned int AdaptiveLru::get_total_size(void) const; 1397 12 get_max_size 4 2642 25 AdaptiveLru::get_max_size 0 1 3 319 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::get_max_size // Access: Published // Description: Returns the max size of all objects that are allowed // to be active on the LRU. //////////////////////////////////////////////////////////////////// 58 inline unsigned int AdaptiveLru::get_max_size(void) const; 1398 12 set_max_size 4 2642 25 AdaptiveLru::set_max_size 0 1 4 385 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::set_max_size // Access: Published // Description: Changes the max size of all objects that are allowed // to be active on the LRU. // // If the size is (size_t)-1, there is no limit. //////////////////////////////////////////////////////////////////// 61 inline void AdaptiveLru::set_max_size(unsigned int max_size); 1399 17 count_active_size 4 2642 30 AdaptiveLru::count_active_size 0 1 5 339 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::count_active_size // Access: Published // Description: Returns the total size of the pages that were // enqueued since the last call to begin_epoch(). //////////////////////////////////////////////////////////////////// 56 unsigned int AdaptiveLru::count_active_size(void) const; 1400 14 consider_evict 4 2642 27 AdaptiveLru::consider_evict 0 1 6 277 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::consider_evict // Access: Published // Description: Evicts a sequence of objects if the queue is full. //////////////////////////////////////////////////////////////////// 46 inline void AdaptiveLru::consider_evict(void); 1401 8 evict_to 4 2642 21 AdaptiveLru::evict_to 0 1 7 373 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::evict_to // Access: Published // Description: Evicts a sequence of objects until the queue fits // within the indicated target size, regardless of its // normal max size. //////////////////////////////////////////////////////////////////// 60 inline void AdaptiveLru::evict_to(unsigned int target_size); 1402 11 begin_epoch 4 2642 24 AdaptiveLru::begin_epoch 0 1 8 443 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::begin_epoch // Access: Published // Description: Marks the end of the previous epoch and the beginning // of the next one. This will evict any objects that // are pending eviction, and also update any internal // bookkeeping. //////////////////////////////////////////////////////////////////// 36 void AdaptiveLru::begin_epoch(void); 1403 8 validate 4 2642 21 AdaptiveLru::validate 0 1 9 365 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::validate // Access: Published // Description: Checks that the LRU is internally self-consistent. // Returns true if successful, false if there is some // problem. //////////////////////////////////////////////////////////////////// 40 inline bool AdaptiveLru::validate(void); 1404 6 output 4 2642 19 AdaptiveLru::output 0 1 10 219 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 45 void AdaptiveLru::output(ostream &out) const; 1405 5 write 4 2642 18 AdaptiveLru::write 0 1 11 227 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 62 void AdaptiveLru::write(ostream &out, int indent_level) const; 1406 10 set_weight 4 2642 23 AdaptiveLru::set_weight 0 1 12 515 // The following methods are specific to AdaptiveLru, and do not // exist in the SimpleLru implementation. In most cases, the // defaults will be sufficient, so you do not need to mess with // them. //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::set_weight // Access: Published // Description: Specifies the weight value used to compute the // exponential moving average. //////////////////////////////////////////////////////////////////// 50 inline void AdaptiveLru::set_weight(float weight); 1407 10 get_weight 4 2642 23 AdaptiveLru::get_weight 0 1 13 513 // The following methods are specific to AdaptiveLru, and do not // exist in the SimpleLru implementation. In most cases, the // defaults will be sufficient, so you do not need to mess with // them. //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::get_weight // Access: Published // Description: Returns the weight value used to compute the // exponential moving average. //////////////////////////////////////////////////////////////////// 49 inline float AdaptiveLru::get_weight(void) const; 1408 25 set_max_updates_per_frame 4 2642 38 AdaptiveLru::set_max_updates_per_frame 0 1 14 486 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::set_max_updates_per_frame // Access: Published // Description: Specifies the maximum number of pages the AdaptiveLru // will update each frame. This is a performance // optimization: keeping this number low limits the // impact of the AdaptiveLru's adaptive algorithm. //////////////////////////////////////////////////////////////////// 78 inline void AdaptiveLru::set_max_updates_per_frame(int max_updates_per_frame); 1409 25 get_max_updates_per_frame 4 2642 38 AdaptiveLru::get_max_updates_per_frame 0 1 15 330 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::get_max_updates_per_frame // Access: Published // Description: Returns the maximum number of pages the AdaptiveLru // will update each frame. //////////////////////////////////////////////////////////////////// 62 inline int AdaptiveLru::get_max_updates_per_frame(void) const; 1410 36 upcast_to_AdaptiveLruPageDynamicList 12 2644 53 AdaptiveLruPage::upcast_to_AdaptiveLruPageDynamicList 0 0 57 upcast from AdaptiveLruPage to AdaptiveLruPageDynamicList 88 AdaptiveLruPageDynamicList *AdaptiveLruPage::upcast_to_AdaptiveLruPageDynamicList(void); 1411 27 downcast_to_AdaptiveLruPage 12 2645 55 AdaptiveLruPageDynamicList::downcast_to_AdaptiveLruPage 0 0 59 downcast from AdaptiveLruPageDynamicList to AdaptiveLruPage 79 AdaptiveLruPage *AdaptiveLruPageDynamicList::downcast_to_AdaptiveLruPage(void); 1412 35 upcast_to_AdaptiveLruPageStaticList 12 2644 52 AdaptiveLruPage::upcast_to_AdaptiveLruPageStaticList 0 0 56 upcast from AdaptiveLruPage to AdaptiveLruPageStaticList 86 AdaptiveLruPageStaticList *AdaptiveLruPage::upcast_to_AdaptiveLruPageStaticList(void); 1413 27 downcast_to_AdaptiveLruPage 12 2646 54 AdaptiveLruPageStaticList::downcast_to_AdaptiveLruPage 0 0 58 downcast from AdaptiveLruPageStaticList to AdaptiveLruPage 78 AdaptiveLruPage *AdaptiveLruPageStaticList::downcast_to_AdaptiveLruPage(void); 1414 15 AdaptiveLruPage 4 2644 32 AdaptiveLruPage::AdaptiveLruPage 0 2 16 17 463 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::Copy Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 119 AdaptiveLruPage::AdaptiveLruPage(unsigned int lru_size); AdaptiveLruPage::AdaptiveLruPage(AdaptiveLruPage const ©); 1415 10 operator = 4 2644 27 AdaptiveLruPage::operator = 0 1 18 241 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::Copy Assignment Operator // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 62 void AdaptiveLruPage::operator =(AdaptiveLruPage const ©); 1416 16 ~AdaptiveLruPage 4 2644 33 AdaptiveLruPage::~AdaptiveLruPage 0 0 236 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 48 virtual AdaptiveLruPage::~AdaptiveLruPage(void); 1417 7 get_lru 4 2644 24 AdaptiveLruPage::get_lru 0 1 19 335 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::enqueue_lru // Access: Published // Description: Returns the LRU that manages this page, or NULL if it // is not currently managed by any LRU. //////////////////////////////////////////////////////////////////// 57 inline AdaptiveLru *AdaptiveLruPage::get_lru(void) const; 1418 11 enqueue_lru 4 2644 28 AdaptiveLruPage::enqueue_lru 0 1 20 445 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::enqueue_lru // Access: Published // Description: Adds the page to the LRU for the first time, or marks // it recently-accessed if it has already been added. // // If lru is NULL, it means to remove this page from its // LRU. //////////////////////////////////////////////////////////////////// 52 void AdaptiveLruPage::enqueue_lru(AdaptiveLru *lru); 1419 11 dequeue_lru 4 2644 28 AdaptiveLruPage::dequeue_lru 0 1 21 266 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::dequeue_lru // Access: Published // Description: Removes the page from its AdaptiveLru. //////////////////////////////////////////////////////////////////// 47 inline void AdaptiveLruPage::dequeue_lru(void); 1420 13 mark_used_lru 4 2644 30 AdaptiveLruPage::mark_used_lru 0 2 22 23 835 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the AdaptiveLru queue it is already on. // // This method is const because it's not technically // modifying the contents of the page itself. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the specified AdaptiveLru queue. //////////////////////////////////////////////////////////////////// 117 inline void AdaptiveLruPage::mark_used_lru(void) const; inline void AdaptiveLruPage::mark_used_lru(AdaptiveLru *lru); 1421 12 get_lru_size 4 2644 29 AdaptiveLruPage::get_lru_size 0 1 24 320 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::get_lru_size // Access: Published // Description: Returns the size of this page as reported to the LRU, // presumably in bytes. //////////////////////////////////////////////////////////////////// 62 inline unsigned int AdaptiveLruPage::get_lru_size(void) const; 1422 12 set_lru_size 4 2644 29 AdaptiveLruPage::set_lru_size 0 1 25 330 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::set_lru_size // Access: Published // Description: Specifies the size of this page, presumably in bytes, // although any unit is possible. //////////////////////////////////////////////////////////////////// 65 inline void AdaptiveLruPage::set_lru_size(unsigned int lru_size); 1423 9 evict_lru 4 2644 26 AdaptiveLruPage::evict_lru 0 1 26 814 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::evict_lru // Access: Published, Virtual // Description: Evicts the page from the LRU. Called internally when // the LRU determines that it is full. May also be // called externally when necessary to explicitly evict // the page. // // It is legal for this method to either evict the page // as requested, do nothing (in which case the eviction // will be requested again at the next epoch), or // requeue itself on the tail of the queue (in which // case the eviction will be requested again much // later). //////////////////////////////////////////////////////////////////// 46 virtual void AdaptiveLruPage::evict_lru(void); 1424 6 output 4 2644 23 AdaptiveLruPage::output 0 1 27 232 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 57 virtual void AdaptiveLruPage::output(ostream &out) const; 1425 5 write 4 2644 22 AdaptiveLruPage::write 0 1 28 231 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 74 virtual void AdaptiveLruPage::write(ostream &out, int indent_level) const; 1426 14 get_num_frames 4 2644 31 AdaptiveLruPage::get_num_frames 0 1 29 409 // Not defined in SimpleLruPage. //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::get_num_frames // Access: Published // Description: Returns the number of frames since the page was first // added to its LRU. Returns 0 if it does not have an // LRU. //////////////////////////////////////////////////////////////////// 57 unsigned int AdaptiveLruPage::get_num_frames(void) const; 1427 23 get_num_inactive_frames 4 2644 40 AdaptiveLruPage::get_num_inactive_frames 0 1 30 420 // Not defined in SimpleLruPage. //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::get_num_inactive_frames // Access: Published // Description: Returns the number of frames since the page was last // accessed on its LRU. Returns 0 if it does not have // an LRU. //////////////////////////////////////////////////////////////////// 66 unsigned int AdaptiveLruPage::get_num_inactive_frames(void) const; 1428 10 ~GeomEnums 4 2647 21 GeomEnums::~GeomEnums 0 0 0 28 GeomEnums::~GeomEnums(void); 1429 23 GeomVertexAnimationSpec 4 2655 48 GeomVertexAnimationSpec::GeomVertexAnimationSpec 0 2 31 32 978 // Filename: geomVertexAnimationSpec.I // Created by: drose (29Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexAnimationSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 157 inline GeomVertexAnimationSpec::GeomVertexAnimationSpec(void); inline GeomVertexAnimationSpec::GeomVertexAnimationSpec(GeomVertexAnimationSpec const &other); 1430 10 operator = 4 2655 35 GeomVertexAnimationSpec::operator = 0 1 33 249 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 86 inline void GeomVertexAnimationSpec::operator =(GeomVertexAnimationSpec const &other); 1431 18 get_animation_type 4 2655 43 GeomVertexAnimationSpec::get_animation_type 0 1 34 315 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::get_animation_type // Access: Published // Description: Returns the type of animation represented by this // spec. //////////////////////////////////////////////////////////////////// 88 inline GeomEnums::AnimationType GeomVertexAnimationSpec::get_animation_type(void) const; 1432 18 get_num_transforms 4 2655 43 GeomVertexAnimationSpec::get_num_transforms 0 1 35 479 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::get_num_transforms // Access: Published // Description: This is only meaningful for animation_type // AT_hardware. It specifies the maximum number of // transforms that might be simultaneously applied to // any one vertex by the data in this format. //////////////////////////////////////////////////////////////////// 67 inline int GeomVertexAnimationSpec::get_num_transforms(void) const; 1433 22 get_indexed_transforms 4 2655 47 GeomVertexAnimationSpec::get_indexed_transforms 0 1 36 529 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::get_indexed_transforms // Access: Published // Description: This is only meaningful for animation_type // AT_hardware. If true, it indicates that the format // uses indexed animation tables. It is false if each // vertex will reference the first _num_transforms // table entries only. //////////////////////////////////////////////////////////////////// 72 inline bool GeomVertexAnimationSpec::get_indexed_transforms(void) const; 1434 8 set_none 4 2655 33 GeomVertexAnimationSpec::set_none 0 1 37 313 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::set_none // Access: Published // Description: Specifies that no vertex animation is represented by // this spec. //////////////////////////////////////////////////////////////////// 52 inline void GeomVertexAnimationSpec::set_none(void); 1435 9 set_panda 4 2655 34 GeomVertexAnimationSpec::set_panda 0 1 38 419 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::set_panda // Access: Published // Description: Specifies that vertex animation is to be performed by // Panda. This is the most general setting and can // handle any kind of vertex animation represented. //////////////////////////////////////////////////////////////////// 53 inline void GeomVertexAnimationSpec::set_panda(void); 1436 12 set_hardware 4 2655 37 GeomVertexAnimationSpec::set_hardware 0 1 39 721 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::set_hardware // Access: Published // Description: Specifies that vertex animation is to be performed by // the graphics hardware (or at least by the graphics // backend API, which is actually still free to animate // the vertices on the CPU). // // This is only legal if the graphics hardware can // support the specified limits on number of transforms // and/or indexed transforms. Also, no current graphics // API's support morphing. //////////////////////////////////////////////////////////////////// 95 inline void GeomVertexAnimationSpec::set_hardware(int num_transforms, bool indexed_transforms); 1437 6 output 4 2655 31 GeomVertexAnimationSpec::output 0 1 40 231 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 57 void GeomVertexAnimationSpec::output(ostream &out) const; 1438 24 ~GeomVertexAnimationSpec 4 2655 49 GeomVertexAnimationSpec::~GeomVertexAnimationSpec 0 0 0 56 GeomVertexAnimationSpec::~GeomVertexAnimationSpec(void); 1439 4 make 4 2656 18 InternalName::make 0 2 41 42 1610 // Filename: internalName.I // Created by: masad (15Jul04) // //////////////////////////////////////////////////////////////////// // // 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: InternalName::make // Access: Published, Static // Description: The public interface for constructing an InternalName // pointer. This will return a new InternalName // representing the indicated name, if this is the first // time the particular name has been requested; if the // name is already in use, it will return the existing // pointer. // // If the string contains the '.' character, the string // will be divided at the dots and the so-defined // hierarchy of names will be registered. This is // handled transparently. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: InternalName::make // Access: Published, Static // Description: Make using a string and an integer. Concatenates // the two. //////////////////////////////////////////////////////////////////// 191 static inline PointerTo< InternalName > InternalName::make(basic_string< char > const &name); static PointerTo< InternalName > InternalName::make(basic_string< char > const &name, int index); 1440 6 append 4 2656 20 InternalName::append 0 1 43 475 //////////////////////////////////////////////////////////////////// // Function: InternalName::append // Access: Published // Description: Constructs a new InternalName based on this name, // with the indicated string following it. This is a // cheaper way to construct a hierarchical name than // InternalName::make(parent->get_name() + ".basename"). //////////////////////////////////////////////////////////////////// 85 PointerTo< InternalName > InternalName::append(basic_string< char > const &basename); 1441 10 get_parent 4 2656 24 InternalName::get_parent 0 1 44 328 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_parent // Access: Published // Description: Return the parent of this InternalName. All names // have a parent, except the root name. //////////////////////////////////////////////////////////////////// 58 inline InternalName *InternalName::get_parent(void) const; 1442 8 get_name 4 2656 22 InternalName::get_name 0 1 45 320 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_name // Access: Published // Description: Returns the complete name represented by the // InternalName and all of its parents. //////////////////////////////////////////////////////////////////// 56 basic_string< char > InternalName::get_name(void) const; 1443 12 get_basename 4 2656 26 InternalName::get_basename 0 1 46 404 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_basename // Access: Published // Description: Return the name represented by just this particular // InternalName object, ignoring its parents names. // This is everything after the rightmost dot. //////////////////////////////////////////////////////////////////// 74 inline basic_string< char > const &InternalName::get_basename(void) const; 1444 13 find_ancestor 4 2656 27 InternalName::find_ancestor 0 1 47 584 //////////////////////////////////////////////////////////////////// // Function: InternalName::find_ancestor // Access: Published // Description: Returns the index of the ancestor with the indicated // basename, or -1 if no ancestor has that basename. // Returns 0 if this name has the basename. // // This index value may be passed to get_ancestor() or // get_net_basename() to retrieve more information about // the indicated name. //////////////////////////////////////////////////////////////////// 76 int InternalName::find_ancestor(basic_string< char > const &basename) const; 1445 12 get_ancestor 4 2656 26 InternalName::get_ancestor 0 1 48 481 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_ancestor // Access: Published // Description: Returns the ancestor with the indicated index number. // 0 is this name itself, 1 is the name's parent, 2 is // the parent's parent, and so on. If there are not // enough ancestors, returns the root InternalName. //////////////////////////////////////////////////////////////////// 60 InternalName const *InternalName::get_ancestor(int n) const; 1446 7 get_top 4 2656 21 InternalName::get_top 0 1 49 460 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_top // Access: Published // Description: Returns the oldest ancestor in the InternalName's // chain, not counting the root. This will be the first // name in the string, e.g. "texcoord.foo.bar" will // return the InternalName "texcoord". //////////////////////////////////////////////////////////////////// 54 InternalName const *InternalName::get_top(void) const; 1447 16 get_net_basename 4 2656 30 InternalName::get_net_basename 0 1 50 456 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_net_basename // Access: Published // Description: Returns the basename of this name prefixed by the // indicated number of ancestors. 0 is this name's // basename, 1 is parent.basename, 2 is // grandparent.parent.basename, and so on. //////////////////////////////////////////////////////////////////// 65 basic_string< char > InternalName::get_net_basename(int n) const; 1448 6 output 4 2656 20 InternalName::output 0 1 51 220 //////////////////////////////////////////////////////////////////// // Function: InternalName::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 46 void InternalName::output(ostream &out) const; 1449 8 get_root 4 2656 22 InternalName::get_root 0 1 52 474 // Some predefined built-in names. //////////////////////////////////////////////////////////////////// // Function: InternalName::get_root // Access: Published, Static // Description: Returns the standard root InternalName. This is the // root of all other InternalNames. It has no name // itself, and it is the only InternalName with no // parent. //////////////////////////////////////////////////////////////////// 69 static inline PointerTo< InternalName > InternalName::get_root(void); 1450 9 get_error 4 2656 23 InternalName::get_error 0 1 53 309 // Some predefined built-in names. //////////////////////////////////////////////////////////////////// // Function: InternalName::get_error // Access: Published, Static // Description: Returns the standard InternalName "error". //////////////////////////////////////////////////////////////////// 70 static inline PointerTo< InternalName > InternalName::get_error(void); 1451 10 get_vertex 4 2656 24 InternalName::get_vertex 0 1 54 400 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_vertex // Access: Published, Static // Description: Returns the standard InternalName "vertex". This is // the column header for the 3-d or 4-d vertex position // information for each vertex. //////////////////////////////////////////////////////////////////// 71 static inline PointerTo< InternalName > InternalName::get_vertex(void); 1452 10 get_normal 4 2656 24 InternalName::get_normal 0 1 55 381 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_normal // Access: Published, Static // Description: Returns the standard InternalName "normal". This is // the column header for the 3-d lighting normal for // each vertex. //////////////////////////////////////////////////////////////////// 71 static inline PointerTo< InternalName > InternalName::get_normal(void); 1453 11 get_tangent 4 2656 25 InternalName::get_tangent 0 1 56 593 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_tangent // Access: Published, Static // Description: Returns the standard InternalName "tangent". This is // the column header for the tangent vector associated // with each vertex, which is a unit vector // usually perpendicular to the normal and in the // direction of the U texture coordinate change. It is // used for deriving bump maps. //////////////////////////////////////////////////////////////////// 72 static inline PointerTo< InternalName > InternalName::get_tangent(void); 1454 16 get_tangent_name 4 2656 30 InternalName::get_tangent_name 0 1 57 457 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_tangent_name // Access: Published, Static // Description: Returns the InternalName "tangent.name", where name // is the supplied string. This is the column header // for the tangent associated with the named texture // coordinate set. //////////////////////////////////////////////////////////////////// 105 static inline PointerTo< InternalName > InternalName::get_tangent_name(basic_string< char > const &name); 1455 12 get_binormal 4 2656 26 InternalName::get_binormal 0 1 58 634 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_binormal // Access: Published, Static // Description: Returns the standard InternalName "binormal". This is // the column header for the tangent vector associated // with each vertex, which is a unit vector // usually perpendicular to both the normal and the // tangent, and in the direction of the V texture // coordinate change. It is used for deriving bump // maps. //////////////////////////////////////////////////////////////////// 73 static inline PointerTo< InternalName > InternalName::get_binormal(void); 1456 17 get_binormal_name 4 2656 31 InternalName::get_binormal_name 0 1 59 460 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_binormal_name // Access: Published, Static // Description: Returns the InternalName "binormal.name", where name // is the supplied string. This is the column header // for the binormal associated with the named texture // coordinate set. //////////////////////////////////////////////////////////////////// 106 static inline PointerTo< InternalName > InternalName::get_binormal_name(basic_string< char > const &name); 1457 12 get_texcoord 4 2656 26 InternalName::get_texcoord 0 1 60 517 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_texcoord // Access: Published, Static // Description: Returns the standard InternalName "texcoord". This // is the column header for the default texture // coordinate set for each vertex. It is also used for // identifying the default texture coordinate set in a // TextureStage. //////////////////////////////////////////////////////////////////// 73 static inline PointerTo< InternalName > InternalName::get_texcoord(void); 1458 17 get_texcoord_name 4 2656 31 InternalName::get_texcoord_name 0 1 61 548 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_texcoord_name // Access: Published, Static // Description: Returns the InternalName "texcoord.name", where name // is the supplied string. This is the column header // for the named texture coordinate set for each vertex. // It is also used for identifying the named texture // coordinate set in a TextureStage. //////////////////////////////////////////////////////////////////// 106 static inline PointerTo< InternalName > InternalName::get_texcoord_name(basic_string< char > const &name); 1459 9 get_color 4 2656 23 InternalName::get_color 0 1 62 383 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_color // Access: Published, Static // Description: Returns the standard InternalName "color". This is // the column header for the 4-component color value for // each vertex. //////////////////////////////////////////////////////////////////// 70 static inline PointerTo< InternalName > InternalName::get_color(void); 1460 10 get_rotate 4 2656 24 InternalName::get_rotate 0 1 63 500 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_rotate // Access: Published, Static // Description: Returns the standard InternalName "rotate". This is // the column header for the floating-point rotate // value, which represents a number of degrees // counter-clockwise to rotate each point or point // sprite. //////////////////////////////////////////////////////////////////// 71 static inline PointerTo< InternalName > InternalName::get_rotate(void); 1461 8 get_size 4 2656 22 InternalName::get_size 0 1 64 505 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_size // Access: Published, Static // Description: Returns the standard InternalName "size". This is // the column header for the floating-point size value, // which overrides the thickness parameter of the // RenderModeAttrib on a per-vertex (e.g. per-point) // basis. //////////////////////////////////////////////////////////////////// 69 static inline PointerTo< InternalName > InternalName::get_size(void); 1462 16 get_aspect_ratio 4 2656 30 InternalName::get_aspect_ratio 0 1 65 535 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_aspect_ratio // Access: Published, Static // Description: Returns the standard InternalName "aspect_ratio". // This is the column header for the floating-point // aspect ratio value, which is used to define // non-square points. This number is the ratio x / y, // where y is the point size (above). //////////////////////////////////////////////////////////////////// 77 static inline PointerTo< InternalName > InternalName::get_aspect_ratio(void); 1463 19 get_transform_blend 4 2656 33 InternalName::get_transform_blend 0 1 66 553 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_transform_blend // Access: Published, Static // Description: Returns the standard InternalName "transform_blend". // This is the column header for the integer // transform_blend index, which is used to define vertex // animation on the CPU by indexing to a particular // vertex weighting from the TransformBlendTable. //////////////////////////////////////////////////////////////////// 80 static inline PointerTo< InternalName > InternalName::get_transform_blend(void); 1464 20 get_transform_weight 4 2656 34 InternalName::get_transform_weight 0 1 67 823 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_transform_weight // Access: Published, Static // Description: Returns the standard InternalName "transform_weight". // This is the column header for the n-component // transform_weight value, which is used in conjuntion // with "transform_index" to define vertex animation on // the graphics card. The transform_weight value // specifies the weight of the nth transform. By // convention, there are 1 fewer weight values than // transforms, since the weights are assumed to sum to 1 // (and the last value is therefore implicit). //////////////////////////////////////////////////////////////////// 81 static inline PointerTo< InternalName > InternalName::get_transform_weight(void); 1465 19 get_transform_index 4 2656 33 InternalName::get_transform_index 0 1 68 795 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_transform_index // Access: Published, Static // Description: Returns the standard InternalName "transform_index". // This is the column header for the n-component // transform_index value, which is used in conjuntion // with "transform_weight" to define vertex animation on // the graphics card. The transform_index value // specifies the nth transform, by lookup in the // TransformTable. The transform_index column may be // omitted, in which case the nth transform is the nth // entry in the table. //////////////////////////////////////////////////////////////////// 80 static inline PointerTo< InternalName > InternalName::get_transform_index(void); 1466 9 get_morph 4 2656 23 InternalName::get_morph 0 1 69 655 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_morph // Access: Published, Static // Description: Returns an InternalName derived from the given base // column name and the given slider name, which is the // column header for the offset vector that should be // applied to the base column name when the named morph // slider is engaged. // // Each morph slider requires a set of n morph columns, // one for each base column it applies to. //////////////////////////////////////////////////////////////////// 122 static inline PointerTo< InternalName > InternalName::get_morph(InternalName *column, basic_string< char > const &slider); 1467 9 get_index 4 2656 23 InternalName::get_index 0 1 70 515 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_index // Access: Published, Static // Description: Returns the standard InternalName "index". This is // the column header for the integer vertex index. It // is not used in the vertex data itself, but is used in // the GeomPrimitive structure to index into the vertex // data. //////////////////////////////////////////////////////////////////// 70 static inline PointerTo< InternalName > InternalName::get_index(void); 1468 9 get_world 4 2656 23 InternalName::get_world 0 1 71 342 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_world // Access: Published, Static // Description: Returns the standard InternalName "world". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 70 static inline PointerTo< InternalName > InternalName::get_world(void); 1469 10 get_camera 4 2656 24 InternalName::get_camera 0 1 72 344 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_camera // Access: Published, Static // Description: Returns the standard InternalName "camera". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 71 static inline PointerTo< InternalName > InternalName::get_camera(void); 1470 9 get_model 4 2656 23 InternalName::get_model 0 1 73 342 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_model // Access: Published, Static // Description: Returns the standard InternalName "model". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 70 static inline PointerTo< InternalName > InternalName::get_model(void); 1471 8 get_view 4 2656 22 InternalName::get_view 0 1 74 340 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_view // Access: Published, Static // Description: Returns the standard InternalName "view". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 69 static inline PointerTo< InternalName > InternalName::get_view(void); 1472 14 get_class_type 4 2656 28 InternalName::get_class_type 0 1 75 0 53 static TypeHandle InternalName::get_class_type(void); 1473 16 GeomVertexColumn 4 2658 34 GeomVertexColumn::GeomVertexColumn 0 2 76 77 1281 // Filename: geomVertexColumn.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexColumn::Default Constructor // Access: Private // Description: Creates an invalid column. Used on when constructing // from a bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 233 inline GeomVertexColumn::GeomVertexColumn(InternalName *name, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents, int start); inline GeomVertexColumn::GeomVertexColumn(GeomVertexColumn const ©); 1474 10 operator = 4 2658 28 GeomVertexColumn::operator = 0 1 78 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 64 void GeomVertexColumn::operator =(GeomVertexColumn const ©); 1475 17 ~GeomVertexColumn 4 2658 35 GeomVertexColumn::~GeomVertexColumn 0 0 228 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 49 inline GeomVertexColumn::~GeomVertexColumn(void); 1476 8 get_name 4 2658 26 GeomVertexColumn::get_name 0 1 79 541 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_name // Access: Published // Description: Returns the name of this particular data field, // e.g. "vertex" or "normal". The name may be a // user-defined string, or it may be one of the standard // system-defined field types. Only the system-defined // field types are used for the actual rendering. //////////////////////////////////////////////////////////////////// 60 inline InternalName *GeomVertexColumn::get_name(void) const; 1477 18 get_num_components 4 2658 36 GeomVertexColumn::get_num_components 0 1 80 464 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_num_components // Access: Published // Description: Returns the number of components of the column: // the number of instances of the NumericType in each // element. This is usually, but not always, the same // thing as get_num_values(). //////////////////////////////////////////////////////////////////// 60 inline int GeomVertexColumn::get_num_components(void) const; 1478 14 get_num_values 4 2658 32 GeomVertexColumn::get_num_values 0 1 81 648 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_num_values // Access: Published // Description: Returns the number of numeric values of the column: // the number of distinct numeric values that go into // each element. This is usually, but not always, the // same thing as get_num_components(); the difference is // in the case of a composite numeric type like // NT_packed_dcba, which has four numeric values per // component. //////////////////////////////////////////////////////////////////// 56 inline int GeomVertexColumn::get_num_values(void) const; 1479 16 get_numeric_type 4 2658 34 GeomVertexColumn::get_numeric_type 0 1 82 319 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_numeric_type // Access: Published // Description: Returns the token representing the numeric type of // the data storage. //////////////////////////////////////////////////////////////////// 77 inline GeomEnums::NumericType GeomVertexColumn::get_numeric_type(void) const; 1480 12 get_contents 4 2658 30 GeomVertexColumn::get_contents 0 1 83 319 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_contents // Access: Published // Description: Returns the token representing the semantic meaning of // the stored value. //////////////////////////////////////////////////////////////////// 70 inline GeomEnums::Contents GeomVertexColumn::get_contents(void) const; 1481 9 get_start 4 2658 27 GeomVertexColumn::get_start 0 1 84 392 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_start // Access: Published // Description: Returns the byte within the array record at which // this column starts. This can be set to non-zero // to implement interleaved arrays. //////////////////////////////////////////////////////////////////// 51 inline int GeomVertexColumn::get_start(void) const; 1482 19 get_component_bytes 4 2658 37 GeomVertexColumn::get_component_bytes 0 1 85 351 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_component_bytes // Access: Published // Description: Returns the number of bytes used by each component // (that is, by one element of the numeric type). //////////////////////////////////////////////////////////////////// 61 inline int GeomVertexColumn::get_component_bytes(void) const; 1483 15 get_total_bytes 4 2658 33 GeomVertexColumn::get_total_bytes 0 1 86 347 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_total_bytes // Access: Published // Description: Returns the number of bytes used by each element of // the column: component_bytes * num_components. //////////////////////////////////////////////////////////////////// 57 inline int GeomVertexColumn::get_total_bytes(void) const; 1484 21 has_homogeneous_coord 4 2658 39 GeomVertexColumn::has_homogeneous_coord 0 1 87 727 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::has_homogeneous_coord // Access: Published // Description: Returns true if this Contents type is one that // includes a homogeneous coordinate in the fourth // component, or false otherwise. If this is true, // correct operation on the vertex data may require // scaling by the homogeneous coordinate from time to // time (but in general this is handled automatically if // you use the 3-component or smaller forms of // get_data() and set_data()). //////////////////////////////////////////////////////////////////// 64 inline bool GeomVertexColumn::has_homogeneous_coord(void) const; 1485 13 overlaps_with 4 2658 31 GeomVertexColumn::overlaps_with 0 1 88 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::overlaps_with // Access: Published // Description: Returns true if this column overlaps with any of // the bytes in the indicated range, false if it does // not. //////////////////////////////////////////////////////////////////// 81 inline bool GeomVertexColumn::overlaps_with(int start_byte, int num_bytes) const; 1486 22 is_bytewise_equivalent 4 2658 40 GeomVertexColumn::is_bytewise_equivalent 0 1 89 419 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::is_bytewise_equivalent // Access: Published // Description: Returns true if the data store of this column is // exactly the same as that of the other, irrespective // of name or start position within the record. //////////////////////////////////////////////////////////////////// 90 inline bool GeomVertexColumn::is_bytewise_equivalent(GeomVertexColumn const &other) const; 1487 6 output 4 2658 24 GeomVertexColumn::output 0 1 90 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 50 void GeomVertexColumn::output(ostream &out) const; 1488 37 upcast_to_TypedWritableReferenceCount 12 2659 60 GeomVertexArrayFormat::upcast_to_TypedWritableReferenceCount 0 1 123 64 upcast from GeomVertexArrayFormat to TypedWritableReferenceCount 96 TypedWritableReferenceCount *GeomVertexArrayFormat::upcast_to_TypedWritableReferenceCount(void); 1489 33 downcast_to_GeomVertexArrayFormat 12 2657 62 TypedWritableReferenceCount::downcast_to_GeomVertexArrayFormat 0 1 124 66 downcast from TypedWritableReferenceCount to GeomVertexArrayFormat 92 GeomVertexArrayFormat *TypedWritableReferenceCount::downcast_to_GeomVertexArrayFormat(void); 1490 19 upcast_to_GeomEnums 12 2659 42 GeomVertexArrayFormat::upcast_to_GeomEnums 0 1 125 46 upcast from GeomVertexArrayFormat to GeomEnums 60 GeomEnums *GeomVertexArrayFormat::upcast_to_GeomEnums(void); 1491 33 downcast_to_GeomVertexArrayFormat 12 2647 44 GeomEnums::downcast_to_GeomVertexArrayFormat 0 1 126 48 downcast from GeomEnums to GeomVertexArrayFormat 74 GeomVertexArrayFormat *GeomEnums::downcast_to_GeomVertexArrayFormat(void); 1492 21 GeomVertexArrayFormat 4 2659 44 GeomVertexArrayFormat::GeomVertexArrayFormat 0 6 91 92 93 94 95 96 1419 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1426 GeomVertexArrayFormat::GeomVertexArrayFormat(void); GeomVertexArrayFormat::GeomVertexArrayFormat(GeomVertexArrayFormat const ©); GeomVertexArrayFormat::GeomVertexArrayFormat(InternalName *name0, int num_components0, GeomEnums::NumericType numeric_type0, GeomEnums::Contents contents0); GeomVertexArrayFormat::GeomVertexArrayFormat(InternalName *name0, int num_components0, GeomEnums::NumericType numeric_type0, GeomEnums::Contents contents0, InternalName *name1, int num_components1, GeomEnums::NumericType numeric_type1, GeomEnums::Contents contents1); GeomVertexArrayFormat::GeomVertexArrayFormat(InternalName *name0, int num_components0, GeomEnums::NumericType numeric_type0, GeomEnums::Contents contents0, InternalName *name1, int num_components1, GeomEnums::NumericType numeric_type1, GeomEnums::Contents contents1, InternalName *name2, int num_components2, GeomEnums::NumericType numeric_type2, GeomEnums::Contents contents2); GeomVertexArrayFormat::GeomVertexArrayFormat(InternalName *name0, int num_components0, GeomEnums::NumericType numeric_type0, GeomEnums::Contents contents0, InternalName *name1, int num_components1, GeomEnums::NumericType numeric_type1, GeomEnums::Contents contents1, InternalName *name2, int num_components2, GeomEnums::NumericType numeric_type2, GeomEnums::Contents contents2, InternalName *name3, int num_components3, GeomEnums::NumericType numeric_type3, GeomEnums::Contents contents3); 1493 10 operator = 4 2659 33 GeomVertexArrayFormat::operator = 0 1 97 247 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 74 void GeomVertexArrayFormat::operator =(GeomVertexArrayFormat const ©); 1494 22 ~GeomVertexArrayFormat 4 2659 45 GeomVertexArrayFormat::~GeomVertexArrayFormat 0 0 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 60 virtual GeomVertexArrayFormat::~GeomVertexArrayFormat(void); 1495 5 unref 4 2659 28 GeomVertexArrayFormat::unref 0 1 98 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::unref // Access: Published, Virtual // Description: This method overrides ReferenceCount::unref() to // unregister the object when its reference count goes // to zero. //////////////////////////////////////////////////////////////////// 54 virtual bool GeomVertexArrayFormat::unref(void) const; 1496 13 is_registered 4 2659 36 GeomVertexArrayFormat::is_registered 0 1 99 965 // Filename: geomVertexArrayFormat.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexArrayFormat::is_registered // Access: Published // Description: Returns true if this format has been registered, // false if it has not. It may not be used for a Geom // until it has been registered, but once registered, it // may no longer be modified. //////////////////////////////////////////////////////////////////// 61 inline bool GeomVertexArrayFormat::is_registered(void) const; 1497 15 register_format 4 2659 38 GeomVertexArrayFormat::register_format 0 1 100 774 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::register_format // Access: Published, Static // Description: Adds the indicated format to the registry, if there // is not an equivalent format already there; in either // case, returns the pointer to the equivalent format // now in the registry. // // This is similar to // GeomVertexFormat::register_format(), except that you // generally need not call it explicitly. Calling // GeomVertexFormat::register_format() automatically // registers all of the nested array formats. //////////////////////////////////////////////////////////////////// 130 static inline ConstPointerTo< GeomVertexArrayFormat > GeomVertexArrayFormat::register_format(GeomVertexArrayFormat const *format); 1498 10 get_stride 4 2659 33 GeomVertexArrayFormat::get_stride 0 1 101 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_stride // Access: Published // Description: Returns the total number of bytes reserved in the // array for each vertex. //////////////////////////////////////////////////////////////////// 57 inline int GeomVertexArrayFormat::get_stride(void) const; 1499 10 set_stride 4 2659 33 GeomVertexArrayFormat::set_stride 0 1 102 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::set_stride // Access: Published // Description: Changes the total number of bytes reserved in the // array for each vertex. //////////////////////////////////////////////////////////////////// 58 inline void GeomVertexArrayFormat::set_stride(int stride); 1500 15 get_total_bytes 4 2659 38 GeomVertexArrayFormat::get_total_bytes 0 1 103 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_total_bytes // Access: Published // Description: Returns the total number of bytes used by the data // types within the format, including gaps between // elements. //////////////////////////////////////////////////////////////////// 62 inline int GeomVertexArrayFormat::get_total_bytes(void) const; 1501 10 get_pad_to 4 2659 33 GeomVertexArrayFormat::get_pad_to 0 1 104 501 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_pad_to // Access: Published // Description: Returns the byte divisor to which the data record // must be padded to meet hardware limitations. For // instance, if this is 4, the stride will be // automatically rounded up to the next multiple of 4 // bytes. //////////////////////////////////////////////////////////////////// 57 inline int GeomVertexArrayFormat::get_pad_to(void) const; 1502 10 add_column 4 2659 33 GeomVertexArrayFormat::add_column 0 3 105 106 107 1461 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::add_column // Access: Published // Description: Adds a new column to the specification. This is a // table of per-vertex floating-point numbers such as // "vertex" or "normal"; you must specify where in each // record the table starts, and how many components // (dimensions) exist per vertex. // // The return value is the index number of the new data // type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::add_column // Access: Published // Description: Adds a new column to the specification. This is a // table of per-vertex floating-point numbers such as // "vertex" or "normal"; you must specify where in each // record the table starts, and how many components // (dimensions) exist per vertex. // // Adding a column with the same name as a previous // type, or that overlaps with one or more previous // types, quietly removes the previous type(s). // // The return value is the index number of the new data // type. //////////////////////////////////////////////////////////////////// 234 int GeomVertexArrayFormat::add_column(InternalName *name, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents, int start = (-1)); int GeomVertexArrayFormat::add_column(GeomVertexColumn const &column); 1503 13 remove_column 4 2659 36 GeomVertexArrayFormat::remove_column 0 1 108 346 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::remove_column // Access: Published // Description: Removes the column with the indicated name, if // any. This leaves a gap in the byte structure. //////////////////////////////////////////////////////////////////// 68 void GeomVertexArrayFormat::remove_column(InternalName const *name); 1504 13 clear_columns 4 2659 36 GeomVertexArrayFormat::clear_columns 0 1 109 343 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::clear_columns // Access: Published // Description: Removes all columns previously added, sets the // stride to zero, and prepares to start over. //////////////////////////////////////////////////////////////////// 48 void GeomVertexArrayFormat::clear_columns(void); 1505 12 pack_columns 4 2659 35 GeomVertexArrayFormat::pack_columns 0 1 110 272 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::pack_columns // Access: Published // Description: Removes wasted space between columns. //////////////////////////////////////////////////////////////////// 47 void GeomVertexArrayFormat::pack_columns(void); 1506 15 get_num_columns 4 2659 38 GeomVertexArrayFormat::get_num_columns 0 1 111 308 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_num_columns // Access: Published // Description: Returns the number of different columns in the // array. //////////////////////////////////////////////////////////////////// 62 inline int GeomVertexArrayFormat::get_num_columns(void) const; 1507 10 get_column 4 2659 33 GeomVertexArrayFormat::get_column 0 3 112 113 114 984 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_column // Access: Published // Description: Returns the ith column of the array. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_column // Access: Published // Description: Returns the specification with the indicated name, or // NULL if the name is not used. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_column // Access: Published // Description: Returns the first specification that overlaps with // any of the indicated bytes in the range, or NULL if // none do. //////////////////////////////////////////////////////////////////// 265 inline GeomVertexColumn const *GeomVertexArrayFormat::get_column(int i) const; GeomVertexColumn const *GeomVertexArrayFormat::get_column(InternalName const *name) const; GeomVertexColumn const *GeomVertexArrayFormat::get_column(int start_byte, int num_bytes) const; 1508 10 has_column 4 2659 33 GeomVertexArrayFormat::has_column 0 1 115 314 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::has_column // Access: Published // Description: Returns true if the array has the named column, // false otherwise. //////////////////////////////////////////////////////////////////// 78 inline bool GeomVertexArrayFormat::has_column(InternalName const *name) const; 1509 17 is_data_subset_of 4 2659 40 GeomVertexArrayFormat::is_data_subset_of 0 1 116 614 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::is_data_subset_of // Access: Published // Description: Returns true if all of the fields in this array // format are also present and equivalent in the other // array format, and in the same byte positions, and the // stride is the same. That is, true if this format can // share the same data pointer as the other format (with // possibly some unused gaps). //////////////////////////////////////////////////////////////////// 88 bool GeomVertexArrayFormat::is_data_subset_of(GeomVertexArrayFormat const &other) const; 1510 18 count_unused_space 4 2659 41 GeomVertexArrayFormat::count_unused_space 0 1 117 330 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::count_unused_space // Access: Published // Description: Returns the number of bytes per row that are not // assigned to any column. //////////////////////////////////////////////////////////////////// 58 int GeomVertexArrayFormat::count_unused_space(void) const; 1511 6 output 4 2659 29 GeomVertexArrayFormat::output 0 1 118 229 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 55 void GeomVertexArrayFormat::output(ostream &out) const; 1512 5 write 4 2659 28 GeomVertexArrayFormat::write 0 2 119 120 228 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 78 void GeomVertexArrayFormat::write(ostream &out, int indent_level = (0)) const; 1513 15 write_with_data 4 2659 38 GeomVertexArrayFormat::write_with_data 0 1 121 238 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::write_with_data // Access: Published // Description: //////////////////////////////////////////////////////////////////// 121 void GeomVertexArrayFormat::write_with_data(ostream &out, int indent_level, GeomVertexArrayData const *array_data) const; 1514 14 get_class_type 4 2659 37 GeomVertexArrayFormat::get_class_type 0 1 122 0 62 static TypeHandle GeomVertexArrayFormat::get_class_type(void); 1515 37 upcast_to_TypedWritableReferenceCount 12 2660 55 GeomVertexFormat::upcast_to_TypedWritableReferenceCount 0 1 182 59 upcast from GeomVertexFormat to TypedWritableReferenceCount 91 TypedWritableReferenceCount *GeomVertexFormat::upcast_to_TypedWritableReferenceCount(void); 1516 28 downcast_to_GeomVertexFormat 12 2657 57 TypedWritableReferenceCount::downcast_to_GeomVertexFormat 0 1 183 61 downcast from TypedWritableReferenceCount to GeomVertexFormat 82 GeomVertexFormat *TypedWritableReferenceCount::downcast_to_GeomVertexFormat(void); 1517 19 upcast_to_GeomEnums 12 2660 37 GeomVertexFormat::upcast_to_GeomEnums 0 1 184 41 upcast from GeomVertexFormat to GeomEnums 55 GeomEnums *GeomVertexFormat::upcast_to_GeomEnums(void); 1518 28 downcast_to_GeomVertexFormat 12 2647 39 GeomEnums::downcast_to_GeomVertexFormat 0 1 185 43 downcast from GeomEnums to GeomVertexFormat 64 GeomVertexFormat *GeomEnums::downcast_to_GeomVertexFormat(void); 1519 16 GeomVertexFormat 4 2660 34 GeomVertexFormat::GeomVertexFormat 0 3 127 128 129 696 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 186 GeomVertexFormat::GeomVertexFormat(void); GeomVertexFormat::GeomVertexFormat(GeomVertexArrayFormat const *array_format); GeomVertexFormat::GeomVertexFormat(GeomVertexFormat const ©); 1520 10 operator = 4 2660 28 GeomVertexFormat::operator = 0 1 130 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 64 void GeomVertexFormat::operator =(GeomVertexFormat const ©); 1521 17 ~GeomVertexFormat 4 2660 35 GeomVertexFormat::~GeomVertexFormat 0 0 237 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 50 virtual GeomVertexFormat::~GeomVertexFormat(void); 1522 5 unref 4 2660 23 GeomVertexFormat::unref 0 1 131 375 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::unref // Access: Published, Virtual // Description: This method overrides ReferenceCount::unref() to // unregister the object when its reference count goes // to zero. //////////////////////////////////////////////////////////////////// 49 virtual bool GeomVertexFormat::unref(void) const; 1523 13 is_registered 4 2660 31 GeomVertexFormat::is_registered 0 1 132 463 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::is_registered // Access: Published // Description: Returns true if this format has been registered, // false if it has not. It may not be used for a Geom // until it has been registered, but once registered, it // may no longer be modified. //////////////////////////////////////////////////////////////////// 56 inline bool GeomVertexFormat::is_registered(void) const; 1524 15 register_format 4 2660 33 GeomVertexFormat::register_format 0 2 133 134 1213 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::register_format // Access: Published, Static // Description: Adds the indicated format to the registry, if there // is not an equivalent format already there; in either // case, returns the pointer to the equivalent format // now in the registry. // // This must be called before a format may be used in a // Geom. After this call, you should discard the // original pointer you passed in (which may or may not // now be invalid) and let its reference count decrement // normally; you should use only the returned value from // this point on. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::register_format // Access: Published, Static // Description: This flavor of register_format() implicitly creates a // one-array vertex format from the array definition. //////////////////////////////////////////////////////////////////// 236 static inline ConstPointerTo< GeomVertexFormat > GeomVertexFormat::register_format(GeomVertexFormat const *format); static inline ConstPointerTo< GeomVertexFormat > GeomVertexFormat::register_format(GeomVertexArrayFormat const *format); 1525 13 get_animation 4 2660 31 GeomVertexFormat::get_animation 0 1 135 351 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_animation // Access: Published // Description: Returns the GeomVertexAnimationSpec that indicates // how this format's vertices are set up for animation. //////////////////////////////////////////////////////////////////// 82 inline GeomVertexAnimationSpec const &GeomVertexFormat::get_animation(void) const; 1526 13 set_animation 4 2660 31 GeomVertexFormat::set_animation 0 1 136 555 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::set_animation // Access: Published // Description: Resets the GeomVertexAnimationSpec that indicates // how this format's vertices are set up for animation. // You should also, of course, change the columns in the // tables accordingly. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 86 inline void GeomVertexFormat::set_animation(GeomVertexAnimationSpec const &animation); 1527 24 get_post_animated_format 4 2660 42 GeomVertexFormat::get_post_animated_format 0 1 137 646 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_post_animated_format // Access: Published // Description: Returns a suitable vertex format for sending the // animated vertices to the graphics backend. This is // the same format as the source format, with the // CPU-animation data elements removed. // // This may only be called after the format has been // registered. The return value will have been already // registered. //////////////////////////////////////////////////////////////////// 90 ConstPointerTo< GeomVertexFormat > GeomVertexFormat::get_post_animated_format(void) const; 1528 16 get_union_format 4 2660 34 GeomVertexFormat::get_union_format 0 1 138 791 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_union_format // Access: Published // Description: Returns a new GeomVertexFormat that includes all of // the columns defined in either this GeomVertexFormat // or the other one. If any column is defined in both // formats with different sizes (for instance, texcoord2 // vs. texcoord3), the new format will include the // larger of the two definitions. // // This may only be called after both source formats // have been registered. The return value will also // have been already registered. //////////////////////////////////////////////////////////////////// 107 ConstPointerTo< GeomVertexFormat > GeomVertexFormat::get_union_format(GeomVertexFormat const *other) const; 1529 14 get_num_arrays 4 2660 32 GeomVertexFormat::get_num_arrays 0 1 139 506 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_arrays // Access: Published // Description: Returns the number of individual arrays required by // the format. If the array data is completely // interleaved, this will be 1; if it is completely // parallel, this will be the same as the number of data // types. //////////////////////////////////////////////////////////////////// 56 inline int GeomVertexFormat::get_num_arrays(void) const; 1530 9 get_array 4 2660 27 GeomVertexFormat::get_array 0 1 140 304 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_array // Access: Published // Description: Returns the description of the nth array used by the // format. //////////////////////////////////////////////////////////////////// 81 inline GeomVertexArrayFormat const *GeomVertexFormat::get_array(int array) const; 1531 12 modify_array 4 2660 30 GeomVertexFormat::modify_array 0 1 141 470 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::modify_array // Access: Published // Description: Returns a modifiable pointer to the indicated array. // This means duplicating it if it is shared or // registered. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 65 GeomVertexArrayFormat *GeomVertexFormat::modify_array(int array); 1532 9 set_array 4 2660 27 GeomVertexFormat::set_array 0 1 142 371 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::set_array // Access: Published // Description: Replaces the definition of the indicated array. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 81 void GeomVertexFormat::set_array(int array, GeomVertexArrayFormat const *format); 1533 12 remove_array 4 2660 30 GeomVertexFormat::remove_array 0 1 143 365 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::remove_array // Access: Published // Description: Removes the nth array from the format. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 47 void GeomVertexFormat::remove_array(int array); 1534 9 add_array 4 2660 27 GeomVertexFormat::add_array 0 1 144 534 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::add_array // Access: Published // Description: Adds the indicated array definition to the list of // arrays included within this vertex format definition. // The return value is the index number of the new // array. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 75 int GeomVertexFormat::add_array(GeomVertexArrayFormat const *array_format); 1535 12 insert_array 4 2660 30 GeomVertexFormat::insert_array 0 1 145 570 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::insert_array // Access: Published // Description: Adds the indicated array definition to the list of // arrays at the indicated position. This works just // like add_array(), except that you can specify which // array index the new array should have. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 90 void GeomVertexFormat::insert_array(int array, GeomVertexArrayFormat const *array_format); 1536 12 clear_arrays 4 2660 30 GeomVertexFormat::clear_arrays 0 1 146 413 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::clear_arrays // Access: Published // Description: Removes all of the array definitions from the format // and starts over. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 42 void GeomVertexFormat::clear_arrays(void); 1537 15 get_num_columns 4 2660 33 GeomVertexFormat::get_num_columns 0 1 147 336 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_columns // Access: Published // Description: Returns the total number of different columns in // the specification, across all arrays. //////////////////////////////////////////////////////////////////// 50 int GeomVertexFormat::get_num_columns(void) const; 1538 14 get_array_with 4 2660 32 GeomVertexFormat::get_array_with 0 2 148 149 1372 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_array_with // Access: Published // Description: Returns the index number of the array with the // ith column. // // The return value can be passed to get_array_format() // to get the format of the array. It may also be // passed to GeomVertexData::get_array_data() or // get_data() or set_data() to manipulate the actual // array data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_array_with // Access: Published // Description: Returns the index number of the array with the // indicated column, or -1 if no arrays contained // that name. // // The return value can be passed to get_array_format() // to get the format of the array. It may also be // passed to GeomVertexData::get_array_data() or // get_data() or set_data() to manipulate the actual // array data. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 120 int GeomVertexFormat::get_array_with(int i) const; int GeomVertexFormat::get_array_with(InternalName const *name) const; 1539 10 get_column 4 2660 28 GeomVertexFormat::get_column 0 2 150 151 751 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_column // Access: Published // Description: Returns the ith column of the specification, // across all arrays. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_column // Access: Published // Description: Returns the specification with the indicated name, or // NULL if the name is not used. Use get_array_with() // to determine which array this column is associated // with. //////////////////////////////////////////////////////////////////// 152 GeomVertexColumn const *GeomVertexFormat::get_column(int i) const; GeomVertexColumn const *GeomVertexFormat::get_column(InternalName const *name) const; 1540 10 has_column 4 2660 28 GeomVertexFormat::has_column 0 1 152 310 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::has_column // Access: Published // Description: Returns true if the format has the named column, // false otherwise. //////////////////////////////////////////////////////////////////// 73 inline bool GeomVertexFormat::has_column(InternalName const *name) const; 1541 13 remove_column 4 2660 31 GeomVertexFormat::remove_column 0 1 153 663 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::remove_column // Access: Published // Description: Removes the named column from the format, from // whichever array it exists in. If there are other // columns remaining in the array, the array is left // with a gap where the column used to be; if this // was the only column in the array, the array is // removed. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 63 void GeomVertexFormat::remove_column(InternalName const *name); 1542 12 pack_columns 4 2660 30 GeomVertexFormat::pack_columns 0 1 154 267 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::pack_columns // Access: Published // Description: Removes wasted space between columns. //////////////////////////////////////////////////////////////////// 42 void GeomVertexFormat::pack_columns(void); 1543 14 get_num_points 4 2660 32 GeomVertexFormat::get_num_points 0 1 155 427 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_points // Access: Published // Description: Returns the number of columns within the format // that represent points in space. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 56 inline int GeomVertexFormat::get_num_points(void) const; 1544 9 get_point 4 2660 27 GeomVertexFormat::get_point 0 1 156 497 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_point // Access: Published // Description: Returns the name of the nth point column. This // represents a point in space, which should be // transformed by any spatial transform matrix. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 68 inline InternalName const *GeomVertexFormat::get_point(int n) const; 1545 15 get_num_vectors 4 2660 33 GeomVertexFormat::get_num_vectors 0 1 157 432 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_vectors // Access: Published // Description: Returns the number of columns within the format // that represent directional vectors. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 57 inline int GeomVertexFormat::get_num_vectors(void) const; 1546 10 get_vector 4 2660 28 GeomVertexFormat::get_vector 0 1 158 532 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_vector // Access: Published // Description: Returns the name of the nth vector column. This // represents a directional vector, which should be // transformed by any spatial transform matrix as a // vector. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 69 inline InternalName const *GeomVertexFormat::get_vector(int n) const; 1547 17 get_num_texcoords 4 2660 35 GeomVertexFormat::get_num_texcoords 0 1 159 434 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_texcoords // Access: Published // Description: Returns the number of columns within the format // that represent texture coordinates. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 59 inline int GeomVertexFormat::get_num_texcoords(void) const; 1548 12 get_texcoord 4 2660 30 GeomVertexFormat::get_texcoord 0 1 160 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_texcoord // Access: Published // Description: Returns the name of the nth texcoord column. This // represents a texture coordinate. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 71 inline InternalName const *GeomVertexFormat::get_texcoord(int n) const; 1549 14 get_num_morphs 4 2660 32 GeomVertexFormat::get_num_morphs 0 1 161 424 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_morphs // Access: Published // Description: Returns the number of columns within the format // that represent morph deltas. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 56 inline int GeomVertexFormat::get_num_morphs(void) const; 1550 16 get_morph_slider 4 2660 34 GeomVertexFormat::get_morph_slider 0 1 162 587 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_morph_slider // Access: Published // Description: Returns the slider name associated with the nth morph // column. This is the name of the slider that will // control the morph, and should be defined within the // SliderTable associated with the GeomVertexData. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 75 inline InternalName const *GeomVertexFormat::get_morph_slider(int n) const; 1551 14 get_morph_base 4 2660 32 GeomVertexFormat::get_morph_base 0 1 163 562 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_morph_base // Access: Published // Description: Returns the name of the base column that the nth // morph modifies. This column will also be defined // within the format, and can be retrieved via // get_array_with() and/or get_column(). // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 73 inline InternalName const *GeomVertexFormat::get_morph_base(int n) const; 1552 15 get_morph_delta 4 2660 33 GeomVertexFormat::get_morph_delta 0 1 164 685 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_morph_delta // Access: Published // Description: Returns the name of the column that defines the // nth morph. This contains the delta offsets that are // to be applied to the column defined by // get_morph_base(). This column will be defined // within the format, and can be retrieved via // get_array_with() and/or get_column(). // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 74 inline InternalName const *GeomVertexFormat::get_morph_delta(int n) const; 1553 6 output 4 2660 24 GeomVertexFormat::output 0 1 165 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 50 void GeomVertexFormat::output(ostream &out) const; 1554 5 write 4 2660 23 GeomVertexFormat::write 0 2 166 167 223 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 73 void GeomVertexFormat::write(ostream &out, int indent_level = (0)) const; 1555 15 write_with_data 4 2660 33 GeomVertexFormat::write_with_data 0 1 168 233 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::write_with_data // Access: Published // Description: //////////////////////////////////////////////////////////////////// 105 void GeomVertexFormat::write_with_data(ostream &out, int indent_level, GeomVertexData const *data) const; 1556 6 get_v3 4 2660 24 GeomVertexFormat::get_v3 0 1 169 529 // Some standard vertex formats. No particular requirement to use // one of these, but the DirectX renderers can use these formats // directly, whereas any other format will have to be converted // first. //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3 // Access: Published, Static // Description: Returns a standard vertex format with just a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 69 static inline GeomVertexFormat const *GeomVertexFormat::get_v3(void); 1557 8 get_v3n3 4 2660 26 GeomVertexFormat::get_v3n3 0 1 170 551 // Some standard vertex formats. No particular requirement to use // one of these, but the DirectX renderers can use these formats // directly, whereas any other format will have to be converted // first. //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3 // Access: Published, Static // Description: Returns a standard vertex format with a 3-component // normal and a 3-component vertex position. //////////////////////////////////////////////////////////////////// 71 static inline GeomVertexFormat const *GeomVertexFormat::get_v3n3(void); 1558 8 get_v3t2 4 2660 26 GeomVertexFormat::get_v3t2 0 1 171 378 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 71 static inline GeomVertexFormat const *GeomVertexFormat::get_v3t2(void); 1559 10 get_v3n3t2 4 2660 28 GeomVertexFormat::get_v3n3t2 0 1 172 403 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a 3-component normal, and a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 73 static inline GeomVertexFormat const *GeomVertexFormat::get_v3n3t2(void); 1560 8 get_v3cp 4 2660 26 GeomVertexFormat::get_v3cp 0 1 173 562 // These formats, with the DirectX-style packed color, are not // supported directly by OpenGL. If you use them, the // GLGraphicsStateGuardian will automatically convert to OpenGL // form (with a small runtime overhead). //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3cp // Access: Published, Static // Description: Returns a standard vertex format with a packed // color and a 3-component vertex position. //////////////////////////////////////////////////////////////////// 71 static inline GeomVertexFormat const *GeomVertexFormat::get_v3cp(void); 1561 10 get_v3cpt2 4 2660 28 GeomVertexFormat::get_v3cpt2 0 1 174 621 // These formats, with the DirectX-style packed color, are not // supported directly by OpenGL. If you use them, the // GLGraphicsStateGuardian will automatically convert to OpenGL // form (with a small runtime overhead). //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3cpt2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a packed color, and a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 73 static inline GeomVertexFormat const *GeomVertexFormat::get_v3cpt2(void); 1562 10 get_v3n3cp 4 2660 28 GeomVertexFormat::get_v3n3cp 0 1 175 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3cp // Access: Published, Static // Description: Returns a standard vertex format with a packed // color, a 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 73 static inline GeomVertexFormat const *GeomVertexFormat::get_v3n3cp(void); 1563 12 get_v3n3cpt2 4 2660 30 GeomVertexFormat::get_v3n3cpt2 0 1 176 438 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3cpt2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a packed color, a // 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 75 static inline GeomVertexFormat const *GeomVertexFormat::get_v3n3cpt2(void); 1564 8 get_v3c4 4 2660 26 GeomVertexFormat::get_v3c4 0 1 177 663 // These formats, with an OpenGL-style four-byte color, are not // supported directly by DirectX. If you use them, the // DXGraphicsStateGuardian will automatically convert to DirectX // form (with a larger runtime overhead, since DirectX8, and old // DirectX9 drivers, require everything to be interleaved together). //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3c4 // Access: Published, Static // Description: Returns a standard vertex format with a 4-component // color and a 3-component vertex position. //////////////////////////////////////////////////////////////////// 71 static inline GeomVertexFormat const *GeomVertexFormat::get_v3c4(void); 1565 10 get_v3c4t2 4 2660 28 GeomVertexFormat::get_v3c4t2 0 1 178 722 // These formats, with an OpenGL-style four-byte color, are not // supported directly by DirectX. If you use them, the // DXGraphicsStateGuardian will automatically convert to DirectX // form (with a larger runtime overhead, since DirectX8, and old // DirectX9 drivers, require everything to be interleaved together). //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3c4t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a 4-component color, and a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 73 static inline GeomVertexFormat const *GeomVertexFormat::get_v3c4t2(void); 1566 10 get_v3n3c4 4 2660 28 GeomVertexFormat::get_v3n3c4 0 1 179 385 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3c4 // Access: Published, Static // Description: Returns a standard vertex format with a 4-component // color, a 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 73 static inline GeomVertexFormat const *GeomVertexFormat::get_v3n3c4(void); 1567 12 get_v3n3c4t2 4 2660 30 GeomVertexFormat::get_v3n3c4t2 0 1 180 443 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3c4t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a 4-component color, a // 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 75 static inline GeomVertexFormat const *GeomVertexFormat::get_v3n3c4t2(void); 1568 14 get_class_type 4 2660 32 GeomVertexFormat::get_class_type 0 1 181 0 57 static TypeHandle GeomVertexFormat::get_class_type(void); 1569 24 upcast_to_LinkedListNode 12 2661 35 SimpleLru::upcast_to_LinkedListNode 0 1 197 39 upcast from SimpleLru to LinkedListNode 58 LinkedListNode *SimpleLru::upcast_to_LinkedListNode(void); 1570 21 downcast_to_SimpleLru 12 2662 37 LinkedListNode::downcast_to_SimpleLru 0 1 198 41 downcast from LinkedListNode to SimpleLru 55 SimpleLru *LinkedListNode::downcast_to_SimpleLru(void); 1571 17 upcast_to_Namable 12 2661 28 SimpleLru::upcast_to_Namable 0 1 199 32 upcast from SimpleLru to Namable 44 Namable *SimpleLru::upcast_to_Namable(void); 1572 21 downcast_to_SimpleLru 12 2643 30 Namable::downcast_to_SimpleLru 0 1 200 34 downcast from Namable to SimpleLru 48 SimpleLru *Namable::downcast_to_SimpleLru(void); 1573 9 SimpleLru 4 2661 20 SimpleLru::SimpleLru 0 1 186 222 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 78 SimpleLru::SimpleLru(basic_string< char > const &name, unsigned int max_size); 1574 10 ~SimpleLru 4 2661 21 SimpleLru::~SimpleLru 0 0 230 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 28 SimpleLru::~SimpleLru(void); 1575 14 get_total_size 4 2661 25 SimpleLru::get_total_size 0 1 187 793 // Filename: simpleLru.I // Created by: drose (11May07) // //////////////////////////////////////////////////////////////////// // // 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: SimpleLru::get_total_size // Access: Published // Description: Returns the total size of all objects currently // active on the LRU. //////////////////////////////////////////////////////////////////// 58 inline unsigned int SimpleLru::get_total_size(void) const; 1576 12 get_max_size 4 2661 23 SimpleLru::get_max_size 0 1 188 317 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::get_max_size // Access: Published // Description: Returns the max size of all objects that are allowed // to be active on the LRU. //////////////////////////////////////////////////////////////////// 56 inline unsigned int SimpleLru::get_max_size(void) const; 1577 12 set_max_size 4 2661 23 SimpleLru::set_max_size 0 1 189 383 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::set_max_size // Access: Published // Description: Changes the max size of all objects that are allowed // to be active on the LRU. // // If the size is (size_t)-1, there is no limit. //////////////////////////////////////////////////////////////////// 59 inline void SimpleLru::set_max_size(unsigned int max_size); 1578 17 count_active_size 4 2661 28 SimpleLru::count_active_size 0 1 190 337 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::count_active_size // Access: Published // Description: Returns the total size of the pages that were // enqueued since the last call to begin_epoch(). //////////////////////////////////////////////////////////////////// 54 unsigned int SimpleLru::count_active_size(void) const; 1579 14 consider_evict 4 2661 25 SimpleLru::consider_evict 0 1 191 275 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::consider_evict // Access: Published // Description: Evicts a sequence of objects if the queue is full. //////////////////////////////////////////////////////////////////// 44 inline void SimpleLru::consider_evict(void); 1580 8 evict_to 4 2661 19 SimpleLru::evict_to 0 1 192 371 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::evict_to // Access: Published // Description: Evicts a sequence of objects until the queue fits // within the indicated target size, regardless of its // normal max size. //////////////////////////////////////////////////////////////////// 58 inline void SimpleLru::evict_to(unsigned int target_size); 1581 11 begin_epoch 4 2661 22 SimpleLru::begin_epoch 0 1 193 441 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::begin_epoch // Access: Published // Description: Marks the end of the previous epoch and the beginning // of the next one. This will evict any objects that // are pending eviction, and also update any internal // bookkeeping. //////////////////////////////////////////////////////////////////// 41 inline void SimpleLru::begin_epoch(void); 1582 8 validate 4 2661 19 SimpleLru::validate 0 1 194 363 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::validate // Access: Published // Description: Checks that the LRU is internally self-consistent. // Returns true if successful, false if there is some // problem. //////////////////////////////////////////////////////////////////// 38 inline bool SimpleLru::validate(void); 1583 6 output 4 2661 17 SimpleLru::output 0 1 195 217 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 43 void SimpleLru::output(ostream &out) const; 1584 5 write 4 2661 16 SimpleLru::write 0 1 196 225 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 60 void SimpleLru::write(ostream &out, int indent_level) const; 1585 24 upcast_to_LinkedListNode 12 2663 39 SimpleLruPage::upcast_to_LinkedListNode 0 1 214 43 upcast from SimpleLruPage to LinkedListNode 62 LinkedListNode *SimpleLruPage::upcast_to_LinkedListNode(void); 1586 25 downcast_to_SimpleLruPage 12 2662 41 LinkedListNode::downcast_to_SimpleLruPage 0 1 215 45 downcast from LinkedListNode to SimpleLruPage 63 SimpleLruPage *LinkedListNode::downcast_to_SimpleLruPage(void); 1587 13 SimpleLruPage 4 2663 28 SimpleLruPage::SimpleLruPage 0 2 201 202 459 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::Copy Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 123 inline SimpleLruPage::SimpleLruPage(unsigned int lru_size); inline SimpleLruPage::SimpleLruPage(SimpleLruPage const ©); 1588 10 operator = 4 2663 25 SimpleLruPage::operator = 0 1 203 239 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::Copy Assignment Operator // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 65 inline void SimpleLruPage::operator =(SimpleLruPage const ©); 1589 14 ~SimpleLruPage 4 2663 29 SimpleLruPage::~SimpleLruPage 0 0 234 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 44 virtual SimpleLruPage::~SimpleLruPage(void); 1590 7 get_lru 4 2663 22 SimpleLruPage::get_lru 0 1 204 329 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::get_lru // Access: Published // Description: Returns the LRU that manages this page, or NULL if it // is not currently managed by any LRU. //////////////////////////////////////////////////////////////////// 53 inline SimpleLru *SimpleLruPage::get_lru(void) const; 1591 11 enqueue_lru 4 2663 26 SimpleLruPage::enqueue_lru 0 1 205 443 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::enqueue_lru // Access: Published // Description: Adds the page to the LRU for the first time, or marks // it recently-accessed if it has already been added. // // If lru is NULL, it means to remove this page from its // LRU. //////////////////////////////////////////////////////////////////// 48 void SimpleLruPage::enqueue_lru(SimpleLru *lru); 1592 11 dequeue_lru 4 2663 26 SimpleLruPage::dequeue_lru 0 1 206 262 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::dequeue_lru // Access: Published // Description: Removes the page from its SimpleLru. //////////////////////////////////////////////////////////////////// 45 inline void SimpleLruPage::dequeue_lru(void); 1593 13 mark_used_lru 4 2663 28 SimpleLruPage::mark_used_lru 0 2 207 208 827 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the SimpleLru queue it is already on. // // This method is const because it's not technically // modifying the contents of the page itself. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the specified SimpleLru queue. //////////////////////////////////////////////////////////////////// 111 inline void SimpleLruPage::mark_used_lru(void) const; inline void SimpleLruPage::mark_used_lru(SimpleLru *lru); 1594 12 get_lru_size 4 2663 27 SimpleLruPage::get_lru_size 0 1 209 318 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::get_lru_size // Access: Published // Description: Returns the size of this page as reported to the LRU, // presumably in bytes. //////////////////////////////////////////////////////////////////// 60 inline unsigned int SimpleLruPage::get_lru_size(void) const; 1595 12 set_lru_size 4 2663 27 SimpleLruPage::set_lru_size 0 1 210 328 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::set_lru_size // Access: Published // Description: Specifies the size of this page, presumably in bytes, // although any unit is possible. //////////////////////////////////////////////////////////////////// 63 inline void SimpleLruPage::set_lru_size(unsigned int lru_size); 1596 9 evict_lru 4 2663 24 SimpleLruPage::evict_lru 0 1 211 812 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::evict_lru // Access: Published, Virtual // Description: Evicts the page from the LRU. Called internally when // the LRU determines that it is full. May also be // called externally when necessary to explicitly evict // the page. // // It is legal for this method to either evict the page // as requested, do nothing (in which case the eviction // will be requested again at the next epoch), or // requeue itself on the tail of the queue (in which // case the eviction will be requested again much // later). //////////////////////////////////////////////////////////////////// 44 virtual void SimpleLruPage::evict_lru(void); 1597 6 output 4 2663 21 SimpleLruPage::output 0 1 212 230 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 55 virtual void SimpleLruPage::output(ostream &out) const; 1598 5 write 4 2663 20 SimpleLruPage::write 0 1 213 229 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 72 virtual void SimpleLruPage::write(ostream &out, int indent_level) const; 1599 24 upcast_to_LinkedListNode 12 2664 41 SimpleAllocator::upcast_to_LinkedListNode 0 1 226 45 upcast from SimpleAllocator to LinkedListNode 64 LinkedListNode *SimpleAllocator::upcast_to_LinkedListNode(void); 1600 27 downcast_to_SimpleAllocator 12 2662 43 LinkedListNode::downcast_to_SimpleAllocator 0 1 227 47 downcast from LinkedListNode to SimpleAllocator 67 SimpleAllocator *LinkedListNode::downcast_to_SimpleAllocator(void); 1601 15 SimpleAllocator 4 2664 32 SimpleAllocator::SimpleAllocator 0 1 216 719 // Filename: simpleAllocator.I // Created by: drose (12May07) // //////////////////////////////////////////////////////////////////// // // 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: SimpleAllocator::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 76 inline SimpleAllocator::SimpleAllocator(unsigned int max_size, Mutex &lock); 1602 16 ~SimpleAllocator 4 2664 33 SimpleAllocator::~SimpleAllocator 0 0 236 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 48 virtual SimpleAllocator::~SimpleAllocator(void); 1603 5 alloc 4 2664 22 SimpleAllocator::alloc 0 1 217 451 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::alloc // Access: Published // Description: Allocates a new block. Returns NULL if a block of the // requested size cannot be allocated. // // To free the allocated block, call block->free(), or // simply delete the block pointer. //////////////////////////////////////////////////////////////////// 71 inline SimpleAllocatorBlock *SimpleAllocator::alloc(unsigned int size); 1604 8 is_empty 4 2664 25 SimpleAllocator::is_empty 0 1 218 336 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::is_empty // Access: Published // Description: Returns true if there are no blocks allocated on this // page, or false if there is at least one. //////////////////////////////////////////////////////////////////// 50 inline bool SimpleAllocator::is_empty(void) const; 1605 14 get_total_size 4 2664 31 SimpleAllocator::get_total_size 0 1 219 275 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_total_size // Access: Published // Description: Returns the total size of allocated objects. //////////////////////////////////////////////////////////////////// 64 inline unsigned int SimpleAllocator::get_total_size(void) const; 1606 12 get_max_size 4 2664 29 SimpleAllocator::get_max_size 0 1 220 279 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_max_size // Access: Published // Description: Returns the available space for allocated objects. //////////////////////////////////////////////////////////////////// 62 inline unsigned int SimpleAllocator::get_max_size(void) const; 1607 12 set_max_size 4 2664 29 SimpleAllocator::set_max_size 0 1 221 417 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::set_max_size // Access: Published // Description: Changes the available space for allocated objects. // This will not affect any already-allocated objects, // but will have an effect on future calls to alloc(). //////////////////////////////////////////////////////////////////// 65 inline void SimpleAllocator::set_max_size(unsigned int max_size); 1608 14 get_contiguous 4 2664 31 SimpleAllocator::get_contiguous 0 1 222 595 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_contiguous // Access: Published // Description: Returns an upper-bound estimate of the size of the // largest contiguous block that may be allocated. It // is guaranteed that an attempt to allocate a block // larger than this will fail, though it is not // guaranteed that an attempt to allocate a block this // size or smaller will succeed. //////////////////////////////////////////////////////////////////// 64 inline unsigned int SimpleAllocator::get_contiguous(void) const; 1609 15 get_first_block 4 2664 32 SimpleAllocator::get_first_block 0 1 223 338 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_first_block // Access: Published // Description: Returns a pointer to the first allocated block, or // NULL if there are no allocated blocks. //////////////////////////////////////////////////////////////////// 74 inline SimpleAllocatorBlock *SimpleAllocator::get_first_block(void) const; 1610 6 output 4 2664 23 SimpleAllocator::output 0 1 224 223 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 49 void SimpleAllocator::output(ostream &out) const; 1611 5 write 4 2664 22 SimpleAllocator::write 0 1 225 222 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 48 void SimpleAllocator::write(ostream &out) const; 1612 21 ~SimpleAllocatorBlock 4 2665 43 SimpleAllocatorBlock::~SimpleAllocatorBlock 0 0 304 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::Destructor // Access: Published // Description: The block automatically frees itself when it // destructs. //////////////////////////////////////////////////////////////////// 57 inline SimpleAllocatorBlock::~SimpleAllocatorBlock(void); 1613 4 free 4 2665 26 SimpleAllocatorBlock::free 0 1 228 255 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::free // Access: Published // Description: Releases the allocated space. //////////////////////////////////////////////////////////////////// 45 inline void SimpleAllocatorBlock::free(void); 1614 13 get_allocator 4 2665 35 SimpleAllocatorBlock::get_allocator 0 1 229 351 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_allocator // Access: Published // Description: Returns the SimpleAllocator object that owns this // block. Returns NULL if the block has been freed. //////////////////////////////////////////////////////////////////// 72 inline SimpleAllocator *SimpleAllocatorBlock::get_allocator(void) const; 1615 9 get_start 4 2665 31 SimpleAllocatorBlock::get_start 0 1 230 347 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_start // Access: Published // Description: Returns the starting point of this block. It is an // error to call this if the block has been freed. //////////////////////////////////////////////////////////////////// 64 inline unsigned int SimpleAllocatorBlock::get_start(void) const; 1616 8 get_size 4 2665 30 SimpleAllocatorBlock::get_size 0 1 231 336 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_size // Access: Published // Description: Returns the size of this block. It is an // error to call this if the block has been freed. //////////////////////////////////////////////////////////////////// 63 inline unsigned int SimpleAllocatorBlock::get_size(void) const; 1617 7 is_free 4 2665 29 SimpleAllocatorBlock::is_free 0 1 232 315 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::is_free // Access: Published // Description: Returns true if the block has been freed, false if it // is still valid. //////////////////////////////////////////////////////////////////// 54 inline bool SimpleAllocatorBlock::is_free(void) const; 1618 12 get_max_size 4 2665 34 SimpleAllocatorBlock::get_max_size 0 1 233 344 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_max_size // Access: Published // Description: Returns the maximum size this block can be // reallocated to, as limited by the following block. //////////////////////////////////////////////////////////////////// 67 inline unsigned int SimpleAllocatorBlock::get_max_size(void) const; 1619 7 realloc 4 2665 29 SimpleAllocatorBlock::realloc 0 1 234 392 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::realloc // Access: Published // Description: Changes the size of this block to the specified size. // Returns true if the change is accepted, false if // there was not enough room. //////////////////////////////////////////////////////////////////// 61 inline bool SimpleAllocatorBlock::realloc(unsigned int size); 1620 14 get_next_block 4 2665 36 SimpleAllocatorBlock::get_next_block 0 1 235 359 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_next_block // Access: Published // Description: Returns a pointer to the next allocated block in the // chain, or NULL if there are no more allocated blocks. //////////////////////////////////////////////////////////////////// 78 inline SimpleAllocatorBlock *SimpleAllocatorBlock::get_next_block(void) const; 1621 6 output 4 2665 28 SimpleAllocatorBlock::output 0 1 236 228 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 54 void SimpleAllocatorBlock::output(ostream &out) const; 1622 8 is_valid 4 2666 28 VertexDataSaveFile::is_valid 0 1 237 858 // Filename: vertexDataSaveFile.I // Created by: drose (12May07) // //////////////////////////////////////////////////////////////////// // // 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: VertexDataSaveFile::is_valid // Access: Public // Description: Returns true if the save file was successfully // created and is ready for use, false if there was an // error. //////////////////////////////////////////////////////////////////// 53 inline bool VertexDataSaveFile::is_valid(void) const; 1623 19 get_total_file_size 4 2666 39 VertexDataSaveFile::get_total_file_size 0 1 238 334 //////////////////////////////////////////////////////////////////// // Function: VertexDataSaveFile::get_total_file_size // Access: Public // Description: Returns the amount of space consumed by the save // file, including unused portions. //////////////////////////////////////////////////////////////////// 72 inline unsigned int VertexDataSaveFile::get_total_file_size(void) const; 1624 18 get_used_file_size 4 2666 38 VertexDataSaveFile::get_used_file_size 0 1 239 326 //////////////////////////////////////////////////////////////////// // Function: VertexDataSaveFile::get_used_file_size // Access: Public // Description: Returns the amount of space within the save file that // is currently in use. //////////////////////////////////////////////////////////////////// 71 inline unsigned int VertexDataSaveFile::get_used_file_size(void) const; 1625 25 upcast_to_SimpleAllocator 12 2667 41 VertexDataPage::upcast_to_SimpleAllocator 0 1 258 45 upcast from VertexDataPage to SimpleAllocator 65 SimpleAllocator *VertexDataPage::upcast_to_SimpleAllocator(void); 1626 26 downcast_to_VertexDataPage 12 2664 43 SimpleAllocator::downcast_to_VertexDataPage 0 1 259 47 downcast from SimpleAllocator to VertexDataPage 66 VertexDataPage *SimpleAllocator::downcast_to_VertexDataPage(void); 1627 23 upcast_to_SimpleLruPage 12 2667 39 VertexDataPage::upcast_to_SimpleLruPage 0 1 260 43 upcast from VertexDataPage to SimpleLruPage 61 SimpleLruPage *VertexDataPage::upcast_to_SimpleLruPage(void); 1628 26 downcast_to_VertexDataPage 12 2663 41 SimpleLruPage::downcast_to_VertexDataPage 0 1 261 45 downcast from SimpleLruPage to VertexDataPage 64 VertexDataPage *SimpleLruPage::downcast_to_VertexDataPage(void); 1629 13 get_ram_class 4 2667 29 VertexDataPage::get_ram_class 0 1 240 874 // Filename: vertexDataPage.I // Created by: drose (04Jun07) // //////////////////////////////////////////////////////////////////// // // 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: VertexDataPage::get_ram_class // Access: Published // Description: Returns the current ram class of the array. If this // is other than RC_resident, the array data is not // resident in memory. //////////////////////////////////////////////////////////////////// 74 inline VertexDataPage::RamClass VertexDataPage::get_ram_class(void) const; 1630 21 get_pending_ram_class 4 2667 37 VertexDataPage::get_pending_ram_class 0 1 241 484 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_pending_ram_class // Access: Published // Description: Returns the pending ram class of the array. If this // is different from get_ram_class(), this page has been // queued to be processed by the thread. Eventually the // page will be set to this ram class. //////////////////////////////////////////////////////////////////// 82 inline VertexDataPage::RamClass VertexDataPage::get_pending_ram_class(void) const; 1631 16 request_resident 4 2667 32 VertexDataPage::request_resident 0 1 242 379 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::request_resident // Access: Published // Description: Ensures that the page will become resident soon. // Future calls to get_page_data() will eventually // return non-NULL. //////////////////////////////////////////////////////////////////// 51 inline void VertexDataPage::request_resident(void); 1632 5 alloc 4 2667 21 VertexDataPage::alloc 0 1 243 450 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::alloc // Access: Published // Description: Allocates a new block. Returns NULL if a block of the // requested size cannot be allocated. // // To free the allocated block, call block->free(), or // simply delete the block pointer. //////////////////////////////////////////////////////////////////// 65 inline VertexDataBlock *VertexDataPage::alloc(unsigned int size); 1633 15 get_first_block 4 2667 31 VertexDataPage::get_first_block 0 1 244 337 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_first_block // Access: Published // Description: Returns a pointer to the first allocated block, or // NULL if there are no allocated blocks. //////////////////////////////////////////////////////////////////// 68 inline VertexDataBlock *VertexDataPage::get_first_block(void) const; 1634 8 get_book 4 2667 24 VertexDataPage::get_book 0 1 245 274 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_book // Access: Published // Description: Returns a pointer to the book that owns this page. //////////////////////////////////////////////////////////////////// 60 inline VertexDataBook *VertexDataPage::get_book(void) const; 1635 14 get_global_lru 4 2667 30 VertexDataPage::get_global_lru 0 1 246 377 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_global_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the VertexDataPage's with the indicated // RamClass. //////////////////////////////////////////////////////////////////// 89 static inline SimpleLru *VertexDataPage::get_global_lru(VertexDataPage::RamClass rclass); 1636 15 get_pending_lru 4 2667 31 VertexDataPage::get_pending_lru 0 1 247 392 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_pending_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the VertexDataPage's that are pending // processing by the thread. //////////////////////////////////////////////////////////////////// 63 static inline SimpleLru *VertexDataPage::get_pending_lru(void); 1637 13 get_save_file 4 2667 29 VertexDataPage::get_save_file 0 1 248 378 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_save_file // Access: Published, Static // Description: Returns the global VertexDataSaveFile that will be // used to save vertex data buffers to disk when // necessary. //////////////////////////////////////////////////////////////////// 70 static inline VertexDataSaveFile *VertexDataPage::get_save_file(void); 1638 12 save_to_disk 4 2667 28 VertexDataPage::save_to_disk 0 1 249 467 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::save_to_disk // Access: Published // Description: Writes the page to disk, but does not evict it from // memory or affect its LRU status. If it gets evicted // later without having been modified, it will not need // to write itself to disk again. //////////////////////////////////////////////////////////////////// 47 inline bool VertexDataPage::save_to_disk(void); 1639 15 get_num_threads 4 2667 31 VertexDataPage::get_num_threads 0 1 250 589 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_num_threads // Access: Published, Static // Description: Returns the number of threads that have been spawned // to service vertex paging requests, or 0 if no threads // have been spawned (which may mean either that all // paging requests will be handled by the main thread, // or simply that no paging requests have yet been // issued). //////////////////////////////////////////////////////////////////// 56 static inline int VertexDataPage::get_num_threads(void); 1640 21 get_num_pending_reads 4 2667 37 VertexDataPage::get_num_pending_reads 0 1 251 342 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_num_pending_reads // Access: Published, Static // Description: Returns the number of read requests that are waiting // to be serviced by a thread. //////////////////////////////////////////////////////////////////// 62 static inline int VertexDataPage::get_num_pending_reads(void); 1641 22 get_num_pending_writes 4 2667 38 VertexDataPage::get_num_pending_writes 0 1 252 344 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_num_pending_writes // Access: Published, Static // Description: Returns the number of write requests that are waiting // to be serviced by a thread. //////////////////////////////////////////////////////////////////// 63 static inline int VertexDataPage::get_num_pending_writes(void); 1642 12 stop_threads 4 2667 28 VertexDataPage::stop_threads 0 1 253 397 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::stop_threads // Access: Published, Static // Description: Call this to stop the paging threads, if they were // started. This may block until all of the pending // tasks have been completed. //////////////////////////////////////////////////////////////////// 47 static void VertexDataPage::stop_threads(void); 1643 13 flush_threads 4 2667 29 VertexDataPage::flush_threads 0 1 254 323 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::flush_threads // Access: Published, Static // Description: Waits for all of the pending thread tasks to finish // before returning. //////////////////////////////////////////////////////////////////// 48 static void VertexDataPage::flush_threads(void); 1644 6 output 4 2667 22 VertexDataPage::output 0 1 255 231 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 56 virtual void VertexDataPage::output(ostream &out) const; 1645 5 write 4 2667 21 VertexDataPage::write 0 1 256 230 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 73 virtual void VertexDataPage::write(ostream &out, int indent_level) const; 1646 14 get_class_type 4 2667 30 VertexDataPage::get_class_type 0 1 257 0 55 static TypeHandle VertexDataPage::get_class_type(void); 1647 14 VertexDataBook 4 2669 30 VertexDataBook::VertexDataBook 0 1 262 227 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 56 VertexDataBook::VertexDataBook(unsigned int block_size); 1648 15 ~VertexDataBook 4 2669 31 VertexDataBook::~VertexDataBook 0 0 226 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 38 VertexDataBook::~VertexDataBook(void); 1649 5 alloc 4 2669 21 VertexDataBook::alloc 0 1 263 795 // Filename: vertexDataBook.I // Created by: drose (16May07) // //////////////////////////////////////////////////////////////////// // // 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: VertexDataBook::alloc // Access: Published // Description: Allocates and returns a new VertexDataBuffer of the // requested size. //////////////////////////////////////////////////////////////////// 65 inline VertexDataBlock *VertexDataBook::alloc(unsigned int size); 1650 13 get_num_pages 4 2669 29 VertexDataBook::get_num_pages 0 1 264 278 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::get_num_pages // Access: Published // Description: Returns the number of pages created for the book. //////////////////////////////////////////////////////////////////// 53 inline int VertexDataBook::get_num_pages(void) const; 1651 21 count_total_page_size 4 2669 37 VertexDataBook::count_total_page_size 0 2 265 266 709 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_total_page_size // Access: Published // Description: Returns the total size of all bytes owned by all // pages owned by this book. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_total_page_size // Access: Published // Description: Returns the total size of all bytes owned by all // pages owned by this book that have the indicated ram // class. //////////////////////////////////////////////////////////////////// 157 unsigned int VertexDataBook::count_total_page_size(void) const; unsigned int VertexDataBook::count_total_page_size(VertexDataPage::RamClass ram_class) const; 1652 20 count_allocated_size 4 2669 36 VertexDataBook::count_allocated_size 0 2 267 268 715 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_allocated_size // Access: Published // Description: Returns the total size of all bytes allocated within // pages owned by this book. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_allocated_size // Access: Published // Description: Returns the total size of all bytes allocated within // pages owned by this book that have the indicated ram // class. //////////////////////////////////////////////////////////////////// 155 unsigned int VertexDataBook::count_allocated_size(void) const; unsigned int VertexDataBook::count_allocated_size(VertexDataPage::RamClass ram_class) const; 1653 12 save_to_disk 4 2669 28 VertexDataBook::save_to_disk 0 1 269 486 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::save_to_disk // Access: Published // Description: Writes all pages to disk immediately, just in case // they get evicted later. It makes sense to make this // call just before taking down a loading screen, to // minimize chugs from saving pages inadvertently later. //////////////////////////////////////////////////////////////////// 40 void VertexDataBook::save_to_disk(void); 1654 30 upcast_to_SimpleAllocatorBlock 12 2670 47 VertexDataBlock::upcast_to_SimpleAllocatorBlock 0 1 272 51 upcast from VertexDataBlock to SimpleAllocatorBlock 76 SimpleAllocatorBlock *VertexDataBlock::upcast_to_SimpleAllocatorBlock(void); 1655 27 downcast_to_VertexDataBlock 12 2665 49 SimpleAllocatorBlock::downcast_to_VertexDataBlock 0 1 273 53 downcast from SimpleAllocatorBlock to VertexDataBlock 73 VertexDataBlock *SimpleAllocatorBlock::downcast_to_VertexDataBlock(void); 1656 24 upcast_to_ReferenceCount 12 2670 41 VertexDataBlock::upcast_to_ReferenceCount 0 1 274 45 upcast from VertexDataBlock to ReferenceCount 64 ReferenceCount *VertexDataBlock::upcast_to_ReferenceCount(void); 1657 27 downcast_to_VertexDataBlock 12 2671 43 ReferenceCount::downcast_to_VertexDataBlock 0 1 275 47 downcast from ReferenceCount to VertexDataBlock 67 VertexDataBlock *ReferenceCount::downcast_to_VertexDataBlock(void); 1658 8 get_page 4 2670 25 VertexDataBlock::get_page 0 1 270 296 //////////////////////////////////////////////////////////////////// // Function: VertexDataBlock::get_page // Access: Published // Description: Returns the page from which this buffer was // allocated. //////////////////////////////////////////////////////////////////// 61 inline VertexDataPage *VertexDataBlock::get_page(void) const; 1659 14 get_next_block 4 2670 31 VertexDataBlock::get_next_block 0 1 271 354 //////////////////////////////////////////////////////////////////// // Function: VertexDataBlock::get_next_block // Access: Published // Description: Returns a pointer to the next allocated block in the // chain, or NULL if there are no more allocated blocks. //////////////////////////////////////////////////////////////////// 68 inline VertexDataBlock *VertexDataBlock::get_next_block(void) const; 1660 16 ~VertexDataBlock 4 2670 33 VertexDataBlock::~VertexDataBlock 0 0 0 40 VertexDataBlock::~VertexDataBlock(void); 1661 27 upcast_to_CopyOnWriteObject 12 2674 48 GeomVertexArrayData::upcast_to_CopyOnWriteObject 0 1 309 52 upcast from GeomVertexArrayData to CopyOnWriteObject 74 CopyOnWriteObject *GeomVertexArrayData::upcast_to_CopyOnWriteObject(void); 1662 31 downcast_to_GeomVertexArrayData 12 2675 50 CopyOnWriteObject::downcast_to_GeomVertexArrayData 0 1 310 54 downcast from CopyOnWriteObject to GeomVertexArrayData 78 GeomVertexArrayData *CopyOnWriteObject::downcast_to_GeomVertexArrayData(void); 1663 23 upcast_to_SimpleLruPage 12 2674 44 GeomVertexArrayData::upcast_to_SimpleLruPage 0 1 311 48 upcast from GeomVertexArrayData to SimpleLruPage 66 SimpleLruPage *GeomVertexArrayData::upcast_to_SimpleLruPage(void); 1664 31 downcast_to_GeomVertexArrayData 12 2663 46 SimpleLruPage::downcast_to_GeomVertexArrayData 0 1 312 50 downcast from SimpleLruPage to GeomVertexArrayData 74 GeomVertexArrayData *SimpleLruPage::downcast_to_GeomVertexArrayData(void); 1665 19 upcast_to_GeomEnums 12 2674 40 GeomVertexArrayData::upcast_to_GeomEnums 0 1 313 44 upcast from GeomVertexArrayData to GeomEnums 58 GeomEnums *GeomVertexArrayData::upcast_to_GeomEnums(void); 1666 31 downcast_to_GeomVertexArrayData 12 2647 42 GeomEnums::downcast_to_GeomVertexArrayData 0 1 314 46 downcast from GeomEnums to GeomVertexArrayData 70 GeomVertexArrayData *GeomEnums::downcast_to_GeomVertexArrayData(void); 1667 19 GeomVertexArrayData 4 2674 40 GeomVertexArrayData::GeomVertexArrayData 0 2 276 277 808 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Default Constructor // Access: Private // Description: Constructs an invalid object. This is only used when // reading from the bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 192 GeomVertexArrayData::GeomVertexArrayData(GeomVertexArrayFormat const *array_format, GeomEnums::UsageHint usage_hint); GeomVertexArrayData::GeomVertexArrayData(GeomVertexArrayData const ©); 1668 10 operator = 4 2674 31 GeomVertexArrayData::operator = 0 1 278 490 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a GeomVertexArrayData // that is actively being used for rendering. //////////////////////////////////////////////////////////////////// 70 void GeomVertexArrayData::operator =(GeomVertexArrayData const ©); 1669 20 ~GeomVertexArrayData 4 2674 41 GeomVertexArrayData::~GeomVertexArrayData 0 0 240 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 56 virtual GeomVertexArrayData::~GeomVertexArrayData(void); 1670 12 operator new 4 2674 33 GeomVertexArrayData::operator new 0 1 279 0 144 inline void *GeomVertexArrayData::operator new(unsigned int size); inline void *GeomVertexArrayData::operator new(unsigned int size, void *ptr); 1671 15 operator delete 4 2674 36 GeomVertexArrayData::operator delete 0 0 0 126 inline void GeomVertexArrayData::operator delete(void *ptr); inline void GeomVertexArrayData::operator delete(void *, void *); 1672 12 validate_ptr 4 2674 33 GeomVertexArrayData::validate_ptr 0 0 0 70 static inline bool GeomVertexArrayData::validate_ptr(void const *ptr); 1673 10 compare_to 4 2674 31 GeomVertexArrayData::compare_to 0 1 280 330 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::compare_to // Access: Published // Description: Returns 0 if the two arrays are equivalent, even if // they are not the same pointer. //////////////////////////////////////////////////////////////////// 76 int GeomVertexArrayData::compare_to(GeomVertexArrayData const &other) const; 1674 16 get_array_format 4 2674 37 GeomVertexArrayData::get_array_format 0 1 281 784 // Filename: geomVertexArrayData.I // Created by: drose (17Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexArrayData::get_array_format // Access: Published // Description: Returns the format object that describes this array. //////////////////////////////////////////////////////////////////// 86 inline GeomVertexArrayFormat const *GeomVertexArrayData::get_array_format(void) const; 1675 14 get_usage_hint 4 2674 35 GeomVertexArrayData::get_usage_hint 0 1 282 409 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_usage_hint // Access: Published // Description: Returns the usage hint that describes to the // rendering backend how often the vertex data will be // modified and/or rendered. See geomEnums.h. //////////////////////////////////////////////////////////////////// 76 inline GeomEnums::UsageHint GeomVertexArrayData::get_usage_hint(void) const; 1676 14 set_usage_hint 4 2674 35 GeomVertexArrayData::set_usage_hint 0 1 283 514 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for this array. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 74 void GeomVertexArrayData::set_usage_hint(GeomEnums::UsageHint usage_hint); 1677 10 has_column 4 2674 31 GeomVertexArrayData::has_column 0 1 284 404 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::has_column // Access: Published // Description: Returns true if the array has the named column, // false otherwise. This is really just a shortcut for // asking the same thing from the format. //////////////////////////////////////////////////////////////////// 76 inline bool GeomVertexArrayData::has_column(InternalName const *name) const; 1678 12 get_num_rows 4 2674 33 GeomVertexArrayData::get_num_rows 0 1 285 454 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_num_rows // Access: Published // Description: Returns the number of rows stored in the array, // based on the number of bytes and the stride. This // should be the same for all arrays within a given // GeomVertexData object. //////////////////////////////////////////////////////////////////// 57 inline int GeomVertexArrayData::get_num_rows(void) const; 1679 12 set_num_rows 4 2674 33 GeomVertexArrayData::set_num_rows 0 1 286 1075 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::set_num_rows // Access: Published // Description: Sets the length of the array to n rows. // // Normally, you would not call this directly, since all // of the arrays in a particular GeomVertexData must // have the same number of rows; instead, call // GeomVertexData::set_num_rows(). // // The return value is true if the number of rows // was changed, false if the object already contained n // rows (or if there was some error). // // The new vertex data is initialized to 0, including // the "color" column (but see // GeomVertexData::set_num_rows()). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 53 inline bool GeomVertexArrayData::set_num_rows(int n); 1680 20 unclean_set_num_rows 4 2674 41 GeomVertexArrayData::unclean_set_num_rows 0 1 287 757 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::unclean_set_num_rows // Access: Published // Description: This method behaves like set_num_rows(), except the // new data is not initialized. Furthermore, after this // call, *any* of the data in the GeomVertexArrayData // may be uninitialized, including the earlier rows. // // Normally, you would not call this directly, since all // of the arrays in a particular GeomVertexData must // have the same number of rows; instead, call // GeomVertexData::unclean_set_num_rows(). //////////////////////////////////////////////////////////////////// 61 inline bool GeomVertexArrayData::unclean_set_num_rows(int n); 1681 10 clear_rows 4 2674 31 GeomVertexArrayData::clear_rows 0 1 288 329 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::clear_rows // Access: Published // Description: Removes all of the rows in the array. // Functionally equivalent to set_num_rows(0). //////////////////////////////////////////////////////////////////// 50 inline void GeomVertexArrayData::clear_rows(void); 1682 19 get_data_size_bytes 4 2674 40 GeomVertexArrayData::get_data_size_bytes 0 1 289 288 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_data_size_bytes // Access: Published // Description: Returns the number of bytes stored in the array. //////////////////////////////////////////////////////////////////// 64 inline int GeomVertexArrayData::get_data_size_bytes(void) const; 1683 12 get_modified 4 2674 33 GeomVertexArrayData::get_modified 0 1 290 377 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the array vertex data is // modified. //////////////////////////////////////////////////////////////////// 63 inline UpdateSeq GeomVertexArrayData::get_modified(void) const; 1684 6 output 4 2674 27 GeomVertexArrayData::output 0 1 291 227 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 61 virtual void GeomVertexArrayData::output(ostream &out) const; 1685 5 write 4 2674 26 GeomVertexArrayData::write 0 2 292 293 226 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 84 virtual void GeomVertexArrayData::write(ostream &out, int indent_level = (0)) const; 1686 16 request_resident 4 2674 37 GeomVertexArrayData::request_resident 0 1 294 566 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::request_resident // Access: Published // Description: Returns true if the vertex data is currently resident // in memory. If this returns true, the next call to // get_handle()->get_read_pointer() will probably not // block. If this returns false, the vertex data will // be brought back into memory shortly; try again later. //////////////////////////////////////////////////////////////////// 62 inline bool GeomVertexArrayData::request_resident(void) const; 1687 10 get_handle 4 2674 31 GeomVertexArrayData::get_handle 0 2 295 296 529 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_handle // Access: Published // Description: Returns an object that can be used to read the actual // data bytes stored in the array. Calling this method // locks the data, and will block any other threads // attempting to read or write the data, until the // returned object destructs. //////////////////////////////////////////////////////////////////// 140 inline ConstPointerTo< GeomVertexArrayDataHandle > GeomVertexArrayData::get_handle(Thread *current_thread = ((get_current_thread()))) const; 1688 13 modify_handle 4 2674 34 GeomVertexArrayData::modify_handle 0 2 297 298 541 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::modify_handle // Access: Published // Description: Returns an object that can be used to read or write // the actual data bytes stored in the array. Calling // this method locks the data, and will block any other // threads attempting to read or write the data, until // the returned object destructs. //////////////////////////////////////////////////////////////////// 132 inline PointerTo< GeomVertexArrayDataHandle > GeomVertexArrayData::modify_handle(Thread *current_thread = ((get_current_thread()))); 1689 7 prepare 4 2674 28 GeomVertexArrayData::prepare 0 1 299 648 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::prepare // Access: Public // Description: Indicates that the data should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // data is already loaded into the GSG if it is expected // to be rendered soon. // // Use this function instead of prepare_now() to preload // datas from a user interface standpoint. //////////////////////////////////////////////////////////////////// 77 void GeomVertexArrayData::prepare(PreparedGraphicsObjects *prepared_objects); 1690 11 is_prepared 4 2674 32 GeomVertexArrayData::is_prepared 0 1 300 383 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::is_prepared // Access: Published // Description: Returns true if the data has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 87 bool GeomVertexArrayData::is_prepared(PreparedGraphicsObjects *prepared_objects) const; 1691 11 prepare_now 4 2674 32 GeomVertexArrayData::prepare_now 0 1 301 894 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::prepare_now // Access: Public // Description: Creates a context for the data on the particular // GSG, if it does not already exist. Returns the new // (or old) VertexBufferContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // datas. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a data does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 129 VertexBufferContext *GeomVertexArrayData::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg); 1692 7 release 4 2674 28 GeomVertexArrayData::release 0 1 302 400 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::release // Access: Public // Description: Frees the data context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 77 bool GeomVertexArrayData::release(PreparedGraphicsObjects *prepared_objects); 1693 11 release_all 4 2674 32 GeomVertexArrayData::release_all 0 1 303 398 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::release_all // Access: Public // Description: Frees the context allocated on all objects for which // the data has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 43 int GeomVertexArrayData::release_all(void); 1694 19 get_independent_lru 4 2674 40 GeomVertexArrayData::get_independent_lru 0 1 304 399 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_independent_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the GeomVertexArrayData's that have not (yet) // been paged out. //////////////////////////////////////////////////////////////////// 72 static inline SimpleLru *GeomVertexArrayData::get_independent_lru(void); 1695 13 get_small_lru 4 2674 34 GeomVertexArrayData::get_small_lru 0 1 305 400 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_small_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the GeomVertexArrayData's that are deemed too // small to be paged out. //////////////////////////////////////////////////////////////////// 66 static inline SimpleLru *GeomVertexArrayData::get_small_lru(void); 1696 9 lru_epoch 4 2674 30 GeomVertexArrayData::lru_epoch 0 1 306 382 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::lru_epoch // Access: Published, Static // Description: Marks that an epoch has passed in each LRU. Asks the // LRU's to consider whether they should perform // evictions. //////////////////////////////////////////////////////////////////// 49 static void GeomVertexArrayData::lru_epoch(void); 1697 8 get_book 4 2674 29 GeomVertexArrayData::get_book 0 1 307 338 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_book // Access: Published, Static // Description: Returns the global VertexDataBook that will be // used to allocate vertex data buffers. //////////////////////////////////////////////////////////////////// 66 static inline VertexDataBook &GeomVertexArrayData::get_book(void); 1698 14 get_class_type 4 2674 35 GeomVertexArrayData::get_class_type 0 1 308 0 60 static TypeHandle GeomVertexArrayData::get_class_type(void); 1699 24 upcast_to_ReferenceCount 12 2676 51 GeomVertexArrayDataHandle::upcast_to_ReferenceCount 0 1 334 55 upcast from GeomVertexArrayDataHandle to ReferenceCount 74 ReferenceCount *GeomVertexArrayDataHandle::upcast_to_ReferenceCount(void); 1700 37 downcast_to_GeomVertexArrayDataHandle 12 2671 53 ReferenceCount::downcast_to_GeomVertexArrayDataHandle 0 1 335 57 downcast from ReferenceCount to GeomVertexArrayDataHandle 87 GeomVertexArrayDataHandle *ReferenceCount::downcast_to_GeomVertexArrayDataHandle(void); 1701 19 upcast_to_GeomEnums 12 2676 46 GeomVertexArrayDataHandle::upcast_to_GeomEnums 0 1 336 50 upcast from GeomVertexArrayDataHandle to GeomEnums 64 GeomEnums *GeomVertexArrayDataHandle::upcast_to_GeomEnums(void); 1702 37 downcast_to_GeomVertexArrayDataHandle 12 2647 48 GeomEnums::downcast_to_GeomVertexArrayDataHandle 0 1 337 52 downcast from GeomEnums to GeomVertexArrayDataHandle 82 GeomVertexArrayDataHandle *GeomEnums::downcast_to_GeomVertexArrayDataHandle(void); 1703 26 ~GeomVertexArrayDataHandle 4 2676 53 GeomVertexArrayDataHandle::~GeomVertexArrayDataHandle 0 0 233 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::Destructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 75 virtual inline GeomVertexArrayDataHandle::~GeomVertexArrayDataHandle(void); 1704 10 get_object 4 2676 37 GeomVertexArrayDataHandle::get_object 0 2 315 316 474 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_object // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_object // Access: Published // Description: //////////////////////////////////////////////////////////////////// 157 inline GeomVertexArrayData const *GeomVertexArrayDataHandle::get_object(void) const; inline GeomVertexArrayData *GeomVertexArrayDataHandle::get_object(void); 1705 16 get_array_format 4 2676 43 GeomVertexArrayDataHandle::get_array_format 0 1 317 243 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_array_format // Access: Published // Description: //////////////////////////////////////////////////////////////////// 92 inline GeomVertexArrayFormat const *GeomVertexArrayDataHandle::get_array_format(void) const; 1706 14 get_usage_hint 4 2676 41 GeomVertexArrayDataHandle::get_usage_hint 0 1 318 241 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_usage_hint // Access: Published // Description: //////////////////////////////////////////////////////////////////// 82 inline GeomEnums::UsageHint GeomVertexArrayDataHandle::get_usage_hint(void) const; 1707 12 get_num_rows 4 2676 39 GeomVertexArrayDataHandle::get_num_rows 0 1 319 239 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_num_rows // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline int GeomVertexArrayDataHandle::get_num_rows(void) const; 1708 12 set_num_rows 4 2676 39 GeomVertexArrayDataHandle::set_num_rows 0 1 320 236 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::set_num_rows // Access: Public // Description: //////////////////////////////////////////////////////////////////// 52 bool GeomVertexArrayDataHandle::set_num_rows(int n); 1709 20 unclean_set_num_rows 4 2676 47 GeomVertexArrayDataHandle::unclean_set_num_rows 0 1 321 244 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::unclean_set_num_rows // Access: Public // Description: //////////////////////////////////////////////////////////////////// 60 bool GeomVertexArrayDataHandle::unclean_set_num_rows(int n); 1710 10 clear_rows 4 2676 37 GeomVertexArrayDataHandle::clear_rows 0 1 322 237 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::clear_rows // Access: Published // Description: //////////////////////////////////////////////////////////////////// 56 inline void GeomVertexArrayDataHandle::clear_rows(void); 1711 19 get_data_size_bytes 4 2676 46 GeomVertexArrayDataHandle::get_data_size_bytes 0 1 323 246 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_data_size_bytes // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 inline int GeomVertexArrayDataHandle::get_data_size_bytes(void) const; 1712 12 get_modified 4 2676 39 GeomVertexArrayDataHandle::get_modified 0 1 324 239 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_modified // Access: Published // Description: //////////////////////////////////////////////////////////////////// 69 inline UpdateSeq GeomVertexArrayDataHandle::get_modified(void) const; 1713 16 request_resident 4 2676 43 GeomVertexArrayDataHandle::request_resident 0 1 325 566 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::request_resident // Access: Published // Description: Returns true if the vertex data is currently resident // in memory. If this returns true, the next call to // get_handle()->get_read_pointer() will probably not // block. If this returns false, the vertex data will // be brought back into memory shortly; try again later. //////////////////////////////////////////////////////////////////// 68 inline bool GeomVertexArrayDataHandle::request_resident(void) const; 1714 14 copy_data_from 4 2676 41 GeomVertexArrayDataHandle::copy_data_from 0 1 326 289 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::copy_data_from // Access: Public // Description: Copies the entire data array from the other object. //////////////////////////////////////////////////////////////////// 87 void GeomVertexArrayDataHandle::copy_data_from(GeomVertexArrayDataHandle const *other); 1715 17 copy_subdata_from 4 2676 44 GeomVertexArrayDataHandle::copy_subdata_from 0 1 327 476 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::copy_subdata_from // Access: Public // Description: Copies a portion of the data array from the other // object into a portion of the data array of this // object. If to_size != from_size, the size of this // data array is adjusted accordingly. //////////////////////////////////////////////////////////////////// 184 void GeomVertexArrayDataHandle::copy_subdata_from(unsigned int to_start, unsigned int to_size, GeomVertexArrayDataHandle const *other, unsigned int from_start, unsigned int from_size); 1716 8 get_data 4 2676 35 GeomVertexArrayDataHandle::get_data 0 1 328 445 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_data // Access: Published // Description: Returns the entire raw data of the // GeomVertexArrayData object, formatted as a string. // This is primarily for the benefit of high-level // languages such as Python. //////////////////////////////////////////////////////////////////// 76 inline basic_string< char > GeomVertexArrayDataHandle::get_data(void) const; 1717 8 set_data 4 2676 35 GeomVertexArrayDataHandle::set_data 0 1 329 415 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::set_data // Access: Public // Description: Replaces the entire raw data array with the contents // of the indicated string. This is primarily for the // benefit of high-level languages like Python. //////////////////////////////////////////////////////////////////// 75 void GeomVertexArrayDataHandle::set_data(basic_string< char > const &data); 1718 11 get_subdata 4 2676 38 GeomVertexArrayDataHandle::get_subdata 0 1 330 453 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_subdata // Access: Published // Description: Returns a subset of the raw data of the // GeomVertexArrayData object, formatted as a string. // This is primarily for the benefit of high-level // languages such as Python. //////////////////////////////////////////////////////////////////// 112 inline basic_string< char > GeomVertexArrayDataHandle::get_subdata(unsigned int start, unsigned int size) const; 1719 11 set_subdata 4 2676 38 GeomVertexArrayDataHandle::set_subdata 0 1 331 518 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::set_subdata // Access: Public // Description: Replaces a portion of the data array from the // indicated string. If size != data.size(), the size // of this data array is adjusted accordingly. // // This is primarily for the benefit of high-level // languages like Python. //////////////////////////////////////////////////////////////////// 117 void GeomVertexArrayDataHandle::set_subdata(unsigned int start, unsigned int size, basic_string< char > const &data); 1720 9 mark_used 4 2676 36 GeomVertexArrayDataHandle::mark_used 0 1 332 271 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::mark_used // Access: Published // Description: Marks the array data recently-used. //////////////////////////////////////////////////////////////////// 61 inline void GeomVertexArrayDataHandle::mark_used(void) const; 1721 14 get_class_type 4 2676 41 GeomVertexArrayDataHandle::get_class_type 0 1 333 0 66 static TypeHandle GeomVertexArrayDataHandle::get_class_type(void); 1722 12 set_max_size 4 2677 30 GeomCacheManager::set_max_size 0 1 338 1310 // Filename: geomCacheManager.I // Created by: drose (11Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomCacheManager::set_max_size // Access: Published // Description: Specifies the maximum number of entries in the cache // for storing pre-processed data for rendering // vertices. This limit is flexible, and may be // temporarily exceeded if many different Geoms are // pre-processed during the space of a single frame. // // This is not a limit on the actual vertex data, which // is what it is; it is also not a limit on the amount // of memory used by the video driver or the system // graphics interface, which Panda has no control over. //////////////////////////////////////////////////////////////////// 63 inline void GeomCacheManager::set_max_size(int max_size) const; 1723 12 get_max_size 4 2677 30 GeomCacheManager::get_max_size 0 1 339 390 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::get_max_size // Access: Published // Description: Returns the maximum number of entries in the cache // for storing pre-processed data for rendering // vertices. See set_max_size(). //////////////////////////////////////////////////////////////////// 54 inline int GeomCacheManager::get_max_size(void) const; 1724 14 get_total_size 4 2677 32 GeomCacheManager::get_total_size 0 1 340 285 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::get_total_size // Access: Published // Description: Returns the number of entries currently in the cache. //////////////////////////////////////////////////////////////////// 56 inline int GeomCacheManager::get_total_size(void) const; 1725 5 flush 4 2677 23 GeomCacheManager::flush 0 1 341 269 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::flush // Access: Published // Description: Immediately empties all elements in the cache. //////////////////////////////////////////////////////////////////// 35 void GeomCacheManager::flush(void); 1726 14 get_global_ptr 4 2677 32 GeomCacheManager::get_global_ptr 0 1 342 281 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::get_global_ptr // Access: Published, Static // Description: Returns the global cache manager pointer. //////////////////////////////////////////////////////////////////// 64 static GeomCacheManager *GeomCacheManager::get_global_ptr(void); 1727 10 get_matrix 4 2678 27 VertexTransform::get_matrix 0 1 343 0 70 virtual void VertexTransform::get_matrix(LMatrix4f &matrix) const = 0; 1728 11 mult_matrix 4 2678 28 VertexTransform::mult_matrix 0 1 344 579 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::mult_matrix // Access: Published, Virtual // Description: Premultiplies this transform's matrix with the // indicated previous matrix, so that the result is the // net composition of the given transform with this // transform. The result is stored in the parameter // "result", which should not be the same matrix as // previous. //////////////////////////////////////////////////////////////////// 94 virtual void VertexTransform::mult_matrix(LMatrix4f &result, LMatrix4f const &previous) const; 1729 17 accumulate_matrix 4 2678 34 VertexTransform::accumulate_matrix 0 1 345 477 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::accumulate_matrix // Access: Published, Virtual // Description: Adds the value of this transform's matrix, modified // by the indicated weight, into the indicated // accumulation matrix. This is used to compute the // result of several blended transforms. //////////////////////////////////////////////////////////////////// 86 virtual void VertexTransform::accumulate_matrix(LMatrix4f &accum, float weight) const; 1730 12 get_modified 4 2678 29 VertexTransform::get_modified 0 1 346 871 // Filename: vertexTransform.I // Created by: drose (23Mar05) // //////////////////////////////////////////////////////////////////// // // 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: VertexTransform::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least every time the value reported by // get_matrix() changes. //////////////////////////////////////////////////////////////////// 77 inline UpdateSeq VertexTransform::get_modified(Thread *current_thread) const; 1731 6 output 4 2678 23 VertexTransform::output 0 1 347 232 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 57 virtual void VertexTransform::output(ostream &out) const; 1732 5 write 4 2678 22 VertexTransform::write 0 1 348 231 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 74 virtual void VertexTransform::write(ostream &out, int indent_level) const; 1733 17 get_next_modified 4 2678 34 VertexTransform::get_next_modified 0 1 349 765 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::get_next_modified // Access: Public, Static // Description: Returns a monotonically increasing sequence. Each // time this is called, a new sequence number is // returned, higher than the previous value. // // This is used to ensure that all // VertexTransform::get_modified() calls return an // increasing number in the same space, so that // TransformBlend::get_modified() is easy to determine. // It is similar to Geom::get_modified(), but it is in a // different space. //////////////////////////////////////////////////////////////////// 76 static UpdateSeq VertexTransform::get_next_modified(Thread *current_thread); 1734 19 get_global_modified 4 2678 36 VertexTransform::get_global_modified 0 1 350 474 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::get_global_modified // Access: Published, Static // Description: Returns the currently highest // VertexTransform::get_modified() value in the world. // This can be used as a quick way to determine if any // VertexTransforms have changed value recently. //////////////////////////////////////////////////////////////////// 85 static inline UpdateSeq VertexTransform::get_global_modified(Thread *current_thread); 1735 14 get_class_type 4 2678 31 VertexTransform::get_class_type 0 1 351 0 56 static TypeHandle VertexTransform::get_class_type(void); 1736 14 TransformTable 4 2679 30 TransformTable::TransformTable 0 2 352 353 461 //////////////////////////////////////////////////////////////////// // Function: TransformTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformTable::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 97 TransformTable::TransformTable(void); TransformTable::TransformTable(TransformTable const ©); 1737 10 operator = 4 2679 26 TransformTable::operator = 0 1 354 240 //////////////////////////////////////////////////////////////////// // Function: TransformTable::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 60 void TransformTable::operator =(TransformTable const ©); 1738 13 is_registered 4 2679 29 TransformTable::is_registered 0 1 355 997 // Filename: transformTable.I // Created by: drose (23Mar05) // //////////////////////////////////////////////////////////////////// // // 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: TransformTable::is_registered // Access: Published // Description: Returns true if this table has been registered. // Once it has been registered, the set of transforms in // a TransformTable may not be further modified; but // it must be registered before it can be assigned to a // Geom. //////////////////////////////////////////////////////////////////// 54 inline bool TransformTable::is_registered(void) const; 1739 14 register_table 4 2679 30 TransformTable::register_table 0 1 356 927 //////////////////////////////////////////////////////////////////// // Function: TransformTable::register_table // Access: Published, Static // Description: Registers a TransformTable for use. This is // similar to GeomVertexFormat::register_format(). Once // registered, a TransformTable may no longer be // modified (although the individual VertexTransform // objects may modify their reported transforms). // // This must be called before a table may be used in a // Geom. After this call, you should discard the // original pointer you passed in (which may or may not // now be invalid) and let its reference count decrement // normally; you should use only the returned value from // this point on. //////////////////////////////////////////////////////////////////// 107 static inline ConstPointerTo< TransformTable > TransformTable::register_table(TransformTable const *table); 1740 18 get_num_transforms 4 2679 34 TransformTable::get_num_transforms 0 1 357 280 //////////////////////////////////////////////////////////////////// // Function: TransformTable::get_num_transforms // Access: Published // Description: Returns the number of transforms in the table. //////////////////////////////////////////////////////////////////// 58 inline int TransformTable::get_num_transforms(void) const; 1741 13 get_transform 4 2679 29 TransformTable::get_transform 0 1 358 268 //////////////////////////////////////////////////////////////////// // Function: TransformTable::get_transform // Access: Published // Description: Returns the nth transform in the table. //////////////////////////////////////////////////////////////////// 73 inline VertexTransform const *TransformTable::get_transform(int n) const; 1742 12 get_modified 4 2679 28 TransformTable::get_modified 0 1 359 569 //////////////////////////////////////////////////////////////////// // Function: TransformTable::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least when any VertexTransforms in the table // change. (However, this is only true for a registered // table. An unregistered table may or may not // reflect an update here when a VertexTransform // changes.) //////////////////////////////////////////////////////////////////// 76 inline UpdateSeq TransformTable::get_modified(Thread *current_thread) const; 1743 13 set_transform 4 2679 29 TransformTable::set_transform 0 1 360 310 //////////////////////////////////////////////////////////////////// // Function: TransformTable::set_transform // Access: Published // Description: Replaces the nth transform. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 76 void TransformTable::set_transform(int n, VertexTransform const *transform); 1744 16 remove_transform 4 2679 32 TransformTable::remove_transform 0 1 361 312 //////////////////////////////////////////////////////////////////// // Function: TransformTable::remove_transform // Access: Published // Description: Removes the nth transform. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 45 void TransformTable::remove_transform(int n); 1745 13 add_transform 4 2679 29 TransformTable::add_transform 0 1 362 562 //////////////////////////////////////////////////////////////////// // Function: TransformTable::add_transform // Access: Published // Description: Adds a new transform to the table and returns the // index number of the new transform. Only valid for // unregistered tables. // // This does not automatically uniquify the pointer; if // the transform is already present in the table, it // will be added twice. //////////////////////////////////////////////////////////////////// 68 int TransformTable::add_transform(VertexTransform const *transform); 1746 5 write 4 2679 21 TransformTable::write 0 1 363 221 //////////////////////////////////////////////////////////////////// // Function: TransformTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 47 void TransformTable::write(ostream &out) const; 1747 14 get_class_type 4 2679 30 TransformTable::get_class_type 0 1 364 0 55 static TypeHandle TransformTable::get_class_type(void); 1748 14 TransformBlend 4 2680 30 TransformBlend::TransformBlend 0 6 365 366 367 368 369 370 1867 // Filename: transformBlend.I // Created by: drose (24Mar05) // //////////////////////////////////////////////////////////////////// // // 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: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 767 inline TransformBlend::TransformBlend(void); inline TransformBlend::TransformBlend(VertexTransform const *transform0, float weight0); inline TransformBlend::TransformBlend(VertexTransform const *transform0, float weight0, VertexTransform const *transform1, float weight1); inline TransformBlend::TransformBlend(VertexTransform const *transform0, float weight0, VertexTransform const *transform1, float weight1, VertexTransform const *transform2, float weight2); inline TransformBlend::TransformBlend(VertexTransform const *transform0, float weight0, VertexTransform const *transform1, float weight1, VertexTransform const *transform2, float weight2, VertexTransform const *transform3, float weight3); inline TransformBlend::TransformBlend(TransformBlend const ©); 1749 10 operator = 4 2680 26 TransformBlend::operator = 0 1 371 240 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 67 inline void TransformBlend::operator =(TransformBlend const ©); 1750 15 ~TransformBlend 4 2680 31 TransformBlend::~TransformBlend 0 0 226 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 45 inline TransformBlend::~TransformBlend(void); 1751 10 compare_to 4 2680 26 TransformBlend::compare_to 0 1 372 300 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::compare_to // Access: Published // Description: Defines an arbitrary ordering for TransformBlend // objects. //////////////////////////////////////////////////////////////////// 66 int TransformBlend::compare_to(TransformBlend const &other) const; 1752 10 operator < 4 2680 26 TransformBlend::operator < 0 1 373 226 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 74 inline bool TransformBlend::operator <(TransformBlend const &other) const; 1753 11 operator == 4 2680 27 TransformBlend::operator == 0 1 374 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 75 inline bool TransformBlend::operator ==(TransformBlend const &other) const; 1754 11 operator != 4 2680 27 TransformBlend::operator != 0 1 375 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 75 inline bool TransformBlend::operator !=(TransformBlend const &other) const; 1755 13 add_transform 4 2680 29 TransformBlend::add_transform 0 1 376 344 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::add_transform // Access: Published // Description: Adds a new transform to the blend. If the transform // already existed, increases its weight factor. //////////////////////////////////////////////////////////////////// 83 void TransformBlend::add_transform(VertexTransform const *transform, float weight); 1756 16 remove_transform 4 2680 32 TransformBlend::remove_transform 0 1 377 277 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::remove_transform // Access: Published // Description: Removes the indicated transform to the blend. //////////////////////////////////////////////////////////////////// 72 void TransformBlend::remove_transform(VertexTransform const *transform); 1757 17 normalize_weights 4 2680 33 TransformBlend::normalize_weights 0 1 378 456 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::normalize_weights // Access: Published // Description: Rescales all of the weights on the various transforms // so that they sum to 1.0. It is generally a good idea // to call this after adding or removing transforms from // the blend. //////////////////////////////////////////////////////////////////// 45 void TransformBlend::normalize_weights(void); 1758 13 has_transform 4 2680 29 TransformBlend::has_transform 0 1 379 317 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::has_transform // Access: Published // Description: Returns true if the blend has the indicated // transform, false otherwise. //////////////////////////////////////////////////////////////////// 75 bool TransformBlend::has_transform(VertexTransform const *transform) const; 1759 10 get_weight 4 2680 26 TransformBlend::get_weight 0 2 380 381 689 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_weight // Access: Published // Description: Returns the weight associated with the nth transform // stored in the blend object. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_weight // Access: Published // Description: Returns the weight associated with the indicated // transform, or 0 if there is no entry for the // transform. //////////////////////////////////////////////////////////////////// 127 float TransformBlend::get_weight(VertexTransform const *transform) const; inline float TransformBlend::get_weight(int n) const; 1760 18 get_num_transforms 4 2680 34 TransformBlend::get_num_transforms 0 1 382 311 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_num_transforms // Access: Published // Description: Returns the number of transforms stored in the blend // object. //////////////////////////////////////////////////////////////////// 58 inline int TransformBlend::get_num_transforms(void) const; 1761 13 get_transform 4 2680 29 TransformBlend::get_transform 0 1 383 299 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_transform // Access: Published // Description: Returns the nth transform stored in the blend // object. //////////////////////////////////////////////////////////////////// 73 inline VertexTransform const *TransformBlend::get_transform(int n) const; 1762 13 set_transform 4 2680 29 TransformBlend::set_transform 0 1 384 300 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::set_transform // Access: Published // Description: Replaces the nth transform stored in the blend // object. //////////////////////////////////////////////////////////////////// 83 inline void TransformBlend::set_transform(int n, VertexTransform const *transform); 1763 10 set_weight 4 2680 26 TransformBlend::set_weight 0 1 385 324 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::set_weight // Access: Published // Description: Replaces the weight associated with the nth transform // stored in the blend object. //////////////////////////////////////////////////////////////////// 60 inline void TransformBlend::set_weight(int n, float weight); 1764 12 update_blend 4 2680 28 TransformBlend::update_blend 0 1 386 405 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::update_blend // Access: Published // Description: Recomputes the internal representation of the blend // value, if necessary. You should call this before // calling get_blend() or transform_point(). //////////////////////////////////////////////////////////////////// 71 inline void TransformBlend::update_blend(Thread *current_thread) const; 1765 9 get_blend 4 2680 25 TransformBlend::get_blend 0 1 387 522 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_blend // Access: Published // Description: Returns the current value of the blend, based on the // current value of all of the nested transform objects // and their associated weights. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// 87 inline void TransformBlend::get_blend(LMatrix4f &result, Thread *current_thread) const; 1766 15 transform_point 4 2680 31 TransformBlend::transform_point 0 2 388 389 822 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::transform_point // Access: Published // Description: Transforms the indicated point by the blend matrix. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlend::transform_point // Access: Published // Description: Transforms the indicated point by the blend matrix. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// 183 inline void TransformBlend::transform_point(LPoint4f &point, Thread *current_thread) const; inline void TransformBlend::transform_point(LPoint3f &point, Thread *current_thread) const; 1767 16 transform_vector 4 2680 32 TransformBlend::transform_vector 0 1 390 412 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::transform_vector // Access: Published // Description: Transforms the indicated vector by the blend matrix. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// 93 inline void TransformBlend::transform_vector(LVector3f &point, Thread *current_thread) const; 1768 12 get_modified 4 2680 28 TransformBlend::get_modified 0 1 391 351 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_modified // Access: Published // Description: Returns a counter which is guaranteed to increment at // least as often as the result of get_blend() changes. //////////////////////////////////////////////////////////////////// 76 inline UpdateSeq TransformBlend::get_modified(Thread *current_thread) const; 1769 6 output 4 2680 22 TransformBlend::output 0 1 392 222 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 48 void TransformBlend::output(ostream &out) const; 1770 5 write 4 2680 21 TransformBlend::write 0 1 393 221 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 65 void TransformBlend::write(ostream &out, int indent_level) const; 1771 14 get_class_type 4 2680 30 TransformBlend::get_class_type 0 1 394 0 55 static TypeHandle TransformBlend::get_class_type(void); 1772 19 TransformBlendTable 4 2681 40 TransformBlendTable::TransformBlendTable 0 2 395 396 471 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 122 TransformBlendTable::TransformBlendTable(void); TransformBlendTable::TransformBlendTable(TransformBlendTable const ©); 1773 10 operator = 4 2681 31 TransformBlendTable::operator = 0 1 397 245 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 void TransformBlendTable::operator =(TransformBlendTable const ©); 1774 14 get_num_blends 4 2681 35 TransformBlendTable::get_num_blends 0 1 398 817 // Filename: transformBlendTable.I // Created by: drose (24Mar05) // //////////////////////////////////////////////////////////////////// // // 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: TransformBlendTable::get_num_blends // Access: Published // Description: Returns the total number of different blend // combinations in the table. //////////////////////////////////////////////////////////////////// 59 inline int TransformBlendTable::get_num_blends(void) const; 1775 9 get_blend 4 2681 30 TransformBlendTable::get_blend 0 1 399 265 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_blend // Access: Published // Description: Returns the nth blend in the table. //////////////////////////////////////////////////////////////////// 73 inline TransformBlend const &TransformBlendTable::get_blend(int n) const; 1776 12 get_modified 4 2681 33 TransformBlendTable::get_modified 0 1 400 382 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_modified // Access: Published // Description: Returns a counter which is guaranteed to increment at // least when any TransformBlends within the table // have changed. //////////////////////////////////////////////////////////////////// 81 inline UpdateSeq TransformBlendTable::get_modified(Thread *current_thread) const; 1777 9 set_blend 4 2681 30 TransformBlendTable::set_blend 0 1 401 311 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::set_blend // Access: Published // Description: Replaces the blend at the nth position with the // indicated value. //////////////////////////////////////////////////////////////////// 72 void TransformBlendTable::set_blend(int n, TransformBlend const &blend); 1778 12 remove_blend 4 2681 33 TransformBlendTable::remove_blend 0 1 402 271 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::remove_blend // Access: Published // Description: Removes the blend at the nth position. //////////////////////////////////////////////////////////////////// 46 void TransformBlendTable::remove_blend(int n); 1779 9 add_blend 4 2681 30 TransformBlendTable::add_blend 0 1 403 414 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::add_blend // Access: Published // Description: Adds a new blend to the table, and returns its // index number. If there is already an identical blend // in the table, simply returns that number instead. //////////////////////////////////////////////////////////////////// 64 int TransformBlendTable::add_blend(TransformBlend const &blend); 1780 18 get_num_transforms 4 2681 39 TransformBlendTable::get_num_transforms 0 1 404 603 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_num_transforms // Access: Published // Description: Returns the number of unique VertexTransform objects // represented in the table. This will correspond to // the size of the TransformTable object that would // represent the same table. This is also the same // limit reflected by // GraphicsStateGuardian::get_max_vertex_transform_indices(). //////////////////////////////////////////////////////////////////// 63 inline int TransformBlendTable::get_num_transforms(void) const; 1781 31 get_max_simultaneous_transforms 4 2681 52 TransformBlendTable::get_max_simultaneous_transforms 0 1 405 503 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_max_simultaneous_transforms // Access: Published // Description: Returns the maximum number of unique VertexTransform // objects that are applied to any one vertex // simultaneously. This is the same limit reflected by // GraphicsStateGuardian::get_max_vertex_transforms(). //////////////////////////////////////////////////////////////////// 76 inline int TransformBlendTable::get_max_simultaneous_transforms(void) const; 1782 8 set_rows 4 2681 29 TransformBlendTable::set_rows 0 1 406 383 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::set_rows // Access: Published // Description: Specifies the subset of rows (vertices) in the // associated GeomVertexData that this // TransformBlendTable actually affects. //////////////////////////////////////////////////////////////////// 67 inline void TransformBlendTable::set_rows(SparseArray const &rows); 1783 8 get_rows 4 2681 29 TransformBlendTable::get_rows 0 1 407 381 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_rows // Access: Published // Description: Returns the subset of rows (vertices) in the // associated GeomVertexData that this // TransformBlendTable actually affects. //////////////////////////////////////////////////////////////////// 68 inline SparseArray const &TransformBlendTable::get_rows(void) const; 1784 11 modify_rows 4 2681 32 TransformBlendTable::modify_rows 0 1 408 458 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::modify_rows // Access: Published // Description: Returns a modifiable reference to the SparseArray // that specifies the subset of rows (vertices) in the // associated GeomVertexData that this // TransformBlendTable actually affects. //////////////////////////////////////////////////////////////////// 59 inline SparseArray &TransformBlendTable::modify_rows(void); 1785 5 write 4 2681 26 TransformBlendTable::write 0 1 409 226 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 void TransformBlendTable::write(ostream &out, int indent_level) const; 1786 14 get_class_type 4 2681 35 TransformBlendTable::get_class_type 0 1 410 0 60 static TypeHandle TransformBlendTable::get_class_type(void); 1787 8 get_name 4 2682 22 VertexSlider::get_name 0 1 411 945 // Filename: vertexSlider.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: VertexSlider::get_name // Access: Published // Description: Returns the name of this particular slider. Every // unique blend shape within a particular Geom must be // identified with a different name, which is shared by // the slider that controls it. //////////////////////////////////////////////////////////////////// 62 inline InternalName const *VertexSlider::get_name(void) const; 1788 10 get_slider 4 2682 24 VertexSlider::get_slider 0 1 412 0 55 virtual float VertexSlider::get_slider(void) const = 0; 1789 12 get_modified 4 2682 26 VertexSlider::get_modified 0 1 413 377 //////////////////////////////////////////////////////////////////// // Function: VertexSlider::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least every time the value reported by // get_slider() changes. //////////////////////////////////////////////////////////////////// 74 inline UpdateSeq VertexSlider::get_modified(Thread *current_thread) const; 1790 6 output 4 2682 20 VertexSlider::output 0 1 414 229 //////////////////////////////////////////////////////////////////// // Function: VertexSlider::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 54 virtual void VertexSlider::output(ostream &out) const; 1791 5 write 4 2682 19 VertexSlider::write 0 1 415 228 //////////////////////////////////////////////////////////////////// // Function: VertexSlider::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 71 virtual void VertexSlider::write(ostream &out, int indent_level) const; 1792 14 get_class_type 4 2682 28 VertexSlider::get_class_type 0 1 416 0 53 static TypeHandle VertexSlider::get_class_type(void); 1793 11 SliderTable 4 2683 24 SliderTable::SliderTable 0 2 417 418 455 //////////////////////////////////////////////////////////////////// // Function: SliderTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: SliderTable::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 82 SliderTable::SliderTable(void); SliderTable::SliderTable(SliderTable const ©); 1794 10 operator = 4 2683 23 SliderTable::operator = 0 1 419 237 //////////////////////////////////////////////////////////////////// // Function: SliderTable::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 54 void SliderTable::operator =(SliderTable const ©); 1795 13 is_registered 4 2683 26 SliderTable::is_registered 0 1 420 985 // Filename: sliderTable.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: SliderTable::is_registered // Access: Published // Description: Returns true if this table has been registered. // Once it has been registered, the set of sliders in // a SliderTable may not be further modified; but // it must be registered before it can be assigned to a // Geom. //////////////////////////////////////////////////////////////////// 51 inline bool SliderTable::is_registered(void) const; 1796 14 register_table 4 2683 27 SliderTable::register_table 0 1 421 912 //////////////////////////////////////////////////////////////////// // Function: SliderTable::register_table // Access: Published, Static // Description: Registers a SliderTable for use. This is // similar to GeomVertexFormat::register_format(). Once // registered, a SliderTable may no longer be // modified (although the individual VertexSlider // objects may modify their reported sliders). // // This must be called before a table may be used in a // Geom. After this call, you should discard the // original pointer you passed in (which may or may not // now be invalid) and let its reference count decrement // normally; you should use only the returned value from // this point on. //////////////////////////////////////////////////////////////////// 98 static inline ConstPointerTo< SliderTable > SliderTable::register_table(SliderTable const *table); 1797 15 get_num_sliders 4 2683 28 SliderTable::get_num_sliders 0 1 422 271 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_num_sliders // Access: Published // Description: Returns the number of sliders in the table. //////////////////////////////////////////////////////////////////// 52 inline int SliderTable::get_num_sliders(void) const; 1798 10 get_slider 4 2683 23 SliderTable::get_slider 0 1 423 259 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_slider // Access: Published // Description: Returns the nth slider in the table. //////////////////////////////////////////////////////////////////// 64 inline VertexSlider const *SliderTable::get_slider(int n) const; 1799 15 get_slider_rows 4 2683 28 SliderTable::get_slider_rows 0 1 424 320 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_slider_rows // Access: Published // Description: Returns the set of rows (vertices) governed by the // nth slider in the table. //////////////////////////////////////////////////////////////////// 68 inline SparseArray const &SliderTable::get_slider_rows(int n) const; 1800 12 find_sliders 4 2683 25 SliderTable::find_sliders 0 1 425 416 //////////////////////////////////////////////////////////////////// // Function: SliderTable::find_sliders // Access: Published // Description: Returns a list of slider indices that represent the // list of sliders with the indicated name, or an empty // SparseArray if no slider in the table has that name. //////////////////////////////////////////////////////////////////// 84 inline SparseArray const &SliderTable::find_sliders(InternalName const *name) const; 1801 10 has_slider 4 2683 23 SliderTable::has_slider 0 1 426 329 //////////////////////////////////////////////////////////////////// // Function: SliderTable::has_slider // Access: Published // Description: Returns true if the table has at least one slider by // the indicated name, false otherwise. //////////////////////////////////////////////////////////////////// 68 inline bool SliderTable::has_slider(InternalName const *name) const; 1802 8 is_empty 4 2683 21 SliderTable::is_empty 0 1 427 309 //////////////////////////////////////////////////////////////////// // Function: SliderTable::is_empty // Access: Published // Description: Returns true if the table has no sliders, false if it // has at least one. //////////////////////////////////////////////////////////////////// 46 inline bool SliderTable::is_empty(void) const; 1803 12 get_modified 4 2683 25 SliderTable::get_modified 0 1 428 560 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least when any VertexSliders in the table // change. (However, this is only true for a registered // table. An unregistered table may or may not // reflect an update here when a VertexSlider // changes.) //////////////////////////////////////////////////////////////////// 73 inline UpdateSeq SliderTable::get_modified(Thread *current_thread) const; 1804 10 set_slider 4 2683 23 SliderTable::set_slider 0 1 429 301 //////////////////////////////////////////////////////////////////// // Function: SliderTable::set_slider // Access: Published // Description: Replaces the nth slider. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 64 void SliderTable::set_slider(int n, VertexSlider const *slider); 1805 15 set_slider_rows 4 2683 28 SliderTable::set_slider_rows 0 1 430 327 //////////////////////////////////////////////////////////////////// // Function: SliderTable::set_slider_rows // Access: Published // Description: Replaces the rows affected by the nth slider. Only // valid for unregistered tables. //////////////////////////////////////////////////////////////////// 66 void SliderTable::set_slider_rows(int n, SparseArray const &rows); 1806 13 remove_slider 4 2683 26 SliderTable::remove_slider 0 1 431 303 //////////////////////////////////////////////////////////////////// // Function: SliderTable::remove_slider // Access: Published // Description: Removes the nth slider. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 39 void SliderTable::remove_slider(int n); 1807 10 add_slider 4 2683 23 SliderTable::add_slider 0 1 432 373 //////////////////////////////////////////////////////////////////// // Function: SliderTable::add_slider // Access: Published // Description: Adds a new slider to the table, and returns the // index number of the new slider. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 81 int SliderTable::add_slider(VertexSlider const *slider, SparseArray const &rows); 1808 5 write 4 2683 18 SliderTable::write 0 1 433 218 //////////////////////////////////////////////////////////////////// // Function: SliderTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 44 void SliderTable::write(ostream &out) const; 1809 14 get_class_type 4 2683 27 SliderTable::get_class_type 0 1 434 0 52 static TypeHandle SliderTable::get_class_type(void); 1810 27 upcast_to_CopyOnWriteObject 12 2684 43 GeomVertexData::upcast_to_CopyOnWriteObject 0 1 489 47 upcast from GeomVertexData to CopyOnWriteObject 69 CopyOnWriteObject *GeomVertexData::upcast_to_CopyOnWriteObject(void); 1811 26 downcast_to_GeomVertexData 12 2675 45 CopyOnWriteObject::downcast_to_GeomVertexData 0 1 490 49 downcast from CopyOnWriteObject to GeomVertexData 68 GeomVertexData *CopyOnWriteObject::downcast_to_GeomVertexData(void); 1812 19 upcast_to_GeomEnums 12 2684 35 GeomVertexData::upcast_to_GeomEnums 0 1 491 39 upcast from GeomVertexData to GeomEnums 53 GeomEnums *GeomVertexData::upcast_to_GeomEnums(void); 1813 26 downcast_to_GeomVertexData 12 2647 37 GeomEnums::downcast_to_GeomVertexData 0 1 492 41 downcast from GeomEnums to GeomVertexData 60 GeomVertexData *GeomEnums::downcast_to_GeomVertexData(void); 1814 14 GeomVertexData 4 2684 30 GeomVertexData::GeomVertexData 0 3 435 436 437 1272 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Default Constructor // Access: Private // Description: Constructs an invalid object. This is only used when // reading from the bam file. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Constructor // Access: Published // Description: This constructor copies all of the basic properties // of the source VertexData, like usage_hint and // animation tables, but does not copy the actual data, // and it allows you to specify a different format. //////////////////////////////////////////////////////////////////// 282 GeomVertexData::GeomVertexData(basic_string< char > const &name, GeomVertexFormat const *format, GeomEnums::UsageHint usage_hint); GeomVertexData::GeomVertexData(GeomVertexData const ©); GeomVertexData::GeomVertexData(GeomVertexData const ©, GeomVertexFormat const *format); 1815 10 operator = 4 2684 26 GeomVertexData::operator = 0 1 438 480 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a GeomVertexData that is // actively being used for rendering. //////////////////////////////////////////////////////////////////// 60 void GeomVertexData::operator =(GeomVertexData const ©); 1816 15 ~GeomVertexData 4 2684 31 GeomVertexData::~GeomVertexData 0 0 235 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 46 virtual GeomVertexData::~GeomVertexData(void); 1817 12 operator new 4 2684 28 GeomVertexData::operator new 0 1 439 0 134 inline void *GeomVertexData::operator new(unsigned int size); inline void *GeomVertexData::operator new(unsigned int size, void *ptr); 1818 15 operator delete 4 2684 31 GeomVertexData::operator delete 0 0 0 116 inline void GeomVertexData::operator delete(void *ptr); inline void GeomVertexData::operator delete(void *, void *); 1819 12 validate_ptr 4 2684 28 GeomVertexData::validate_ptr 0 0 0 65 static inline bool GeomVertexData::validate_ptr(void const *ptr); 1820 10 compare_to 4 2684 26 GeomVertexData::compare_to 0 1 440 326 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::compare_to // Access: Published // Description: Returns 0 if the two objects are equivalent, even if // they are not the same pointer. //////////////////////////////////////////////////////////////////// 66 int GeomVertexData::compare_to(GeomVertexData const &other) const; 1821 8 get_name 4 2684 24 GeomVertexData::get_name 0 1 441 866 // Filename: geomVertexData.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexData::get_name // Access: Published // Description: Returns the name passed to the constructor, if any. // This name is reported on the PStats graph for vertex // computations. //////////////////////////////////////////////////////////////////// 72 inline basic_string< char > const &GeomVertexData::get_name(void) const; 1822 8 set_name 4 2684 24 GeomVertexData::set_name 0 1 442 345 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_name // Access: Published // Description: Changes the name of the vertex data. This name is // reported on the PStats graph for vertex computations. //////////////////////////////////////////////////////////////////// 64 void GeomVertexData::set_name(basic_string< char > const &name); 1823 14 get_usage_hint 4 2684 30 GeomVertexData::get_usage_hint 0 1 443 778 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_usage_hint // Access: Published // Description: Returns the usage hint that was passed to the // constructor, and which will be passed to each array // data object created initially, and arrays created as // the result of a convert_to() operation. See // geomEnums.h. // // However, each individual array may be replaced with a // different array object with an independent usage hint // specified, so there is no guarantee that the // individual arrays all have the same usage_hint. //////////////////////////////////////////////////////////////////// 71 inline GeomEnums::UsageHint GeomVertexData::get_usage_hint(void) const; 1824 14 set_usage_hint 4 2684 30 GeomVertexData::set_usage_hint 0 1 444 580 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for this vertex data, and // for all of the arrays that share this data. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 69 void GeomVertexData::set_usage_hint(GeomEnums::UsageHint usage_hint); 1825 10 get_format 4 2684 26 GeomVertexData::get_format 0 1 445 318 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_format // Access: Published // Description: Returns a pointer to the GeomVertexFormat structure // that defines this data. //////////////////////////////////////////////////////////////////// 70 inline GeomVertexFormat const *GeomVertexData::get_format(void) const; 1826 10 set_format 4 2684 26 GeomVertexData::set_format 0 1 446 585 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_format // Access: Published // Description: Changes the format of the vertex data. If the data // is not empty, this will implicitly change every row // to match the new format. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 64 void GeomVertexData::set_format(GeomVertexFormat const *format); 1827 10 has_column 4 2684 26 GeomVertexData::has_column 0 1 447 398 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::has_column // Access: Published // Description: Returns true if the data has the named column, // false otherwise. This is really just a shortcut for // asking the same thing from the format. //////////////////////////////////////////////////////////////////// 71 inline bool GeomVertexData::has_column(InternalName const *name) const; 1828 12 get_num_rows 4 2684 28 GeomVertexData::get_num_rows 0 1 448 362 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_num_rows // Access: Published // Description: Returns the number of rows stored within all the // arrays. All arrays store data for the same n // rows. //////////////////////////////////////////////////////////////////// 52 inline int GeomVertexData::get_num_rows(void) const; 1829 12 set_num_rows 4 2684 28 GeomVertexData::set_num_rows 0 1 449 1250 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_num_rows // Access: Published // Description: Sets the length of the array to n rows in all of // the various arrays (presumably by adding rows). // // The new vertex data is initialized to 0, except for // the "color" column, which is initialized to (1, 1, 1, // 1). // // The return value is true if the number of rows // was changed, false if the object already contained n // rows (or if there was some error). // // Although this method is Published, application code // only very rarely has any need to call it. Instead, // you should use the GeomVertexWriter to build up the // rows in a GeomVertexData object automatically, // without need to explicitly set the number of // rows. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 48 inline bool GeomVertexData::set_num_rows(int n); 1830 20 unclean_set_num_rows 4 2684 36 GeomVertexData::unclean_set_num_rows 0 1 450 1085 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::unclean_set_num_rows // Access: Published // Description: This method behaves like set_num_rows(), except the // new data is not initialized. Furthermore, after this // call, *any* of the data in the GeomVertexData may be // uninitialized, including the earlier rows. // // This is intended for applications that are about to // completely fill the GeomVertexData with new data // anyway; it provides a tiny performance boost over // set_num_rows(). // // Although this method is Published, application code // only very rarely has any need to call it. Instead, // you should use the GeomVertexWriter to build up the // rows in a GeomVertexData object automatically, // without need to explicitly set the number of // rows. //////////////////////////////////////////////////////////////////// 56 inline bool GeomVertexData::unclean_set_num_rows(int n); 1831 10 clear_rows 4 2684 26 GeomVertexData::clear_rows 0 1 451 554 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_rows // Access: Published // Description: Removes all of the rows from the arrays; // functionally equivalent to set_num_rows(0) (but // faster). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 38 void GeomVertexData::clear_rows(void); 1832 14 get_num_arrays 4 2684 30 GeomVertexData::get_num_arrays 0 1 452 376 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_num_arrays // Access: Published // Description: Returns the number of individual arrays stored within // the data. This must match // get_format()->get_num_arrays(). //////////////////////////////////////////////////////////////////// 54 inline int GeomVertexData::get_num_arrays(void) const; 1833 9 get_array 4 2684 25 GeomVertexData::get_array 0 1 453 412 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_array // Access: Published // Description: Returns a const pointer to the vertex data for the // indicated array, for application code to directly // examine (but not modify) the underlying vertex data. //////////////////////////////////////////////////////////////////// 84 inline ConstPointerTo< GeomVertexArrayData > GeomVertexData::get_array(int i) const; 1834 12 modify_array 4 2684 28 GeomVertexData::modify_array 0 1 454 757 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::modify_array // Access: Published // Description: Returns a modifiable pointer to the indicated vertex // array, so that application code may directly // manipulate the data. You should avoid changing // the length of this array, since all of the arrays // should be kept in sync--use set_num_rows() // instead. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 76 inline PointerTo< GeomVertexArrayData > GeomVertexData::modify_array(int i); 1835 9 set_array 4 2684 25 GeomVertexData::set_array 0 1 455 667 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_array // Access: Published // Description: Replaces the indicated vertex data array with // a completely new array. You should be careful that // the new array has the same length and format as the // old one, unless you know what you are doing. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 79 inline void GeomVertexData::set_array(int i, GeomVertexArrayData const *array); 1836 19 get_transform_table 4 2684 35 GeomVertexData::get_transform_table 0 1 456 868 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_transform_table // Access: Published // Description: Returns a const pointer to the TransformTable // assigned to this data. Vertices within the table // will index into this table to indicate their // dynamic skinning information; this table is used when // the vertex animation is to be performed by the // graphics hardware (but also see // get_transform_blend_table()). // // This will return NULL if the vertex data does not // have a TransformTable assigned (which implies the // vertices will not be animated by the graphics // hardware). //////////////////////////////////////////////////////////////////// 77 inline TransformTable const *GeomVertexData::get_transform_table(void) const; 1837 19 set_transform_table 4 2684 35 GeomVertexData::set_transform_table 0 1 457 708 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_transform_table // Access: Published // Description: Replaces the TransformTable on this vertex // data with the indicated table. The length of this // table should be consistent with the maximum table // index assigned to the vertices under the // "transform_index" name. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 70 void GeomVertexData::set_transform_table(TransformTable const *table); 1838 21 clear_transform_table 4 2684 37 GeomVertexData::clear_transform_table 0 1 458 401 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_transform_table // Access: Published // Description: Sets the TransformTable pointer to NULL, // removing the table from the vertex data. This // disables hardware-driven vertex animation. //////////////////////////////////////////////////////////////////// 56 inline void GeomVertexData::clear_transform_table(void); 1839 25 get_transform_blend_table 4 2684 41 GeomVertexData::get_transform_blend_table 0 1 459 816 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_transform_blend_table // Access: Published // Description: Returns a const pointer to the TransformBlendTable // assigned to this data. Vertices within the table // will index into this table to indicate their // dynamic skinning information; this table is used when // the vertex animation is to be performed by the CPU // (but also see get_transform_table()). // // This will return NULL if the vertex data does not // have a TransformBlendTable assigned (which implies // the vertices will not be animated by the CPU). //////////////////////////////////////////////////////////////////// 99 inline ConstPointerTo< TransformBlendTable > GeomVertexData::get_transform_blend_table(void) const; 1840 28 modify_transform_blend_table 4 2684 44 GeomVertexData::modify_transform_blend_table 0 1 460 665 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::modify_transform_blend_table // Access: Published // Description: Returns a modifiable pointer to the current // TransformBlendTable on this vertex data, if any, or // NULL if there is not a TransformBlendTable. See // get_transform_blend_table(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 84 PointerTo< TransformBlendTable > GeomVertexData::modify_transform_blend_table(void); 1841 25 set_transform_blend_table 4 2684 41 GeomVertexData::set_transform_blend_table 0 1 461 719 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_transform_blend_table // Access: Published // Description: Replaces the TransformBlendTable on this vertex // data with the indicated table. The length of this // table should be consistent with the maximum table // index assigned to the vertices under the // "transform_blend" name. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 81 void GeomVertexData::set_transform_blend_table(TransformBlendTable const *table); 1842 27 clear_transform_blend_table 4 2684 43 GeomVertexData::clear_transform_blend_table 0 1 462 407 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_transform_blend_table // Access: Published // Description: Sets the TransformBlendTable pointer to NULL, // removing the table from the vertex data. This // disables CPU-driven vertex animation. //////////////////////////////////////////////////////////////////// 62 inline void GeomVertexData::clear_transform_blend_table(void); 1843 16 get_slider_table 4 2684 32 GeomVertexData::get_slider_table 0 1 463 558 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_slider_table // Access: Published // Description: Returns a const pointer to the SliderTable // assigned to this data. Vertices within the vertex // data will look up their morph offsets, if any, within // this table. // // This will return NULL if the vertex data does not // have a SliderTable assigned. //////////////////////////////////////////////////////////////////// 71 inline SliderTable const *GeomVertexData::get_slider_table(void) const; 1844 16 set_slider_table 4 2684 32 GeomVertexData::set_slider_table 0 1 464 777 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_slider_table // Access: Published // Description: Replaces the SliderTable on this vertex // data with the indicated table. There should be an // entry in this table for each kind of morph offset // defined in the vertex data. // // The SliderTable object must have been registered // prior to setting it on the GeomVertexData. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 64 void GeomVertexData::set_slider_table(SliderTable const *table); 1845 18 clear_slider_table 4 2684 34 GeomVertexData::clear_slider_table 0 1 465 392 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_slider_table // Access: Published // Description: Sets the SliderTable pointer to NULL, // removing the table from the vertex data. This // disables morph (blend shape) animation. //////////////////////////////////////////////////////////////////// 53 inline void GeomVertexData::clear_slider_table(void); 1846 13 get_num_bytes 4 2684 29 GeomVertexData::get_num_bytes 0 1 466 332 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_num_bytes // Access: Published // Description: Returns the total number of bytes consumed by the // different arrays of the vertex data. //////////////////////////////////////////////////////////////////// 53 inline int GeomVertexData::get_num_bytes(void) const; 1847 12 get_modified 4 2684 28 GeomVertexData::get_modified 0 2 467 468 366 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the vertex data is // modified. //////////////////////////////////////////////////////////////////// 103 inline UpdateSeq GeomVertexData::get_modified(Thread *current_thread = ((get_current_thread()))) const; 1848 16 request_resident 4 2684 32 GeomVertexData::request_resident 0 1 469 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::request_resident // Access: Published // Description: Returns true if the vertex data is currently resident // in memory. If this returns false, the vertex data will // be brought back into memory shortly; try again later. //////////////////////////////////////////////////////////////////// 50 bool GeomVertexData::request_resident(void) const; 1849 9 copy_from 4 2684 25 GeomVertexData::copy_from 0 2 470 471 1099 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::copy_from // Access: Published // Description: Copies all the data from the other array into the // corresponding data types in this array, by matching // data types name-by-name. // // keep_data_objects specifies what to do when one or // more of the arrays can be copied without the need to // apply any conversion operation. If it is true, the // original GeomVertexArrayData objects in this object // are retained, and their data arrays are copied // byte-by-byte from the source; if it is false, then the // GeomVertexArrayData objects are copied pointerwise // from the source. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 136 void GeomVertexData::copy_from(GeomVertexData const *source, bool keep_data_objects, Thread *current_thread = ((get_current_thread()))); 1850 13 copy_row_from 4 2684 29 GeomVertexData::copy_row_from 0 1 472 643 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::copy_row_from // Access: Published // Description: Copies a single row of the data from the other array // into the indicated row of this array. In this case, // the source format must exactly match the destination // format. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 119 void GeomVertexData::copy_row_from(int dest_row, GeomVertexData const *source, int source_row, Thread *current_thread); 1851 10 convert_to 4 2684 26 GeomVertexData::convert_to 0 1 473 408 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::convert_to // Access: Published // Description: Returns a new GeomVertexData that represents the same // contents as this one, with all data types matched up // name-by-name to the indicated new format. //////////////////////////////////////////////////////////////////// 102 ConstPointerTo< GeomVertexData > GeomVertexData::convert_to(GeomVertexFormat const *new_format) const; 1852 11 scale_color 4 2684 27 GeomVertexData::scale_color 0 2 474 475 1067 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::scale_color // Access: Published // Description: Returns a new GeomVertexData object with the color // table modified in-place to apply the indicated scale. // // If the vertex data does not include a color column, a // new one will not be added. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::scale_color // Access: Published // Description: Returns a new GeomVertexData object with the color // table replaced with a new color table that has been // scaled by the indicated value. The new color table // will be added as a new array; if the old color table // was interleaved with a previous array, the previous // array will not be repacked. //////////////////////////////////////////////////////////////////// 284 ConstPointerTo< GeomVertexData > GeomVertexData::scale_color(LVecBase4f const &color_scale) const; ConstPointerTo< GeomVertexData > GeomVertexData::scale_color(LVecBase4f const &color_scale, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents) const; 1853 9 set_color 4 2684 25 GeomVertexData::set_color 0 2 476 477 1054 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_color // Access: Published // Description: Returns a new GeomVertexData object with the color // data modified in-place with the new value. // // If the vertex data does not include a color column, a // new one will not be added. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_color // Access: Published // Description: Returns a new GeomVertexData object with the color // table replaced with a new color table for which each // vertex has the indicated value. The new color table // will be added as a new array; if the old color table // was interleaved with a previous array, the previous // array will not be repacked. //////////////////////////////////////////////////////////////////// 268 ConstPointerTo< GeomVertexData > GeomVertexData::set_color(LVecBase4f const &color) const; ConstPointerTo< GeomVertexData > GeomVertexData::set_color(LVecBase4f const &color, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents) const; 1854 15 reverse_normals 4 2684 31 GeomVertexData::reverse_normals 0 1 478 577 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::reverse_normals // Access: Published // Description: Returns a new GeomVertexData object with the normal // data modified in-place, so that each lighting normal // is now facing in the opposite direction. // // If the vertex data does not include a normal column, // this returns the original GeomVertexData object, // unchanged. //////////////////////////////////////////////////////////////////// 77 ConstPointerTo< GeomVertexData > GeomVertexData::reverse_normals(void) const; 1855 16 animate_vertices 4 2684 32 GeomVertexData::animate_vertices 0 1 479 1321 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::animate_vertices // Access: Published // Description: Returns a GeomVertexData that represents the results // of computing the vertex animation on the CPU for this // GeomVertexData. // // If there is no CPU-defined vertex animation on this // object, this just returns the original object. // // If there is vertex animation, but the VertexTransform // values have not changed since last time, this may // return the same pointer it returned previously. Even // if the VertexTransform values have changed, it may // still return the same pointer, but with its contents // modified (this is preferred, since it allows the // graphics backend to update vertex buffers optimally). // // If force is false, this method may return immediately // with stale data, if the vertex data is not completely // resident. If force is true, this method will never // return stale data, but may block until the data is // available. //////////////////////////////////////////////////////////////////// 108 ConstPointerTo< GeomVertexData > GeomVertexData::animate_vertices(bool force, Thread *current_thread) const; 1856 23 clear_animated_vertices 4 2684 39 GeomVertexData::clear_animated_vertices 0 1 480 555 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_animated_vertices // Access: Published // Description: Removes the cache of animated vertices computed by a // previous call to animate_vertices() within the same // frame. This will force the next call to // animate_vertices() to recompute these values from // scratch. Normally it is not necessary to call this. //////////////////////////////////////////////////////////////////// 51 void GeomVertexData::clear_animated_vertices(void); 1857 14 replace_column 4 2684 30 GeomVertexData::replace_column 0 1 481 776 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::replace_column // Access: Published // Description: Returns a new GeomVertexData object, suitable for // modification, with the indicated data type replaced // with a new table filled with undefined values. The // new table will be added as a new array; if the old // table was interleaved with a previous array, the // previous array will not be repacked. // // If num_components is 0, the indicated name is simply // removed from the type, without replacing it with // anything else. //////////////////////////////////////////////////////////////////// 172 PointerTo< GeomVertexData > GeomVertexData::replace_column(InternalName *name, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents) const; 1858 6 output 4 2684 22 GeomVertexData::output 0 1 482 222 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 48 void GeomVertexData::output(ostream &out) const; 1859 5 write 4 2684 21 GeomVertexData::write 0 2 483 484 221 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 void GeomVertexData::write(ostream &out, int indent_level = (0)) const; 1860 15 describe_vertex 4 2684 31 GeomVertexData::describe_vertex 0 1 485 324 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::describe_vertex // Access: Published // Description: Writes a verbose, human-friendly description of the // indicated vertex number. //////////////////////////////////////////////////////////////////// 66 void GeomVertexData::describe_vertex(ostream &out, int row) const; 1861 11 clear_cache 4 2684 27 GeomVertexData::clear_cache 0 1 486 556 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_cache // Access: Published // Description: Removes all of the previously-cached results of // convert_to(). // // This blows away the entire cache, upstream and // downstream the pipeline. Use clear_cache_stage() // instead if you only want to blow away the cache at // the current stage and upstream. //////////////////////////////////////////////////////////////////// 39 void GeomVertexData::clear_cache(void); 1862 17 clear_cache_stage 4 2684 33 GeomVertexData::clear_cache_stage 0 1 487 608 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_cache_stage // Access: Published // Description: Removes all of the previously-cached results of // convert_to(), at the current pipeline stage and // upstream. Does not affect the downstream cache. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 45 void GeomVertexData::clear_cache_stage(void); 1863 14 get_class_type 4 2684 30 GeomVertexData::get_class_type 0 1 488 0 55 static TypeHandle GeomVertexData::get_class_type(void); 1864 22 AnimateVerticesRequest 4 2685 46 AnimateVerticesRequest::AnimateVerticesRequest 0 1 493 769 // Filename: animateVerticesRequest.I // Created by: pratt (20Nov07) // //////////////////////////////////////////////////////////////////// // // 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: AnimateVerticesRequest::Constructor // Access: Published // Description: Create a new AnimateVerticesRequest. //////////////////////////////////////////////////////////////////// 88 inline AnimateVerticesRequest::AnimateVerticesRequest(GeomVertexData *geom_vertex_data); 1865 8 is_ready 4 2685 32 AnimateVerticesRequest::is_ready 0 1 494 322 //////////////////////////////////////////////////////////////////// // Function: AnimateVerticesRequest::is_ready // Access: Published // Description: Returns true if this request has completed, false if // it is still pending. //////////////////////////////////////////////////////////////////// 57 inline bool AnimateVerticesRequest::is_ready(void) const; 1866 14 get_class_type 4 2685 38 AnimateVerticesRequest::get_class_type 0 1 495 0 63 static TypeHandle AnimateVerticesRequest::get_class_type(void); 1867 23 ~AnimateVerticesRequest 4 2685 47 AnimateVerticesRequest::~AnimateVerticesRequest 0 0 0 54 AnimateVerticesRequest::~AnimateVerticesRequest(void); 1868 14 get_class_type 4 2687 28 SavedContext::get_class_type 0 1 496 0 53 static TypeHandle SavedContext::get_class_type(void); 1869 13 ~SavedContext 4 2687 27 SavedContext::~SavedContext 0 0 0 34 SavedContext::~SavedContext(void); 1870 22 upcast_to_SavedContext 12 2689 37 BufferContext::upcast_to_SavedContext 0 1 502 41 upcast from BufferContext to SavedContext 58 SavedContext *BufferContext::upcast_to_SavedContext(void); 1871 25 downcast_to_BufferContext 12 2687 39 SavedContext::downcast_to_BufferContext 0 1 503 43 downcast from SavedContext to BufferContext 61 BufferContext *SavedContext::downcast_to_BufferContext(void); 1872 14 ~BufferContext 4 2689 29 BufferContext::~BufferContext 0 0 230 //////////////////////////////////////////////////////////////////// // Function: BufferContext::Destructor // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 44 virtual BufferContext::~BufferContext(void); 1873 19 get_data_size_bytes 4 2689 34 BufferContext::get_data_size_bytes 0 1 497 1039 // Filename: bufferContext.I // Created by: drose (16Mar06) // //////////////////////////////////////////////////////////////////// // // 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: BufferContext::get_data_size_bytes // Access: Public // Description: Returns the number of bytes previously reported for // the data object. This is used to track changes in // the data object's allocated size; if it changes from // this, we need to create a new buffer. This is also // used to track memory utilization in PStats. //////////////////////////////////////////////////////////////////// 67 inline unsigned int BufferContext::get_data_size_bytes(void) const; 1874 12 get_modified 4 2689 27 BufferContext::get_modified 0 1 498 320 //////////////////////////////////////////////////////////////////// // Function: BufferContext::get_modified // Access: Public // Description: Returns the UpdateSeq that was recorded the last time // mark_loaded() was called. //////////////////////////////////////////////////////////////////// 57 inline UpdateSeq BufferContext::get_modified(void) const; 1875 10 get_active 4 2689 25 BufferContext::get_active 0 1 499 382 //////////////////////////////////////////////////////////////////// // Function: BufferContext::get_active // Access: Public // Description: Returns the active flag associated with this object. // An object is considered "active" if it was rendered // in the current frame. //////////////////////////////////////////////////////////////////// 50 inline bool BufferContext::get_active(void) const; 1876 12 get_resident 4 2689 27 BufferContext::get_resident 0 1 500 396 //////////////////////////////////////////////////////////////////// // Function: BufferContext::get_resident // Access: Public // Description: Returns the resident flag associated with this // object. An object is considered "resident" if it // appears to be resident in texture memory. //////////////////////////////////////////////////////////////////// 52 inline bool BufferContext::get_resident(void) const; 1877 14 get_class_type 4 2689 29 BufferContext::get_class_type 0 1 501 0 54 static TypeHandle BufferContext::get_class_type(void); 1878 27 upcast_to_CopyOnWriteObject 12 2690 42 GeomPrimitive::upcast_to_CopyOnWriteObject 0 1 573 46 upcast from GeomPrimitive to CopyOnWriteObject 68 CopyOnWriteObject *GeomPrimitive::upcast_to_CopyOnWriteObject(void); 1879 25 downcast_to_GeomPrimitive 12 2675 44 CopyOnWriteObject::downcast_to_GeomPrimitive 0 1 574 48 downcast from CopyOnWriteObject to GeomPrimitive 66 GeomPrimitive *CopyOnWriteObject::downcast_to_GeomPrimitive(void); 1880 19 upcast_to_GeomEnums 12 2690 34 GeomPrimitive::upcast_to_GeomEnums 0 1 575 38 upcast from GeomPrimitive to GeomEnums 52 GeomEnums *GeomPrimitive::upcast_to_GeomEnums(void); 1881 25 downcast_to_GeomPrimitive 12 2647 36 GeomEnums::downcast_to_GeomPrimitive 0 1 576 40 downcast from GeomEnums to GeomPrimitive 58 GeomPrimitive *GeomEnums::downcast_to_GeomPrimitive(void); 1882 10 operator = 4 2690 25 GeomPrimitive::operator = 0 1 504 478 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a GeomPrimitive that is // actively being used for rendering. //////////////////////////////////////////////////////////////////// 58 void GeomPrimitive::operator =(GeomPrimitive const ©); 1883 14 ~GeomPrimitive 4 2690 29 GeomPrimitive::~GeomPrimitive 0 0 234 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 44 virtual GeomPrimitive::~GeomPrimitive(void); 1884 12 operator new 4 2690 27 GeomPrimitive::operator new 0 1 505 0 132 inline void *GeomPrimitive::operator new(unsigned int size); inline void *GeomPrimitive::operator new(unsigned int size, void *ptr); 1885 15 operator delete 4 2690 30 GeomPrimitive::operator delete 0 0 0 114 inline void GeomPrimitive::operator delete(void *ptr); inline void GeomPrimitive::operator delete(void *, void *); 1886 12 validate_ptr 4 2690 27 GeomPrimitive::validate_ptr 0 0 0 64 static inline bool GeomPrimitive::validate_ptr(void const *ptr); 1887 9 make_copy 4 2690 24 GeomPrimitive::make_copy 0 1 506 0 76 virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0; 1888 18 get_primitive_type 4 2690 33 GeomPrimitive::get_primitive_type 0 1 507 0 83 virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0; 1889 18 get_geom_rendering 4 2690 33 GeomPrimitive::get_geom_rendering 0 1 508 397 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_geom_rendering // Access: Published, Virtual // Description: Returns the set of GeomRendering bits that represent // the rendering properties required to properly render // this primitive. //////////////////////////////////////////////////////////////////// 58 virtual int GeomPrimitive::get_geom_rendering(void) const; 1890 15 get_shade_model 4 2690 30 GeomPrimitive::get_shade_model 0 1 509 905 // Filename: geomPrimitive.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomPrimitive::get_shade_model // Access: Published // Description: Returns the ShadeModel hint for this primitive. // This is intended as a hint to the renderer to tell it // how the per-vertex colors and normals are applied. //////////////////////////////////////////////////////////////////// 72 inline GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const; 1891 15 set_shade_model 4 2690 30 GeomPrimitive::set_shade_model 0 1 510 865 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_shade_model // Access: Published // Description: Changes the ShadeModel hint for this primitive. // This is different from the ShadeModelAttrib that // might also be applied from the scene graph. This // does not affect the shade model that is in effect // when rendering, but rather serves as a hint to the // renderer to tell it how the per-vertex colors and // normals on this primitive are applied. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 78 inline void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model); 1892 14 get_usage_hint 4 2690 29 GeomPrimitive::get_usage_hint 0 1 511 921 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_usage_hint // Access: Published // Description: Returns the usage hint for this primitive. See // geomEnums.h. This has nothing to do with the usage // hint associated with the primitive's vertices; this // only specifies how often the vertex indices that // define the primitive will be modified. // // It is perfectly legal (and, in fact, common) for a // GeomPrimitive to have UH_static on itself, while // referencing vertex data with UH_dynamic. This means // that the vertices themselves will be animated, but // the primitive will always reference the same set of // vertices from the pool. //////////////////////////////////////////////////////////////////// 70 inline GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const; 1893 14 set_usage_hint 4 2690 29 GeomPrimitive::set_usage_hint 0 1 512 512 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for this primitive. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 68 void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint); 1894 14 get_index_type 4 2690 29 GeomPrimitive::get_index_type 0 1 513 342 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_index_type // Access: Public // Description: Returns the numeric type of the index column. // Normally, this will be either NT_uint16 or NT_uint32. //////////////////////////////////////////////////////////////////// 72 inline GeomEnums::NumericType GeomPrimitive::get_index_type(void) const; 1895 14 set_index_type 4 2690 29 GeomPrimitive::set_index_type 0 1 514 939 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_index_type // Access: Published // Description: Changes the numeric type of the index column. // Normally, this should be either NT_uint16 or // NT_uint32. // // The index type must be large enough to include all of // the index values in the primitive. It may be // automatically elevated, if necessary, to a larger // index type, by a subsequent call to add_index() that // names an index value that does not fit in the index // type you specify. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 70 void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type); 1896 12 is_composite 4 2690 27 GeomPrimitive::is_composite 0 1 515 816 // The following published methods are provided for safe, high-level // iteration through the vertices and sub-primitives within the // GeomPrimitive class. These work correctly regardless of the // primitive type and without depending on knowledge about the way // primitives' lengths are encoded. You can also safely build up a // composite primitive using these methods. //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::is_composite // Access: Published // Description: Returns true if the primitive is a composite // primitive such as a tristrip or trifan, or false if // it is a fundamental primitive such as a collection of // triangles. //////////////////////////////////////////////////////////////////// 52 inline bool GeomPrimitive::is_composite(void) const; 1897 10 is_indexed 4 2690 25 GeomPrimitive::is_indexed 0 1 516 683 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::is_indexed // Access: Published // Description: Returns true if the primitive is indexed, false // otherwise. An indexed primitive stores a table of // index numbers into its GeomVertexData, so that it can // reference the vertices in any order. A nonindexed // primitive, on the other hand, stores only the first // vertex number and number of vertices used, so that it // can only reference the vertices consecutively. //////////////////////////////////////////////////////////////////// 50 inline bool GeomPrimitive::is_indexed(void) const; 1898 16 get_first_vertex 4 2690 31 GeomPrimitive::get_first_vertex 0 1 517 536 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_first_vertex // Access: Published // Description: Returns the first vertex number referenced by the // primitive. This is particularly important in the // case of a nonindexed primitive, in which case // get_first_vertex() and get_num_vertices() completely // define the extent of the vertex range. //////////////////////////////////////////////////////////////////// 55 inline int GeomPrimitive::get_first_vertex(void) const; 1899 16 get_num_vertices 4 2690 31 GeomPrimitive::get_num_vertices 0 1 518 321 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_vertices // Access: Published // Description: Returns the number of vertices used by all the // primitives in this object. //////////////////////////////////////////////////////////////////// 55 inline int GeomPrimitive::get_num_vertices(void) const; 1900 10 get_vertex 4 2690 25 GeomPrimitive::get_vertex 0 1 519 267 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_vertex // Access: Published // Description: Returns the ith vertex index in the table. //////////////////////////////////////////////////////////////////// 50 inline int GeomPrimitive::get_vertex(int i) const; 1901 10 add_vertex 4 2690 25 GeomPrimitive::add_vertex 0 1 520 780 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertex // Access: Published // Description: Adds the indicated vertex to the list of vertex // indices used by the graphics primitive type. To // define a primitive, you must call add_vertex() for // each vertex of the new primitive, and then call // close_primitive() after you have specified the last // vertex of each primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 43 void GeomPrimitive::add_vertex(int vertex); 1902 12 add_vertices 4 2690 27 GeomPrimitive::add_vertices 0 3 521 522 523 769 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertices // Access: Public // Description: Adds several vertices in a row. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertices // Access: Public // Description: Adds several vertices in a row. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertices // Access: Public // Description: Adds several vertices in a row. //////////////////////////////////////////////////////////////////// 194 inline void GeomPrimitive::add_vertices(int v1, int v2); inline void GeomPrimitive::add_vertices(int v1, int v2, int v3); inline void GeomPrimitive::add_vertices(int v1, int v2, int v3, int v4); 1903 24 add_consecutive_vertices 4 2690 39 GeomPrimitive::add_consecutive_vertices 0 1 524 531 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_consecutive_vertices // Access: Published // Description: Adds a consecutive sequence of vertices, beginning at // start, to the primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 74 void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices); 1904 17 add_next_vertices 4 2690 32 GeomPrimitive::add_next_vertices 0 1 525 621 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_next_vertices // Access: Published // Description: Adds the next n vertices in sequence, beginning from // the last vertex added to the primitive + 1. // // This is most useful when you are building up a // primitive and a GeomVertexData at the same time, and // you just want the primitive to reference the first n // vertices from the data, then the next n, and so on. //////////////////////////////////////////////////////////////////// 56 void GeomPrimitive::add_next_vertices(int num_vertices); 1905 15 close_primitive 4 2690 30 GeomPrimitive::close_primitive 0 1 526 654 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::close_primitive // Access: Published // Description: Indicates that the previous n calls to add_vertex(), // since the last call to close_primitive(), have fully // defined a new primitive. Returns true if successful, // false otherwise. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 42 bool GeomPrimitive::close_primitive(void); 1906 14 clear_vertices 4 2690 29 GeomPrimitive::clear_vertices 0 1 527 527 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::clear_vertices // Access: Published // Description: Removes all of the vertices and primitives from the // object, so they can be re-added. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 41 void GeomPrimitive::clear_vertices(void); 1907 15 offset_vertices 4 2690 30 GeomPrimitive::offset_vertices 0 1 528 508 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::offset_vertices // Access: Published // Description: Adds the indicated offset to all vertices used by the // primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 48 void GeomPrimitive::offset_vertices(int offset); 1908 15 make_nonindexed 4 2690 30 GeomPrimitive::make_nonindexed 0 1 529 390 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::make_nonindexed // Access: Published // Description: Converts the primitive from indexed to nonindexed by // duplicating vertices as necessary into the indicated // dest GeomVertexData. //////////////////////////////////////////////////////////////////// 88 void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source); 1909 13 pack_vertices 4 2690 28 GeomPrimitive::pack_vertices 0 1 530 383 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::pack_vertices // Access: Published // Description: Packs the vertices used by the primitive from the // indicated source array onto the end of the indicated // destination array. //////////////////////////////////////////////////////////////////// 86 void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source); 1910 12 make_indexed 4 2690 27 GeomPrimitive::make_indexed 0 1 531 817 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::make_indexed // Access: Published // Description: Converts the primitive from nonindexed form to // indexed form. This will simply create an index table // that is numbered consecutively from // get_first_vertex(); it does not automatically // collapse together identical vertices that may have // been split apart by a previous call to // make_nonindexed(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 39 void GeomPrimitive::make_indexed(void); 1911 18 get_num_primitives 4 2690 33 GeomPrimitive::get_num_primitives 0 1 532 372 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_primitives // Access: Published // Description: Returns the number of individual primitives stored // within this object. All primitives are the same // type. //////////////////////////////////////////////////////////////////// 57 inline int GeomPrimitive::get_num_primitives(void) const; 1912 19 get_primitive_start 4 2690 34 GeomPrimitive::get_primitive_start 0 1 533 800 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_start // Access: Published // Description: Returns the element within the _vertices list at which // the nth primitive starts. // // If i is one more than the highest valid primitive // vertex, the return value will be one more than the // last valid vertex. Thus, it is generally true that // the vertices used by a particular primitive i are the // set get_primitive_start(n) <= vi < // get_primitive_start(n + 1) (although this range also // includes the unused vertices between primitives). //////////////////////////////////////////////////////////////////// 52 int GeomPrimitive::get_primitive_start(int n) const; 1913 17 get_primitive_end 4 2690 32 GeomPrimitive::get_primitive_end 0 1 534 408 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_end // Access: Published // Description: Returns the element within the _vertices list at which // the nth primitive ends. This is one past the last // valid element for the nth primitive. //////////////////////////////////////////////////////////////////// 50 int GeomPrimitive::get_primitive_end(int n) const; 1914 26 get_primitive_num_vertices 4 2690 41 GeomPrimitive::get_primitive_num_vertices 0 1 535 406 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_num_vertices // Access: Published // Description: Returns the number of vertices used by the nth // primitive. This is the same thing as // get_primitive_end(n) - get_primitive_start(n). //////////////////////////////////////////////////////////////////// 59 int GeomPrimitive::get_primitive_num_vertices(int n) const; 1915 13 get_num_faces 4 2690 28 GeomPrimitive::get_num_faces 0 1 536 393 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_faces // Access: Published // Description: Returns the number of triangles or other fundamental // type (such as line segments) represented by all the // primitives in this object. //////////////////////////////////////////////////////////////////// 52 inline int GeomPrimitive::get_num_faces(void) const; 1916 23 get_primitive_num_faces 4 2690 38 GeomPrimitive::get_primitive_num_faces 0 1 537 402 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_num_faces // Access: Published // Description: Returns the number of triangles or other fundamental // type (such as line segments) represented by the nth // primitive in this object. //////////////////////////////////////////////////////////////////// 63 inline int GeomPrimitive::get_primitive_num_faces(int n) const; 1917 14 get_min_vertex 4 2690 29 GeomPrimitive::get_min_vertex 0 1 538 328 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_min_vertex // Access: Published // Description: Returns the minimum vertex index number used by all // the primitives in this object. //////////////////////////////////////////////////////////////////// 53 inline int GeomPrimitive::get_min_vertex(void) const; 1918 24 get_primitive_min_vertex 4 2690 39 GeomPrimitive::get_primitive_min_vertex 0 1 539 337 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_min_vertex // Access: Published // Description: Returns the minimum vertex index number used by the // nth primitive in this object. //////////////////////////////////////////////////////////////////// 57 int GeomPrimitive::get_primitive_min_vertex(int n) const; 1919 14 get_max_vertex 4 2690 29 GeomPrimitive::get_max_vertex 0 1 540 328 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_max_vertex // Access: Published // Description: Returns the maximum vertex index number used by all // the primitives in this object. //////////////////////////////////////////////////////////////////// 53 inline int GeomPrimitive::get_max_vertex(void) const; 1920 24 get_primitive_max_vertex 4 2690 39 GeomPrimitive::get_primitive_max_vertex 0 1 541 337 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_max_vertex // Access: Published // Description: Returns the maximum vertex index number used by the // nth primitive in this object. //////////////////////////////////////////////////////////////////// 57 int GeomPrimitive::get_primitive_max_vertex(int n) const; 1921 9 decompose 4 2690 24 GeomPrimitive::decompose 0 1 542 795 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::decompose // Access: Published // Description: Decomposes a complex primitive type into a simpler // primitive type, for instance triangle strips to // triangles, and returns a pointer to the new primitive // definition. If the decomposition cannot be // performed, this might return the original object. // // This method is useful for application code that wants // to iterate through the set of triangles on the // primitive without having to write handlers for each // possible kind of primitive type. //////////////////////////////////////////////////////////////////// 69 ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const; 1922 6 rotate 4 2690 21 GeomPrimitive::rotate 0 1 543 739 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::rotate // Access: Published // Description: Returns a new primitive with the shade_model reversed // (if it is flat shaded), if possible. If the // primitive type cannot be rotated, returns the // original primitive, unrotated. // // If the current shade_model indicates // flat_vertex_last, this should bring the last vertex // to the first position; if it indicates // flat_vertex_first, this should bring the first vertex // to the last position. //////////////////////////////////////////////////////////////////// 66 ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const; 1923 10 doubleside 4 2690 25 GeomPrimitive::doubleside 0 1 544 842 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::doubleside // Access: Published // Description: Duplicates triangles in the primitive so that each // triangle is back-to-back with another triangle facing // in the opposite direction. Note that this doesn't // affect vertex normals, so this operation alone won't // work in the presence of lighting (but see // SceneGraphReducer::doubleside()). // // Also see CullFaceAttrib, which can enable rendering // of both sides of a triangle without having to // duplicate it (but which doesn't necessarily work in // the presence of lighting). //////////////////////////////////////////////////////////////////// 70 ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const; 1924 7 reverse 4 2690 22 GeomPrimitive::reverse 0 1 545 823 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::reverse // Access: Published // Description: Reverses the winding order in the primitive so that // each triangle is facing in the opposite direction it // was originally. Note that this doesn't affect vertex // normals, so this operation alone won't work in the // presence of lighting (but see // SceneGraphReducer::reverse()). // // Also see CullFaceAttrib, which can change the visible // direction of a triangle without having to duplicate // it (but which doesn't necessarily work in the // presence of lighting). //////////////////////////////////////////////////////////////////// 67 ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const; 1925 17 match_shade_model 4 2690 32 GeomPrimitive::match_shade_model 0 1 546 672 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::match_shade_model // Access: Published // Description: Returns a new primitive that is compatible with the // indicated shade model, if possible, or NULL if this // is not possible. // // In most cases, this will return either NULL or the // original primitive. In the case of a // SM_flat_first_vertex vs. a SM_flat_last_vertex (or // vice-versa), however, it will return a rotated // primitive. //////////////////////////////////////////////////////////////////// 106 ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const; 1926 11 make_points 4 2690 26 GeomPrimitive::make_points 0 1 547 519 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::make_points // Access: Published // Description: Returns a new GeomPoints primitive that represents // each of the vertices in the original primitive, // rendered exactly once. If the original primitive is // already a GeomPoints primitive, returns the original // primitive unchanged. //////////////////////////////////////////////////////////////////// 71 ConstPointerTo< GeomPrimitive > GeomPrimitive::make_points(void) const; 1927 13 get_num_bytes 4 2690 28 GeomPrimitive::get_num_bytes 0 1 548 322 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_bytes // Access: Published // Description: Returns the number of bytes consumed by the primitive // and its index table(s). //////////////////////////////////////////////////////////////////// 45 int GeomPrimitive::get_num_bytes(void) const; 1928 19 get_data_size_bytes 4 2690 34 GeomPrimitive::get_data_size_bytes 0 1 549 308 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_data_size_bytes // Access: Published // Description: Returns the number of bytes stored in the vertices // array. //////////////////////////////////////////////////////////////////// 58 inline int GeomPrimitive::get_data_size_bytes(void) const; 1929 12 get_modified 4 2690 27 GeomPrimitive::get_modified 0 1 550 372 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the vertex index array is // modified. //////////////////////////////////////////////////////////////////// 57 inline UpdateSeq GeomPrimitive::get_modified(void) const; 1930 16 request_resident 4 2690 31 GeomPrimitive::request_resident 0 1 551 451 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::request_resident // Access: Published // Description: Returns true if the primitive data is currently // resident in memory. If this returns false, the // primitive data will be brought back into memory // shortly; try again later. //////////////////////////////////////////////////////////////////// 49 bool GeomPrimitive::request_resident(void) const; 1931 11 check_valid 4 2690 26 GeomPrimitive::check_valid 0 1 552 455 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::check_valid // Access: Published // Description: Verifies that the primitive only references vertices // that actually exist within the indicated // GeomVertexData. Returns true if the primitive // appears to be valid, false otherwise. //////////////////////////////////////////////////////////////////// 80 inline bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const; 1932 6 output 4 2690 21 GeomPrimitive::output 0 1 553 230 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 55 virtual void GeomPrimitive::output(ostream &out) const; 1933 5 write 4 2690 20 GeomPrimitive::write 0 1 554 229 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 72 virtual void GeomPrimitive::write(ostream &out, int indent_level) const; 1934 12 get_vertices 4 2690 27 GeomPrimitive::get_vertices 0 1 555 1361 // These public methods are not intended for high-level usage. They // are public so that low-level code that absolutely needs fast // access to the primitive data can get to it, but using them // requires knowledge about how the component primitives are encoded // within the GeomPrimitive class, and it's easy to screw something // up. Also, if too many code samples depend on this internal // knowledge, it may make it difficult to extend this class later. // It is recommended that application-level code use the above // interfaces instead. //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_vertices // Access: Published // Description: Returns a const pointer to the vertex index array so // application code can read it directly. This might // return NULL if the primitive is nonindexed. Do not // attempt to modify the returned array; use // modify_vertices() or set_vertices() for this. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 85 inline ConstPointerTo< GeomVertexArrayData > GeomPrimitive::get_vertices(void) const; 1935 15 modify_vertices 4 2690 30 GeomPrimitive::modify_vertices 0 2 556 557 1321 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::modify_vertices // Access: Published // Description: Returns a modifiable pointer to the vertex index // list, so application code can directly fiddle with // this data. Use with caution, since there are no // checks that the data will be left in a stable state. // // If this is called on a nonindexed primitive, it will // implicitly be converted to an indexed primitive. // // If num_vertices is not -1, it specifies an artificial // limit to the number of vertices in the array. // Otherwise, all of the vertices in the array will be // used. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 89 PointerTo< GeomVertexArrayData > GeomPrimitive::modify_vertices(int num_vertices = (-1)); 1936 12 set_vertices 4 2690 27 GeomPrimitive::set_vertices 0 2 558 559 1115 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_vertices // Access: Published // Description: Completely replaces the vertex index list with a new // table. Chances are good that you should also replace // the ends list with set_ends() at the same time. // // If num_vertices is not -1, it specifies an artificial // limit to the number of vertices in the array. // Otherwise, all of the vertices in the array will be // used. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 95 void GeomPrimitive::set_vertices(GeomVertexArrayData const *vertices, int num_vertices = (-1)); 1937 23 set_nonindexed_vertices 4 2690 38 GeomPrimitive::set_nonindexed_vertices 0 1 560 808 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_nonindexed_vertices // Access: Published // Description: Sets the primitive up as a nonindexed primitive, // using the indicated vertex range. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 80 void GeomPrimitive::set_nonindexed_vertices(int first_vertex, int num_vertices); 1938 16 get_index_stride 4 2690 31 GeomPrimitive::get_index_stride 0 1 561 642 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_index_stride // Access: Published // Description: A convenience function to return the gap between // successive index numbers, in bytes, of the index // data. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 55 inline int GeomPrimitive::get_index_stride(void) const; 1939 8 get_ends 4 2690 23 GeomPrimitive::get_ends 0 1 562 936 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_ends // Access: Published // Description: Returns a const pointer to the primitive ends // array so application code can read it directly. Do // not attempt to modify the returned array; use // modify_ends() or set_ends() for this. // // Note that simple primitive types, like triangles, do // not have a ends array: since all the primitives // have the same number of vertices, it is not needed. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 70 inline ConstPointerToArray< int > GeomPrimitive::get_ends(void) const; 1940 11 modify_ends 4 2690 26 GeomPrimitive::modify_ends 0 1 563 1159 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::modify_ends // Access: Published // Description: Returns a modifiable pointer to the primitive ends // array, so application code can directly fiddle with // this data. Use with caution, since there are no // checks that the data will be left in a stable state. // // Note that simple primitive types, like triangles, do // not have a ends array: since all the primitives // have the same number of vertices, it is not needed. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 55 PointerToArray< int > GeomPrimitive::modify_ends(void); 1941 8 set_ends 4 2690 23 GeomPrimitive::set_ends 0 1 564 1117 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_ends // Access: Published // Description: Completely replaces the primitive ends array with // a new table. Chances are good that you should also // replace the vertices list with set_vertices() at the // same time. // // Note that simple primitive types, like triangles, do // not have a ends array: since all the primitives // have the same number of vertices, it is not needed. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 62 void GeomPrimitive::set_ends(ConstPointerToArray< int > ends); 1942 8 get_mins 4 2690 23 GeomPrimitive::get_mins 0 1 565 827 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_mins // Access: Published // Description: Returns a const pointer to the primitive mins // array so application code can read it directly. Do // not attempt to modify the returned array; use // set_minmax() for this. // // Note that simple primitive types, like triangles, do // not have a mins array. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 81 inline ConstPointerTo< GeomVertexArrayData > GeomPrimitive::get_mins(void) const; 1943 8 get_maxs 4 2690 23 GeomPrimitive::get_maxs 0 1 566 818 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_maxs // Access: Published // Description: Returns a const pointer to the primitive maxs // array so application code can read it directly. Do // not attempt to modify the returned array; use // set_minmax(). // // Note that simple primitive types, like triangles, do // not have a maxs array. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 81 inline ConstPointerTo< GeomVertexArrayData > GeomPrimitive::get_maxs(void) const; 1944 10 set_minmax 4 2690 25 GeomPrimitive::set_minmax 0 1 567 1093 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_minmax // Access: Published // Description: Explicitly specifies the minimum and maximum // vertices, as well as the lists of per-component min // and max. // // Use this method with extreme caution. It's generally // better to let the GeomPrimitive compute these // explicitly, unless for some reason you can do it // faster and you absolutely need the speed improvement. // // Note that any modification to the vertex array will // normally cause this to be recomputed, unless you set // it immediately again. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 117 void GeomPrimitive::set_minmax(int min_vertex, int max_vertex, GeomVertexArrayData *mins, GeomVertexArrayData *maxs); 1945 12 clear_minmax 4 2690 27 GeomPrimitive::clear_minmax 0 1 568 643 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::clear_minmax // Access: Published // Description: Undoes a previous call to set_minmax(), and allows // the minimum and maximum values to be recomputed // normally. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 39 void GeomPrimitive::clear_minmax(void); 1946 30 get_num_vertices_per_primitive 4 2690 45 GeomPrimitive::get_num_vertices_per_primitive 0 1 569 948 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_vertices_per_primitive // Access: Published, Virtual // Description: If the primitive type is a simple type in which all // primitives have the same number of vertices, like // triangles, returns the number of vertices per // primitive. If the primitive type is a more complex // type in which different primitives might have // different numbers of vertices, for instance a // triangle strip, returns 0. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 70 virtual int GeomPrimitive::get_num_vertices_per_primitive(void) const; 1947 34 get_min_num_vertices_per_primitive 4 2690 49 GeomPrimitive::get_min_num_vertices_per_primitive 0 1 570 654 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_min_num_vertices_per_primitive // Access: Published, Virtual // Description: Returns the minimum number of vertices that must be // added before close_primitive() may legally be called. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 74 virtual int GeomPrimitive::get_min_num_vertices_per_primitive(void) const; 1948 37 get_num_unused_vertices_per_primitive 4 2690 52 GeomPrimitive::get_num_unused_vertices_per_primitive 0 1 571 845 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_unused_vertices_per_primitive // Access: Published, Virtual // Description: Returns the number of vertices that are added between // primitives that aren't, strictly speaking, part of // the primitives themselves. This is used, for // instance, to define degenerate triangles to connect // otherwise disconnected triangle strips. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 77 virtual int GeomPrimitive::get_num_unused_vertices_per_primitive(void) const; 1949 14 get_class_type 4 2690 29 GeomPrimitive::get_class_type 0 1 572 0 54 static TypeHandle GeomPrimitive::get_class_type(void); 1950 12 TextureStage 4 2691 26 TextureStage::TextureStage 0 2 577 578 1028 // Filename: textureStage.I // Created by: masad (15Jul04) // //////////////////////////////////////////////////////////////////// // // 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: TextureStage::Copy Constructor // Access: Published // Description: Initialize the texture stage from other //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureStage::Constructor // Access: Published // Description: Initialize the texture stage at construction //////////////////////////////////////////////////////////////////// 116 TextureStage::TextureStage(basic_string< char > const &name); inline TextureStage::TextureStage(TextureStage ©); 1951 10 operator = 4 2691 24 TextureStage::operator = 0 1 579 262 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator = // Access: Published // Description: just copy the members of other to this //////////////////////////////////////////////////////////////////// 56 void TextureStage::operator =(TextureStage const ©); 1952 8 set_name 4 2691 22 TextureStage::set_name 0 1 580 260 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_name // Access: Published // Description: Changes the name of this texture stage //////////////////////////////////////////////////////////////////// 69 inline void TextureStage::set_name(basic_string< char > const &name); 1953 8 get_name 4 2691 22 TextureStage::get_name 0 1 581 260 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_name // Access: Published // Description: Returns the name of this texture stage //////////////////////////////////////////////////////////////////// 70 inline basic_string< char > const &TextureStage::get_name(void) const; 1954 8 set_sort 4 2691 22 TextureStage::set_sort 0 1 582 768 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_sort // Access: Published // Description: Changes the order in which the texture associated // with this stage is rendered relative to the other // texture stages. When geometry is rendered with // multiple textures, the textures are rendered in order // from the lowest sort number to the highest sort // number. // // Also see set_priority(), which is used to select the // most important textures for rendering when some must // be omitted because of hardware limitations. //////////////////////////////////////////////////////////////////// 45 inline void TextureStage::set_sort(int sort); 1955 8 get_sort 4 2691 22 TextureStage::get_sort 0 1 583 267 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_sort // Access: Published // Description: Returns the sort order of this texture stage. //////////////////////////////////////////////////////////////////// 46 inline int TextureStage::get_sort(void) const; 1956 12 set_priority 4 2691 26 TextureStage::set_priority 0 1 584 919 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_priority // Access: Published // Description: Changes the relative importance of the texture // associated with this stage relative to the other // texture stages that are applied simultaneously. // // This is unrelated to set_sort(), which controls the // order in which multiple textures are applied. The // priority number is used to decide which of the // requested textures are to be selected for rendering // when more textures are requested than the hardware // will support. The highest-priority n textures are // selected for rendering, and then rendered in order by // their sort factor. //////////////////////////////////////////////////////////////////// 53 inline void TextureStage::set_priority(int priority); 1957 12 get_priority 4 2691 26 TextureStage::get_priority 0 1 585 406 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_priority // Access: Published // Description: Returns the priority associated with this stage. // // This is specially helpful for cards that do not // support more than n stages of multi-texturing. //////////////////////////////////////////////////////////////////// 50 inline int TextureStage::get_priority(void) const; 1958 17 set_texcoord_name 4 2691 31 TextureStage::set_texcoord_name 0 2 586 587 826 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_texcoord_name // Access: Published // Description: Indicate which set of UV's this texture stage will // use. Geometry may have any number of associated UV // sets, each of which must have a unique name. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_texcoord_name // Access: Published // Description: Indicate which set of UV's this texture stage will // use. Geometry may have any number of associated UV // sets, each of which must have a unique name. //////////////////////////////////////////////////////////////////// 152 inline void TextureStage::set_texcoord_name(InternalName *name); inline void TextureStage::set_texcoord_name(basic_string< char > const &texcoord_name); 1959 17 get_texcoord_name 4 2691 31 TextureStage::get_texcoord_name 0 1 588 255 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_texcoord_name // Access: Published // Description: Returns the InternalName //////////////////////////////////////////////////////////////////// 65 inline InternalName *TextureStage::get_texcoord_name(void) const; 1960 8 set_mode 4 2691 22 TextureStage::set_mode 0 1 589 256 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_mode // Access: Published // Description: Set the mode of this texture stage //////////////////////////////////////////////////////////////////// 60 inline void TextureStage::set_mode(TextureStage::Mode mode); 1961 8 get_mode 4 2691 22 TextureStage::get_mode 0 1 590 251 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_mode // Access: Published // Description: Return the mode of this stage //////////////////////////////////////////////////////////////////// 61 inline TextureStage::Mode TextureStage::get_mode(void) const; 1962 17 is_fixed_function 4 2691 31 TextureStage::is_fixed_function 0 1 591 416 //////////////////////////////////////////////////////////////////// // Function: TextureStage::is_fixed_function // Access: Published // Description: Returns true if the TextureStage is relevant to // the classic fixed function pipeline. This excludes // texture stages such as normal mapping and the like. //////////////////////////////////////////////////////////////////// 56 inline bool TextureStage::is_fixed_function(void) const; 1963 9 set_color 4 2691 23 TextureStage::set_color 0 1 592 251 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_color // Access: Published // Description: Set the color for this stage //////////////////////////////////////////////////////////////////// 61 inline void TextureStage::set_color(LVecBase4f const &color); 1964 9 get_color 4 2691 23 TextureStage::get_color 0 1 593 254 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_color // Access: Published // Description: return the color for this stage //////////////////////////////////////////////////////////////////// 54 inline LVecBase4f TextureStage::get_color(void) const; 1965 13 set_rgb_scale 4 2691 27 TextureStage::set_rgb_scale 0 1 594 490 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_rgb_scale // Access: Published // Description: Sets an additional factor that will scale all three // r, g, b components after the texture has been // applied. This is used only when the mode is // CM_combine. // // The only legal values are 1, 2, or 4. //////////////////////////////////////////////////////////////////// 55 inline void TextureStage::set_rgb_scale(int rgb_scale); 1966 13 get_rgb_scale 4 2691 27 TextureStage::get_rgb_scale 0 1 595 247 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_rgb_scale // Access: Published // Description: See set_rgb_scale(). //////////////////////////////////////////////////////////////////// 51 inline int TextureStage::get_rgb_scale(void) const; 1967 15 set_alpha_scale 4 2691 29 TextureStage::set_alpha_scale 0 1 596 465 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_alpha_scale // Access: Published // Description: Sets an additional factor that will scale the // alpha component after the texture has been applied. // This is used only when the mode is CM_combine. // // The only legal values are 1, 2, or 4. //////////////////////////////////////////////////////////////////// 59 inline void TextureStage::set_alpha_scale(int alpha_scale); 1968 15 get_alpha_scale 4 2691 29 TextureStage::get_alpha_scale 0 1 597 251 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_alpha_scale // Access: Published // Description: See set_alpha_scale(). //////////////////////////////////////////////////////////////////// 53 inline int TextureStage::get_alpha_scale(void) const; 1969 16 set_saved_result 4 2691 30 TextureStage::set_saved_result 0 1 598 825 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_saved_result // Access: Published // Description: Sets the saved_result flag. When this is true, the // output of this stage will be supplied as the // "last_saved_result" source for any future stages, // until the next TextureStage with a saved_result set // true is encountered. // // This can be used to reuse the results of this texture // stage as input to more than one stage later in the // pipeline. // // The last texture in the pipeline (the one with the // highest sort value) should not have this flag set. //////////////////////////////////////////////////////////////////// 62 inline void TextureStage::set_saved_result(bool saved_result); 1970 16 get_saved_result 4 2691 30 TextureStage::get_saved_result 0 1 599 324 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_saved_result // Access: Published // Description: Returns the current setting of the saved_result flag. // See set_saved_result(). //////////////////////////////////////////////////////////////////// 55 inline bool TextureStage::get_saved_result(void) const; 1971 15 set_combine_rgb 4 2691 29 TextureStage::set_combine_rgb 0 3 600 601 602 1213 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_rgb // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_replace only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_rgb // Access: Published // Description: Specifies any of the CombineMode values that // represent a two-parameter operation. Specifically, // this is everything except for CM_replace and // CM_interpolate. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_rgb // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_interpolate only. //////////////////////////////////////////////////////////////////// 680 inline void TextureStage::set_combine_rgb(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0); inline void TextureStage::set_combine_rgb(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0, TextureStage::CombineSource source1, TextureStage::CombineOperand operand1); inline void TextureStage::set_combine_rgb(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0, TextureStage::CombineSource source1, TextureStage::CombineOperand operand1, TextureStage::CombineSource source2, TextureStage::CombineOperand operand2); 1972 20 get_combine_rgb_mode 4 2691 34 TextureStage::get_combine_rgb_mode 0 1 603 258 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_mode // Access: Published // Description: Get the combine_rgb_mode //////////////////////////////////////////////////////////////////// 80 inline TextureStage::CombineMode TextureStage::get_combine_rgb_mode(void) const; 1973 28 get_num_combine_rgb_operands 4 2691 42 TextureStage::get_num_combine_rgb_operands 0 1 604 401 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_num_combine_rgb_operands // Access: Published // Description: Returns the number of meaningful operands that may be // retrieved via get_combine_rgb_sourceN() and // get_combine_rgb_operandN(). //////////////////////////////////////////////////////////////////// 66 inline int TextureStage::get_num_combine_rgb_operands(void) const; 1974 23 get_combine_rgb_source0 4 2691 37 TextureStage::get_combine_rgb_source0 0 1 605 268 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_source0 // Access: Published // Description: Get source0 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 85 inline TextureStage::CombineSource TextureStage::get_combine_rgb_source0(void) const; 1975 24 get_combine_rgb_operand0 4 2691 38 TextureStage::get_combine_rgb_operand0 0 1 606 270 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_operand0 // Access: Published // Description: Get operand0 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 87 inline TextureStage::CombineOperand TextureStage::get_combine_rgb_operand0(void) const; 1976 23 get_combine_rgb_source1 4 2691 37 TextureStage::get_combine_rgb_source1 0 1 607 268 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_source1 // Access: Published // Description: Get source1 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 85 inline TextureStage::CombineSource TextureStage::get_combine_rgb_source1(void) const; 1977 24 get_combine_rgb_operand1 4 2691 38 TextureStage::get_combine_rgb_operand1 0 1 608 270 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_operand1 // Access: Published // Description: Get operand1 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 87 inline TextureStage::CombineOperand TextureStage::get_combine_rgb_operand1(void) const; 1978 23 get_combine_rgb_source2 4 2691 37 TextureStage::get_combine_rgb_source2 0 1 609 268 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_source2 // Access: Published // Description: Get source2 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 85 inline TextureStage::CombineSource TextureStage::get_combine_rgb_source2(void) const; 1979 24 get_combine_rgb_operand2 4 2691 38 TextureStage::get_combine_rgb_operand2 0 1 610 270 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_operand2 // Access: Published // Description: Get operand2 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 87 inline TextureStage::CombineOperand TextureStage::get_combine_rgb_operand2(void) const; 1980 17 set_combine_alpha 4 2691 31 TextureStage::set_combine_alpha 0 3 611 612 613 1219 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_alpha // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_replace only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_alpha // Access: Published // Description: Specifies any of the CombineMode values that // represent a two-parameter operation. Specifically, // this is everything except for CM_replace and // CM_interpolate. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_alpha // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_interpolate only. //////////////////////////////////////////////////////////////////// 686 inline void TextureStage::set_combine_alpha(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0); inline void TextureStage::set_combine_alpha(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0, TextureStage::CombineSource source1, TextureStage::CombineOperand operand1); inline void TextureStage::set_combine_alpha(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0, TextureStage::CombineSource source1, TextureStage::CombineOperand operand1, TextureStage::CombineSource source2, TextureStage::CombineOperand operand2); 1981 22 get_combine_alpha_mode 4 2691 36 TextureStage::get_combine_alpha_mode 0 1 614 253 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha // Access: Published // Description: Get combine_alpha_mode //////////////////////////////////////////////////////////////////// 82 inline TextureStage::CombineMode TextureStage::get_combine_alpha_mode(void) const; 1982 30 get_num_combine_alpha_operands 4 2691 44 TextureStage::get_num_combine_alpha_operands 0 1 615 407 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_num_combine_alpha_operands // Access: Published // Description: Returns the number of meaningful operands that may be // retrieved via get_combine_alpha_sourceN() and // get_combine_alpha_operandN(). //////////////////////////////////////////////////////////////////// 68 inline int TextureStage::get_num_combine_alpha_operands(void) const; 1983 25 get_combine_alpha_source0 4 2691 39 TextureStage::get_combine_alpha_source0 0 1 616 272 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_source0 // Access: Published // Description: Get source0 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 87 inline TextureStage::CombineSource TextureStage::get_combine_alpha_source0(void) const; 1984 26 get_combine_alpha_operand0 4 2691 40 TextureStage::get_combine_alpha_operand0 0 1 617 274 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_operand0 // Access: Published // Description: Get operand0 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 89 inline TextureStage::CombineOperand TextureStage::get_combine_alpha_operand0(void) const; 1985 25 get_combine_alpha_source1 4 2691 39 TextureStage::get_combine_alpha_source1 0 1 618 272 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_source1 // Access: Published // Description: Get source1 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 87 inline TextureStage::CombineSource TextureStage::get_combine_alpha_source1(void) const; 1986 26 get_combine_alpha_operand1 4 2691 40 TextureStage::get_combine_alpha_operand1 0 1 619 274 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_operand1 // Access: Published // Description: Get operand1 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 89 inline TextureStage::CombineOperand TextureStage::get_combine_alpha_operand1(void) const; 1987 25 get_combine_alpha_source2 4 2691 39 TextureStage::get_combine_alpha_source2 0 1 620 272 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_source2 // Access: Published // Description: Get source2 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 87 inline TextureStage::CombineSource TextureStage::get_combine_alpha_source2(void) const; 1988 26 get_combine_alpha_operand2 4 2691 40 TextureStage::get_combine_alpha_operand2 0 1 621 274 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_operand2 // Access: Published // Description: Get operand2 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 89 inline TextureStage::CombineOperand TextureStage::get_combine_alpha_operand2(void) const; 1989 20 involves_color_scale 4 2691 34 TextureStage::involves_color_scale 0 1 622 377 //////////////////////////////////////////////////////////////////// // Function: TextureStage::involves_color_scale // Access: Published // Description: Returns true if the TextureStage is affected by the // setting of the current ColorScaleAttrib, false // otherwise. //////////////////////////////////////////////////////////////////// 59 inline bool TextureStage::involves_color_scale(void) const; 1990 10 uses_color 4 2691 24 TextureStage::uses_color 0 1 623 364 //////////////////////////////////////////////////////////////////// // Function: TextureStage::uses_color // Access: Published // Description: Returns true if the TextureStage makes use of // whatever color is specified in set_color(), false // otherwise. //////////////////////////////////////////////////////////////////// 49 inline bool TextureStage::uses_color(void) const; 1991 18 uses_primary_color 4 2691 32 TextureStage::uses_primary_color 0 1 624 331 //////////////////////////////////////////////////////////////////// // Function: TextureStage::uses_primary_color // Access: Published // Description: Returns true if the TextureStage makes use of // the CS_primary_color combine source. //////////////////////////////////////////////////////////////////// 57 inline bool TextureStage::uses_primary_color(void) const; 1992 22 uses_last_saved_result 4 2691 36 TextureStage::uses_last_saved_result 0 1 625 335 //////////////////////////////////////////////////////////////////// // Function: TextureStage::uses_last_saved_result // Access: Published // Description: Returns true if the TextureStage makes use of // the CS_primary_color combine source. //////////////////////////////////////////////////////////////////// 61 inline bool TextureStage::uses_last_saved_result(void) const; 1993 11 operator == 4 2691 25 TextureStage::operator == 0 1 626 224 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 inline bool TextureStage::operator ==(TextureStage const &other) const; 1994 11 operator != 4 2691 25 TextureStage::operator != 0 1 627 224 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 inline bool TextureStage::operator !=(TextureStage const &other) const; 1995 10 operator < 4 2691 24 TextureStage::operator < 0 1 628 223 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 70 inline bool TextureStage::operator <(TextureStage const &other) const; 1996 10 compare_to 4 2691 24 TextureStage::compare_to 0 1 629 540 //////////////////////////////////////////////////////////////////// // Function: TextureStage::compare_to // Access: Published // Description: Returns a number less than zero if this TextureStage // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. The // sorting order is arbitrary and largely meaningless, // except to differentiate different stages. //////////////////////////////////////////////////////////////////// 62 int TextureStage::compare_to(TextureStage const &other) const; 1997 5 write 4 2691 19 TextureStage::write 0 1 630 256 //////////////////////////////////////////////////////////////////// // Function: TextureStage::Destructor // Access: Published // Description: Writes the details of this stage //////////////////////////////////////////////////////////////////// 45 void TextureStage::write(ostream &out) const; 1998 6 output 4 2691 20 TextureStage::output 0 1 631 249 //////////////////////////////////////////////////////////////////// // Function: TextureStage::Destructor // Access: Published // Description: Just a single line output //////////////////////////////////////////////////////////////////// 46 void TextureStage::output(ostream &out) const; 1999 11 get_default 4 2691 25 TextureStage::get_default 0 1 632 447 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_default // Access: Published, Static // Description: Returns the default TextureStage that will be used // for all texturing that does not name a particular // stage. This generally handles the normal // single-texture case. //////////////////////////////////////////////////////////////////// 60 static inline TextureStage *TextureStage::get_default(void); 2000 14 get_class_type 4 2691 28 TextureStage::get_class_type 0 1 633 0 53 static TypeHandle TextureStage::get_class_type(void); 2001 27 upcast_to_CopyOnWriteObject 12 2696 33 Geom::upcast_to_CopyOnWriteObject 0 1 697 37 upcast from Geom to CopyOnWriteObject 59 CopyOnWriteObject *Geom::upcast_to_CopyOnWriteObject(void); 2002 16 downcast_to_Geom 12 2675 35 CopyOnWriteObject::downcast_to_Geom 0 1 698 39 downcast from CopyOnWriteObject to Geom 48 Geom *CopyOnWriteObject::downcast_to_Geom(void); 2003 19 upcast_to_GeomEnums 12 2696 25 Geom::upcast_to_GeomEnums 0 1 699 29 upcast from Geom to GeomEnums 43 GeomEnums *Geom::upcast_to_GeomEnums(void); 2004 16 downcast_to_Geom 12 2647 27 GeomEnums::downcast_to_Geom 0 1 700 31 downcast from GeomEnums to Geom 40 Geom *GeomEnums::downcast_to_Geom(void); 2005 4 Geom 4 2696 10 Geom::Geom 0 1 634 477 //////////////////////////////////////////////////////////////////// // Function: Geom::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Geom::Copy Constructor // Access: Protected // Description: Use make_copy() to duplicate a Geom. //////////////////////////////////////////////////////////////////// 39 Geom::Geom(GeomVertexData const *data); 2006 10 operator = 4 2696 16 Geom::operator = 0 1 635 460 //////////////////////////////////////////////////////////////////// // Function: Geom::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a Geom that is actively // being used for rendering. //////////////////////////////////////////////////////////////////// 40 void Geom::operator =(Geom const ©); 2007 5 ~Geom 4 2696 11 Geom::~Geom 0 0 225 //////////////////////////////////////////////////////////////////// // Function: Geom::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 26 virtual Geom::~Geom(void); 2008 12 operator new 4 2696 18 Geom::operator new 0 1 636 0 114 inline void *Geom::operator new(unsigned int size); inline void *Geom::operator new(unsigned int size, void *ptr); 2009 15 operator delete 4 2696 21 Geom::operator delete 0 0 0 96 inline void Geom::operator delete(void *ptr); inline void Geom::operator delete(void *, void *); 2010 12 validate_ptr 4 2696 18 Geom::validate_ptr 0 0 0 55 static inline bool Geom::validate_ptr(void const *ptr); 2011 9 make_copy 4 2696 15 Geom::make_copy 0 1 637 458 //////////////////////////////////////////////////////////////////// // Function: Geom::make_copy // Access: Protected, Virtual // Description: Returns a newly-allocated Geom that is a shallow copy // of this one. It will be a different Geom pointer, // but its internal data may or may not be shared with // that of the original Geom. //////////////////////////////////////////////////////////////////// 42 virtual Geom *Geom::make_copy(void) const; 2012 18 get_primitive_type 4 2696 24 Geom::get_primitive_type 0 1 638 1144 // Filename: geom.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: Geom::get_primitive_type // Access: Published // Description: Returns the fundamental primitive type that is common // to all GeomPrimitives added within the Geom. All // nested primitives within a particular Geom must be // the same type (that is, you can mix triangles and // tristrips, because they are both the same fundamental // type PT_polygons, but you cannot mix triangles and // points withn the same Geom). //////////////////////////////////////////////////////////////////// 69 inline GeomEnums::PrimitiveType Geom::get_primitive_type(void) const; 2013 15 get_shade_model 4 2696 21 Geom::get_shade_model 0 1 639 359 //////////////////////////////////////////////////////////////////// // Function: Geom::get_shade_model // Access: Published // Description: Returns the shade model common to all of the // individual GeomPrimitives that have been added to the // geom. //////////////////////////////////////////////////////////////////// 63 inline GeomEnums::ShadeModel Geom::get_shade_model(void) const; 2014 18 get_geom_rendering 4 2696 24 Geom::get_geom_rendering 0 1 640 374 //////////////////////////////////////////////////////////////////// // Function: Geom::get_geom_rendering // Access: Published // Description: Returns the set of GeomRendering bits that represent // the rendering properties required to properly render // this Geom. //////////////////////////////////////////////////////////////////// 48 inline int Geom::get_geom_rendering(void) const; 2015 14 get_usage_hint 4 2696 20 Geom::get_usage_hint 0 1 641 381 //////////////////////////////////////////////////////////////////// // Function: Geom::get_usage_hint // Access: Published // Description: Returns the minimum (i.e. most dynamic) usage_hint // among all of the individual GeomPrimitives that have // been added to the geom. //////////////////////////////////////////////////////////////////// 61 inline GeomEnums::UsageHint Geom::get_usage_hint(void) const; 2016 14 set_usage_hint 4 2696 20 Geom::set_usage_hint 0 1 642 558 //////////////////////////////////////////////////////////////////// // Function: Geom::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for all of the primitives // on this Geom to the same value. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 59 void Geom::set_usage_hint(GeomEnums::UsageHint usage_hint); 2017 15 get_vertex_data 4 2696 21 Geom::get_vertex_data 0 2 643 644 387 //////////////////////////////////////////////////////////////////// // Function: Geom::get_vertex_data // Access: Published // Description: Returns a const pointer to the GeomVertexData, // for application code to directly examine (but not // modify) the geom's underlying data. //////////////////////////////////////////////////////////////////// 119 inline ConstPointerTo< GeomVertexData > Geom::get_vertex_data(Thread *current_thread = ((get_current_thread()))) const; 2018 18 modify_vertex_data 4 2696 24 Geom::modify_vertex_data 0 1 645 583 //////////////////////////////////////////////////////////////////// // Function: Geom::modify_vertex_data // Access: Published // Description: Returns a modifiable pointer to the GeomVertexData, // so that application code may directly maniuplate the // geom's underlying data. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 59 PointerTo< GeomVertexData > Geom::modify_vertex_data(void); 2019 15 set_vertex_data 4 2696 21 Geom::set_vertex_data 0 1 646 512 //////////////////////////////////////////////////////////////////// // Function: Geom::set_vertex_data // Access: Published // Description: Replaces the Geom's underlying vertex data table with // a completely new table. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 55 void Geom::set_vertex_data(GeomVertexData const *data); 2020 15 offset_vertices 4 2696 21 Geom::offset_vertices 0 1 647 847 //////////////////////////////////////////////////////////////////// // Function: Geom::offset_vertices // Access: Published // Description: Replaces a Geom's vertex table with a new table, and // simultaneously adds the indicated offset to all // vertex references within the Geom's primitives. This // is intended to be used to combine multiple // GeomVertexDatas from different Geoms into a single // big buffer, with each Geom referencing a subset of // the vertices in the buffer. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 67 void Geom::offset_vertices(GeomVertexData const *data, int offset); 2021 15 make_nonindexed 4 2696 21 Geom::make_nonindexed 0 1 648 728 //////////////////////////////////////////////////////////////////// // Function: Geom::make_nonindexed // Access: Published // Description: Converts the geom from indexed to nonindexed by // duplicating vertices as necessary. If composite_only // is true, then only composite primitives such as // trifans and tristrips are converted. Returns the // number of GeomPrimitive objects converted. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 47 int Geom::make_nonindexed(bool composite_only); 2022 8 is_empty 4 2696 14 Geom::is_empty 0 1 649 337 //////////////////////////////////////////////////////////////////// // Function: Geom::is_empty // Access: Published // Description: Returns true if there appear to be no vertices to be // rendered by this Geom, false if has some actual data. //////////////////////////////////////////////////////////////////// 39 inline bool Geom::is_empty(void) const; 2023 18 get_num_primitives 4 2696 24 Geom::get_num_primitives 0 1 650 395 //////////////////////////////////////////////////////////////////// // Function: Geom::get_num_primitives // Access: Published // Description: Returns the number of GeomPrimitive objects stored // within the Geom, each of which represents a number of // primitives of a particular type. //////////////////////////////////////////////////////////////////// 48 inline int Geom::get_num_primitives(void) const; 2024 13 get_primitive 4 2696 19 Geom::get_primitive 0 1 651 464 //////////////////////////////////////////////////////////////////// // Function: Geom::get_primitive // Access: Published // Description: Returns a const pointer to the ith GeomPrimitive // object stored within the Geom. Use this call only to // inspect the ith object; use modify_primitive() or // set_primitive() if you want to modify it. //////////////////////////////////////////////////////////////////// 72 inline ConstPointerTo< GeomPrimitive > Geom::get_primitive(int i) const; 2025 16 modify_primitive 4 2696 22 Geom::modify_primitive 0 1 652 632 //////////////////////////////////////////////////////////////////// // Function: Geom::modify_primitive // Access: Published // Description: Returns a modifiable pointer to the ith GeomPrimitive // object stored within the Geom, so application code // can directly manipulate the properties of this // primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 64 inline PointerTo< GeomPrimitive > Geom::modify_primitive(int i); 2026 13 set_primitive 4 2696 19 Geom::set_primitive 0 1 653 514 //////////////////////////////////////////////////////////////////// // Function: Geom::set_primitive // Access: Published // Description: Replaces the ith GeomPrimitive object stored within // the Geom with the new object. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 64 void Geom::set_primitive(int i, GeomPrimitive const *primitive); 2027 13 add_primitive 4 2696 19 Geom::add_primitive 0 1 654 637 //////////////////////////////////////////////////////////////////// // Function: Geom::add_primitive // Access: Published // Description: Adds a new GeomPrimitive structure to the Geom // object. This specifies a particular subset of // vertices that are used to define geometric primitives // of the indicated type. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 57 void Geom::add_primitive(GeomPrimitive const *primitive); 2028 16 remove_primitive 4 2696 22 Geom::remove_primitive 0 1 655 459 //////////////////////////////////////////////////////////////////// // Function: Geom::remove_primitive // Access: Published // Description: Removes the ith primitive from the list. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 35 void Geom::remove_primitive(int i); 2029 16 clear_primitives 4 2696 22 Geom::clear_primitives 0 1 656 633 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_primitives // Access: Published // Description: Removes all the primitives from the Geom object (but // keeps the same table of vertices). You may then // re-add primitives one at a time via calls to // add_primitive(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 34 void Geom::clear_primitives(void); 2030 9 decompose 4 2696 15 Geom::decompose 0 1 657 354 //////////////////////////////////////////////////////////////////// // Function: Geom::decompose // Access: Published // Description: Decomposes all of the primitives within this Geom, // returning the result. See // GeomPrimitive::decompose(). //////////////////////////////////////////////////////////////////// 53 inline PointerTo< Geom > Geom::decompose(void) const; 2031 10 doubleside 4 2696 16 Geom::doubleside 0 1 658 357 //////////////////////////////////////////////////////////////////// // Function: Geom::doubleside // Access: Published // Description: Doublesides all of the primitives within this Geom, // returning the result. See // GeomPrimitive::doubleside(). //////////////////////////////////////////////////////////////////// 54 inline PointerTo< Geom > Geom::doubleside(void) const; 2032 7 reverse 4 2696 13 Geom::reverse 0 1 659 348 //////////////////////////////////////////////////////////////////// // Function: Geom::reverse // Access: Published // Description: Reverses all of the primitives within this Geom, // returning the result. See // GeomPrimitive::reverse(). //////////////////////////////////////////////////////////////////// 51 inline PointerTo< Geom > Geom::reverse(void) const; 2033 6 rotate 4 2696 12 Geom::rotate 0 1 660 345 //////////////////////////////////////////////////////////////////// // Function: Geom::rotate // Access: Published // Description: Rotates all of the primitives within this Geom, // returning the result. See // GeomPrimitive::rotate(). //////////////////////////////////////////////////////////////////// 50 inline PointerTo< Geom > Geom::rotate(void) const; 2034 5 unify 4 2696 11 Geom::unify 0 1 661 890 //////////////////////////////////////////////////////////////////// // Function: Geom::unify // Access: Published // Description: Unifies all of the primitives contained within this // Geom into a single (or as few as possible, within the // constraints of max_indices) primitive objects. This // may require decomposing the primitives if, for // instance, the Geom contains both triangle strips and // triangle fans. // // max_indices represents the maximum number of indices // that will be put in any one GeomPrimitive. If // preserve_order is true, then the primitives will not // be reordered during the operation, even if this // results in a suboptimal result. //////////////////////////////////////////////////////////////////// 81 inline PointerTo< Geom > Geom::unify(int max_indices, bool preserve_order) const; 2035 11 make_points 4 2696 17 Geom::make_points 0 1 662 319 //////////////////////////////////////////////////////////////////// // Function: Geom::make_points // Access: Published // Description: Returns a new Geom with points at all the vertices. // See GeomPrimitive::make_points(). //////////////////////////////////////////////////////////////////// 55 inline PointerTo< Geom > Geom::make_points(void) const; 2036 18 decompose_in_place 4 2696 24 Geom::decompose_in_place 0 1 663 568 //////////////////////////////////////////////////////////////////// // Function: Geom::decompose_in_place // Access: Published // Description: Decomposes all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::decompose(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 36 void Geom::decompose_in_place(void); 2037 19 doubleside_in_place 4 2696 25 Geom::doubleside_in_place 0 1 664 571 //////////////////////////////////////////////////////////////////// // Function: Geom::doubleside_in_place // Access: Published // Description: Doublesides all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::doubleside(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 37 void Geom::doubleside_in_place(void); 2038 16 reverse_in_place 4 2696 22 Geom::reverse_in_place 0 1 665 562 //////////////////////////////////////////////////////////////////// // Function: Geom::reverse_in_place // Access: Published // Description: Reverses all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::reverse(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 34 void Geom::reverse_in_place(void); 2039 15 rotate_in_place 4 2696 21 Geom::rotate_in_place 0 1 666 559 //////////////////////////////////////////////////////////////////// // Function: Geom::rotate_in_place // Access: Published // Description: Rotates all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::rotate(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 33 void Geom::rotate_in_place(void); 2040 14 unify_in_place 4 2696 20 Geom::unify_in_place 0 1 667 1096 //////////////////////////////////////////////////////////////////// // Function: Geom::unify_in_place // Access: Published // Description: Unifies all of the primitives contained within this // Geom into a single (or as few as possible, within the // constraints of max_indices) primitive objects. This // may require decomposing the primitives if, for // instance, the Geom contains both triangle strips and // triangle fans. // // max_indices represents the maximum number of indices // that will be put in any one GeomPrimitive. If // preserve_order is true, then the primitives will not // be reordered during the operation, even if this // results in a suboptimal result. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 64 void Geom::unify_in_place(int max_indices, bool preserve_order); 2041 20 make_points_in_place 4 2696 26 Geom::make_points_in_place 0 1 668 567 //////////////////////////////////////////////////////////////////// // Function: Geom::make_points_in_place // Access: Published // Description: Replaces the GeomPrimitives within this Geom with // corresponding GeomPoints. See // GeomPrimitive::make_points(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 38 void Geom::make_points_in_place(void); 2042 20 copy_primitives_from 4 2696 26 Geom::copy_primitives_from 0 1 669 792 //////////////////////////////////////////////////////////////////// // Function: Geom::copy_primitives_from // Access: Published, Virtual // Description: Copies the primitives from the indicated Geom into // this one. This does require that both Geoms contain // the same fundamental type primitives, both have a // compatible shade model, and both use the same // GeomVertexData. Both Geoms must also be the same // specific class type (i.e. if one is a GeomTextGlyph, // they both must be.) // // Returns true if the copy is successful, or false // otherwise (because the Geoms were mismatched). //////////////////////////////////////////////////////////////////// 59 virtual bool Geom::copy_primitives_from(Geom const *other); 2043 13 get_num_bytes 4 2696 19 Geom::get_num_bytes 0 1 670 341 //////////////////////////////////////////////////////////////////// // Function: Geom::get_num_bytes // Access: Published // Description: Returns the number of bytes consumed by the geom and // its primitives (but not including its vertex table). //////////////////////////////////////////////////////////////////// 36 int Geom::get_num_bytes(void) const; 2044 12 get_modified 4 2696 18 Geom::get_modified 0 2 671 672 564 //////////////////////////////////////////////////////////////////// // Function: Geom::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time any of the primitives in // the Geom is modified, or the set of primitives is // modified. However, this does not include // modifications to the vertex data, which should be // tested separately. //////////////////////////////////////////////////////////////////// 93 inline UpdateSeq Geom::get_modified(Thread *current_thread = ((get_current_thread()))) const; 2045 16 request_resident 4 2696 22 Geom::request_resident 0 1 673 571 //////////////////////////////////////////////////////////////////// // Function: Geom::request_resident // Access: Published // Description: Returns true if all the primitive arrays are // currently resident in memory. If this returns false, // the data will be brought back into memory shortly; // try again later. // // This does not also test the Geom's associated // GeomVertexData. That must be tested separately. //////////////////////////////////////////////////////////////////// 40 bool Geom::request_resident(void) const; 2046 18 transform_vertices 4 2696 24 Geom::transform_vertices 0 1 674 808 //////////////////////////////////////////////////////////////////// // Function: Geom::transform_vertices // Access: Published // Description: Applies the indicated transform to all of the // vertices in the Geom. If the Geom happens to share a // vertex table with another Geom, this operation will // duplicate the vertex table instead of breaking the // other Geom; however, if multiple Geoms with shared // tables are transformed by the same matrix, they will // no longer share tables after the operation. Consider // using the GeomTransformer if you will be applying the // same transform to multiple Geoms. //////////////////////////////////////////////////////////////////// 52 void Geom::transform_vertices(LMatrix4f const &mat); 2047 11 check_valid 4 2696 17 Geom::check_valid 0 2 675 676 925 //////////////////////////////////////////////////////////////////// // Function: Geom::check_valid // Access: Published // Description: Verifies that the all of the primitives within the // geom reference vertices that actually exist within // the geom's GeomVertexData. Returns true if the geom // appears to be valid, false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Geom::check_valid // Access: Published // Description: Verifies that the all of the primitives within the // geom reference vertices that actually exist within // the indicated GeomVertexData. Returns true if the // geom appears to be valid, false otherwise. //////////////////////////////////////////////////////////////////// 100 bool Geom::check_valid(void) const; bool Geom::check_valid(GeomVertexData const *vertex_data) const; 2048 10 get_bounds 4 2696 16 Geom::get_bounds 0 2 677 678 257 //////////////////////////////////////////////////////////////////// // Function: Geom::get_bounds // Access: Published // Description: Returns the bounding volume for the Geom. //////////////////////////////////////////////////////////////////// 107 ConstPointerTo< BoundingVolume > Geom::get_bounds(Thread *current_thread = ((get_current_thread()))) const; 2049 19 get_nested_vertices 4 2696 25 Geom::get_nested_vertices 0 2 679 680 316 //////////////////////////////////////////////////////////////////// // Function: Geom::get_nested_vertices // Access: Published // Description: Returns the number of vertices rendered by all // primitives within the Geom. //////////////////////////////////////////////////////////////////// 87 int Geom::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const; 2050 17 mark_bounds_stale 4 2696 23 Geom::mark_bounds_stale 0 1 681 390 //////////////////////////////////////////////////////////////////// // Function: Geom::mark_bounds_stale // Access: Published // Description: Marks the bounding volume of the Geom as stale so // that it should be recomputed. Usually it is not // necessary to call this explicitly. //////////////////////////////////////////////////////////////////// 48 inline void Geom::mark_bounds_stale(void) const; 2051 15 set_bounds_type 4 2696 21 Geom::set_bounds_type 0 1 682 969 //////////////////////////////////////////////////////////////////// // Function: Geom::set_bounds_type // Access: Published // Description: Specifies the desired type of bounding volume that // will be created for this Geom. This is normally // BoundingVolume::BT_default, which means to set the // type according to the config variable "bounds-type". // // If this is BT_sphere or BT_box, a BoundingSphere or // BoundingBox is explicitly created. If it is BT_best, // a BoundingBox is created. // // This affects the implicit bounding volume only. If // an explicit bounding volume is set on the Geom with // set_bounds(), that bounding volume type is used. // (This is different behavior from the similar method // on PandaNode.) //////////////////////////////////////////////////////////////////// 74 inline void Geom::set_bounds_type(BoundingVolume::BoundsType bounds_type); 2052 15 get_bounds_type 4 2696 21 Geom::get_bounds_type 0 1 683 298 //////////////////////////////////////////////////////////////////// // Function: Geom::get_bounds_type // Access: Published // Description: Returns the bounding volume type set with // set_bounds_type(). //////////////////////////////////////////////////////////////////// 68 inline BoundingVolume::BoundsType Geom::get_bounds_type(void) const; 2053 10 set_bounds 4 2696 16 Geom::set_bounds 0 1 684 726 //////////////////////////////////////////////////////////////////// // Function: Geom::set_bounds // Access: Published // Description: Resets the bounding volume so that it is the // indicated volume. When it is explicitly set, the // bounding volume will no longer be automatically // computed; call clear_bounds() if you would like to // return the bounding volume to its default behavior. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 59 inline void Geom::set_bounds(BoundingVolume const *volume); 2054 12 clear_bounds 4 2696 18 Geom::clear_bounds 0 1 685 614 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_bounds // Access: Published // Description: Reverses the effect of a previous call to // set_bounds(), and allows the bounding volume to be // automatically computed once more based on the // vertices. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 37 inline void Geom::clear_bounds(void); 2055 6 output 4 2696 12 Geom::output 0 1 686 221 //////////////////////////////////////////////////////////////////// // Function: Geom::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 46 virtual void Geom::output(ostream &out) const; 2056 5 write 4 2696 11 Geom::write 0 2 687 688 220 //////////////////////////////////////////////////////////////////// // Function: Geom::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 69 virtual void Geom::write(ostream &out, int indent_level = (0)) const; 2057 11 clear_cache 4 2696 17 Geom::clear_cache 0 1 689 546 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_cache // Access: Published // Description: Removes all of the previously-cached results of // munge_geom(). // // This blows away the entire cache, upstream and // downstream the pipeline. Use clear_cache_stage() // instead if you only want to blow away the cache at // the current stage and upstream. //////////////////////////////////////////////////////////////////// 29 void Geom::clear_cache(void); 2058 17 clear_cache_stage 4 2696 23 Geom::clear_cache_stage 0 1 690 598 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_cache_stage // Access: Published // Description: Removes all of the previously-cached results of // munge_geom(), at the current pipeline stage and // upstream. Does not affect the downstream cache. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 53 void Geom::clear_cache_stage(Thread *current_thread); 2059 7 prepare 4 2696 13 Geom::prepare 0 1 691 640 //////////////////////////////////////////////////////////////////// // Function: Geom::prepare // Access: Published // Description: Indicates that the geom should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // geom is already loaded into geom memory if it // is expected to be rendered soon. // // Use this function instead of prepare_now() to preload // geoms from a user interface standpoint. //////////////////////////////////////////////////////////////////// 62 void Geom::prepare(PreparedGraphicsObjects *prepared_objects); 2060 11 is_prepared 4 2696 17 Geom::is_prepared 0 1 692 368 //////////////////////////////////////////////////////////////////// // Function: Geom::is_prepared // Access: Published // Description: Returns true if the geom has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 72 bool Geom::is_prepared(PreparedGraphicsObjects *prepared_objects) const; 2061 7 release 4 2696 13 Geom::release 0 1 693 388 //////////////////////////////////////////////////////////////////// // Function: Geom::release // Access: Published // Description: Frees the geom context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 62 bool Geom::release(PreparedGraphicsObjects *prepared_objects); 2062 11 release_all 4 2696 17 Geom::release_all 0 1 694 386 //////////////////////////////////////////////////////////////////// // Function: Geom::release_all // Access: Published // Description: Frees the context allocated on all objects for which // the geom has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 28 int Geom::release_all(void); 2063 11 prepare_now 4 2696 17 Geom::prepare_now 0 1 695 871 //////////////////////////////////////////////////////////////////// // Function: Geom::prepare_now // Access: Public // Description: Creates a context for the geom on the particular // GSG, if it does not already exist. Returns the new // (or old) GeomContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // geoms. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a geom does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 106 GeomContext *Geom::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg); 2064 14 get_class_type 4 2696 20 Geom::get_class_type 0 1 696 0 45 static TypeHandle Geom::get_class_type(void); 2065 8 get_geom 4 2697 21 GeomContext::get_geom 0 1 701 220 //////////////////////////////////////////////////////////////////// // Function: GeomContext::get_geom // Access: Published // Description: //////////////////////////////////////////////////////////////////// 47 inline Geom *GeomContext::get_geom(void) const; 2066 14 get_class_type 4 2697 27 GeomContext::get_class_type 0 1 702 0 52 static TypeHandle GeomContext::get_class_type(void); 2067 12 ~GeomContext 4 2697 25 GeomContext::~GeomContext 0 0 0 32 GeomContext::~GeomContext(void); 2068 9 GeomLines 4 2698 20 GeomLines::GeomLines 0 2 703 704 451 //////////////////////////////////////////////////////////////////// // Function: GeomLines::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomLines::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 99 GeomLines::GeomLines(GeomEnums::UsageHint usage_hint); GeomLines::GeomLines(GeomLines const ©); 2069 14 get_class_type 4 2698 25 GeomLines::get_class_type 0 1 705 0 50 static TypeHandle GeomLines::get_class_type(void); 2070 14 GeomLinestrips 4 2699 30 GeomLinestrips::GeomLinestrips 0 2 706 707 461 //////////////////////////////////////////////////////////////////// // Function: GeomLinestrips::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomLinestrips::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 124 GeomLinestrips::GeomLinestrips(GeomEnums::UsageHint usage_hint); GeomLinestrips::GeomLinestrips(GeomLinestrips const ©); 2071 14 get_class_type 4 2699 30 GeomLinestrips::get_class_type 0 1 708 0 55 static TypeHandle GeomLinestrips::get_class_type(void); 2072 10 GeomPoints 4 2700 22 GeomPoints::GeomPoints 0 2 709 710 453 //////////////////////////////////////////////////////////////////// // Function: GeomPoints::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomPoints::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 104 GeomPoints::GeomPoints(GeomEnums::UsageHint usage_hint); GeomPoints::GeomPoints(GeomPoints const ©); 2073 14 get_class_type 4 2700 26 GeomPoints::get_class_type 0 1 711 0 51 static TypeHandle GeomPoints::get_class_type(void); 2074 13 GeomTriangles 4 2701 28 GeomTriangles::GeomTriangles 0 2 712 713 459 //////////////////////////////////////////////////////////////////// // Function: GeomTriangles::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomTriangles::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 119 GeomTriangles::GeomTriangles(GeomEnums::UsageHint usage_hint); GeomTriangles::GeomTriangles(GeomTriangles const ©); 2075 14 get_class_type 4 2701 29 GeomTriangles::get_class_type 0 1 714 0 54 static TypeHandle GeomTriangles::get_class_type(void); 2076 11 GeomTrifans 4 2702 24 GeomTrifans::GeomTrifans 0 2 715 716 455 //////////////////////////////////////////////////////////////////// // Function: GeomTrifans::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomTrifans::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 109 GeomTrifans::GeomTrifans(GeomEnums::UsageHint usage_hint); GeomTrifans::GeomTrifans(GeomTrifans const ©); 2077 14 get_class_type 4 2702 27 GeomTrifans::get_class_type 0 1 717 0 52 static TypeHandle GeomTrifans::get_class_type(void); 2078 13 GeomTristrips 4 2703 28 GeomTristrips::GeomTristrips 0 2 718 719 459 //////////////////////////////////////////////////////////////////// // Function: GeomTristrips::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomTristrips::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 119 GeomTristrips::GeomTristrips(GeomEnums::UsageHint usage_hint); GeomTristrips::GeomTristrips(GeomTristrips const ©); 2079 14 get_class_type 4 2703 29 GeomTristrips::get_class_type 0 1 720 0 54 static TypeHandle GeomTristrips::get_class_type(void); 2080 16 GeomVertexReader 4 2704 34 GeomVertexReader::GeomVertexReader 0 13 721 722 723 724 725 726 727 728 729 730 731 732 733 3393 // Filename: geomVertexReader.I // Created by: drose (25Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexReader::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexReader. You must use // the assignment operator to assign a valid // GeomVertexReader to this object before you can use // it. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. This flavor creates the // reader specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. This flavor creates the // reader specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Public // Description: Constructs a new reader to process the vertices of // the indicated data object. This flavor creates the // reader specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 891 inline GeomVertexReader::GeomVertexReader(Thread *current_thread = ((get_current_thread()))); inline GeomVertexReader::GeomVertexReader(GeomVertexData const *vertex_data, Thread *current_thread = ((get_current_thread()))); inline GeomVertexReader::GeomVertexReader(GeomVertexData const *vertex_data, basic_string< char > const &name, Thread *current_thread = ((get_current_thread()))); inline GeomVertexReader::GeomVertexReader(GeomVertexData const *vertex_data, InternalName const *name, Thread *current_thread = ((get_current_thread()))); inline GeomVertexReader::GeomVertexReader(GeomVertexArrayData const *array_data, Thread *current_thread = ((get_current_thread()))); inline GeomVertexReader::GeomVertexReader(GeomVertexArrayData const *array_data, int column, Thread *current_thread = ((get_current_thread()))); inline GeomVertexReader::GeomVertexReader(GeomVertexReader const ©); 2081 10 operator = 4 2704 28 GeomVertexReader::operator = 0 1 734 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 inline void GeomVertexReader::operator =(GeomVertexReader const ©); 2082 17 ~GeomVertexReader 4 2704 35 GeomVertexReader::~GeomVertexReader 0 0 228 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 49 inline GeomVertexReader::~GeomVertexReader(void); 2083 15 get_vertex_data 4 2704 33 GeomVertexReader::get_vertex_data 0 1 735 408 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_vertex_data // Access: Published // Description: Returns the vertex data object that the // reader is processing. This may return NULL if the // reader was constructed with just an array pointer. //////////////////////////////////////////////////////////////////// 75 inline GeomVertexData const *GeomVertexReader::get_vertex_data(void) const; 2084 14 get_array_data 4 2704 32 GeomVertexReader::get_array_data 0 1 736 325 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_array_data // Access: Published // Description: Returns the particular array object that the // reader is currently processing. //////////////////////////////////////////////////////////////////// 79 inline GeomVertexArrayData const *GeomVertexReader::get_array_data(void) const; 2085 18 get_current_thread 4 2704 36 GeomVertexReader::get_current_thread 0 1 737 359 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_current_thread // Access: Published // Description: Returns the Thread pointer of the currently-executing // thread, as passed to the constructor of this object. //////////////////////////////////////////////////////////////////// 64 inline Thread *GeomVertexReader::get_current_thread(void) const; 2086 9 set_force 4 2704 27 GeomVertexReader::set_force 0 1 738 928 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_force // Access: Published // Description: Sets the value of the force flag. When this is true // (the default), vertex data will be paged in from disk // if necessary. When this is false, the GeomVertexData // will simply return a failure code when attempting to // read vertex data that is not resident (but will put // it on the queue to become resident later). // // Normally, vertex data is always resident, so this // will not be an issue. It is only possible for vertex // data to be nonresident if you have enabled vertex // paging via the GeomVertexArrayData and VertexDataPage // interfaces. //////////////////////////////////////////////////////////////////// 52 inline void GeomVertexReader::set_force(bool force); 2087 9 get_force 4 2704 27 GeomVertexReader::get_force 0 1 739 298 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_force // Access: Published // Description: Returns the value of the force flag. See // set_force(). //////////////////////////////////////////////////////////////////// 52 inline bool GeomVertexReader::get_force(void) const; 2088 10 set_column 4 2704 28 GeomVertexReader::set_column 0 4 740 741 742 743 2514 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the nth data type of the // GeomVertexFormat, numbering from 0. // // This also resets the read row number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the data type with the // indicated name. // // This also resets the read row number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the data type with the // indicated name. // // This also resets the read row number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the indicated column // description on the given array. // // This also resets the current read row number to the // start row (the same value passed to a previous call // to set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 275 inline bool GeomVertexReader::set_column(int column); inline bool GeomVertexReader::set_column(basic_string< char > const &name); inline bool GeomVertexReader::set_column(InternalName const *name); bool GeomVertexReader::set_column(int array, GeomVertexColumn const *column); 2089 5 clear 4 2704 23 GeomVertexReader::clear 0 1 744 272 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::clear // Access: Published // Description: Resets the GeomVertexReader to the initial state. //////////////////////////////////////////////////////////////////// 42 inline void GeomVertexReader::clear(void); 2090 10 has_column 4 2704 28 GeomVertexReader::has_column 0 1 745 445 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::has_column // Access: Published // Description: Returns true if a valid data type has been // successfully set, or false if the data type does not // exist (or if get_force() is false and the vertex data // is nonresident). //////////////////////////////////////////////////////////////////// 53 inline bool GeomVertexReader::has_column(void) const; 2091 9 get_array 4 2704 27 GeomVertexReader::get_array 0 1 746 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_array // Access: Published // Description: Returns the array index containing the data type that // the reader is working on. //////////////////////////////////////////////////////////////////// 51 inline int GeomVertexReader::get_array(void) const; 2092 10 get_column 4 2704 28 GeomVertexReader::get_column 0 1 747 316 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_column // Access: Published // Description: Returns the description of the data type that the // reader is working on. //////////////////////////////////////////////////////////////////// 72 inline GeomVertexColumn const *GeomVertexReader::get_column(void) const; 2093 7 set_row 4 2704 25 GeomVertexReader::set_row 0 1 748 533 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_row // Access: Published // Description: Sets the start row to the indicated value. The // reader will begin reading from the indicated row; // each subsequent get_data*() call will return the data // from the subsequent row. If set_column() is called, // the reader will return to this row. //////////////////////////////////////////////////////////////////// 47 inline void GeomVertexReader::set_row(int row); 2094 13 get_start_row 4 2704 31 GeomVertexReader::get_start_row 0 1 749 375 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_start_row // Access: Published // Description: Returns the row index at which the reader started. // It will return to this row if you reset the current // column. //////////////////////////////////////////////////////////////////// 55 inline int GeomVertexReader::get_start_row(void) const; 2095 12 get_read_row 4 2704 30 GeomVertexReader::get_read_row 0 1 750 339 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_read_row // Access: Published // Description: Returns the row index from which the data will be // retrieved by the next call to get_data*(). //////////////////////////////////////////////////////////////////// 54 inline int GeomVertexReader::get_read_row(void) const; 2096 9 is_at_end 4 2704 27 GeomVertexReader::is_at_end 0 1 751 440 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::is_at_end // Access: Published // Description: Returns true if the reader is currently at the end of // the list of vertices, false otherwise. If this is // true, another call to get_data*() will result in a // crash. //////////////////////////////////////////////////////////////////// 52 inline bool GeomVertexReader::is_at_end(void) const; 2097 10 get_data1f 4 2704 28 GeomVertexReader::get_data1f 0 1 752 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data1f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 1-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 48 inline float GeomVertexReader::get_data1f(void); 2098 10 get_data2f 4 2704 28 GeomVertexReader::get_data2f 0 1 753 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data2f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 2-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 60 inline LVecBase2f const &GeomVertexReader::get_data2f(void); 2099 10 get_data3f 4 2704 28 GeomVertexReader::get_data3f 0 1 754 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data3f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 3-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 60 inline LVecBase3f const &GeomVertexReader::get_data3f(void); 2100 10 get_data4f 4 2704 28 GeomVertexReader::get_data4f 0 1 755 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data4f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 4-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 60 inline LVecBase4f const &GeomVertexReader::get_data4f(void); 2101 10 get_data1i 4 2704 28 GeomVertexReader::get_data1i 0 1 756 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data1i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 1-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 46 inline int GeomVertexReader::get_data1i(void); 2102 10 get_data2i 4 2704 28 GeomVertexReader::get_data2i 0 1 757 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data2i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 2-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 53 inline int const *GeomVertexReader::get_data2i(void); 2103 10 get_data3i 4 2704 28 GeomVertexReader::get_data3i 0 1 758 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data3i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 3-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 53 inline int const *GeomVertexReader::get_data3i(void); 2104 10 get_data4i 4 2704 28 GeomVertexReader::get_data4i 0 1 759 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data4i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 4-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 53 inline int const *GeomVertexReader::get_data4i(void); 2105 6 output 4 2704 24 GeomVertexReader::output 0 1 760 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 50 void GeomVertexReader::output(ostream &out) const; 2106 16 GeomVertexWriter 4 2705 34 GeomVertexWriter::GeomVertexWriter 0 13 761 762 763 764 765 766 767 768 769 770 771 772 773 3393 // Filename: geomVertexWriter.I // Created by: drose (25Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexWriter::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexWriter. You must use // the assignment operator to assign a valid // GeomVertexWriter to this object before you can use // it. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. This flavor creates the // writer specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. This flavor creates the // writer specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Public // Description: Constructs a new writer to process the vertices of // the indicated data object. This flavor creates the // writer specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 861 inline GeomVertexWriter::GeomVertexWriter(Thread *current_thread = ((get_current_thread()))); inline GeomVertexWriter::GeomVertexWriter(GeomVertexData *vertex_data, Thread *current_thread = ((get_current_thread()))); inline GeomVertexWriter::GeomVertexWriter(GeomVertexData *vertex_data, basic_string< char > const &name, Thread *current_thread = ((get_current_thread()))); inline GeomVertexWriter::GeomVertexWriter(GeomVertexData *vertex_data, InternalName const *name, Thread *current_thread = ((get_current_thread()))); inline GeomVertexWriter::GeomVertexWriter(GeomVertexArrayData *array_data, Thread *current_thread = ((get_current_thread()))); inline GeomVertexWriter::GeomVertexWriter(GeomVertexArrayData *array_data, int column, Thread *current_thread = ((get_current_thread()))); inline GeomVertexWriter::GeomVertexWriter(GeomVertexWriter const ©); 2107 10 operator = 4 2705 28 GeomVertexWriter::operator = 0 1 774 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 71 inline void GeomVertexWriter::operator =(GeomVertexWriter const ©); 2108 17 ~GeomVertexWriter 4 2705 35 GeomVertexWriter::~GeomVertexWriter 0 0 228 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 49 inline GeomVertexWriter::~GeomVertexWriter(void); 2109 15 get_vertex_data 4 2705 33 GeomVertexWriter::get_vertex_data 0 1 775 408 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_vertex_data // Access: Published // Description: Returns the vertex data object that the // writer is processing. This may return NULL if the // writer was constructed with just an array pointer. //////////////////////////////////////////////////////////////////// 69 inline GeomVertexData *GeomVertexWriter::get_vertex_data(void) const; 2110 14 get_array_data 4 2705 32 GeomVertexWriter::get_array_data 0 1 776 325 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_array_data // Access: Published // Description: Returns the particular array object that the // writer is currently processing. //////////////////////////////////////////////////////////////////// 73 inline GeomVertexArrayData *GeomVertexWriter::get_array_data(void) const; 2111 18 get_current_thread 4 2705 36 GeomVertexWriter::get_current_thread 0 1 777 359 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_current_thread // Access: Published // Description: Returns the Thread pointer of the currently-executing // thread, as passed to the constructor of this object. //////////////////////////////////////////////////////////////////// 64 inline Thread *GeomVertexWriter::get_current_thread(void) const; 2112 10 set_column 4 2705 28 GeomVertexWriter::set_column 0 4 778 779 780 781 2514 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the nth data type of the // GeomVertexFormat, numbering from 0. // // This also resets the write row number to the start // row (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the data type with the // indicated name. // // This also resets the write row number to the start // row (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the data type with the // indicated name. // // This also resets the write number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the indicated column // description on the given array. // // This also resets the current write row number to the // start row (the same value passed to a previous call // to set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 275 inline bool GeomVertexWriter::set_column(int column); inline bool GeomVertexWriter::set_column(basic_string< char > const &name); inline bool GeomVertexWriter::set_column(InternalName const *name); bool GeomVertexWriter::set_column(int array, GeomVertexColumn const *column); 2113 5 clear 4 2705 23 GeomVertexWriter::clear 0 1 782 272 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::clear // Access: Published // Description: Resets the GeomVertexWriter to the initial state. //////////////////////////////////////////////////////////////////// 42 inline void GeomVertexWriter::clear(void); 2114 10 has_column 4 2705 28 GeomVertexWriter::has_column 0 1 783 364 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::has_column // Access: Published // Description: Returns true if a valid data type has been // successfully set, or false if the data type does not // exist. //////////////////////////////////////////////////////////////////// 53 inline bool GeomVertexWriter::has_column(void) const; 2115 9 get_array 4 2705 27 GeomVertexWriter::get_array 0 1 784 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_array // Access: Published // Description: Returns the array index containing the data type that // the writer is working on. //////////////////////////////////////////////////////////////////// 51 inline int GeomVertexWriter::get_array(void) const; 2116 10 get_column 4 2705 28 GeomVertexWriter::get_column 0 1 785 316 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_column // Access: Published // Description: Returns the description of the data type that the // writer is working on. //////////////////////////////////////////////////////////////////// 72 inline GeomVertexColumn const *GeomVertexWriter::get_column(void) const; 2117 7 set_row 4 2705 25 GeomVertexWriter::set_row 0 1 786 530 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_row // Access: Published // Description: Sets the start row to the indicated value. The // writer will begin writing to the indicated row; // each subsequent set_data*() call will store the data // into the subsequent row. If set_column() is called, // the writer will return to this row. //////////////////////////////////////////////////////////////////// 47 inline void GeomVertexWriter::set_row(int row); 2118 13 get_start_row 4 2705 31 GeomVertexWriter::get_start_row 0 1 787 376 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_start_row // Access: Published // Description: Returns the row index at which the writer // started. It will return to this row if you reset // the current column. //////////////////////////////////////////////////////////////////// 55 inline int GeomVertexWriter::get_start_row(void) const; 2119 13 get_write_row 4 2705 31 GeomVertexWriter::get_write_row 0 1 788 368 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_write_row // Access: Published // Description: Returns the row index to which the data will be // written at the next call to set_data*() or // add_data*(). //////////////////////////////////////////////////////////////////// 55 inline int GeomVertexWriter::get_write_row(void) const; 2120 9 is_at_end 4 2705 27 GeomVertexWriter::is_at_end 0 1 789 509 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::is_at_end // Access: Published // Description: Returns true if the writer is currently at the end of // the list of vertices, false otherwise. If this is // true, another call to set_data*() will result in a // crash, but another call to add_data*() will add a new // row. //////////////////////////////////////////////////////////////////// 52 inline bool GeomVertexWriter::is_at_end(void) const; 2121 10 set_data1f 4 2705 28 GeomVertexWriter::set_data1f 0 1 790 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data1f // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 53 inline void GeomVertexWriter::set_data1f(float data); 2122 10 set_data2f 4 2705 28 GeomVertexWriter::set_data2f 0 2 791 792 860 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 125 inline void GeomVertexWriter::set_data2f(float x, float y); inline void GeomVertexWriter::set_data2f(LVecBase2f const &data); 2123 10 set_data3f 4 2705 28 GeomVertexWriter::set_data3f 0 2 793 794 860 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 134 inline void GeomVertexWriter::set_data3f(float x, float y, float z); inline void GeomVertexWriter::set_data3f(LVecBase3f const &data); 2124 10 set_data4f 4 2705 28 GeomVertexWriter::set_data4f 0 2 795 796 860 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 143 inline void GeomVertexWriter::set_data4f(float x, float y, float z, float w); inline void GeomVertexWriter::set_data4f(LVecBase4f const &data); 2125 10 set_data1i 4 2705 28 GeomVertexWriter::set_data1i 0 1 797 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data1i // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 51 inline void GeomVertexWriter::set_data1i(int data); 2126 10 set_data2i 4 2705 28 GeomVertexWriter::set_data2i 0 1 798 860 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data2i // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data2i // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 116 inline void GeomVertexWriter::set_data2i(int a, int b); inline void GeomVertexWriter::set_data2i(int const data[2]); 2127 10 set_data3i 4 2705 28 GeomVertexWriter::set_data3i 0 1 799 860 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data3i // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data3i // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 123 inline void GeomVertexWriter::set_data3i(int a, int b, int c); inline void GeomVertexWriter::set_data3i(int const data[3]); 2128 10 set_data4i 4 2705 28 GeomVertexWriter::set_data4i 0 1 800 860 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data4i // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data4i // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 130 inline void GeomVertexWriter::set_data4i(int a, int b, int c, int d); inline void GeomVertexWriter::set_data4i(int const data[4]); 2129 10 add_data1f 4 2705 28 GeomVertexWriter::add_data1f 0 1 801 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data1f // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 53 inline void GeomVertexWriter::add_data1f(float data); 2130 10 add_data2f 4 2705 28 GeomVertexWriter::add_data2f 0 2 802 803 902 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 125 inline void GeomVertexWriter::add_data2f(float x, float y); inline void GeomVertexWriter::add_data2f(LVecBase2f const &data); 2131 10 add_data3f 4 2705 28 GeomVertexWriter::add_data3f 0 2 804 805 902 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 134 inline void GeomVertexWriter::add_data3f(float x, float y, float z); inline void GeomVertexWriter::add_data3f(LVecBase3f const &data); 2132 10 add_data4f 4 2705 28 GeomVertexWriter::add_data4f 0 2 806 807 902 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 143 inline void GeomVertexWriter::add_data4f(float x, float y, float z, float w); inline void GeomVertexWriter::add_data4f(LVecBase4f const &data); 2133 10 add_data1i 4 2705 28 GeomVertexWriter::add_data1i 0 1 808 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data1i // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 51 inline void GeomVertexWriter::add_data1i(int data); 2134 10 add_data2i 4 2705 28 GeomVertexWriter::add_data2i 0 1 809 902 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data2i // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data2i // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 116 inline void GeomVertexWriter::add_data2i(int a, int b); inline void GeomVertexWriter::add_data2i(int const data[2]); 2135 10 add_data3i 4 2705 28 GeomVertexWriter::add_data3i 0 1 810 902 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data3i // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data3i // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 123 inline void GeomVertexWriter::add_data3i(int a, int b, int c); inline void GeomVertexWriter::add_data3i(int const data[3]); 2136 10 add_data4i 4 2705 28 GeomVertexWriter::add_data4i 0 1 811 902 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data4i // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data4i // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 130 inline void GeomVertexWriter::add_data4i(int a, int b, int c, int d); inline void GeomVertexWriter::add_data4i(int const data[4]); 2137 6 output 4 2705 24 GeomVertexWriter::output 0 1 812 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 50 void GeomVertexWriter::output(ostream &out) const; 2138 26 upcast_to_GeomVertexWriter 12 2706 46 GeomVertexRewriter::upcast_to_GeomVertexWriter 0 1 841 50 upcast from GeomVertexRewriter to GeomVertexWriter 71 GeomVertexWriter *GeomVertexRewriter::upcast_to_GeomVertexWriter(void); 2139 30 downcast_to_GeomVertexRewriter 12 2705 48 GeomVertexWriter::downcast_to_GeomVertexRewriter 0 1 842 52 downcast from GeomVertexWriter to GeomVertexRewriter 75 GeomVertexRewriter *GeomVertexWriter::downcast_to_GeomVertexRewriter(void); 2140 26 upcast_to_GeomVertexReader 12 2706 46 GeomVertexRewriter::upcast_to_GeomVertexReader 0 1 843 50 upcast from GeomVertexRewriter to GeomVertexReader 71 GeomVertexReader *GeomVertexRewriter::upcast_to_GeomVertexReader(void); 2141 30 downcast_to_GeomVertexRewriter 12 2704 48 GeomVertexReader::downcast_to_GeomVertexRewriter 0 1 844 52 downcast from GeomVertexReader to GeomVertexRewriter 75 GeomVertexRewriter *GeomVertexReader::downcast_to_GeomVertexRewriter(void); 2142 18 GeomVertexRewriter 4 2706 38 GeomVertexRewriter::GeomVertexRewriter 0 13 813 814 815 816 817 818 819 820 821 822 823 824 825 3011 // Filename: geomVertexRewriter.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexRewriter::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexRewriter. You must use // the assignment operator to assign a valid // GeomVertexRewriter to this object before you can use // it. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. This flavor creates the // rewriter specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. This flavor creates the // rewriter specifically to process the named data type. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 891 inline GeomVertexRewriter::GeomVertexRewriter(Thread *current_thread = ((get_current_thread()))); inline GeomVertexRewriter::GeomVertexRewriter(GeomVertexData *vertex_data, Thread *current_thread = ((get_current_thread()))); inline GeomVertexRewriter::GeomVertexRewriter(GeomVertexData *vertex_data, basic_string< char > const &name, Thread *current_thread = ((get_current_thread()))); inline GeomVertexRewriter::GeomVertexRewriter(GeomVertexData *vertex_data, InternalName const *name, Thread *current_thread = ((get_current_thread()))); inline GeomVertexRewriter::GeomVertexRewriter(GeomVertexArrayData *array_data, Thread *current_thread = ((get_current_thread()))); inline GeomVertexRewriter::GeomVertexRewriter(GeomVertexArrayData *array_data, int column, Thread *current_thread = ((get_current_thread()))); inline GeomVertexRewriter::GeomVertexRewriter(GeomVertexRewriter const ©); 2143 10 operator = 4 2706 30 GeomVertexRewriter::operator = 0 1 826 244 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 75 inline void GeomVertexRewriter::operator =(GeomVertexRewriter const ©); 2144 19 ~GeomVertexRewriter 4 2706 39 GeomVertexRewriter::~GeomVertexRewriter 0 0 230 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 53 inline GeomVertexRewriter::~GeomVertexRewriter(void); 2145 15 get_vertex_data 4 2706 35 GeomVertexRewriter::get_vertex_data 0 1 827 315 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_vertex_data // Access: Published // Description: Returns the vertex data object that the // rewriter is processing. //////////////////////////////////////////////////////////////////// 71 inline GeomVertexData *GeomVertexRewriter::get_vertex_data(void) const; 2146 14 get_array_data 4 2706 34 GeomVertexRewriter::get_array_data 0 1 828 329 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_array_data // Access: Published // Description: Returns the particular array object that the // rewriter is currently processing. //////////////////////////////////////////////////////////////////// 75 inline GeomVertexArrayData *GeomVertexRewriter::get_array_data(void) const; 2147 10 set_column 4 2706 30 GeomVertexRewriter::set_column 0 4 829 830 831 832 2654 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the nth data type of the // GeomVertexFormat, numbering from 0. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the data type with the // indicated name. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the data type with the // indicated name. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the indicated column // description on the given array. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 290 inline bool GeomVertexRewriter::set_column(int column); inline bool GeomVertexRewriter::set_column(basic_string< char > const &name); inline bool GeomVertexRewriter::set_column(InternalName const *name); inline bool GeomVertexRewriter::set_column(int array, GeomVertexColumn const *column); 2148 5 clear 4 2706 25 GeomVertexRewriter::clear 0 1 833 276 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::clear // Access: Published // Description: Resets the GeomVertexRewriter to the initial state. //////////////////////////////////////////////////////////////////// 44 inline void GeomVertexRewriter::clear(void); 2149 10 has_column 4 2706 30 GeomVertexRewriter::has_column 0 1 834 366 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::has_column // Access: Published // Description: Returns true if a valid data type has been // successfully set, or false if the data type does not // exist. //////////////////////////////////////////////////////////////////// 55 inline bool GeomVertexRewriter::has_column(void) const; 2150 9 get_array 4 2706 29 GeomVertexRewriter::get_array 0 1 835 327 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_array // Access: Published // Description: Returns the array index containing the data type that // the rewriter is working on. //////////////////////////////////////////////////////////////////// 53 inline int GeomVertexRewriter::get_array(void) const; 2151 10 get_column 4 2706 30 GeomVertexRewriter::get_column 0 1 836 320 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_column // Access: Published // Description: Returns the description of the data type that the // rewriter is working on. //////////////////////////////////////////////////////////////////// 74 inline GeomVertexColumn const *GeomVertexRewriter::get_column(void) const; 2152 7 set_row 4 2706 27 GeomVertexRewriter::set_row 0 1 837 379 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_row // Access: Published // Description: Sets the start, write, and write index to the // indicated value. The rewriter will begin traversing // from the given row. //////////////////////////////////////////////////////////////////// 49 inline void GeomVertexRewriter::set_row(int row); 2153 13 get_start_row 4 2706 33 GeomVertexRewriter::get_start_row 0 1 838 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_start_row // Access: Published // Description: Returns the row index at which the rewriter // started. It will return to this row if you reset // the current column. //////////////////////////////////////////////////////////////////// 57 inline int GeomVertexRewriter::get_start_row(void) const; 2154 9 is_at_end 4 2706 29 GeomVertexRewriter::is_at_end 0 1 839 348 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::is_at_end // Access: Published // Description: Returns true if the reader or writer is currently at // the end of the list of vertices, false otherwise. //////////////////////////////////////////////////////////////////// 54 inline bool GeomVertexRewriter::is_at_end(void) const; 2155 6 output 4 2706 26 GeomVertexRewriter::output 0 1 840 226 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 void GeomVertexRewriter::output(ostream &out) const; 2156 37 upcast_to_TypedWritableReferenceCount 12 2707 47 Material::upcast_to_TypedWritableReferenceCount 0 1 881 51 upcast from Material to TypedWritableReferenceCount 83 TypedWritableReferenceCount *Material::upcast_to_TypedWritableReferenceCount(void); 2157 20 downcast_to_Material 12 2657 49 TypedWritableReferenceCount::downcast_to_Material 0 1 882 53 downcast from TypedWritableReferenceCount to Material 66 Material *TypedWritableReferenceCount::downcast_to_Material(void); 2158 17 upcast_to_Namable 12 2707 27 Material::upcast_to_Namable 0 1 883 31 upcast from Material to Namable 43 Namable *Material::upcast_to_Namable(void); 2159 20 downcast_to_Material 12 2643 29 Namable::downcast_to_Material 0 1 884 33 downcast from Namable to Material 46 Material *Namable::downcast_to_Material(void); 2160 8 Material 4 2707 18 Material::Material 0 3 845 846 847 930 // Filename: material.I // Created by: mike (05Feb99) // //////////////////////////////////////////////////////////////////// // // 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: Material::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Material::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 116 inline Material::Material(basic_string< char > const &name = ("")); inline Material::Material(Material const ©); 2161 10 operator = 4 2707 20 Material::operator = 0 1 848 233 //////////////////////////////////////////////////////////////////// // Function: Material::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 48 void Material::operator =(Material const ©); 2162 9 ~Material 4 2707 19 Material::~Material 0 0 219 //////////////////////////////////////////////////////////////////// // Function: Material::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 41 virtual inline Material::~Material(void); 2163 11 get_default 4 2707 21 Material::get_default 0 1 849 258 //////////////////////////////////////////////////////////////////// // Function: Material::get_default // Access: Published, Static // Description: Returns the default material. //////////////////////////////////////////////////////////////////// 52 static inline Material *Material::get_default(void); 2164 11 has_ambient 4 2707 21 Material::has_ambient 0 1 850 331 //////////////////////////////////////////////////////////////////// // Function: Material::has_ambient // Access: Published // Description: Returns true if the ambient color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 46 inline bool Material::has_ambient(void) const; 2165 11 get_ambient 4 2707 21 Material::get_ambient 0 1 851 367 //////////////////////////////////////////////////////////////////// // Function: Material::get_ambient // Access: Published // Description: Returns the ambient color setting, if it has been // set. Returns (0,0,0,0) if the ambient color has not // been set. //////////////////////////////////////////////////////////////////// 59 inline LVecBase4f const &Material::get_ambient(void) const; 2166 11 set_ambient 4 2707 21 Material::set_ambient 0 1 852 592 //////////////////////////////////////////////////////////////////// // Function: Material::set_ambient // Access: Published // Description: Specifies the ambient color setting of the material. // This will be the multiplied by any ambient lights in // effect on the material to set its base color. // // This is the color of the object as it appears in the // absence of direct light. // // If this is not set, the object color will be used. //////////////////////////////////////////////////////////////////// 52 void Material::set_ambient(LVecBase4f const &color); 2167 13 clear_ambient 4 2707 23 Material::clear_ambient 0 1 853 276 //////////////////////////////////////////////////////////////////// // Function: Material::clear_ambient // Access: Published // Description: Removes the explicit ambient color from the material. //////////////////////////////////////////////////////////////////// 42 inline void Material::clear_ambient(void); 2168 11 has_diffuse 4 2707 21 Material::has_diffuse 0 1 854 331 //////////////////////////////////////////////////////////////////// // Function: Material::has_diffuse // Access: Published // Description: Returns true if the diffuse color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 46 inline bool Material::has_diffuse(void) const; 2169 11 get_diffuse 4 2707 21 Material::get_diffuse 0 1 855 367 //////////////////////////////////////////////////////////////////// // Function: Material::get_diffuse // Access: Published // Description: Returns the diffuse color setting, if it has been // set. Returns (1,1,1,1) if the diffuse color has not // been set. //////////////////////////////////////////////////////////////////// 59 inline LVecBase4f const &Material::get_diffuse(void) const; 2170 11 set_diffuse 4 2707 21 Material::set_diffuse 0 1 856 709 //////////////////////////////////////////////////////////////////// // Function: Material::set_diffuse // Access: Published // Description: Specifies the diffuse color setting of the material. // This will be multiplied by any lights in effect on // the material to get the color in the parts of the // object illuminated by the lights. // // This is the primary color of an object; the color of // the object as it appears in direct light, in the // absence of highlights. // // If this is not set, the object color will be used. //////////////////////////////////////////////////////////////////// 52 void Material::set_diffuse(LVecBase4f const &color); 2171 13 clear_diffuse 4 2707 23 Material::clear_diffuse 0 1 857 276 //////////////////////////////////////////////////////////////////// // Function: Material::clear_diffuse // Access: Published // Description: Removes the explicit diffuse color from the material. //////////////////////////////////////////////////////////////////// 42 inline void Material::clear_diffuse(void); 2172 12 has_specular 4 2707 22 Material::has_specular 0 1 858 333 //////////////////////////////////////////////////////////////////// // Function: Material::has_specular // Access: Published // Description: Returns true if the specular color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 47 inline bool Material::has_specular(void) const; 2173 12 get_specular 4 2707 22 Material::get_specular 0 1 859 370 //////////////////////////////////////////////////////////////////// // Function: Material::get_specular // Access: Published // Description: Returns the specular color setting, if it has been // set. Returns (0,0,0,0) if the specular color has not // been set. //////////////////////////////////////////////////////////////////// 60 inline LVecBase4f const &Material::get_specular(void) const; 2174 12 set_specular 4 2707 22 Material::set_specular 0 1 860 637 //////////////////////////////////////////////////////////////////// // Function: Material::set_specular // Access: Published // Description: Specifies the diffuse color setting of the material. // This will be multiplied by any lights in effect on // the material to compute the color of specular // highlights on the object. // // This is the highlight color of an object: the color // of small highlight reflections. // // If this is not set, highlights will not appear. //////////////////////////////////////////////////////////////////// 53 void Material::set_specular(LVecBase4f const &color); 2175 14 clear_specular 4 2707 24 Material::clear_specular 0 1 861 278 //////////////////////////////////////////////////////////////////// // Function: Material::clear_specular // Access: Published // Description: Removes the explicit specular color from the material. //////////////////////////////////////////////////////////////////// 43 inline void Material::clear_specular(void); 2176 12 has_emission 4 2707 22 Material::has_emission 0 1 862 333 //////////////////////////////////////////////////////////////////// // Function: Material::has_emission // Access: Published // Description: Returns true if the emission color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 47 inline bool Material::has_emission(void) const; 2177 12 get_emission 4 2707 22 Material::get_emission 0 1 863 370 //////////////////////////////////////////////////////////////////// // Function: Material::get_emission // Access: Published // Description: Returns the emission color setting, if it has been // set. Returns (0,0,0,0) if the emission color has not // been set. //////////////////////////////////////////////////////////////////// 60 inline LVecBase4f const &Material::get_emission(void) const; 2178 12 set_emission 4 2707 22 Material::set_emission 0 1 864 768 //////////////////////////////////////////////////////////////////// // Function: Material::set_emission // Access: Published // Description: Specifies the emission color setting of the material. // This is the color of the object as it appears in the // absence of any light whatsover, including ambient // light. It is as if the object is glowing by this // color (although of course it will not illuminate // neighboring objects). // // If this is not set, the object will not glow by its // own light and will only appear visible in the // presence of one or more lights. //////////////////////////////////////////////////////////////////// 53 void Material::set_emission(LVecBase4f const &color); 2179 14 clear_emission 4 2707 24 Material::clear_emission 0 1 865 278 //////////////////////////////////////////////////////////////////// // Function: Material::clear_emission // Access: Published // Description: Removes the explicit emission color from the material. //////////////////////////////////////////////////////////////////// 43 inline void Material::clear_emission(void); 2180 13 get_shininess 4 2707 23 Material::get_shininess 0 1 866 270 //////////////////////////////////////////////////////////////////// // Function: Material::get_shininess // Access: Published // Description: Returns the shininess exponent of the material. //////////////////////////////////////////////////////////////////// 49 inline float Material::get_shininess(void) const; 2181 13 set_shininess 4 2707 23 Material::set_shininess 0 1 867 598 //////////////////////////////////////////////////////////////////// // Function: Material::set_shininess // Access: Published // Description: Sets the shininess exponent of the material. This // controls the size of the specular highlight spot. In // general, larger number produce a smaller specular // highlight, which makes the object appear shinier. // Smaller numbers produce a larger highlight, which // makes the object appear less shiny. //////////////////////////////////////////////////////////////////// 53 inline void Material::set_shininess(float shininess); 2182 9 get_local 4 2707 19 Material::get_local 0 1 868 267 //////////////////////////////////////////////////////////////////// // Function: Material::get_local // Access: Published // Description: Returns the local viewer flag. Set set_local(). //////////////////////////////////////////////////////////////////// 44 inline bool Material::get_local(void) const; 2183 9 set_local 4 2707 19 Material::set_local 0 1 869 519 //////////////////////////////////////////////////////////////////// // Function: Material::set_local // Access: Published // Description: Sets the local viewer flag. Set this true to enable // camera-relative specular highlights, or false to use // orthogonal specular highlights. The default value is // true. Applications that use orthogonal projection // should specify false. //////////////////////////////////////////////////////////////////// 44 inline void Material::set_local(bool local); 2184 11 get_twoside 4 2707 21 Material::get_twoside 0 1 870 306 //////////////////////////////////////////////////////////////////// // Function: Material::get_twoside // Access: Published // Description: Returns the state of the two-sided lighting flag. // See set_twoside(). //////////////////////////////////////////////////////////////////// 46 inline bool Material::get_twoside(void) const; 2185 11 set_twoside 4 2707 21 Material::set_twoside 0 1 871 513 //////////////////////////////////////////////////////////////////// // Function: Material::set_twoside // Access: Published // Description: Set this true to enable two-sided lighting. When // two-sided lighting is on, both sides of a polygon // will be lit by this material. The default is for // two-sided lighting to be off, in which case only the // front surface is lit. //////////////////////////////////////////////////////////////////// 48 inline void Material::set_twoside(bool twoside); 2186 11 operator == 4 2707 21 Material::operator == 0 1 872 220 //////////////////////////////////////////////////////////////////// // Function: Material::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline bool Material::operator ==(Material const &other) const; 2187 11 operator != 4 2707 21 Material::operator != 0 1 873 220 //////////////////////////////////////////////////////////////////// // Function: Material::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline bool Material::operator !=(Material const &other) const; 2188 10 operator < 4 2707 20 Material::operator < 0 1 874 219 //////////////////////////////////////////////////////////////////// // Function: Material::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 inline bool Material::operator <(Material const &other) const; 2189 10 compare_to 4 2707 20 Material::compare_to 0 1 875 535 //////////////////////////////////////////////////////////////////// // Function: Material::compare_to // Access: Published // Description: Returns a number less than zero if this material // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. The // sorting order is arbitrary and largely meaningless, // except to differentiate different materials. //////////////////////////////////////////////////////////////////// 54 int Material::compare_to(Material const &other) const; 2190 6 output 4 2707 16 Material::output 0 1 876 215 //////////////////////////////////////////////////////////////////// // Function: Material::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 42 void Material::output(ostream &out) const; 2191 5 write 4 2707 15 Material::write 0 1 877 214 //////////////////////////////////////////////////////////////////// // Function: Material::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 53 void Material::write(ostream &out, int indent) const; 2192 16 is_attrib_locked 4 2707 26 Material::is_attrib_locked 0 1 878 225 //////////////////////////////////////////////////////////////////// // Function: Material::is_attrib_locked // Access: Published // Description: //////////////////////////////////////////////////////////////////// 51 inline bool Material::is_attrib_locked(void) const; 2193 15 set_attrib_lock 4 2707 25 Material::set_attrib_lock 0 1 879 224 //////////////////////////////////////////////////////////////////// // Function: Material::set_attrib_lock // Access: Published // Description: //////////////////////////////////////////////////////////////////// 44 inline void Material::set_attrib_lock(void); 2194 14 get_class_type 4 2707 24 Material::get_class_type 0 1 880 0 49 static TypeHandle Material::get_class_type(void); 2195 9 make_copy 4 2708 15 Lens::make_copy 0 1 885 0 58 virtual PointerTo< Lens > Lens::make_copy(void) const = 0; 2196 7 extrude 4 2708 13 Lens::extrude 0 2 886 887 2120 // Filename: lens.I // Created by: drose (29Nov01) // //////////////////////////////////////////////////////////////////// // // 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: Lens::extrude // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the corresponding vector in space that maps // to this point, if such a vector can be determined. // The vector is returned by indicating the points on // the near plane and far plane that both map to the // indicated 2-d point. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::extrude // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the corresponding vector in space that maps // to this point, if such a vector can be determined. // The vector is returned by indicating the points on // the near plane and far plane that both map to the // indicated 2-d point. // // The z coordinate of the 2-d point is ignored. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// 201 inline bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const; inline bool Lens::extrude(LPoint3f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const; 2197 11 extrude_vec 4 2708 17 Lens::extrude_vec 0 2 888 889 1838 //////////////////////////////////////////////////////////////////// // Function: Lens::extrude_vec // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the vector that corresponds to the view // direction. This will be parallel to the normal on // the surface (the far plane) corresponding to the lens // shape at this point. // // See the comment block on Lens::extrude_vec_impl() for // a more in-depth comment on the meaning of this // vector. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::extrude_vec // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the vector that corresponds to the view // direction. This will be parallel to the normal on // the surface (the far plane) corresponding to the lens // shape at this point. // // See the comment block on Lens::extrude_vec_impl() for // a more in-depth comment on the meaning of this // vector. // // The z coordinate of the 2-d point is ignored. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// 159 inline bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const; inline bool Lens::extrude_vec(LPoint3f const &point2d, LVector3f &vec3d) const; 2198 7 project 4 2708 13 Lens::project 0 2 890 891 1751 //////////////////////////////////////////////////////////////////// // Function: Lens::project // Access: Published // Description: Given a 3-d point in space, determine the 2-d point // this maps to, in the range (-1,1) in both dimensions, // where (0,0) is the center of the lens and // (-1,-1) is the lower-left corner. // // Returns true if the 3-d point is in front of the lens // and within the viewing frustum (in which case point2d // is filled in), or false otherwise (in which case // point2d will be filled in with something, which may // or may not be meaningful). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::project // Access: Published // Description: Given a 3-d point in space, determine the 2-d point // this maps to, in the range (-1,1) in both dimensions, // where (0,0) is the center of the lens and // (-1,-1) is the lower-left corner. // // The z coordinate will also be set to a value in the // range (-1, 1), where 1 represents a point on the near // plane, and -1 represents a point on the far plane. // // Returns true if the 3-d point is in front of the lens // and within the viewing frustum (in which case point2d // is filled in), or false otherwise (in which case // point2d will be filled in with something, which may // or may not be meaningful). //////////////////////////////////////////////////////////////////// 153 inline bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const; inline bool Lens::project(LPoint3f const &point3d, LPoint2f &point2d) const; 2199 16 set_change_event 4 2708 22 Lens::set_change_event 0 1 892 643 //////////////////////////////////////////////////////////////////// // Function: Lens::set_change_event // Access: Published // Description: Sets the name of the event that will be generated // whenever any properties of the Lens have // changed. If this is not set for a particular lens, // no event will be generated. // // The event is thrown with one parameter, the lens // itself. This can be used to automatically track // changes to camera fov, etc. in the application. //////////////////////////////////////////////////////////////////// 70 inline void Lens::set_change_event(basic_string< char > const &event); 2200 16 get_change_event 4 2708 22 Lens::get_change_event 0 1 893 370 //////////////////////////////////////////////////////////////////// // Function: Lens::get_change_event // Access: Published // Description: Returns the name of the event that will be generated // whenever any properties of this particular Lens have // changed. //////////////////////////////////////////////////////////////////// 70 inline basic_string< char > const &Lens::get_change_event(void) const; 2201 21 set_coordinate_system 4 2708 27 Lens::set_coordinate_system 0 1 894 385 //////////////////////////////////////////////////////////////////// // Function: Lens::set_coordinate_system // Access: Published // Description: Specifies the coordinate system that all 3-d // computations are performed within for this // Lens. Normally, this is CS_default. //////////////////////////////////////////////////////////////////// 54 void Lens::set_coordinate_system(CoordinateSystem cs); 2202 21 get_coordinate_system 4 2708 27 Lens::get_coordinate_system 0 1 895 383 //////////////////////////////////////////////////////////////////// // Function: Lens::get_coordinate_system // Access: Published // Description: Returns the coordinate system that all 3-d // computations are performed within for this // Lens. Normally, this is CS_default. //////////////////////////////////////////////////////////////////// 64 inline CoordinateSystem Lens::get_coordinate_system(void) const; 2203 5 clear 4 2708 11 Lens::clear 0 1 896 289 //////////////////////////////////////////////////////////////////// // Function: Lens::clear // Access: Published // Description: Resets all lens parameters to their initial default // settings. //////////////////////////////////////////////////////////////////// 23 void Lens::clear(void); 2204 13 set_film_size 4 2708 19 Lens::set_film_size 0 3 897 898 899 2825 //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_size // Access: Published // Description: Sets the size and shape of the "film" within the // lens. This both establishes the units used by // calls like set_focal_length(), and establishes the // aspect ratio of the frame. // // In a physical camera, the field of view of a lens is // determined by the lens' focal length and by the size // of the film area exposed by the lens. For instance, // a 35mm camera exposes a rectangle on the film about // 24mm x 36mm, which means a 50mm lens gives about a // 40-degree horizontal field of view. // // In the virtual camera, you may set the film size to // any units here, and specify a focal length in the // same units to simulate the same effect. Or, you may // ignore this parameter, and specify the field of view // and aspect ratio of the lens directly. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_size // Access: Published // Description: Sets the horizontal size of the film without changing // its shape. The aspect ratio remains unchanged; this // computes the vertical size of the film to // automatically maintain the aspect ratio. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_size // Access: Published // Description: Sets the size and shape of the "film" within the // lens. This both establishes the units used by // calls like set_focal_length(), and establishes the // aspect ratio of the frame. // // In a physical camera, the field of view of a lens is // determined by the lens' focal length and by the size // of the film area exposed by the lens. For instance, // a 35mm camera exposes a rectangle on the film about // 24mm x 36mm, which means a 50mm lens gives about a // 40-degree horizontal field of view. // // In the virtual camera, you may set the film size to // any units here, and specify a focal length in the // same units to simulate the same effect. Or, you may // ignore this parameter, and specify the field of view // and aspect ratio of the lens directly. //////////////////////////////////////////////////////////////////// 153 void Lens::set_film_size(float width); inline void Lens::set_film_size(float width, float height); void Lens::set_film_size(LVecBase2f const &film_size); 2205 13 get_film_size 4 2708 19 Lens::get_film_size 0 1 900 324 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_size // Access: Published // Description: Returns the horizontal and vertical film size of // the virtual film. See set_film_size(). //////////////////////////////////////////////////////////////////// 50 LVecBase2f const &Lens::get_film_size(void) const; 2206 15 set_film_offset 4 2708 21 Lens::set_film_offset 0 2 901 902 898 //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_offset // Access: Published // Description: Sets the horizontal and vertical offset amounts of // this Lens. These are both in the same units // specified in set_film_size(). // // This can be used to establish an off-axis lens. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_offset // Access: Published // Description: Sets the horizontal and vertical offset amounts of // this Lens. These are both in the same units // specified in set_film_size(). // // This can be used to establish an off-axis lens. //////////////////////////////////////////////////////////////////// 118 inline void Lens::set_film_offset(float x, float y); inline void Lens::set_film_offset(LVecBase2f const &film_offset); 2207 15 get_film_offset 4 2708 21 Lens::get_film_offset 0 1 903 326 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_offset // Access: Published // Description: Returns the horizontal and vertical offset amounts of // this Lens. See set_film_offset(). //////////////////////////////////////////////////////////////////// 58 inline LVector2f const &Lens::get_film_offset(void) const; 2208 16 set_focal_length 4 2708 22 Lens::set_focal_length 0 1 904 515 //////////////////////////////////////////////////////////////////// // Function: Lens::set_focal_length // Access: Published // Description: Sets the focal length of the lens. This may adjust // the field-of-view correspondingly, and is an // alternate way to specify field of view. // // For certain kinds of lenses (e.g. OrthographicLens), // the focal length has no meaning. //////////////////////////////////////////////////////////////////// 48 void Lens::set_focal_length(float focal_length); 2209 16 get_focal_length 4 2708 22 Lens::get_focal_length 0 1 905 527 //////////////////////////////////////////////////////////////////// // Function: Lens::get_focal_length // Access: Published // Description: Returns the focal length of the lens. This may have // been set explicitly by a previous call to // set_focal_length(), or it may be computed based on // the lens' fov and film_size. For certain kinds of // lenses, the focal length has no meaning. //////////////////////////////////////////////////////////////////// 41 float Lens::get_focal_length(void) const; 2210 11 set_min_fov 4 2708 17 Lens::set_min_fov 0 1 906 836 //////////////////////////////////////////////////////////////////// // Function: Lens::set_min_fov // Access: Published // Description: Sets the field of view of the smallest dimension of // the window. If the window is wider than it is tall, // this specifies the vertical field of view; if it is // taller than it is wide, this specifies the horizontal // field of view. // // In many cases, this is preferable to setting either // the horizontal or vertical field of view explicitly. // Setting this parameter means that pulling the window // wider will widen the field of view, which is usually // what you expect to happen. //////////////////////////////////////////////////////////////////// 38 void Lens::set_min_fov(float min_fov); 2211 7 set_fov 4 2708 13 Lens::set_fov 0 3 907 908 909 1651 //////////////////////////////////////////////////////////////////// // Function: Lens::set_fov // Access: Published // Description: Sets the field of view of the lens in both // dimensions. This establishes both the field of view // and the aspect ratio of the lens. This is one way to // specify the field of view of a lens; // set_focal_length() is another way. // // For certain kinds of lenses (like OrthoLens), // the field of view has no meaning. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::set_fov // Access: Published // Description: Sets the horizontal field of view of the lens without // changing the aspect ratio. The vertical field of // view is adjusted to maintain the same aspect ratio. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::set_fov // Access: Published // Description: Sets the field of view of the lens in both // dimensions. This establishes both the field of view // and the aspect ratio of the lens. This is one way to // specify the field of view of a lens; // set_focal_length() is another way. // // For certain kinds of lenses (like OrthographicLens), // the field of view has no meaning. //////////////////////////////////////////////////////////////////// 124 void Lens::set_fov(float fov); inline void Lens::set_fov(float hfov, float vfov); void Lens::set_fov(LVecBase2f const &fov); 2212 7 get_fov 4 2708 13 Lens::get_fov 0 1 910 312 //////////////////////////////////////////////////////////////////// // Function: Lens::get_fov // Access: Published // Description: Returns the horizontal and vertical film size of // the virtual film. See set_fov(). //////////////////////////////////////////////////////////////////// 44 LVecBase2f const &Lens::get_fov(void) const; 2213 8 get_hfov 4 2708 14 Lens::get_hfov 0 1 911 292 //////////////////////////////////////////////////////////////////// // Function: Lens::get_hfov // Access: Published // Description: Returns the horizontal component of fov only. See // get_fov(). //////////////////////////////////////////////////////////////////// 40 inline float Lens::get_hfov(void) const; 2214 8 get_vfov 4 2708 14 Lens::get_vfov 0 1 912 290 //////////////////////////////////////////////////////////////////// // Function: Lens::get_vfov // Access: Published // Description: Returns the vertical component of fov only. See // get_fov(). //////////////////////////////////////////////////////////////////// 40 inline float Lens::get_vfov(void) const; 2215 11 get_min_fov 4 2708 17 Lens::get_min_fov 0 1 913 321 //////////////////////////////////////////////////////////////////// // Function: Lens::get_min_fov // Access: Published // Description: Returns the field of view of the narrowest dimension // of the window. See set_min_fov(). //////////////////////////////////////////////////////////////////// 36 float Lens::get_min_fov(void) const; 2216 16 set_aspect_ratio 4 2708 22 Lens::set_aspect_ratio 0 1 914 444 //////////////////////////////////////////////////////////////////// // Function: Lens::set_aspect_ratio // Access: Published // Description: Sets the aspect ratio of the lens. This is the ratio // of the height to the width of the generated image. // Setting this overrides the two-parameter fov or film // size setting. //////////////////////////////////////////////////////////////////// 48 void Lens::set_aspect_ratio(float aspect_ratio); 2217 16 get_aspect_ratio 4 2708 22 Lens::get_aspect_ratio 0 1 915 368 //////////////////////////////////////////////////////////////////// // Function: Lens::get_aspect_ratio // Access: Published // Description: Returns the aspect ratio of the Lens. This is // determined based on the indicated film size; see // set_film_size(). //////////////////////////////////////////////////////////////////// 41 float Lens::get_aspect_ratio(void) const; 2218 8 set_near 4 2708 14 Lens::set_near 0 1 916 377 //////////////////////////////////////////////////////////////////// // Function: Lens::set_near // Access: Published // Description: Defines the position of the near plane (or cylinder, // sphere, whatever). Points closer to the lens than // this may not be rendered. //////////////////////////////////////////////////////////////////// 48 inline void Lens::set_near(float near_distance); 2219 8 get_near 4 2708 14 Lens::get_near 0 1 917 302 //////////////////////////////////////////////////////////////////// // Function: Lens::get_near // Access: Published // Description: Returns the position of the near plane (or cylinder, // sphere, whatever). //////////////////////////////////////////////////////////////////// 40 inline float Lens::get_near(void) const; 2220 7 set_far 4 2708 13 Lens::set_far 0 1 918 378 //////////////////////////////////////////////////////////////////// // Function: Lens::set_far // Access: Published // Description: Defines the position of the far plane (or cylinder, // sphere, whatever). Points farther from the lens than // this may not be rendered. //////////////////////////////////////////////////////////////////// 46 inline void Lens::set_far(float far_distance); 2221 7 get_far 4 2708 13 Lens::get_far 0 1 919 300 //////////////////////////////////////////////////////////////////// // Function: Lens::get_far // Access: Published // Description: Returns the position of the far plane (or cylinder, // sphere, whatever). //////////////////////////////////////////////////////////////////// 39 inline float Lens::get_far(void) const; 2222 12 set_near_far 4 2708 18 Lens::set_near_far 0 1 920 265 //////////////////////////////////////////////////////////////////// // Function: Lens::set_near_far // Access: Published // Description: Simultaneously changes the near and far planes. //////////////////////////////////////////////////////////////////// 72 inline void Lens::set_near_far(float near_distance, float far_distance); 2223 16 get_default_near 4 2708 22 Lens::get_default_near 0 1 921 391 //////////////////////////////////////////////////////////////////// // Function: Lens::get_default_near // Access: Published, Static // Description: Returns the default near plane distance that will be // assigned to each newly-created lens. This is read // from the Configrc file. //////////////////////////////////////////////////////////////////// 42 static float Lens::get_default_near(void); 2224 15 get_default_far 4 2708 21 Lens::get_default_far 0 1 922 389 //////////////////////////////////////////////////////////////////// // Function: Lens::get_default_far // Access: Published, Static // Description: Returns the default far plane distance that will be // assigned to each newly-created lens. This is read // from the Configrc file. //////////////////////////////////////////////////////////////////// 41 static float Lens::get_default_far(void); 2225 12 set_view_hpr 4 2708 18 Lens::set_view_hpr 0 2 923 924 1188 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_hpr // Access: Published // Description: Sets the direction in which the lens is facing. // Normally, this is down the forward axis (usually the // Y axis), but it may be rotated. This is only one way // of specifying the rotation; you may also specify an // explicit vector in which to look, or you may give a // complete transformation matrix. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_hpr // Access: Published // Description: Sets the direction in which the lens is facing. // Normally, this is down the forward axis (usually the // Y axis), but it may be rotated. This is only one way // of specifying the rotation; you may also specify an // explicit vector in which to look, or you may give a // complete transformation matrix. //////////////////////////////////////////////////////////////////// 111 inline void Lens::set_view_hpr(float h, float p, float r); void Lens::set_view_hpr(LVecBase3f const &view_hpr); 2226 12 get_view_hpr 4 2708 18 Lens::get_view_hpr 0 1 925 268 //////////////////////////////////////////////////////////////////// // Function: Lens::get_view_hpr // Access: Published // Description: Returns the direction in which the lens is facing. //////////////////////////////////////////////////////////////////// 49 LVecBase3f const &Lens::get_view_hpr(void) const; 2227 15 set_view_vector 4 2708 21 Lens::set_view_vector 0 2 926 927 882 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_vector // Access: Published // Description: Specifies the direction in which the lens is facing // by giving an axis to look along, and a perpendicular // (or at least non-parallel) up axis. // // See also set_view_hpr(). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_vector // Access: Published // Description: Specifies the direction in which the lens is facing // by giving an axis to look along, and a perpendicular // (or at least non-parallel) up axis. // // See also set_view_hpr(). //////////////////////////////////////////////////////////////////// 174 inline void Lens::set_view_vector(float x, float y, float z, float i, float j, float k); void Lens::set_view_vector(LVector3f const &view_vector, LVector3f const &up_vector); 2228 15 get_view_vector 4 2708 21 Lens::get_view_vector 0 1 928 269 //////////////////////////////////////////////////////////////////// // Function: Lens::get_view_vector // Access: Published // Description: Returns the axis along which the lens is facing. //////////////////////////////////////////////////////////////////// 51 LVector3f const &Lens::get_view_vector(void) const; 2229 13 get_up_vector 4 2708 19 Lens::get_up_vector 0 1 929 329 //////////////////////////////////////////////////////////////////// // Function: Lens::get_up_vector // Access: Published // Description: Returns the axis perpendicular to the camera's view // vector that indicates the "up" direction. //////////////////////////////////////////////////////////////////// 49 LVector3f const &Lens::get_up_vector(void) const; 2230 15 get_nodal_point 4 2708 21 Lens::get_nodal_point 0 1 930 317 //////////////////////////////////////////////////////////////////// // Function: Lens::get_nodal_point // Access: Published // Description: Returns the center point of the lens: the point from // which the lens is viewing. //////////////////////////////////////////////////////////////////// 43 LPoint3f Lens::get_nodal_point(void) const; 2231 24 set_interocular_distance 4 2708 30 Lens::set_interocular_distance 0 1 931 796 //////////////////////////////////////////////////////////////////// // Function: Lens::set_interocular_distance // Access: Published // Description: Sets the distance between the left and right eyes of // a stereo camera. This distance is used to apply a // stereo effect when the lens is rendered on a stereo // display region. It only has an effect on a // PerspectiveLens. // // The left eye and the right eye are each offset along // the X axis by half of this distance, so that this // parameter specifies the total distance between them. // // Also see set_convergence_distance(), which relates. //////////////////////////////////////////////////////////////////// 64 void Lens::set_interocular_distance(float interocular_distance); 2232 24 get_interocular_distance 4 2708 30 Lens::get_interocular_distance 0 1 932 261 //////////////////////////////////////////////////////////////////// // Function: Lens::get_interocular_distance // Access: Published // Description: See set_interocular_distance(). //////////////////////////////////////////////////////////////////// 49 float Lens::get_interocular_distance(void) const; 2233 24 set_convergence_distance 4 2708 30 Lens::set_convergence_distance 0 1 933 1237 //////////////////////////////////////////////////////////////////// // Function: Lens::set_convergence_distance // Access: Published // Description: Sets the distance between between the camera plane // and the point in the distance that the left and right // eyes are both looking at. This distance is used to // apply a stereo effect when the lens is rendered on a // stereo display region. It only has an effect on a // PerspectiveLens. // // This parameter must be greater than 0, but may be as // large as you like. It controls the amount to which // the two eyes are directed inwards towards each other, // which is a normal property of stereo vision. It is a // distance, not an angle; normally this should be set // to the distance from the camera to the area of // interest in your scene. If you want to simulate // parallel stereo, set this value to a very large // number. // // Also see set_interocular_distance(), which relates. //////////////////////////////////////////////////////////////////// 64 void Lens::set_convergence_distance(float convergence_distance); 2234 24 get_convergence_distance 4 2708 30 Lens::get_convergence_distance 0 1 934 261 //////////////////////////////////////////////////////////////////// // Function: Lens::get_convergence_distance // Access: Published // Description: See set_convergence_distance(). //////////////////////////////////////////////////////////////////// 49 float Lens::get_convergence_distance(void) const; 2235 12 set_view_mat 4 2708 18 Lens::set_view_mat 0 1 935 831 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_mat // Access: Published // Description: Sets an arbitrary transformation on the lens. This // replaces the individual transformation components // like set_view_hpr(). // // Setting a transformation here will have a slightly // different effect than putting one on the LensNode // that contains this lens. In particular, lighting and // other effects computations will still be performed on // the lens in its untransformed (facing forward) // position, but the actual projection matrix will be // transformed by this matrix. //////////////////////////////////////////////////////////////////// 51 void Lens::set_view_mat(LMatrix4f const &view_mat); 2236 12 get_view_mat 4 2708 18 Lens::get_view_mat 0 1 936 268 //////////////////////////////////////////////////////////////////// // Function: Lens::get_view_mat // Access: Published // Description: Returns the direction in which the lens is facing. //////////////////////////////////////////////////////////////////// 48 LMatrix4f const &Lens::get_view_mat(void) const; 2237 14 clear_view_mat 4 2708 20 Lens::clear_view_mat 0 1 937 258 //////////////////////////////////////////////////////////////////// // Function: Lens::clear_view_mat // Access: Published // Description: Resets the lens transform to identity. //////////////////////////////////////////////////////////////////// 32 void Lens::clear_view_mat(void); 2238 12 set_keystone 4 2708 18 Lens::set_keystone 0 1 938 989 //////////////////////////////////////////////////////////////////// // Function: Lens::set_keystone // Access: Published // Description: Indicates the ratio of keystone correction to perform // on the lens, in each of three axes. This will build // a special non-affine scale factor into the projection // matrix that will compensate for keystoning of a // projected image; this can be used to compensate for a // projector that for physical reasons cannot be aimed // directly at its screen. // // The default value is taken from the default-keystone // Config variable. 0, 0 indicates no keystone // correction; specify a small value (usually in the // range -1 .. 1) in either the x or y position to // generate a keystone correction in that axis. //////////////////////////////////////////////////////////////////// 52 void Lens::set_keystone(LVecBase2f const &keystone); 2239 12 get_keystone 4 2708 18 Lens::get_keystone 0 1 939 290 //////////////////////////////////////////////////////////////////// // Function: Lens::get_keystone // Access: Published // Description: Returns the keystone correction specified for the // lens. //////////////////////////////////////////////////////////////////// 56 inline LVecBase2f const &Lens::get_keystone(void) const; 2240 14 clear_keystone 4 2708 20 Lens::clear_keystone 0 1 940 258 //////////////////////////////////////////////////////////////////// // Function: Lens::clear_keystone // Access: Published // Description: Disables the lens keystone correction. //////////////////////////////////////////////////////////////////// 32 void Lens::clear_keystone(void); 2241 24 set_frustum_from_corners 4 2708 30 Lens::set_frustum_from_corners 0 1 941 3080 //////////////////////////////////////////////////////////////////// // Function: Lens::set_frustum_from_corners // Access: Published // Description: Sets up the lens to use the frustum defined by the // four indicated points. This is most useful for a // PerspectiveLens, but it may be called for other kinds // of lenses as well. // // The frustum will be rooted at the origin (or by // whatever translation might have been specified in a // previous call to set_view_mat). // // It is legal for the four points not to be arranged in // a rectangle; if this is the case, the frustum will be // fitted as tightly as possible to cover all four // points. // // The flags parameter contains the union of one or more // of the following bits to control the behavior of this // function: // // FC_roll - If this is included, the camera may be // rotated so that its up vector is perpendicular to the // top line. Otherwise, the standard up vector is used. // // FC_camera_plane - This allows the camera plane to be // adjusted to be as nearly perpendicular to the center // of the frustum as possible. Without this bit, the // orientation camera plane is defined by position of // the four points (which should all be coplanar). With // this bit, the camera plane is arbitarary, and may be // chosen so that the four points do not themselves lie // in the camera plane (but the points will still be // within the frustum). // // FC_off_axis - This allows the resulting frustum to be // off-axis to get the tightest possible fit. Without // this bit, the viewing axis will be centered within // the frustum, but there may be more wasted space along // the edges. // // FC_aspect_ratio - This allows the frustum to be // scaled non-proportionately in the vertical and // horizontal dimensions, if necessary, to get a tighter // fit. Without this bit, the current aspect ratio will // be preserved. // // FC_shear - This allows the frustum to be sheared, if // necessary, to get the tightest possible fit. This // may result in a parallelogram-based frustum, which // will give a slanted appearance to the rendered image. // Without this bit, the frustum will be // rectangle-based. // // In general, if 0 is passed in as the value for flags, // the generated frustum will be a loose fit but sane; // if -1 is passed in, it will be a tighter fit and // possibly screwy. //////////////////////////////////////////////////////////////////// 135 void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags); 2242 13 recompute_all 4 2708 19 Lens::recompute_all 0 1 942 405 //////////////////////////////////////////////////////////////////// // Function: Lens::recompute_all // Access: Published // Description: Forces all internal parameters of the Lens to be // recomputed. Normally, this should never need to be // called; it is provided only to assist in debugging. //////////////////////////////////////////////////////////////////// 31 void Lens::recompute_all(void); 2243 9 is_linear 4 2708 15 Lens::is_linear 0 1 943 464 //////////////////////////////////////////////////////////////////// // Function: Lens::is_linear // Access: Published, Virtual // Description: Returns true if the lens represents a linear // projection (e.g. PerspectiveLens, OrthographicLens), // and therefore there is a valid matrix returned by // get_projection_mat(), or false otherwise. //////////////////////////////////////////////////////////////////// 41 virtual bool Lens::is_linear(void) const; 2244 14 is_perspective 4 2708 20 Lens::is_perspective 0 1 944 372 //////////////////////////////////////////////////////////////////// // Function: Lens::is_perspective // Access: Published, Virtual // Description: Returns true if the lens represents a perspective // projection (i.e. it is a PerspectiveLens), false // otherwise. //////////////////////////////////////////////////////////////////// 46 virtual bool Lens::is_perspective(void) const; 2245 15 is_orthographic 4 2708 21 Lens::is_orthographic 0 1 945 375 //////////////////////////////////////////////////////////////////// // Function: Lens::is_orthographic // Access: Published, Virtual // Description: Returns true if the lens represents a orthographic // projection (i.e. it is a OrthographicLens), false // otherwise. //////////////////////////////////////////////////////////////////// 47 virtual bool Lens::is_orthographic(void) const; 2246 13 make_geometry 4 2708 19 Lens::make_geometry 0 1 946 515 //////////////////////////////////////////////////////////////////// // Function: Lens::make_geometry // Access: Published, Virtual // Description: Allocates and returns a new Geom that can be rendered // to show a visible representation of the frustum used // for this kind of lens, if it makes sense to do // so. If a visible representation cannot be created, // returns NULL. //////////////////////////////////////////////////////////////////// 52 virtual PointerTo< Geom > Lens::make_geometry(void); 2247 11 make_bounds 4 2708 17 Lens::make_bounds 0 1 947 450 //////////////////////////////////////////////////////////////////// // Function: Lens::make_bounds // Access: Published, Virtual // Description: Allocates and returns a new BoundingVolume that // encloses the frustum used for this kind of // lens, if possible. If a suitable bounding // volume cannot be created, returns NULL. //////////////////////////////////////////////////////////////////// 66 virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const; 2248 18 get_projection_mat 4 2708 24 Lens::get_projection_mat 0 2 948 949 441 //////////////////////////////////////////////////////////////////// // Function: Lens::get_projection_mat // Access: Published // Description: Returns the complete transformation matrix from a 3-d // point in space to a point on the film, if such a // matrix exists, or the identity matrix if the lens is // nonlinear. //////////////////////////////////////////////////////////////////// 89 LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const; 2249 22 get_projection_mat_inv 4 2708 28 Lens::get_projection_mat_inv 0 2 950 951 376 //////////////////////////////////////////////////////////////////// // Function: Lens::get_projection_mat_inv // Access: Published // Description: Returns the matrix that transforms from a 2-d point // on the film to a 3-d vector in space, if such a // matrix exists. //////////////////////////////////////////////////////////////////// 93 LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const; 2250 12 get_film_mat 4 2708 18 Lens::get_film_mat 0 1 952 322 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_mat // Access: Published // Description: Returns the matrix that transforms from a point // behind the lens to a point on the film. //////////////////////////////////////////////////////////////////// 48 LMatrix4f const &Lens::get_film_mat(void) const; 2251 16 get_film_mat_inv 4 2708 22 Lens::get_film_mat_inv 0 1 953 326 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_mat_inv // Access: Published // Description: Returns the matrix that transforms from a point on // the film to a point behind the lens. //////////////////////////////////////////////////////////////////// 52 LMatrix4f const &Lens::get_film_mat_inv(void) const; 2252 12 get_lens_mat 4 2708 18 Lens::get_lens_mat 0 1 954 324 //////////////////////////////////////////////////////////////////// // Function: Lens::get_lens_mat // Access: Published // Description: Returns the matrix that transforms from a point // in front of the lens to a point in space. //////////////////////////////////////////////////////////////////// 48 LMatrix4f const &Lens::get_lens_mat(void) const; 2253 16 get_lens_mat_inv 4 2708 22 Lens::get_lens_mat_inv 0 1 955 328 //////////////////////////////////////////////////////////////////// // Function: Lens::get_lens_mat_inv // Access: Published // Description: Returns the matrix that transforms from a point in // space to a point in front of the lens. //////////////////////////////////////////////////////////////////// 52 LMatrix4f const &Lens::get_lens_mat_inv(void) const; 2254 6 output 4 2708 12 Lens::output 0 1 956 221 //////////////////////////////////////////////////////////////////// // Function: Lens::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 46 virtual void Lens::output(ostream &out) const; 2255 5 write 4 2708 11 Lens::write 0 2 957 958 220 //////////////////////////////////////////////////////////////////// // Function: Lens::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 69 virtual void Lens::write(ostream &out, int indent_level = (0)) const; 2256 14 get_class_type 4 2708 20 Lens::get_class_type 0 1 959 0 45 static TypeHandle Lens::get_class_type(void); 2257 5 ~Lens 4 2708 11 Lens::~Lens 0 0 0 18 Lens::~Lens(void); 2258 16 OrthographicLens 4 2711 34 OrthographicLens::OrthographicLens 0 1 960 948 // Filename: orthographicLens.I // Created by: mike (18Feb99) // //////////////////////////////////////////////////////////////////// // // 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: OrthographicLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: OrthographicLens::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 48 inline OrthographicLens::OrthographicLens(void); 2259 14 get_class_type 4 2711 32 OrthographicLens::get_class_type 0 1 961 0 57 static TypeHandle OrthographicLens::get_class_type(void); 2260 17 ~OrthographicLens 4 2711 35 OrthographicLens::~OrthographicLens 0 0 0 42 OrthographicLens::~OrthographicLens(void); 2261 10 MatrixLens 4 2712 22 MatrixLens::MatrixLens 0 1 962 931 // Filename: matrixLens.I // Created by: drose (12Dec01) // //////////////////////////////////////////////////////////////////// // // 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: MatrixLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: MatrixLens::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 36 inline MatrixLens::MatrixLens(void); 2262 12 set_user_mat 4 2712 24 MatrixLens::set_user_mat 0 1 963 938 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::set_user_mat // Access: Published // Description: Explicitly specifies the projection matrix. This // matrix should convert X and Y to the range // [-film_size/2, film_size/2], where (-fs/2,-fs/2) is // the lower left corner of the screen and (fs/2, fs/2) // is the upper right. Z should go to the range [-1, // 1], where -1 is the far plane and 1 is the near // plane. Note that this is a left-handed Y-up // coordinate system. // // The default film_size for a MatrixLens is 2, so the // default range is [-1, 1] for both X and Y. This is // consistent with the GL conventions for projection // matrices. //////////////////////////////////////////////////////////////////// 64 inline void MatrixLens::set_user_mat(LMatrix4f const &user_mat); 2263 12 get_user_mat 4 2712 24 MatrixLens::get_user_mat 0 1 964 404 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::get_user_mat // Access: Published // Description: Returns the explicit projection matrix as set by the // user. This does not include transforms on the lens // or film (e.g. a film offset or view hpr). //////////////////////////////////////////////////////////////////// 61 inline LMatrix4f const &MatrixLens::get_user_mat(void) const; 2264 16 set_left_eye_mat 4 2712 28 MatrixLens::set_left_eye_mat 0 1 965 761 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::set_left_eye_mat // Access: Published // Description: Sets a custom projection matrix for the left eye. // This is only used if the lens is attached to a stereo // camera, in which case the left eye matrix will be // used to draw the scene in the left eye (but the // center matrix--the user_mat--will still be used to // cull the scene). // // This matrix should not be too different from the // center matrix (set by set_user_mat()) or culling // errors may become obvious. //////////////////////////////////////////////////////////////////// 68 inline void MatrixLens::set_left_eye_mat(LMatrix4f const &user_mat); 2265 18 clear_left_eye_mat 4 2712 30 MatrixLens::clear_left_eye_mat 0 1 966 380 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::clear_left_eye_mat // Access: Published // Description: Removes the custom projection matrix set for the left // eye, and uses the center matrix (set by set_user_mat) // instead. //////////////////////////////////////////////////////////////////// 49 inline void MatrixLens::clear_left_eye_mat(void); 2266 16 has_left_eye_mat 4 2712 28 MatrixLens::has_left_eye_mat 0 1 967 441 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::has_left_eye_mat // Access: Published // Description: Returns true if the camera has a custom projection // matrix set for the left eye, or false if the center // matrix (set by set_user_mat) will be used for the // left eye. //////////////////////////////////////////////////////////////////// 53 inline bool MatrixLens::has_left_eye_mat(void) const; 2267 16 get_left_eye_mat 4 2712 28 MatrixLens::get_left_eye_mat 0 1 968 396 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::get_left_eye_mat // Access: Published // Description: Returns the custom projection matrix for the left // eye, if any, or the center matrix if there is no // custom matrix set for the left eye. //////////////////////////////////////////////////////////////////// 65 inline LMatrix4f const &MatrixLens::get_left_eye_mat(void) const; 2268 17 set_right_eye_mat 4 2712 29 MatrixLens::set_right_eye_mat 0 1 969 765 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::set_right_eye_mat // Access: Published // Description: Sets a custom projection matrix for the right eye. // This is only used if the lens is attached to a stereo // camera, in which case the right eye matrix will be // used to draw the scene in the right eye (but the // center matrix--the user_mat--will still be used to // cull the scene). // // This matrix should not be too different from the // center matrix (set by set_user_mat()) or culling // errors may become obvious. //////////////////////////////////////////////////////////////////// 69 inline void MatrixLens::set_right_eye_mat(LMatrix4f const &user_mat); 2269 19 clear_right_eye_mat 4 2712 31 MatrixLens::clear_right_eye_mat 0 1 970 382 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::clear_right_eye_mat // Access: Published // Description: Removes the custom projection matrix set for the right // eye, and uses the center matrix (set by set_user_mat) // instead. //////////////////////////////////////////////////////////////////// 50 inline void MatrixLens::clear_right_eye_mat(void); 2270 17 has_right_eye_mat 4 2712 29 MatrixLens::has_right_eye_mat 0 1 971 444 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::has_right_eye_mat // Access: Published // Description: Returns true if the camera has a custom projection // matrix set for the right eye, or false if the center // matrix (set by set_user_mat) will be used for the // right eye. //////////////////////////////////////////////////////////////////// 54 inline bool MatrixLens::has_right_eye_mat(void) const; 2271 17 get_right_eye_mat 4 2712 29 MatrixLens::get_right_eye_mat 0 1 972 399 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::get_right_eye_mat // Access: Published // Description: Returns the custom projection matrix for the right // eye, if any, or the center matrix if there is no // custom matrix set for the right eye. //////////////////////////////////////////////////////////////////// 66 inline LMatrix4f const &MatrixLens::get_right_eye_mat(void) const; 2272 14 get_class_type 4 2712 26 MatrixLens::get_class_type 0 1 973 0 51 static TypeHandle MatrixLens::get_class_type(void); 2273 11 ~MatrixLens 4 2712 23 MatrixLens::~MatrixLens 0 0 0 30 MatrixLens::~MatrixLens(void); 2274 15 PerspectiveLens 4 2713 32 PerspectiveLens::PerspectiveLens 0 2 974 975 1172 // Filename: perspectiveLens.I // Created by: drose (18Feb99) // //////////////////////////////////////////////////////////////////// // // 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: PerspectiveLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PerspectiveLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PerspectiveLens::Copy Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 111 inline PerspectiveLens::PerspectiveLens(void); inline PerspectiveLens::PerspectiveLens(float hfov, float vfov); 2275 14 get_class_type 4 2713 31 PerspectiveLens::get_class_type 0 1 976 0 56 static TypeHandle PerspectiveLens::get_class_type(void); 2276 16 ~PerspectiveLens 4 2713 33 PerspectiveLens::~PerspectiveLens 0 0 0 40 PerspectiveLens::~PerspectiveLens(void); 2277 37 upcast_to_TypedWritableReferenceCount 12 2714 46 Texture::upcast_to_TypedWritableReferenceCount 0 1 1181 50 upcast from Texture to TypedWritableReferenceCount 82 TypedWritableReferenceCount *Texture::upcast_to_TypedWritableReferenceCount(void); 2278 19 downcast_to_Texture 12 2657 48 TypedWritableReferenceCount::downcast_to_Texture 0 1 1182 52 downcast from TypedWritableReferenceCount to Texture 64 Texture *TypedWritableReferenceCount::downcast_to_Texture(void); 2279 17 upcast_to_Namable 12 2714 26 Texture::upcast_to_Namable 0 1 1183 30 upcast from Texture to Namable 42 Namable *Texture::upcast_to_Namable(void); 2280 19 downcast_to_Texture 12 2643 28 Namable::downcast_to_Texture 0 1 1184 32 downcast from Namable to Texture 44 Texture *Namable::downcast_to_Texture(void); 2281 7 Texture 4 2714 16 Texture::Texture 0 2 977 978 763 //////////////////////////////////////////////////////////////////// // Function: Texture::Constructor // Access: Published // Description: Constructs an empty texture. The default is to set // up the texture as an empty 2-d texture; follow up // with one of the variants of setup_texture() if this // is not what you want. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::Copy Constructor // Access: Protected // Description: Use Texture::make_copy() to make a duplicate copy of // an existing Texture. //////////////////////////////////////////////////////////////////// 66 Texture::Texture(basic_string< char > const &name = ((string()))); 2282 8 ~Texture 4 2714 17 Texture::~Texture 0 0 227 //////////////////////////////////////////////////////////////////// // Function: Texture::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 32 virtual Texture::~Texture(void); 2283 9 make_copy 4 2714 18 Texture::make_copy 0 1 979 1163 // Filename: texture.I // Created by: drose (05Feb99) // //////////////////////////////////////////////////////////////////// // // 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: Texture::make_copy // Access: Published // Description: Returns a new copy of the same Texture. This copy, // if applied to geometry, will be copied into texture // as a separate texture from the original, so it will // be duplicated in texture memory (and may be // independently modified if desired). // // If the Texture is a VideoTexture, the resulting // duplicate may be animated independently of the // original. //////////////////////////////////////////////////////////////////// 53 inline PointerTo< Texture > Texture::make_copy(void); 2284 5 clear 4 2714 14 Texture::clear 0 1 980 316 //////////////////////////////////////////////////////////////////// // Function: Texture::clear // Access: Published, Virtual // Description: Reinitializes the texture to its default, empty // state (except for the name). //////////////////////////////////////////////////////////////////// 33 inline void Texture::clear(void); 2285 13 setup_texture 4 2714 22 Texture::setup_texture 0 1 981 425 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_texture // Access: Published // Description: Sets the texture to the indicated type and // dimensions, presumably in preparation for calling // read() or load(), or set_ram_image() or // modify_ram_image(). //////////////////////////////////////////////////////////////////// 169 inline void Texture::setup_texture(Texture::TextureType texture_type, int x_size, int y_size, int z_size, Texture::ComponentType component_type, Texture::Format format); 2286 16 setup_1d_texture 4 2714 25 Texture::setup_1d_texture 0 2 982 983 841 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_1d_texture // Access: Published // Description: Sets the texture as an empty 1-d texture with no // dimensions. Follow up with read() or load() to fill // the texture properties and image data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::setup_1d_texture // Access: Published // Description: Sets the texture as an empty 1-d texture with the // specified dimensions and properties. Follow up with // set_ram_image() or modify_ram_image() to fill the // image data. //////////////////////////////////////////////////////////////////// 158 inline void Texture::setup_1d_texture(void); inline void Texture::setup_1d_texture(int x_size, Texture::ComponentType component_type, Texture::Format format); 2287 16 setup_2d_texture 4 2714 25 Texture::setup_2d_texture 0 2 984 985 841 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_2d_texture // Access: Published // Description: Sets the texture as an empty 2-d texture with no // dimensions. Follow up with read() or load() to fill // the texture properties and image data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::setup_2d_texture // Access: Published // Description: Sets the texture as an empty 2-d texture with the // specified dimensions and properties. Follow up with // set_ram_image() or modify_ram_image() to fill the // image data. //////////////////////////////////////////////////////////////////// 170 inline void Texture::setup_2d_texture(void); inline void Texture::setup_2d_texture(int x_size, int y_size, Texture::ComponentType component_type, Texture::Format format); 2288 16 setup_3d_texture 4 2714 25 Texture::setup_3d_texture 0 3 986 987 988 957 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_3d_texture // Access: Published // Description: Sets the texture as an empty 3-d texture with no // dimensions (though if you know the depth ahead // of time, it saves a bit of reallocation later). // Follow up with read() or load() to fill the texture // properties and image data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::setup_3d_texture // Access: Published // Description: Sets the texture as an empty 3-d texture with the // specified dimensions and properties. Follow up with // set_ram_image() or modify_ram_image() to fill the // image data. //////////////////////////////////////////////////////////////////// 194 inline void Texture::setup_3d_texture(int z_size = (1)); inline void Texture::setup_3d_texture(int x_size, int y_size, int z_size, Texture::ComponentType component_type, Texture::Format format); 2289 14 setup_cube_map 4 2714 23 Texture::setup_cube_map 0 2 989 990 1031 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_cube_map // Access: Published // Description: Sets the texture as an empty cube map texture with no // dimensions. Follow up with read() or load() to fill // the texture properties and image data. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::setup_cube_map // Access: Published // Description: Sets the texture as an empty cube map texture with // the specified dimensions and properties. Follow up // with set_ram_image() or modify_ram_image() to fill // the image data. // // Note that a cube map should always consist of six // square images, so x_size and y_size will be the same, // and z_size is always 6. //////////////////////////////////////////////////////////////////// 152 inline void Texture::setup_cube_map(void); inline void Texture::setup_cube_map(int size, Texture::ComponentType component_type, Texture::Format format); 2290 31 generate_normalization_cube_map 4 2714 40 Texture::generate_normalization_cube_map 0 1 991 601 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_normalization_cube_map // Access: Published // Description: Generates a special cube map image in the texture // that can be used to apply bump mapping effects: for // each texel in the cube map that is indexed by the 3-d // texture coordinates (x, y, z), the resulting value is // the normalized vector (x, y, z) (compressed from // -1..1 into 0..1). //////////////////////////////////////////////////////////////////// 56 void Texture::generate_normalization_cube_map(int size); 2291 24 generate_alpha_scale_map 4 2714 33 Texture::generate_alpha_scale_map 0 1 992 534 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_alpha_scale_map // Access: Published // Description: Generates a special 256x1 1-d texture that can be // used to apply an arbitrary alpha scale to objects by // judicious use of texture matrix. The texture is a // gradient, with an alpha of 0 on the left (U = 0), and // 255 on the right (U = 1). //////////////////////////////////////////////////////////////////// 45 void Texture::generate_alpha_scale_map(void); 2292 4 read 4 2714 13 Texture::read 0 9 993 994 995 996 997 998 999 1000 1001 5206 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads the named filename into the texture. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Combine a 3-component image with a grayscale image // to get a 4-component image. // // See the description of the full-parameter read() // method for the meaning of the // primary_file_num_channels and alpha_file_channel // parameters. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads a single file into a single page or mipmap // level, or automatically reads a series of files into // a series of pages and/or mipmap levels. // // See the description of the full-parameter read() // method for the meaning of the various parameters. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads the texture from the indicated filename. If // primary_file_num_channels is not 0, it specifies the // number of components to downgrade the image to if it // is greater than this number. // // If the filename has the extension .txo, this // implicitly reads a texture object instead of a // filename (which replaces all of the texture // properties). In this case, all the rest of the // parameters are ignored, and the filename should not // contain any hash marks; just the one named file will // be read, since a single .txo file can contain all // pages and mipmaps necessary to define a texture. // // If alpha_fullpath is not empty, it specifies the name // of a file from which to retrieve the alpha. In this // case, alpha_file_channel represents the numeric // channel of this image file to use as the resulting // texture's alpha channel; usually, this is 0 to // indicate the grayscale combination of r, g, b; or it // may be a one-based channel number, e.g. 1 for the red // channel, 2 for the green channel, and so on. // // If read pages is false, then z indicates the page // number into which this image will be assigned. // Normally this is 0 for the first (or only) page of // the texture. 3-D textures have one page for each // level of depth, and cube map textures always have six // pages. // // If read_pages is true, multiple images will be read // at once, one for each page of a cube map or a 3-D // texture. In this case, the filename should contain a // sequence of one or more hash marks ("#") which will // be filled in with the z value of each page, // zero-based. In this case, the z parameter indicates // the maximum z value that will be loaded, or 0 to load // all filenames that exist. // // If read_mipmaps is false, then n indicates the mipmap // level to which this image will be assigned. Normally // this is 0 for the base texture image, but it is // possible to load custom mipmap levels into the later // images. After the base texture image is loaded (thus // defining the size of the texture), you can call // get_expected_num_mipmap_levels() to determine the // maximum sensible value for n. // // If read_mipmaps is true, multiple images will be read // as above, but this time the images represent the // different mipmap levels of the texture image. In // this case, the n parameter indicates the maximum n // value that will be loaded, or 0 to load all filenames // that exist (up to the expected number of mipmap // levels). // // If both read_pages and read_mipmaps is true, then // both sequences will be read; the filename should // contain two sequences of hash marks, separated by // some character such as a hyphen, underscore, or dot. // The first hash mark sequence will be filled in with // the mipmap level, while the second hash mark sequence // will be the page index. // // This method implicitly sets keep_ram_image to false. //////////////////////////////////////////////////////////////////// 653 bool Texture::read(Filename const &fullpath, LoaderOptions const &options = ((()))); bool Texture::read(Filename const &fullpath, Filename const &alpha_fullpath, int primary_file_num_channels, int alpha_file_channel, LoaderOptions const &options = ((()))); bool Texture::read(Filename const &fullpath, int z, int n, bool read_pages, bool read_mipmaps, LoaderOptions const &options = ((()))); bool Texture::read(Filename const &fullpath, Filename const &alpha_fullpath, int primary_file_num_channels, int alpha_file_channel, int z, int n, bool read_pages, bool read_mipmaps, BamCacheRecord *record = ((void *)(0)), LoaderOptions const &options = ((()))); 2293 5 write 4 2714 14 Texture::write 0 3 1002 1003 1004 3574 //////////////////////////////////////////////////////////////////// // Function: Texture::write // Access: Published // Description: Writes the texture to the named filename. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::write // Access: Published // Description: Writes a single page or mipmap level to a single // file, or automatically writes a series of pages // and/or mipmap levels to a numbered series of files. // // If the filename ends in the extension .txo, this // implicitly writes a Panda texture object (.txo) // instead of an image file. In this case, the // remaining parameters are ignored, and only one file // is written, which will contain all of the pages and // resident mipmap levels in the texture. // // If write_pages is false, then z indicates the page // number to write. 3-D textures have one page number // for each level of depth; cube maps have six pages // number 0 through 5. Other kinds of textures have // only one page, numbered 0. // // If write_pages is true, then all pages of the texture // will be written. In this case z is ignored, and the // filename should contain a sequence of hash marks // ("#") which will be filled in with the page index // number. // // If write_mipmaps is false, then n indicates the // mipmap level number to write. Normally, this is 0, // for the base texture image. Normally, the mipmap // levels of a texture are not available in RAM (they // are generated automatically by the graphics card). // However, if you have the mipmap levels available, for // instance because you called // generate_ram_mipmap_images() to generate them // internally, or you called // GraphicsEngine::extract_texture_data() to retrieve // them from the graphics card, then you may write out // each mipmap level with this parameter. // // If write_mipmaps is true, then all mipmap levels of // the texture will be written. In this case n is // ignored, and the filename should contain a sequence // of hash marks ("#") which will be filled in with the // mipmap level number. // // If both write_pages and write_mipmaps is true, then // all pages and all mipmap levels will be written. In // this case, the filename should contain two different // sequences of hash marks, separated by a character // such as a hyphen, underscore, or dot. The first hash // mark sequence will be filled in with the mipmap // level, while the second hash mark sequence will be // the page index. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::write // Access: Published // Description: Not to be confused with write(Filename), this method // simply describes the texture properties. //////////////////////////////////////////////////////////////////// 218 inline bool Texture::write(Filename const &fullpath); inline bool Texture::write(Filename const &fullpath, int z, int n, bool write_pages, bool write_mipmaps); void Texture::write(ostream &out, int indent_level) const; 2294 8 read_txo 4 2714 17 Texture::read_txo 0 2 1005 1006 463 //////////////////////////////////////////////////////////////////// // Function: Texture::read_txo // Access: Published // Description: Reads the texture from a Panda texture object. This // defines the complete Texture specification, including // the image data as well as all texture properties. // // The filename is just for reference. //////////////////////////////////////////////////////////////////// 87 bool Texture::read_txo(istream &in, basic_string< char > const &filename = ("stream")); 2295 9 write_txo 4 2714 18 Texture::write_txo 0 2 1007 1008 463 //////////////////////////////////////////////////////////////////// // Function: Texture::write_txo // Access: Published // Description: Writes the texture to a Panda texture object. This // defines the complete Texture specification, including // the image data as well as all texture properties. // // The filename is just for reference. //////////////////////////////////////////////////////////////////// 95 bool Texture::write_txo(ostream &out, basic_string< char > const &filename = ("stream")) const; 2296 8 read_dds 4 2714 17 Texture::read_dds 0 3 1009 1010 1011 674 //////////////////////////////////////////////////////////////////// // Function: Texture::read_dds // Access: Published // Description: Reads the texture from a DDS file object. This is a // Microsoft-defined file format; it is similar in // principle to a txo object, in that it is designed to // contain the texture image in a form as similar as // possible to its runtime image, and it can contain // mipmaps, pre-compressed textures, and so on. // // As with read_txo, the filename is just for reference. //////////////////////////////////////////////////////////////////// 111 bool Texture::read_dds(istream &in, basic_string< char > const &filename = ("stream"), bool header_only = (0)); 2297 4 load 4 2714 13 Texture::load 0 4 1012 1013 1014 1015 566 //////////////////////////////////////////////////////////////////// // Function: Texture::load // Access: Published // Description: Replaces the texture with the indicated image. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::load // Access: Published // Description: Stores the indicated image in the given page and // mipmap level. See read(). //////////////////////////////////////////////////////////////////// 197 inline bool Texture::load(PNMImage const &pnmimage, LoaderOptions const &options = ((()))); inline bool Texture::load(PNMImage const &pnmimage, int z, int n, LoaderOptions const &options = ((()))); 2298 5 store 4 2714 14 Texture::store 0 2 1016 1017 612 //////////////////////////////////////////////////////////////////// // Function: Texture::store // Access: Published // Description: Saves the texture to the indicated PNMImage, but does // not write it to disk. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::store // Access: Published // Description: Saves the indicated page and mipmap level of the // texture to the PNMImage. //////////////////////////////////////////////////////////////////// 121 inline bool Texture::store(PNMImage &pnmimage) const; inline bool Texture::store(PNMImage &pnmimage, int z, int n) const; 2299 6 reload 4 2714 15 Texture::reload 0 1 1018 532 //////////////////////////////////////////////////////////////////// // Function: Texture::reload // Access: Published // Description: Re-reads the Texture from its disk file. Useful when // you know the image on disk has recently changed, and // you want to update the Texture image. // // Returns true on success, false on failure (in which // case, the Texture may or may not still be valid). //////////////////////////////////////////////////////////////////// 34 inline bool Texture::reload(void); 2300 12 load_related 4 2714 21 Texture::load_related 0 1 1019 444 //////////////////////////////////////////////////////////////////// // Function: Texture::load_related // Access: Published // Description: Loads a texture whose filename is derived by // concatenating a suffix to the filename of this // texture. May return NULL, for example, if this // texture doesn't have a filename. //////////////////////////////////////////////////////////////////// 65 Texture *Texture::load_related(InternalName const *suffix) const; 2301 12 has_filename 4 2714 21 Texture::has_filename 0 1 1020 318 //////////////////////////////////////////////////////////////////// // Function: Texture::has_filename // Access: Published // Description: Returns true if the filename has been set and // is available. See set_filename(). //////////////////////////////////////////////////////////////////// 46 inline bool Texture::has_filename(void) const; 2302 12 get_filename 4 2714 21 Texture::get_filename 0 1 1021 371 //////////////////////////////////////////////////////////////////// // Function: Texture::get_filename // Access: Published // Description: Returns the filename that has been set. This is the // name of the file as it was requested. Also see // get_fullpath(). //////////////////////////////////////////////////////////////////// 57 inline Filename const &Texture::get_filename(void) const; 2303 18 has_alpha_filename 4 2714 27 Texture::has_alpha_filename 0 1 1022 336 //////////////////////////////////////////////////////////////////// // Function: Texture::has_alpha_filename // Access: Published // Description: Returns true if the alpha_filename has been set and // is available. See set_alpha_filename(). //////////////////////////////////////////////////////////////////// 52 inline bool Texture::has_alpha_filename(void) const; 2304 18 get_alpha_filename 4 2714 27 Texture::get_alpha_filename 0 1 1023 475 //////////////////////////////////////////////////////////////////// // Function: Texture::get_alpha_filename // Access: Published // Description: Returns the alpha_filename that has been set. If // this is set, it represents the name of the alpha // component, which is stored in a separate file. See // also get_filename(), and get_alpha_fullpath(). //////////////////////////////////////////////////////////////////// 63 inline Filename const &Texture::get_alpha_filename(void) const; 2305 12 has_fullpath 4 2714 21 Texture::has_fullpath 0 1 1024 318 //////////////////////////////////////////////////////////////////// // Function: Texture::has_fullpath // Access: Published // Description: Returns true if the fullpath has been set and // is available. See set_fullpath(). //////////////////////////////////////////////////////////////////// 46 inline bool Texture::has_fullpath(void) const; 2306 12 get_fullpath 4 2714 21 Texture::get_fullpath 0 1 1025 376 //////////////////////////////////////////////////////////////////// // Function: Texture::get_fullpath // Access: Published // Description: Returns the fullpath that has been set. This is the // full path to the file as it was found along the // texture search path. //////////////////////////////////////////////////////////////////// 57 inline Filename const &Texture::get_fullpath(void) const; 2307 18 has_alpha_fullpath 4 2714 27 Texture::has_alpha_fullpath 0 1 1026 336 //////////////////////////////////////////////////////////////////// // Function: Texture::has_alpha_fullpath // Access: Published // Description: Returns true if the alpha_fullpath has been set and // is available. See set_alpha_fullpath(). //////////////////////////////////////////////////////////////////// 52 inline bool Texture::has_alpha_fullpath(void) const; 2308 18 get_alpha_fullpath 4 2714 27 Texture::get_alpha_fullpath 0 1 1027 430 //////////////////////////////////////////////////////////////////// // Function: Texture::get_alpha_fullpath // Access: Published // Description: // Returns the alpha_fullpath that has been set. This // is the full path to the alpha part of the image file // as it was found along the texture search path. //////////////////////////////////////////////////////////////////// 63 inline Filename const &Texture::get_alpha_fullpath(void) const; 2309 10 get_x_size 4 2714 19 Texture::get_x_size 0 1 1028 268 //////////////////////////////////////////////////////////////////// // Function: Texture::get_x_size // Access: Published // Description: Returns the width of the texture image in texels. //////////////////////////////////////////////////////////////////// 43 inline int Texture::get_x_size(void) const; 2310 10 get_y_size 4 2714 19 Texture::get_y_size 0 1 1029 321 //////////////////////////////////////////////////////////////////// // Function: Texture::get_y_size // Access: Published // Description: Returns the height of the texture image in texels. // For a 1-d texture, this will be 1. //////////////////////////////////////////////////////////////////// 43 inline int Texture::get_y_size(void) const; 2311 10 get_z_size 4 2714 19 Texture::get_z_size 0 1 1030 392 //////////////////////////////////////////////////////////////////// // Function: Texture::get_z_size // Access: Published // Description: Returns the depth of the texture image in texels. // For a 1-d texture or 2-d texture, this will be 1. // For a cube map texture, this will be 6. //////////////////////////////////////////////////////////////////// 43 inline int Texture::get_z_size(void) const; 2312 18 get_num_components 4 2714 27 Texture::get_num_components 0 1 1031 456 //////////////////////////////////////////////////////////////////// // Function: Texture::get_num_components // Access: Published // Description: Returns the number of color components for each texel // of the texture image. This is 3 for an rgb texture // or 4 for an rgba texture; it may also be 1 or 2 for a // grayscale texture. //////////////////////////////////////////////////////////////////// 51 inline int Texture::get_num_components(void) const; 2313 19 get_component_width 4 2714 28 Texture::get_component_width 0 1 1032 390 //////////////////////////////////////////////////////////////////// // Function: Texture::get_component_width // Access: Published // Description: Returns the number of bytes stored for each color // component of a texel. Typically this is 1, but it // may be 2 for 16-bit texels. //////////////////////////////////////////////////////////////////// 52 inline int Texture::get_component_width(void) const; 2314 16 get_texture_type 4 2714 25 Texture::get_texture_type 0 1 1033 275 //////////////////////////////////////////////////////////////////// // Function: Texture::get_texture_type // Access: Published // Description: Returns the overall interpretation of the texture. //////////////////////////////////////////////////////////////////// 66 inline Texture::TextureType Texture::get_texture_type(void) const; 2315 10 get_format 4 2714 19 Texture::get_format 0 1 1034 392 //////////////////////////////////////////////////////////////////// // Function: Texture::get_format // Access: Published // Description: Returns the format of the texture, which represents // both the semantic meaning of the texels and, to some // extent, their storage information. //////////////////////////////////////////////////////////////////// 55 inline Texture::Format Texture::get_format(void) const; 2316 18 get_component_type 4 2714 27 Texture::get_component_type 0 1 1035 312 //////////////////////////////////////////////////////////////////// // Function: Texture::get_component_type // Access: Published // Description: Returns the numeric interpretation of each component // of the texture. //////////////////////////////////////////////////////////////////// 70 inline Texture::ComponentType Texture::get_component_type(void) const; 2317 10 set_wrap_u 4 2714 19 Texture::set_wrap_u 0 1 1036 218 //////////////////////////////////////////////////////////////////// // Function: Texture::set_wrap_u // Access: Published // Description: //////////////////////////////////////////////////////////////////// 56 inline void Texture::set_wrap_u(Texture::WrapMode wrap); 2318 10 set_wrap_v 4 2714 19 Texture::set_wrap_v 0 1 1037 218 //////////////////////////////////////////////////////////////////// // Function: Texture::set_wrap_v // Access: Published // Description: //////////////////////////////////////////////////////////////////// 56 inline void Texture::set_wrap_v(Texture::WrapMode wrap); 2319 10 set_wrap_w 4 2714 19 Texture::set_wrap_w 0 1 1038 270 //////////////////////////////////////////////////////////////////// // Function: Texture::set_wrap_w // Access: Published // Description: The W wrap direction is only used for 3-d textures. //////////////////////////////////////////////////////////////////// 56 inline void Texture::set_wrap_w(Texture::WrapMode wrap); 2320 13 set_minfilter 4 2714 22 Texture::set_minfilter 0 1 1039 221 //////////////////////////////////////////////////////////////////// // Function: Texture::set_minfilter // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline void Texture::set_minfilter(Texture::FilterType filter); 2321 13 set_magfilter 4 2714 22 Texture::set_magfilter 0 1 1040 221 //////////////////////////////////////////////////////////////////// // Function: Texture::set_magfilter // Access: Published // Description: //////////////////////////////////////////////////////////////////// 63 inline void Texture::set_magfilter(Texture::FilterType filter); 2322 22 set_anisotropic_degree 4 2714 31 Texture::set_anisotropic_degree 0 1 1041 733 //////////////////////////////////////////////////////////////////// // Function: Texture::set_anisotropic_degree // Access: Published // Description: Specifies the level of anisotropic filtering to apply // to the texture. Set this 0 to indicate the default // value, which is specified in the // texture-anisotropic-degree config variable. // // To explicitly disable anisotropic filtering, set this // value to 1. To explicitly enable anisotropic // filtering, set it to a value higher than 1; larger // numbers indicate greater degrees of filtering. //////////////////////////////////////////////////////////////////// 68 inline void Texture::set_anisotropic_degree(int anisotropic_degree); 2323 16 set_border_color 4 2714 25 Texture::set_border_color 0 1 1042 446 //////////////////////////////////////////////////////////////////// // Function: Texture::set_border_color // Access: Published // Description: Specifies the solid color of the texture's border. // Some OpenGL implementations use a border for tiling // textures; in Panda, it is only used for specifying // the clamp color. //////////////////////////////////////////////////////////////////// 63 inline void Texture::set_border_color(LVecBase4f const &color); 2324 15 set_compression 4 2714 24 Texture::set_compression 0 1 1043 1037 //////////////////////////////////////////////////////////////////// // Function: Texture::set_compression // Access: Published // Description: Requests that this particular Texture be compressed // when it is loaded into texture memory. // // This refers to the internal compression of the // texture image within texture memory; it is not // related to jpeg or png compression, which are disk // file compression formats. The actual disk file that // generated this texture may be stored in a compressed // or uncompressed format supported by Panda; it will be // decompressed on load, and then recompressed by the // graphics API if this parameter is not CM_off. // // If the GSG does not support this texture compression // mode, the texture will silently be loaded // uncompressed. //////////////////////////////////////////////////////////////////// 75 inline void Texture::set_compression(Texture::CompressionMode compression); 2325 21 set_render_to_texture 4 2714 30 Texture::set_render_to_texture 0 1 1044 905 //////////////////////////////////////////////////////////////////// // Function: Texture::set_render_to_texture // Access: Published // Description: Sets a flag on the texture that indicates whether the // texture is intended to be used as a direct-render // target, by binding a framebuffer to a texture and // rendering directly into the texture. // // This controls some low-level choices made about the // texture object itself. For instance, compressed // textures are disallowed when this flag is set true. // // Normally, a user should not need to set this flag // directly; it is set automatically by the low-level // display code when a texture is bound to a // framebuffer. //////////////////////////////////////////////////////////////////// 67 inline void Texture::set_render_to_texture(bool render_to_texture); 2326 10 get_wrap_u 4 2714 19 Texture::get_wrap_u 0 1 1045 292 //////////////////////////////////////////////////////////////////// // Function: Texture::get_wrap_u // Access: Published // Description: Returns the wrap mode of the texture in the U // direction. //////////////////////////////////////////////////////////////////// 57 inline Texture::WrapMode Texture::get_wrap_u(void) const; 2327 10 get_wrap_v 4 2714 19 Texture::get_wrap_v 0 1 1046 292 //////////////////////////////////////////////////////////////////// // Function: Texture::get_wrap_v // Access: Published // Description: Returns the wrap mode of the texture in the V // direction. //////////////////////////////////////////////////////////////////// 57 inline Texture::WrapMode Texture::get_wrap_v(void) const; 2328 10 get_wrap_w 4 2714 19 Texture::get_wrap_w 0 1 1047 355 //////////////////////////////////////////////////////////////////// // Function: Texture::get_wrap_w // Access: Published // Description: Returns the wrap mode of the texture in the W // direction. This is the depth direction of 3-d // textures. //////////////////////////////////////////////////////////////////// 57 inline Texture::WrapMode Texture::get_wrap_w(void) const; 2329 13 get_minfilter 4 2714 22 Texture::get_minfilter 0 1 1048 487 //////////////////////////////////////////////////////////////////// // Function: Texture::get_minfilter // Access: Published // Description: Returns the filter mode of the texture for // minification. If this is one of the mipmap // constants, then the texture requires mipmaps. This // may return FT_default; see also // get_effective_minfilter(). //////////////////////////////////////////////////////////////////// 62 inline Texture::FilterType Texture::get_minfilter(void) const; 2330 13 get_magfilter 4 2714 22 Texture::get_magfilter 0 1 1049 435 //////////////////////////////////////////////////////////////////// // Function: Texture::get_magfilter // Access: Published // Description: Returns the filter mode of the texture for // magnification. The mipmap constants are invalid // here. This may return FT_default; see also // get_effective_minfilter(). //////////////////////////////////////////////////////////////////// 62 inline Texture::FilterType Texture::get_magfilter(void) const; 2331 23 get_effective_minfilter 4 2714 32 Texture::get_effective_minfilter 0 1 1050 465 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_minfilter // Access: Published // Description: Returns the filter mode of the texture for // minification, with special treatment for FT_default. // This will normally not return FT_default, unless // there is an error in the config file. //////////////////////////////////////////////////////////////////// 65 Texture::FilterType Texture::get_effective_minfilter(void) const; 2332 23 get_effective_magfilter 4 2714 32 Texture::get_effective_magfilter 0 1 1051 466 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_magfilter // Access: Published // Description: Returns the filter mode of the texture for // magnification, with special treatment for FT_default. // This will normally not return FT_default, unless // there is an error in the config file. //////////////////////////////////////////////////////////////////// 65 Texture::FilterType Texture::get_effective_magfilter(void) const; 2333 22 get_anisotropic_degree 4 2714 31 Texture::get_anisotropic_degree 0 1 1052 463 //////////////////////////////////////////////////////////////////// // Function: Texture::get_anisotropic_degree // Access: Published // Description: Returns the degree of anisotropic filtering that // should be applied to the texture. This value may // return 0, indicating the default value; see also // get_effective_anisotropic_degree. //////////////////////////////////////////////////////////////////// 55 inline int Texture::get_anisotropic_degree(void) const; 2334 32 get_effective_anisotropic_degree 4 2714 41 Texture::get_effective_anisotropic_degree 0 1 1053 459 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_anisotropic_degree // Access: Published // Description: Returns the degree of anisotropic filtering that // should be applied to the texture. This value will // normally not return 0, unless there is an error in // the config file. //////////////////////////////////////////////////////////////////// 65 inline int Texture::get_effective_anisotropic_degree(void) const; 2335 16 get_border_color 4 2714 25 Texture::get_border_color 0 1 1054 444 //////////////////////////////////////////////////////////////////// // Function: Texture::get_border_color // Access: Published // Description: Returns the solid color of the texture's border. // Some OpenGL implementations use a border for tiling // textures; in Panda, it is only used for specifying // the clamp color. //////////////////////////////////////////////////////////////////// 56 inline LVecBase4f Texture::get_border_color(void) const; 2336 15 get_compression 4 2714 24 Texture::get_compression 0 1 1055 765 //////////////////////////////////////////////////////////////////// // Function: Texture::get_compression // Access: Published // Description: Returns the compression mode requested for this // particular texture, or CM_off if the texture is not // to be compressed. // // If a value other than CM_off is returned, this is // not a guarantee that the texture is actually // successfully compressed on the GSG. It may be that // the GSG does not support the requested compression // mode, in which case the texture may actually be // stored uncompressed in texture memory. //////////////////////////////////////////////////////////////////// 69 inline Texture::CompressionMode Texture::get_compression(void) const; 2337 15 has_compression 4 2714 24 Texture::has_compression 0 1 1056 764 //////////////////////////////////////////////////////////////////// // Function: Texture::has_compression // Access: Published // Description: Returns true if the texture indicates it wants to be // compressed, either with CM_on or higher, or // CM_default and compressed-textures is true. // // If true returned, this is not a guarantee that the // texture is actually successfully compressed on the // GSG. It may be that the GSG does not support the // requested compression mode, in which case the texture // may actually be stored uncompressed in texture // memory. //////////////////////////////////////////////////////////////////// 49 inline bool Texture::has_compression(void) const; 2338 21 get_render_to_texture 4 2714 30 Texture::get_render_to_texture 0 1 1057 701 //////////////////////////////////////////////////////////////////// // Function: Texture::get_render_to_texture // Access: Published // Description: Returns a flag on the texture that indicates whether the // texture is intended to be used as a direct-render // target, by binding a framebuffer to a texture and // rendering directly into the texture. // // Normally, a user should not need to set this flag // directly; it is set automatically by the low-level // display code when a texture is bound to a // framebuffer. //////////////////////////////////////////////////////////////////// 55 inline bool Texture::get_render_to_texture(void) const; 2339 12 uses_mipmaps 4 2714 21 Texture::uses_mipmaps 0 1 1058 355 //////////////////////////////////////////////////////////////////// // Function: Texture::uses_mipmaps // Access: Public // Description: Returns true if the minfilter settings on this // texture indicate the use of mipmapping, false // otherwise. //////////////////////////////////////////////////////////////////// 46 inline bool Texture::uses_mipmaps(void) const; 2340 17 set_quality_level 4 2714 26 Texture::set_quality_level 0 1 1059 535 //////////////////////////////////////////////////////////////////// // Function: Texture::set_quality_level // Access: Public // Description: Sets a hint to the renderer about the desired // performance / quality tradeoff for this particular // texture. This is most useful for the tinydisplay // software renderer; for normal, hardware-accelerated // renderers, this may have little or no effect. //////////////////////////////////////////////////////////////////// 76 inline void Texture::set_quality_level(Texture::QualityLevel quality_level); 2341 17 get_quality_level 4 2714 26 Texture::get_quality_level 0 1 1060 392 //////////////////////////////////////////////////////////////////// // Function: Texture::get_quality_level // Access: Public // Description: Returns the current quality_level hint. See // set_quality_level(). This value may return // QL_default; see get_effective_quality_level(). //////////////////////////////////////////////////////////////////// 68 inline Texture::QualityLevel Texture::get_quality_level(void) const; 2342 27 get_effective_quality_level 4 2714 36 Texture::get_effective_quality_level 0 1 1061 519 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_quality_level // Access: Public // Description: Returns the current quality_level hint, or the global // default quality_level if this texture doesn't specify // a quality level. This value will not normally return // QL_default (unless there is an error in the config // file) //////////////////////////////////////////////////////////////////// 78 inline Texture::QualityLevel Texture::get_effective_quality_level(void) const; 2343 30 get_expected_num_mipmap_levels 4 2714 39 Texture::get_expected_num_mipmap_levels 0 1 1062 536 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_num_mipmap_levels // Access: Published // Description: Returns the number of mipmap levels that should be // defined for this texture, given the texture's size. // // Note that this returns a number appropriate for // mipmapping, even if the texture does not currently // have mipmapping enabled. //////////////////////////////////////////////////////////////////// 63 inline int Texture::get_expected_num_mipmap_levels(void) const; 2344 26 get_expected_mipmap_x_size 4 2714 35 Texture::get_expected_mipmap_x_size 0 1 1063 338 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_mipmap_x_size // Access: Published // Description: Returns the x_size that the nth mipmap level should // have, based on the texture's size. //////////////////////////////////////////////////////////////////// 60 inline int Texture::get_expected_mipmap_x_size(int n) const; 2345 26 get_expected_mipmap_y_size 4 2714 35 Texture::get_expected_mipmap_y_size 0 1 1064 338 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_mipmap_y_size // Access: Published // Description: Returns the y_size that the nth mipmap level should // have, based on the texture's size. //////////////////////////////////////////////////////////////////// 60 inline int Texture::get_expected_mipmap_y_size(int n) const; 2346 26 get_expected_mipmap_z_size 4 2714 35 Texture::get_expected_mipmap_z_size 0 1 1065 338 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_mipmap_z_size // Access: Published // Description: Returns the z_size that the nth mipmap level should // have, based on the texture's size. //////////////////////////////////////////////////////////////////// 60 inline int Texture::get_expected_mipmap_z_size(int n) const; 2347 13 has_ram_image 4 2714 22 Texture::has_ram_image 0 1 1066 1616 //////////////////////////////////////////////////////////////////// // Function: Texture::has_ram_image // Access: Published // Description: Returns true if the Texture has its image contents // available in main RAM, false if it exists only in // texture memory or in the prepared GSG context. // // Note that this has nothing to do with whether // get_ram_image() will fail or not. Even if // has_ram_image() returns false, get_ram_image() may // still return a valid RAM image, because // get_ram_image() will automatically load the texture // from disk if necessary. The only thing // has_ram_image() tells you is whether the texture is // available right now without hitting the disk first. // // Note also that if an application uses only one GSG, // it may appear that has_ram_image() returns true if // the texture has not yet been loaded by the GSG, but // this correlation is not true in general and should // not be depended on. Specifically, if an application // ever uses multiple GSG's in its lifetime (for // instance, by opening more than one window, or by // closing its window and opening another one later), // then has_ram_image() may well return false on // textures that have never been loaded on the current // GSG. //////////////////////////////////////////////////////////////////// 47 inline bool Texture::has_ram_image(void) const; 2348 26 has_uncompressed_ram_image 4 2714 35 Texture::has_uncompressed_ram_image 0 1 1067 401 //////////////////////////////////////////////////////////////////// // Function: Texture::has_uncompressed_ram_image // Access: Published // Description: Returns true if the Texture has its image contents // available in main RAM and is uncompressed, false // otherwise. See has_ram_image(). //////////////////////////////////////////////////////////////////// 60 inline bool Texture::has_uncompressed_ram_image(void) const; 2349 20 might_have_ram_image 4 2714 29 Texture::might_have_ram_image 0 1 1068 578 //////////////////////////////////////////////////////////////////// // Function: Texture::might_have_ram_image // Access: Published // Description: Returns true if the texture's image contents are // currently available in main RAM, or there is reason // to believe it can be loaded on demand. That is, this // function returns a "best guess" as to whether // get_ram_image() will succeed without actually calling // it first. //////////////////////////////////////////////////////////////////// 54 inline bool Texture::might_have_ram_image(void) const; 2350 18 get_ram_image_size 4 2714 27 Texture::get_ram_image_size 0 1 1069 337 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image, or 0 if there is no in-memory image. //////////////////////////////////////////////////////////////////// 60 inline unsigned int Texture::get_ram_image_size(void) const; 2351 17 get_ram_page_size 4 2714 26 Texture::get_ram_page_size 0 1 1070 647 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_page_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image per page, or 0 if there is no in-memory image. // // For a non-compressed texture, this is the same as // get_expected_ram_page_size(). For a compressed // texture, this may be a smaller value. (We do assume // that all pages will be the same size on a compressed // texture). //////////////////////////////////////////////////////////////////// 59 inline unsigned int Texture::get_ram_page_size(void) const; 2352 27 get_expected_ram_image_size 4 2714 36 Texture::get_expected_ram_image_size 0 1 1071 378 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_image_size // Access: Published // Description: Returns the number of bytes that *ought* to be used // by the in-memory image, based on the texture // parameters. //////////////////////////////////////////////////////////////////// 69 inline unsigned int Texture::get_expected_ram_image_size(void) const; 2353 26 get_expected_ram_page_size 4 2714 35 Texture::get_expected_ram_page_size 0 1 1072 447 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_page_size // Access: Published // Description: Returns the number of bytes that should be used per // each Z page of the 3-d texture. For a 2-d or 1-d // texture, this is the same as // get_expected_ram_image_size(). //////////////////////////////////////////////////////////////////// 68 inline unsigned int Texture::get_expected_ram_page_size(void) const; 2354 13 get_ram_image 4 2714 22 Texture::get_ram_image 0 1 1073 1676 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image // Access: Published // Description: Returns the system-RAM image data associated with the // texture. If the texture does not currently have an // associated RAM image, and the texture was generated // by loading an image from a disk file (the most common // case), this forces the reload of the same texture. // This can happen if keep_texture_ram is configured to // false, and we have previously prepared this texture // with a GSG. // // Note that it is not correct to call has_ram_image() // first to test whether this function will fail. A // false return value from has_ram_image() indicates // only that get_ram_image() may need to reload the // texture from disk, which it will do automatically. // However, you can call might_have_ram_image(), which // will return true if the ram image exists, or there is // a reasonable reason to believe it can be loaded. // // On the other hand, it is possible that the texture // cannot be found on disk or is otherwise unavailable. // If that happens, this function will return NULL. // There is no way to predict with 100% accuracy whether // get_ram_image() will return NULL without calling it // first; might_have_ram_image() is the closest. //////////////////////////////////////////////////////////////////// 73 inline ConstPointerToArray< unsigned char > Texture::get_ram_image(void); 2355 25 get_ram_image_compression 4 2714 34 Texture::get_ram_image_compression 0 1 1074 633 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image_compression // Access: Published // Description: Returns the compression mode in which the ram image // is already stored pre-compressed. If this is other // than CM_off, you cannot rely on the contents of the // ram image to be anything predicatable (it will not be // an array of x by y pixels, and it probably won't have // the same length as get_expected_ram_image_size()). //////////////////////////////////////////////////////////////////// 79 inline Texture::CompressionMode Texture::get_ram_image_compression(void) const; 2356 26 get_uncompressed_ram_image 4 2714 35 Texture::get_uncompressed_ram_image 0 1 1075 973 //////////////////////////////////////////////////////////////////// // Function: Texture::get_uncompressed_ram_image // Access: Published // Description: Returns the system-RAM image associated with the // texture, in an uncompressed form if at all possible. // // If get_ram_image_compression() is CM_off, then the // system-RAM image is already uncompressed, and this // returns the same thing as get_ram_image(). // // If get_ram_image_compression() is anything else, then // the system-RAM image is compressed. In this case, // the image will be reloaded from the *original* file // (not from the cache), in the hopes that an // uncompressed image will be found there. // // If an uncompressed image cannot be found, returns // NULL. //////////////////////////////////////////////////////////////////// 86 inline ConstPointerToArray< unsigned char > Texture::get_uncompressed_ram_image(void); 2357 16 get_ram_image_as 4 2714 25 Texture::get_ram_image_as 0 1 1076 1762 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image_as // Access: Published // Description: Returns the uncompressed system-RAM image data // associated with the texture. Rather than // just returning a pointer to the data, like // get_uncompressed_ram_image, this function first // processes the data and reorders the components // using the specified format string, and places these // into a new char array. The 'format' argument should // specify in which order the components of the texture // must be. For example, valid format strings are // "RGBA", "GA", "ABRG" or "AAA". A component can // also be written as "0" or "1", which means an // empty/black or a full/white channel, respectively. // This function is particularly useful to // copy an image in-memory to a different library // (for example, PIL or wxWidgets) that require // a different component order than Panda's internal // format, BGRA. Note, however, that this conversion // can still be too slow if you want to do it every // frame, and should thus be avoided for that purpose. // The only requirement for the reordering is that // an uncompressed image must be available. If the // RAM image is compressed, it will attempt to re-load // the texture from disk, if it doesn't find an // uncompressed image there, it will return NULL. //////////////////////////////////////////////////////////////////// 109 ConstPointerToArray< unsigned char > Texture::get_ram_image_as(basic_string< char > const &requested_format); 2358 16 modify_ram_image 4 2714 25 Texture::modify_ram_image 0 1 1077 517 //////////////////////////////////////////////////////////////////// // Function: Texture::modify_ram_image // Access: Published // Description: Returns a modifiable pointer to the system-RAM image. // This assumes the RAM image should be uncompressed. // If the RAM image has been dumped, or is stored // compressed, creates a new one. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 71 inline PointerToArray< unsigned char > Texture::modify_ram_image(void); 2359 14 make_ram_image 4 2714 23 Texture::make_ram_image 0 1 1078 455 //////////////////////////////////////////////////////////////////// // Function: Texture::make_ram_image // Access: Published // Description: Discards the current system-RAM image for the // texture, if any, and allocates a new buffer of the // appropriate size. Returns the new buffer. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 69 inline PointerToArray< unsigned char > Texture::make_ram_image(void); 2360 13 set_ram_image 4 2714 22 Texture::set_ram_image 0 3 1079 1080 1081 501 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_image // Access: Published // Description: Replaces the current system-RAM image with the new // data. If compression is not CM_off, it indicates // that the new data is already pre-compressed in the // indicated format. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 151 void Texture::set_ram_image(ConstPointerToArray< unsigned char > image, Texture::CompressionMode compression = (CM_off), unsigned int page_size = (0)); 2361 15 clear_ram_image 4 2714 24 Texture::clear_ram_image 0 1 1082 262 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_ram_image // Access: Published // Description: Discards the current system-RAM image. //////////////////////////////////////////////////////////////////// 43 inline void Texture::clear_ram_image(void); 2362 18 set_keep_ram_image 4 2714 27 Texture::set_keep_ram_image 0 1 1083 827 //////////////////////////////////////////////////////////////////// // Function: Texture::set_keep_ram_image // Access: Published // Description: Sets the flag that indicates whether this Texture is // eligible to have its main RAM copy of the texture // memory dumped when the texture is prepared for // rendering. // // This will be false for most textures, which can // reload their images if needed by rereading the input // file. However, textures that were generated // dynamically and cannot be easily reloaded will want // to set this flag to true, so that the texture will // always keep its image copy around. //////////////////////////////////////////////////////////////////// 61 inline void Texture::set_keep_ram_image(bool keep_ram_image); 2363 18 get_keep_ram_image 4 2714 27 Texture::get_keep_ram_image 0 1 1084 477 //////////////////////////////////////////////////////////////////// // Function: Texture::get_keep_ram_image // Access: Published, Virtual // Description: Returns the flag that indicates whether this Texture // is eligible to have its main RAM copy of the texture // memory dumped when the texture is prepared for // rendering. See set_keep_ram_image(). //////////////////////////////////////////////////////////////////// 53 virtual bool Texture::get_keep_ram_image(void) const; 2364 18 compress_ram_image 4 2714 27 Texture::compress_ram_image 0 4 1085 1086 1087 1088 1257 //////////////////////////////////////////////////////////////////// // Function: Texture::compress_ram_image // Access: Published // Description: Attempts to compress the texture's RAM image // internally, to a format supported by the indicated // GSG. In order for this to work, the squish library // must have been compiled into Panda. // // If compression is CM_on, then an appropriate // compression method that is supported by the indicated // GSG is automatically chosen. If the GSG pointer is // NULL, any of the standard DXT1/3/5 compression // methods will be used, regardless of whether it is // supported. // // If compression is any specific compression method, // that method is used regardless of whether the GSG // supports it. // // quality_level determines the speed/quality tradeoff // of the compression. If it is QL_default, the // texture's own quality_level parameter is used. // // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 188 inline bool Texture::compress_ram_image(Texture::CompressionMode compression = (CM_on), Texture::QualityLevel quality_level = (QL_default), GraphicsStateGuardianBase *gsg = ((void *)(0))); 2365 20 uncompress_ram_image 4 2714 29 Texture::uncompress_ram_image 0 1 1089 573 //////////////////////////////////////////////////////////////////// // Function: Texture::uncompress_ram_image // Access: Published // Description: Attempts to uncompress the texture's RAM image // internally. In order for this to work, the squish // library must have been compiled into Panda, and the // ram image must be compressed in a format supported by // squish. // // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 48 inline bool Texture::uncompress_ram_image(void); 2366 25 get_num_ram_mipmap_images 4 2714 34 Texture::get_num_ram_mipmap_images 0 1 1090 584 //////////////////////////////////////////////////////////////////// // Function: Texture::get_num_ram_mipmap_images // Access: Published // Description: Returns the maximum number of mipmap level images // available in system memory. The actual number may be // less than this (that is, there might be gaps in the // sequence); use has_ram_mipmap_image() to verify each // level. // // Also see get_num_loadable_ram_mipmap_images(). //////////////////////////////////////////////////////////////////// 58 inline int Texture::get_num_ram_mipmap_images(void) const; 2367 20 has_ram_mipmap_image 4 2714 29 Texture::has_ram_mipmap_image 0 1 1091 608 //////////////////////////////////////////////////////////////////// // Function: Texture::has_ram_mipmap_image // Access: Published // Description: Returns true if the Texture has the nth mipmap level // available in system memory, false otherwise. If the // texture's minfilter mode requires mipmapping (see // uses_mipmaps()), and all the texture's mipmap levels // are not available when the texture is rendered, they // will be generated automatically. //////////////////////////////////////////////////////////////////// 55 inline bool Texture::has_ram_mipmap_image(int n) const; 2368 34 get_num_loadable_ram_mipmap_images 4 2714 43 Texture::get_num_loadable_ram_mipmap_images 0 1 1092 955 //////////////////////////////////////////////////////////////////// // Function: Texture::get_num_loadable_ram_mipmap_images // Access: Published // Description: Returns the number of contiguous mipmap levels that // exist in RAM, up until the first gap in the sequence. // It is guaranteed that at least mipmap levels [0, // get_num_ram_mipmap_images()) exist. // // The number returned will never exceed the number of // required mipmap images based on the size of the // texture and its filter mode. // // This method is different from // get_num_ram_mipmap_images() in that it returns only // the number of mipmap levels that can actually be // usefully loaded, regardless of the actual number that // may be stored. //////////////////////////////////////////////////////////////////// 60 int Texture::get_num_loadable_ram_mipmap_images(void) const; 2369 25 has_all_ram_mipmap_images 4 2714 34 Texture::has_all_ram_mipmap_images 0 1 1093 403 //////////////////////////////////////////////////////////////////// // Function: Texture::has_all_ram_mipmap_images // Access: Published // Description: Returns true if all expected mipmap levels have been // defined and exist in the system RAM, or false if even // one mipmap level is missing. //////////////////////////////////////////////////////////////////// 59 inline bool Texture::has_all_ram_mipmap_images(void) const; 2370 25 get_ram_mipmap_image_size 4 2714 34 Texture::get_ram_mipmap_image_size 0 1 1094 402 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_image_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image for mipmap level n, or 0 if there is no // in-memory image for this mipmap level. //////////////////////////////////////////////////////////////////// 68 inline unsigned int Texture::get_ram_mipmap_image_size(int n) const; 2371 24 get_ram_mipmap_page_size 4 2714 33 Texture::get_ram_mipmap_page_size 0 1 1095 719 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_page_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image per page for mipmap level n, or 0 if there is // no in-memory image for this mipmap level. // // For a non-compressed texture, this is the same as // get_expected_ram_mipmap_page_size(). For a compressed // texture, this may be a smaller value. (We do assume // that all pages will be the same size on a compressed // texture). //////////////////////////////////////////////////////////////////// 67 inline unsigned int Texture::get_ram_mipmap_page_size(int n) const; 2372 34 get_expected_ram_mipmap_image_size 4 2714 43 Texture::get_expected_ram_mipmap_image_size 0 1 1096 404 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_mipmap_image_size // Access: Published // Description: Returns the number of bytes that *ought* to be used // by the in-memory image for mipmap level n, based on // the texture parameters. //////////////////////////////////////////////////////////////////// 77 inline unsigned int Texture::get_expected_ram_mipmap_image_size(int n) const; 2373 33 get_expected_ram_mipmap_page_size 4 2714 42 Texture::get_expected_ram_mipmap_page_size 0 1 1097 481 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_mipmap_page_size // Access: Published // Description: Returns the number of bytes that should be used per // each Z page of the 3-d texture, for mipmap level n. // For a 2-d or 1-d texture, this is the same as // get_expected_ram_mipmap_image_size(n). //////////////////////////////////////////////////////////////////// 76 inline unsigned int Texture::get_expected_ram_mipmap_page_size(int n) const; 2374 20 get_ram_mipmap_image 4 2714 29 Texture::get_ram_mipmap_image 0 1 1098 400 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_image // Access: Published // Description: Returns the system-RAM image data associated with the // nth mipmap level, if present. Returns NULL if the // nth mipmap level is not present. //////////////////////////////////////////////////////////////////// 74 ConstPointerToArray< unsigned char > Texture::get_ram_mipmap_image(int n); 2375 22 get_ram_mipmap_pointer 4 2714 31 Texture::get_ram_mipmap_pointer 0 1 1099 447 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_pointer // Access: Published // Description: Similiar to get_ram_mipmap_image(), however, in this // case the void pointer for the given ram image is // returned. This will be NULL unless it has been // explicitly set. //////////////////////////////////////////////////////////////////// 45 void *Texture::get_ram_mipmap_pointer(int n); 2376 23 modify_ram_mipmap_image 4 2714 32 Texture::modify_ram_mipmap_image 0 1 1100 511 //////////////////////////////////////////////////////////////////// // Function: Texture::modify_ram_mipmap_image // Access: Published // Description: Returns a modifiable pointer to the system-RAM image // for the nth mipmap level. This assumes the RAM image // is uncompressed; if this is not the case, raises an // assertion. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 79 inline PointerToArray< unsigned char > Texture::modify_ram_mipmap_image(int n); 2377 21 make_ram_mipmap_image 4 2714 30 Texture::make_ram_mipmap_image 0 1 1101 471 //////////////////////////////////////////////////////////////////// // Function: Texture::make_ram_mipmap_image // Access: Published // Description: Discards the current system-RAM image for the // nth mipmap level, if any, and allocates a new buffer // of the appropriate size. Returns the new buffer. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 77 inline PointerToArray< unsigned char > Texture::make_ram_mipmap_image(int n); 2378 22 set_ram_mipmap_pointer 4 2714 31 Texture::set_ram_mipmap_pointer 0 0 827 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_mipmap_pointer // Access: Published // Description: Sets an explicit void pointer as the texture's mipmap // image for the indicated level. This is a special // call to direct a texture to reference some external // image location, for instance from a webcam input. // // The texture will henceforth reference this pointer // directly, instead of its own internal storage; the // user is responsible for ensuring the data at this // address remains allocated and valid, and in the // correct format, during the lifetime of the texture. //////////////////////////////////////////////////////////////////// 87 void Texture::set_ram_mipmap_pointer(int n, void *image, unsigned int page_size = (0)); 2379 31 set_ram_mipmap_pointer_from_int 4 2714 40 Texture::set_ram_mipmap_pointer_from_int 0 1 1102 592 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_mipmap_pointer_from_int // Access: Published // Description: Accepts a raw pointer cast as an int, which is then // passed to set_ram_mipmap_pointer(); see the // documentation for that method. // // This variant is particularly useful to set an // external pointer from a language like Python, which // doesn't support void pointers directly. //////////////////////////////////////////////////////////////////// 85 void Texture::set_ram_mipmap_pointer_from_int(__int64 pointer, int n, int page_size); 2380 20 set_ram_mipmap_image 4 2714 29 Texture::set_ram_mipmap_image 0 2 1103 1104 556 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_mipmap_image // Access: Published // Description: Replaces the current system-RAM image for the // indicated mipmap level with the new data. If // compression is not CM_off, it indicates that the new // data is already pre-compressed in the indicated // format. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 123 inline void Texture::set_ram_mipmap_image(int n, ConstPointerToArray< unsigned char > image, unsigned int page_size = (0)); 2381 22 clear_ram_mipmap_image 4 2714 31 Texture::clear_ram_mipmap_image 0 1 1105 311 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_ram_mipmap_image // Access: Published // Description: Discards the current system-RAM image for the nth // mipmap level. //////////////////////////////////////////////////////////////////// 44 void Texture::clear_ram_mipmap_image(int n); 2382 23 clear_ram_mipmap_images 4 2714 32 Texture::clear_ram_mipmap_images 0 1 1106 342 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_ram_mipmap_images // Access: Published // Description: Discards the current system-RAM image for all // mipmap levels, except level 0 (the base image). //////////////////////////////////////////////////////////////////// 51 inline void Texture::clear_ram_mipmap_images(void); 2383 26 generate_ram_mipmap_images 4 2714 35 Texture::generate_ram_mipmap_images 0 1 1107 794 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_ram_mipmap_images // Access: Published // Description: Automatically fills in the n mipmap levels of the // Texture, based on the texture's source image. This // requires the texture's uncompressed ram image to be // available in system memory. If it is not already, it // will be fetched if possible. // // This call is not normally necessary, since the mipmap // levels will be generated automatically if needed. // But there may be certain cases in which you would // like to call this explicitly. //////////////////////////////////////////////////////////////////// 54 inline void Texture::generate_ram_mipmap_images(void); 2384 17 get_simple_x_size 4 2714 26 Texture::get_simple_x_size 0 1 1108 276 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_x_size // Access: Published // Description: Returns the width of the "simple" image in texels. //////////////////////////////////////////////////////////////////// 50 inline int Texture::get_simple_x_size(void) const; 2385 17 get_simple_y_size 4 2714 26 Texture::get_simple_y_size 0 1 1109 277 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_y_size // Access: Published // Description: Returns the height of the "simple" image in texels. //////////////////////////////////////////////////////////////////// 50 inline int Texture::get_simple_y_size(void) const; 2386 20 has_simple_ram_image 4 2714 29 Texture::has_simple_ram_image 0 1 1110 326 //////////////////////////////////////////////////////////////////// // Function: Texture::has_simple_ram_image // Access: Published, Virtual // Description: Returns true if the Texture has a "simple" image // available in main RAM. //////////////////////////////////////////////////////////////////// 54 inline bool Texture::has_simple_ram_image(void) const; 2387 25 get_simple_ram_image_size 4 2714 34 Texture::get_simple_ram_image_size 0 1 1111 340 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_ram_image_size // Access: Published // Description: Returns the number of bytes used by the "simple" // image, or 0 if there is no simple image. //////////////////////////////////////////////////////////////////// 67 inline unsigned int Texture::get_simple_ram_image_size(void) const; 2388 20 get_simple_ram_image 4 2714 29 Texture::get_simple_ram_image 0 1 1112 879 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_ram_image // Access: Published // Description: Returns the image data associated with the "simple" // texture image. This is provided for some textures as // an option to display while the main texture image is // being loaded from disk. // // Unlike get_ram_image(), this function will always // return immediately. Either the simple image is // available, or it is not. // // The "simple" image is always 4 components, 1 byte // each, regardless of the parameters of the full // texture. The simple image is only supported for // ordinary 2-d textures. //////////////////////////////////////////////////////////////////// 86 inline ConstPointerToArray< unsigned char > Texture::get_simple_ram_image(void) const; 2389 20 set_simple_ram_image 4 2714 29 Texture::set_simple_ram_image 0 1 1113 1051 //////////////////////////////////////////////////////////////////// // Function: Texture::set_simple_ram_image // Access: Published // Description: Replaces the internal "simple" texture image. This // can be used as an option to display while the main // texture image is being loaded from disk. It is // normally a very small image, 16x16 or smaller (and // maybe even 1x1), that is designed to give just enough // sense of color to serve as a placeholder until the // full texture is available. // // The "simple" image is always 4 components, 1 byte // each, regardless of the parameters of the full // texture. The simple image is only supported for // ordinary 2-d textures. // // Also see generate_simple_ram_image(), // modify_simple_ram_image(), and // new_simple_ram_image(). //////////////////////////////////////////////////////////////////// 110 inline void Texture::set_simple_ram_image(ConstPointerToArray< unsigned char > image, int x_size, int y_size); 2390 23 modify_simple_ram_image 4 2714 32 Texture::modify_simple_ram_image 0 1 1114 346 //////////////////////////////////////////////////////////////////// // Function: Texture::modify_simple_ram_image // Access: Published // Description: Returns a modifiable pointer to the internal "simple" // texture image. See set_simple_ram_image(). //////////////////////////////////////////////////////////////////// 71 PointerToArray< unsigned char > Texture::modify_simple_ram_image(void); 2391 20 new_simple_ram_image 4 2714 29 Texture::new_simple_ram_image 0 1 1115 413 //////////////////////////////////////////////////////////////////// // Function: Texture::new_simple_ram_image // Access: Published // Description: Creates an empty array for the simple ram image of // the indicated size, and returns a modifiable pointer // to the new array. See set_simple_ram_image(). //////////////////////////////////////////////////////////////////// 86 PointerToArray< unsigned char > Texture::new_simple_ram_image(int x_size, int y_size); 2392 25 generate_simple_ram_image 4 2714 34 Texture::generate_simple_ram_image 0 1 1116 453 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_simple_ram_image // Access: Published // Description: Computes the "simple" ram image by loading the main // RAM image, if it is not already available, and // reducing it to 16x16 or smaller. This may be an // expensive operation. //////////////////////////////////////////////////////////////////// 46 void Texture::generate_simple_ram_image(void); 2393 22 clear_simple_ram_image 4 2714 31 Texture::clear_simple_ram_image 0 1 1117 267 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_simple_ram_image // Access: Published // Description: Discards the current "simple" image. //////////////////////////////////////////////////////////////////// 50 inline void Texture::clear_simple_ram_image(void); 2394 4 peek 4 2714 13 Texture::peek 0 1 1118 826 //////////////////////////////////////////////////////////////////// // Function: Texture::peek // Access: Published // Description: Returns a TexturePeeker object that can be used to // examine the individual texels stored within this // Texture by (u, v) coordinate. // // If the texture has a ram image resident, that image // is used. If it does not have a full ram image but // does have a simple_ram_image resident, that image is // used instead. If neither image is resident the full // image is reloaded. // // Returns NULL if the texture cannot find an image to // load, or the texture format is incompatible. //////////////////////////////////////////////////////////////////// 47 PointerTo< TexturePeeker > Texture::peek(void); 2395 23 get_properties_modified 4 2714 32 Texture::get_properties_modified 0 1 1119 403 //////////////////////////////////////////////////////////////////// // Function: Texture::get_properties_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the texture properties // (unrelated to the image) are modified. //////////////////////////////////////////////////////////////////// 62 inline UpdateSeq Texture::get_properties_modified(void) const; 2396 18 get_image_modified 4 2714 27 Texture::get_image_modified 0 1 1120 399 //////////////////////////////////////////////////////////////////// // Function: Texture::get_image_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the texture image data // (including mipmap levels) are modified. //////////////////////////////////////////////////////////////////// 57 inline UpdateSeq Texture::get_image_modified(void) const; 2397 25 get_simple_image_modified 4 2714 34 Texture::get_simple_image_modified 0 1 1121 390 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_image_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the texture's "simple" // image data is modified. //////////////////////////////////////////////////////////////////// 64 inline UpdateSeq Texture::get_simple_image_modified(void) const; 2398 7 prepare 4 2714 16 Texture::prepare 0 1 1122 655 //////////////////////////////////////////////////////////////////// // Function: Texture::prepare // Access: Published // Description: Indicates that the texture should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // texture is already loaded into texture memory if it // is expected to be rendered soon. // // Use this function instead of prepare_now() to preload // textures from a user interface standpoint. //////////////////////////////////////////////////////////////////// 65 void Texture::prepare(PreparedGraphicsObjects *prepared_objects); 2399 11 is_prepared 4 2714 20 Texture::is_prepared 0 1 1123 374 //////////////////////////////////////////////////////////////////// // Function: Texture::is_prepared // Access: Published // Description: Returns true if the texture has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 75 bool Texture::is_prepared(PreparedGraphicsObjects *prepared_objects) const; 2400 18 was_image_modified 4 2714 27 Texture::was_image_modified 0 1 1124 437 //////////////////////////////////////////////////////////////////// // Function: Texture::was_image_modified // Access: Published // Description: Returns true if the texture needs to be re-loaded // onto the indicated GSG, either because its image data // is out-of-date, or because it's not fully prepared // now. //////////////////////////////////////////////////////////////////// 82 bool Texture::was_image_modified(PreparedGraphicsObjects *prepared_objects) const; 2401 19 get_data_size_bytes 4 2714 28 Texture::get_data_size_bytes 0 1 1125 639 //////////////////////////////////////////////////////////////////// // Function: Texture::get_data_size_bytes // Access: Public // Description: Returns the number of bytes which the texture is // reported to consume within graphics memory, for the // indicated GSG. This may return a nonzero value even // if the texture is not currently resident; you should // also check get_resident() if you want to know how // much space the texture is actually consuming right // now. //////////////////////////////////////////////////////////////////// 91 unsigned int Texture::get_data_size_bytes(PreparedGraphicsObjects *prepared_objects) const; 2402 10 get_active 4 2714 19 Texture::get_active 0 1 1126 325 //////////////////////////////////////////////////////////////////// // Function: Texture::get_active // Access: Public // Description: Returns true if this Texture was rendered in the most // recent frame within the indicated GSG. //////////////////////////////////////////////////////////////////// 74 bool Texture::get_active(PreparedGraphicsObjects *prepared_objects) const; 2403 12 get_resident 4 2714 21 Texture::get_resident 0 1 1127 353 //////////////////////////////////////////////////////////////////// // Function: Texture::get_resident // Access: Public // Description: Returns true if this Texture is reported to be // resident within graphics memory for the indicated // GSG. //////////////////////////////////////////////////////////////////// 76 bool Texture::get_resident(PreparedGraphicsObjects *prepared_objects) const; 2404 7 release 4 2714 16 Texture::release 0 1 1128 394 //////////////////////////////////////////////////////////////////// // Function: Texture::release // Access: Published // Description: Frees the texture context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 65 bool Texture::release(PreparedGraphicsObjects *prepared_objects); 2405 11 release_all 4 2714 20 Texture::release_all 0 1 1129 392 //////////////////////////////////////////////////////////////////// // Function: Texture::release_all // Access: Published // Description: Frees the context allocated on all objects for which // the texture has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 31 int Texture::release_all(void); 2406 23 estimate_texture_memory 4 2714 32 Texture::estimate_texture_memory 0 1 1130 775 //////////////////////////////////////////////////////////////////// // Function: Texture::estimate_texture_memory // Access: Published // Description: Estimates the amount of texture memory that will be // consumed by loading this texture. This returns a // value that is not specific to any particular graphics // card or driver; it tries to make a reasonable // assumption about how a driver will load the texture. // It does not account for texture compression or // anything fancy. This is mainly useful for debugging // and reporting purposes. // // Returns a value in bytes. //////////////////////////////////////////////////////////////////// 58 unsigned int Texture::estimate_texture_memory(void) const; 2407 12 set_aux_data 4 2714 21 Texture::set_aux_data 0 1 1131 523 //////////////////////////////////////////////////////////////////// // Function: Texture::set_aux_data // Access: Published // Description: Records an arbitrary object in the Texture, // associated with a specified key. The object may // later be retrieved by calling get_aux_data() with the // same key. // // These data objects are not recorded to a bam or txo // file. //////////////////////////////////////////////////////////////////// 91 void Texture::set_aux_data(basic_string< char > const &key, TypedReferenceCount *aux_data); 2408 14 clear_aux_data 4 2714 23 Texture::clear_aux_data 0 1 1132 296 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_aux_data // Access: Published // Description: Removes a record previously recorded via // set_aux_data(). //////////////////////////////////////////////////////////////////// 62 void Texture::clear_aux_data(basic_string< char > const &key); 2409 12 get_aux_data 4 2714 21 Texture::get_aux_data 0 1 1133 383 //////////////////////////////////////////////////////////////////// // Function: Texture::get_aux_data // Access: Published // Description: Returns a record previously recorded via // set_aux_data(). Returns NULL if there was no record // associated with the indicated key. //////////////////////////////////////////////////////////////////// 82 TypedReferenceCount *Texture::get_aux_data(basic_string< char > const &key) const; 2410 20 set_textures_power_2 4 2714 29 Texture::set_textures_power_2 0 1 1134 336 //////////////////////////////////////////////////////////////////// // Function: Texture::set_textures_power_2 // Access: Published, Static // Description: Set this flag to ATS_none, ATS_up, or ATS_down // to control the scaling of textures. //////////////////////////////////////////////////////////////////// 73 static inline void Texture::set_textures_power_2(AutoTextureScale scale); 2411 20 get_textures_power_2 4 2714 29 Texture::get_textures_power_2 0 1 1135 472 //////////////////////////////////////////////////////////////////// // Function: Texture::get_textures_power_2 // Access: Published, Static // Description: This flag returns ATS_none, ATS_up, or ATS_down // and controls the scaling of textures. It is // initialized from the config variable of the same // name, but it can be subsequently adjusted. //////////////////////////////////////////////////////////////////// 67 static inline AutoTextureScale Texture::get_textures_power_2(void); 2412 21 have_textures_power_2 4 2714 30 Texture::have_textures_power_2 0 1 1136 453 //////////////////////////////////////////////////////////////////// // Function: Texture::have_textures_power_2 // Access: Published, Static // Description: If true, then get_textures_power_2 has been // set using set_textures_power_2. // If false, then get_textures_power_2 simply // returns the config variable of the same name. //////////////////////////////////////////////////////////////////// 56 static inline bool Texture::have_textures_power_2(void); 2413 12 set_filename 4 2714 21 Texture::set_filename 0 1 1137 834 // These are published, but in general, you shouldn't be mucking // with these values; they are set automatically when a texture is // loaded. //////////////////////////////////////////////////////////////////// // Function: Texture::set_filename // Access: Published // Description: Sets the name of the file that contains the image's // contents. Normally, this is set automatically when // the image is loaded, for instance via // Texture::read(). // // The Texture's get_name() function used to return // the filename, but now returns just the basename // (without the extension), which is a more useful name // for identifying an image in show code. //////////////////////////////////////////////////////////////////// 60 inline void Texture::set_filename(Filename const &filename); 2414 14 clear_filename 4 2714 23 Texture::clear_filename 0 1 1138 457 // These are published, but in general, you shouldn't be mucking // with these values; they are set automatically when a texture is // loaded. //////////////////////////////////////////////////////////////////// // Function: Texture::clear_filename // Access: Published // Description: Removes the alpha filename, if it was previously set. // See set_filename(). //////////////////////////////////////////////////////////////////// 42 inline void Texture::clear_filename(void); 2415 18 set_alpha_filename 4 2714 27 Texture::set_alpha_filename 0 1 1139 915 //////////////////////////////////////////////////////////////////// // Function: Texture::set_alpha_filename // Access: Published // Description: Sets the name of the file that contains the image's // alpha channel contents. Normally, this is set // automatically when the image is loaded, for instance // via Texture::read(). // // The Texture's get_filename() function returns the // name of the image file that was loaded into the // buffer. In the case where a texture specified two // separate files to load, a 1- or 3-channel color image // and a 1-channel alpha image, this Filename is update // to contain the name of the image file that was loaded // into the buffer's alpha channel. //////////////////////////////////////////////////////////////////// 72 inline void Texture::set_alpha_filename(Filename const &alpha_filename); 2416 20 clear_alpha_filename 4 2714 29 Texture::clear_alpha_filename 0 1 1140 325 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_alpha_filename // Access: Published // Description: Removes the alpha filename, if it was previously set. // See set_alpha_filename(). //////////////////////////////////////////////////////////////////// 48 inline void Texture::clear_alpha_filename(void); 2417 12 set_fullpath 4 2714 21 Texture::set_fullpath 0 1 1141 470 //////////////////////////////////////////////////////////////////// // Function: Texture::set_fullpath // Access: Published // Description: Sets the full pathname to the file that contains the // image's contents, as found along the search path. // Normally, this is set automatically when the image is // loaded, for instance via Texture::read(). //////////////////////////////////////////////////////////////////// 60 inline void Texture::set_fullpath(Filename const &fullpath); 2418 14 clear_fullpath 4 2714 23 Texture::clear_fullpath 0 1 1142 313 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_fullpath // Access: Published // Description: Removes the alpha fullpath, if it was previously set. // See set_fullpath(). //////////////////////////////////////////////////////////////////// 42 inline void Texture::clear_fullpath(void); 2419 18 set_alpha_fullpath 4 2714 27 Texture::set_alpha_fullpath 0 1 1143 508 //////////////////////////////////////////////////////////////////// // Function: Texture::set_alpha_fullpath // Access: Published // Description: Sets the full pathname to the file that contains the // image's alpha channel contents, as found along the // search path. Normally, this is set automatically // when the image is loaded, for instance via // Texture::read(). //////////////////////////////////////////////////////////////////// 72 inline void Texture::set_alpha_fullpath(Filename const &alpha_fullpath); 2420 20 clear_alpha_fullpath 4 2714 29 Texture::clear_alpha_fullpath 0 1 1144 325 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_alpha_fullpath // Access: Published // Description: Removes the alpha fullpath, if it was previously set. // See set_alpha_fullpath(). //////////////////////////////////////////////////////////////////// 48 inline void Texture::clear_alpha_fullpath(void); 2421 10 set_x_size 4 2714 19 Texture::set_x_size 0 1 1145 371 //////////////////////////////////////////////////////////////////// // Function: Texture::set_x_size // Access: Published // Description: Changes the x size indicated for the texture. This // also implicitly unloads the texture if it has already // been loaded. //////////////////////////////////////////////////////////////////// 44 inline void Texture::set_x_size(int x_size); 2422 10 set_y_size 4 2714 19 Texture::set_y_size 0 1 1146 371 //////////////////////////////////////////////////////////////////// // Function: Texture::set_y_size // Access: Published // Description: Changes the y size indicated for the texture. This // also implicitly unloads the texture if it has already // been loaded. //////////////////////////////////////////////////////////////////// 44 inline void Texture::set_y_size(int y_size); 2423 10 set_z_size 4 2714 19 Texture::set_z_size 0 1 1147 371 //////////////////////////////////////////////////////////////////// // Function: Texture::set_z_size // Access: Published // Description: Changes the z size indicated for the texture. This // also implicitly unloads the texture if it has already // been loaded. //////////////////////////////////////////////////////////////////// 44 inline void Texture::set_z_size(int z_size); 2424 14 get_pad_x_size 4 2714 23 Texture::get_pad_x_size 0 1 1148 273 //////////////////////////////////////////////////////////////////// // Function: Texture::get_pad_x_size // Access: Published // Description: Returns size of the pad region. See set_pad_size. //////////////////////////////////////////////////////////////////// 47 inline int Texture::get_pad_x_size(void) const; 2425 14 get_pad_y_size 4 2714 23 Texture::get_pad_y_size 0 1 1149 273 //////////////////////////////////////////////////////////////////// // Function: Texture::get_pad_y_size // Access: Published // Description: Returns size of the pad region. See set_pad_size. //////////////////////////////////////////////////////////////////// 47 inline int Texture::get_pad_y_size(void) const; 2426 14 get_pad_z_size 4 2714 23 Texture::get_pad_z_size 0 1 1150 273 //////////////////////////////////////////////////////////////////// // Function: Texture::get_pad_z_size // Access: Published // Description: Returns size of the pad region. See set_pad_size. //////////////////////////////////////////////////////////////////// 47 inline int Texture::get_pad_z_size(void) const; 2427 12 set_pad_size 4 2714 21 Texture::set_pad_size 0 4 1151 1152 1153 1154 813 //////////////////////////////////////////////////////////////////// // Function: Texture::set_pad_size // Access: Published // Description: Sets the size of the pad region. // // Sometimes, when a video card demands power-of-two // textures, it is necessary to create a big texture // and then only use a portion of it. The pad region // indicates which portion of the texture is not // really in use. All operations use the texture // as a whole, including the pad region, unless they // explicitly state that they use only the non-pad // region. // // Changing the texture's size clears the pad region. //////////////////////////////////////////////////////////////////// 73 inline void Texture::set_pad_size(int x = (0), int y = (0), int z = (0)); 2428 15 set_size_padded 4 2714 24 Texture::set_size_padded 0 4 1155 1156 1157 1158 348 //////////////////////////////////////////////////////////////////// // Function: Texture::set_size_padded // Access: Published // Description: Changes the size of the texture, padding // if necessary, and setting the pad region // as well. //////////////////////////////////////////////////////////////////// 69 void Texture::set_size_padded(int x = (1), int y = (1), int z = (1)); 2429 20 get_orig_file_x_size 4 2714 29 Texture::get_orig_file_x_size 0 1 1159 414 //////////////////////////////////////////////////////////////////// // Function: Texture::get_orig_file_x_size // Access: Published // Description: Returns the X size of the original disk image that // this Texture was loaded from (if it came from a disk // file), before any automatic rescaling by Panda. //////////////////////////////////////////////////////////////////// 53 inline int Texture::get_orig_file_x_size(void) const; 2430 20 get_orig_file_y_size 4 2714 29 Texture::get_orig_file_y_size 0 1 1160 414 //////////////////////////////////////////////////////////////////// // Function: Texture::get_orig_file_y_size // Access: Published // Description: Returns the Y size of the original disk image that // this Texture was loaded from (if it came from a disk // file), before any automatic rescaling by Panda. //////////////////////////////////////////////////////////////////// 53 inline int Texture::get_orig_file_y_size(void) const; 2431 20 get_orig_file_z_size 4 2714 29 Texture::get_orig_file_z_size 0 1 1161 414 //////////////////////////////////////////////////////////////////// // Function: Texture::get_orig_file_z_size // Access: Published // Description: Returns the Z size of the original disk image that // this Texture was loaded from (if it came from a disk // file), before any automatic rescaling by Panda. //////////////////////////////////////////////////////////////////// 53 inline int Texture::get_orig_file_z_size(void) const; 2432 18 set_orig_file_size 4 2714 27 Texture::set_orig_file_size 0 2 1162 1163 343 //////////////////////////////////////////////////////////////////// // Function: Texture::set_orig_file_size // Access: Published // Description: Specifies the size of the texture as it exists in its // original disk file, before any Panda scaling. //////////////////////////////////////////////////////////////////// 60 void Texture::set_orig_file_size(int x, int y, int z = (1)); 2433 10 set_format 4 2714 19 Texture::set_format 0 1 1164 333 //////////////////////////////////////////////////////////////////// // Function: Texture::set_format // Access: Published // Description: Changes the format value for the texture components. // This implicitly sets num_components as well. //////////////////////////////////////////////////////////////////// 56 inline void Texture::set_format(Texture::Format format); 2434 18 set_component_type 4 2714 27 Texture::set_component_type 0 1 1165 340 //////////////////////////////////////////////////////////////////// // Function: Texture::set_component_type // Access: Published // Description: Changes the data value for the texture components. // This implicitly sets component_width as well. //////////////////////////////////////////////////////////////////// 79 inline void Texture::set_component_type(Texture::ComponentType component_type); 2435 21 set_loaded_from_image 4 2714 30 Texture::set_loaded_from_image 0 1 1166 553 //////////////////////////////////////////////////////////////////// // Function: Texture::set_loaded_from_image // Access: Published // Description: Sets the flag that indicates the texture has been // loaded from a disk file or PNMImage. You should also // ensure the filename has been set correctly. When // this flag is true, the texture may be automatically // reloaded when its ram image needs to be replaced. //////////////////////////////////////////////////////////////////// 49 inline void Texture::set_loaded_from_image(void); 2436 21 get_loaded_from_image 4 2714 30 Texture::get_loaded_from_image 0 1 1167 383 //////////////////////////////////////////////////////////////////// // Function: Texture::get_loaded_from_image // Access: Published // Description: Returns the flag that indicates the texture has been // loaded from a disk file or PNMImage. See // set_loaded_from_image(). //////////////////////////////////////////////////////////////////// 55 inline bool Texture::get_loaded_from_image(void) const; 2437 19 set_loaded_from_txo 4 2714 28 Texture::set_loaded_from_txo 0 1 1168 452 //////////////////////////////////////////////////////////////////// // Function: Texture::set_loaded_from_txo // Access: Published // Description: Sets the flag that indicates the texture has been // loaded from a txo file. You probably shouldn't be // setting this directly; it is set automatically when a // Texture is loaded. //////////////////////////////////////////////////////////////////// 47 inline void Texture::set_loaded_from_txo(void); 2438 19 get_loaded_from_txo 4 2714 28 Texture::get_loaded_from_txo 0 1 1169 321 //////////////////////////////////////////////////////////////////// // Function: Texture::get_loaded_from_txo // Access: Published // Description: Returns the flag that indicates the texture has been // loaded from a txo file. //////////////////////////////////////////////////////////////////// 53 inline bool Texture::get_loaded_from_txo(void) const; 2439 9 is_mipmap 4 2714 18 Texture::is_mipmap 0 1 1170 338 //////////////////////////////////////////////////////////////////// // Function: Texture::is_mipmap // Access: Published, Static // Description: Returns true if the indicated filter type requires // the use of mipmaps, or false if it does not. //////////////////////////////////////////////////////////////////// 57 static bool Texture::is_mipmap(Texture::FilterType type); 2440 28 get_match_framebuffer_format 4 2714 37 Texture::get_match_framebuffer_format 0 1 1171 588 //////////////////////////////////////////////////////////////////// // Function: Texture::get_match_framebuffer_format // Access: Public // Description: Returns true if the special flag was set that // indicates to the GSG that the Texture's format should // be chosen to exactly match the framebuffer's format, // presumably because the application intends to copy // image data from the framebuffer into the Texture (or // vice-versa). //////////////////////////////////////////////////////////////////// 62 inline bool Texture::get_match_framebuffer_format(void) const; 2441 28 set_match_framebuffer_format 4 2714 37 Texture::set_match_framebuffer_format 0 1 1172 743 //////////////////////////////////////////////////////////////////// // Function: Texture::set_match_framebuffer_format // Access: Public // Description: Sets the special flag that, if true, indicates to the // GSG that the Texture's format should be chosen to // exactly match the framebuffer's format, presumably // because the application intends to copy image data // from the framebuffer into the Texture (or // vice-versa). // // This sets only the graphics card's idea of the // texture format; it is not related to the // system-memory format. //////////////////////////////////////////////////////////////////// 61 inline void Texture::set_match_framebuffer_format(bool flag); 2442 25 get_post_load_store_cache 4 2714 34 Texture::get_post_load_store_cache 0 1 1173 336 //////////////////////////////////////////////////////////////////// // Function: Texture::get_post_load_store_cache // Access: Public // Description: Returns the setting of the post_load_store_cache // flag. See set_post_load_store_cache(). //////////////////////////////////////////////////////////////////// 59 inline bool Texture::get_post_load_store_cache(void) const; 2443 25 set_post_load_store_cache 4 2714 34 Texture::set_post_load_store_cache 0 1 1174 742 //////////////////////////////////////////////////////////////////// // Function: Texture::set_post_load_store_cache // Access: Public // Description: Sets the post_load_store_cache flag. When this is // set, the next time the texture is loaded on a GSG, it // will automatically extract its RAM image from the GSG // and save it to the global BamCache. // // This is used to store compressed RAM images in the // BamCache. This flag should not be set explicitly; it // is set automatically by the TexturePool when // model-cache-compressed-textures is set true. //////////////////////////////////////////////////////////////////// 58 inline void Texture::set_post_load_store_cache(bool flag); 2444 11 prepare_now 4 2714 20 Texture::prepare_now 0 1 1175 889 //////////////////////////////////////////////////////////////////// // Function: Texture::prepare_now // Access: Published // Description: Creates a context for the texture on the particular // GSG, if it does not already exist. Returns the new // (or old) TextureContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // textures. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a texture does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 112 TextureContext *Texture::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg); 2445 13 up_to_power_2 4 2714 22 Texture::up_to_power_2 0 1 1176 310 //////////////////////////////////////////////////////////////////// // Function: Texture::up_to_power_2 // Access: Published, Static // Description: Returns the smallest power of 2 greater than or equal // to value. //////////////////////////////////////////////////////////////////// 45 static int Texture::up_to_power_2(int value); 2446 15 down_to_power_2 4 2714 24 Texture::down_to_power_2 0 1 1177 308 //////////////////////////////////////////////////////////////////// // Function: Texture::down_to_power_2 // Access: Published, Static // Description: Returns the largest power of 2 less than or equal // to value. //////////////////////////////////////////////////////////////////// 47 static int Texture::down_to_power_2(int value); 2447 16 consider_rescale 4 2714 25 Texture::consider_rescale 0 2 1178 1179 1060 //////////////////////////////////////////////////////////////////// // Function: Texture::consider_rescale // Access: Published // Description: Asks the PNMImage to change its scale when it reads // the image, according to the whims of the Config.prc // file. // // This method should be called after // pnmimage.read_header() has been called, but before // pnmimage.read(). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Texture::consider_rescale // Access: Published, Static // Description: Asks the PNMImage to change its scale when it reads // the image, according to the whims of the Config.prc // file. // // This method should be called after // pnmimage.read_header() has been called, but before // pnmimage.read(). //////////////////////////////////////////////////////////////////// 144 void Texture::consider_rescale(PNMImage &pnmimage); static void Texture::consider_rescale(PNMImage &pnmimage, basic_string< char > const &name); 2448 14 get_class_type 4 2714 23 Texture::get_class_type 0 1 1180 0 48 static TypeHandle Texture::get_class_type(void); 2449 4 load 4 2722 12 Shader::load 0 4 1185 1186 1187 1188 566 //////////////////////////////////////////////////////////////////// // Function: Shader::load // Access: Published, Static // Description: Loads the shader with the given filename. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: Shader::load // Access: Published, Static // Description: This variant of Shader::load loads all shader // programs separately. //////////////////////////////////////////////////////////////////// 270 static PointerTo< Shader > Shader::load(Filename const &file, Shader::ShaderLanguage const &lang = (SL_none)); static PointerTo< Shader > Shader::load(Shader::ShaderLanguage const &lang, Filename const &vertex, Filename const &fragment, Filename const &geometry = ("")); 2450 4 make 4 2722 12 Shader::make 0 4 1189 1190 1191 1192 553 ////////////////////////////////////////////////////////////////////// // Function: Shader::make // Access: Published, Static // Description: Loads the shader, using the string as shader body. ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// // Function: Shader::make // Access: Published, Static // Description: Loads the shader, using the strings as shader bodies. ////////////////////////////////////////////////////////////////////// 318 static PointerTo< Shader > Shader::make(basic_string< char > const &body, Shader::ShaderLanguage const &lang = (SL_none)); static PointerTo< Shader > Shader::make(Shader::ShaderLanguage const &lang, basic_string< char > const &vertex, basic_string< char > const &fragment, basic_string< char > const &geometry = ("")); 2451 12 get_filename 4 2722 20 Shader::get_filename 0 2 1193 1194 776 // Filename: shader.I // Heavily Modified: jyelon (Sep05) // //////////////////////////////////////////////////////////////////// // // 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: Shader::get_filename // Access: Public // Description: Return the Shader's filename for the given shader // type. //////////////////////////////////////////////////////////////////// 93 inline Filename const Shader::get_filename(Shader::ShaderType const &type = (ST_none)) const; 2452 8 get_text 4 2722 16 Shader::get_text 0 2 1195 1196 264 //////////////////////////////////////////////////////////////////// // Function: Shader::get_text // Access: Public // Description: Return the Shader's text for the given shader type. //////////////////////////////////////////////////////////////////// 101 inline basic_string< char > const Shader::get_text(Shader::ShaderType const &type = (ST_none)) const; 2453 14 get_error_flag 4 2722 22 Shader::get_error_flag 0 1 1197 399 //////////////////////////////////////////////////////////////////// // Function: Shader::get_error_flag // Access: Public // Description: Returns true if the shader contains a compile-time // error. This doesn't tell you whether or not the // shader is supported on the current video card. //////////////////////////////////////////////////////////////////// 53 inline bool const Shader::get_error_flag(void) const; 2454 12 get_language 4 2722 20 Shader::get_language 0 1 1198 298 //////////////////////////////////////////////////////////////////// // Function: Shader::get_language // Access: Published // Description: Returns the shader language in which this shader // was written. //////////////////////////////////////////////////////////////////// 69 inline Shader::ShaderLanguage const Shader::get_language(void) const; 2455 22 get_shader_utilization 4 2722 30 Shader::get_shader_utilization 0 1 1199 510 //////////////////////////////////////////////////////////////////// // Function: Shader::get_shader_utilization // Access: Published, Static // Description: This flag returns SUT_none, SUT_basic, or // SUT_advanced and controls the automatic generation // of shaders. It is initialized from the config // variable of the same name, but it can be // subsequently adjusted. //////////////////////////////////////////////////////////////////// 69 static inline ShaderUtilization Shader::get_shader_utilization(void); 2456 22 set_shader_utilization 4 2722 30 Shader::set_shader_utilization 0 1 1200 382 //////////////////////////////////////////////////////////////////// // Function: Shader::set_shader_utilization // Access: Published, Static // Description: Set this flag to SUT_none, SUT_basic, or // SUT_advanced to limit panda's automatic shader // generation facilities. //////////////////////////////////////////////////////////////////// 73 static inline void Shader::set_shader_utilization(ShaderUtilization utl); 2457 23 have_shader_utilization 4 2722 31 Shader::have_shader_utilization 0 1 1201 460 //////////////////////////////////////////////////////////////////// // Function: Shader::have_shader_utilization // Access: Published, Static // Description: If true, then get_shader_utilization has been // set using set_shader_utilization. // If false, then get_shader_utilization simply // returns the config variable of the same name. //////////////////////////////////////////////////////////////////// 57 static inline bool Shader::have_shader_utilization(void); 2458 7 prepare 4 2722 15 Shader::prepare 0 1 1202 653 //////////////////////////////////////////////////////////////////// // Function: Shader::prepare // Access: Published // Description: Indicates that the shader should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // texture is already loaded into texture memory if it // is expected to be rendered soon. // // Use this function instead of prepare_now() to preload // textures from a user interface standpoint. //////////////////////////////////////////////////////////////////// 64 void Shader::prepare(PreparedGraphicsObjects *prepared_objects); 2459 11 is_prepared 4 2722 19 Shader::is_prepared 0 1 1203 372 //////////////////////////////////////////////////////////////////// // Function: Shader::is_prepared // Access: Published // Description: Returns true if the shader has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 74 bool Shader::is_prepared(PreparedGraphicsObjects *prepared_objects) const; 2460 7 release 4 2722 15 Shader::release 0 1 1204 393 //////////////////////////////////////////////////////////////////// // Function: Shader::release // Access: Published // Description: Frees the texture context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 64 bool Shader::release(PreparedGraphicsObjects *prepared_objects); 2461 11 release_all 4 2722 19 Shader::release_all 0 1 1205 391 //////////////////////////////////////////////////////////////////// // Function: Shader::release_all // Access: Published // Description: Frees the context allocated on all objects for which // the texture has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 30 int Shader::release_all(void); 2462 11 prepare_now 4 2722 19 Shader::prepare_now 0 1 1206 885 //////////////////////////////////////////////////////////////////// // Function: Shader::prepare_now // Access: Published // Description: Creates a context for the shader on the particular // GSG, if it does not already exist. Returns the new // (or old) ShaderContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // textures. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a shader does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 110 ShaderContext *Shader::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg); 2463 14 get_class_type 4 2722 22 Shader::get_class_type 0 1 1207 0 47 static TypeHandle Shader::get_class_type(void); 2464 8 get_name 4 2726 33 PreparedGraphicsObjects::get_name 0 1 1208 913 // Filename: preparedGraphicsObjects.I // Created by: drose (23Feb04) // //////////////////////////////////////////////////////////////////// // // 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: PreparedGraphicsObjects::get_name // Access: Public // Description: Returns the name of the PreparedGraphicsObjects // structure. This is an arbitrary name that serves // mainly to uniquify the context for PStats reporting. //////////////////////////////////////////////////////////////////// 81 inline basic_string< char > const &PreparedGraphicsObjects::get_name(void) const; 2465 25 set_graphics_memory_limit 4 2726 50 PreparedGraphicsObjects::set_graphics_memory_limit 0 1 1209 873 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::set_graphics_memory_limit // Access: Public // Description: Sets an artificial cap on graphics memory that // will be imposed on this GSG. // // This limits the total amount of graphics memory, // including texture memory and vertex buffer memory, // that will be consumed by the GSG, regardless of // whether the hardware claims to provide more graphics // memory than this. It is useful to put a ceiling on // graphics memory consumed, since some drivers seem to // allow the application to consume more memory than the // hardware can realistically support. //////////////////////////////////////////////////////////////////// 76 void PreparedGraphicsObjects::set_graphics_memory_limit(unsigned int limit); 2466 25 get_graphics_memory_limit 4 2726 50 PreparedGraphicsObjects::get_graphics_memory_limit 0 1 1210 394 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_graphics_memory_limit // Access: Public // Description: Returns the artificial cap on graphics memory that // will be imposed on this GSG. See // set_graphics_memory_limit(). //////////////////////////////////////////////////////////////////// 83 inline unsigned int PreparedGraphicsObjects::get_graphics_memory_limit(void) const; 2467 24 show_graphics_memory_lru 4 2726 49 PreparedGraphicsObjects::show_graphics_memory_lru 0 1 1211 393 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::show_graphics_memory_lru // Access: Public // Description: Writes to the indicated ostream a report of how the // various textures and vertex buffers are allocated in // the LRU. //////////////////////////////////////////////////////////////////// 75 void PreparedGraphicsObjects::show_graphics_memory_lru(ostream &out) const; 2468 23 show_residency_trackers 4 2726 48 PreparedGraphicsObjects::show_residency_trackers 0 1 1212 392 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::show_residency_trackers // Access: Public // Description: Writes to the indicated ostream a report of how the // various textures and vertex buffers are allocated in // the LRU. //////////////////////////////////////////////////////////////////// 74 void PreparedGraphicsObjects::show_residency_trackers(ostream &out) const; 2469 11 release_all 4 2726 36 PreparedGraphicsObjects::release_all 0 1 1213 284 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all // Access: Public // Description: Releases all prepared objects of all kinds at once. //////////////////////////////////////////////////////////////////// 55 inline void PreparedGraphicsObjects::release_all(void); 2470 14 get_num_queued 4 2726 39 PreparedGraphicsObjects::get_num_queued 0 1 1214 346 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued // Access: Public // Description: Returns the number of objects of any kind that have // been enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 63 inline int PreparedGraphicsObjects::get_num_queued(void) const; 2471 16 get_num_prepared 4 2726 41 PreparedGraphicsObjects::get_num_prepared 0 1 1215 341 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared // Access: Public // Description: Returns the number of objects of any kind that have // already been prepared on this GSG. //////////////////////////////////////////////////////////////////// 65 inline int PreparedGraphicsObjects::get_num_prepared(void) const; 2472 15 enqueue_texture 4 2726 40 PreparedGraphicsObjects::enqueue_texture 0 1 1216 413 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_texture // Access: Public // Description: Indicates that a texture would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 60 void PreparedGraphicsObjects::enqueue_texture(Texture *tex); 2473 17 is_texture_queued 4 2726 42 PreparedGraphicsObjects::is_texture_queued 0 1 1217 329 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_texture_queued // Access: Public // Description: Returns true if the texture has been queued on this // GSG, false otherwise. //////////////////////////////////////////////////////////////////// 74 bool PreparedGraphicsObjects::is_texture_queued(Texture const *tex) const; 2474 15 dequeue_texture 4 2726 40 PreparedGraphicsObjects::dequeue_texture 0 1 1218 733 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_texture // Access: Public // Description: Removes a texture from the queued list of textures to // be prepared. Normally it is not necessary to call // this, unless you change your mind about preparing it // at the last minute, since the texture will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the texture is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 60 bool PreparedGraphicsObjects::dequeue_texture(Texture *tex); 2475 19 is_texture_prepared 4 2726 44 PreparedGraphicsObjects::is_texture_prepared 0 1 1219 333 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_texture_prepared // Access: Public // Description: Returns true if the texture has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 76 bool PreparedGraphicsObjects::is_texture_prepared(Texture const *tex) const; 2476 15 release_texture 4 2726 40 PreparedGraphicsObjects::release_texture 0 2 1220 1221 1171 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_texture // Access: Public // Description: Indicates that a texture context, created by a // previous call to prepare_texture(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release textures--this // prevents conflicts from threading or multiple GSG's // sharing textures (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_texture is called). //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_texture // Access: Public // Description: Releases a texture if it has already been prepared, // or removes it from the preparation queue. //////////////////////////////////////////////////////////////////// 127 void PreparedGraphicsObjects::release_texture(TextureContext *tc); void PreparedGraphicsObjects::release_texture(Texture *tex); 2477 20 release_all_textures 4 2726 45 PreparedGraphicsObjects::release_all_textures 0 1 1222 460 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_textures // Access: Public // Description: Releases all textures at once. This will force them // to be reloaded into texture memory for all GSG's that // share this object. Returns the number of textures // released. //////////////////////////////////////////////////////////////////// 56 int PreparedGraphicsObjects::release_all_textures(void); 2478 23 get_num_queued_textures 4 2726 48 PreparedGraphicsObjects::get_num_queued_textures 0 1 1223 344 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_textures // Access: Public // Description: Returns the number of textures that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 65 int PreparedGraphicsObjects::get_num_queued_textures(void) const; 2479 25 get_num_prepared_textures 4 2726 50 PreparedGraphicsObjects::get_num_prepared_textures 0 1 1224 339 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_textures // Access: Public // Description: Returns the number of textures that have already been // prepared on this GSG. //////////////////////////////////////////////////////////////////// 67 int PreparedGraphicsObjects::get_num_prepared_textures(void) const; 2480 19 prepare_texture_now 4 2726 44 PreparedGraphicsObjects::prepare_texture_now 0 1 1225 1165 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_texture_now // Access: Public // Description: Immediately creates a new TextureContext for the // indicated texture and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // textures. If this is not necessarily the case, you // should use enqueue_texture() instead. // // Normally, this function is not called directly. Call // Texture::prepare_now() instead. // // The TextureContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular texture, and will exist as long as the // texture is ready to be rendered. // // When either the Texture or the // PreparedGraphicsObjects object destructs, the // TextureContext will be deleted. //////////////////////////////////////////////////////////////////// 107 TextureContext *PreparedGraphicsObjects::prepare_texture_now(Texture *tex, GraphicsStateGuardianBase *gsg); 2481 12 enqueue_geom 4 2726 37 PreparedGraphicsObjects::enqueue_geom 0 1 1226 407 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_geom // Access: Public // Description: Indicates that a geom would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 55 void PreparedGraphicsObjects::enqueue_geom(Geom *geom); 2482 14 is_geom_queued 4 2726 39 PreparedGraphicsObjects::is_geom_queued 0 1 1227 323 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_geom_queued // Access: Public // Description: Returns true if the geom has been queued on this // GSG, false otherwise. //////////////////////////////////////////////////////////////////// 69 bool PreparedGraphicsObjects::is_geom_queued(Geom const *geom) const; 2483 12 dequeue_geom 4 2726 37 PreparedGraphicsObjects::dequeue_geom 0 1 1228 718 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_geom // Access: Public // Description: Removes a geom from the queued list of geoms to // be prepared. Normally it is not necessary to call // this, unless you change your mind about preparing it // at the last minute, since the geom will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the geom is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 55 bool PreparedGraphicsObjects::dequeue_geom(Geom *geom); 2484 16 is_geom_prepared 4 2726 41 PreparedGraphicsObjects::is_geom_prepared 0 1 1229 336 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_geom_prepared // Access: Public // Description: Returns true if the vertex buffer has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 71 bool PreparedGraphicsObjects::is_geom_prepared(Geom const *geom) const; 2485 12 release_geom 4 2726 37 PreparedGraphicsObjects::release_geom 0 1 1230 804 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_geom // Access: Public // Description: Indicates that a geom context, created by a // previous call to prepare_geom(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release geoms--this // prevents conflicts from threading or multiple GSG's // sharing geoms (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_geom is called). //////////////////////////////////////////////////////////////////// 60 void PreparedGraphicsObjects::release_geom(GeomContext *gc); 2486 17 release_all_geoms 4 2726 42 PreparedGraphicsObjects::release_all_geoms 0 1 1231 448 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_geoms // Access: Public // Description: Releases all geoms at once. This will force them // to be reloaded into geom memory for all GSG's that // share this object. Returns the number of geoms // released. //////////////////////////////////////////////////////////////////// 53 int PreparedGraphicsObjects::release_all_geoms(void); 2487 20 get_num_queued_geoms 4 2726 45 PreparedGraphicsObjects::get_num_queued_geoms 0 1 1232 338 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_geoms // Access: Public // Description: Returns the number of geoms that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 62 int PreparedGraphicsObjects::get_num_queued_geoms(void) const; 2488 22 get_num_prepared_geoms 4 2726 47 PreparedGraphicsObjects::get_num_prepared_geoms 0 1 1233 333 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_geoms // Access: Public // Description: Returns the number of geoms that have already been // prepared on this GSG. //////////////////////////////////////////////////////////////////// 64 int PreparedGraphicsObjects::get_num_prepared_geoms(void) const; 2489 16 prepare_geom_now 4 2726 41 PreparedGraphicsObjects::prepare_geom_now 0 1 1234 1132 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_geom_now // Access: Public // Description: Immediately creates a new GeomContext for the // indicated geom and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // geoms. If this is not necessarily the case, you // should use enqueue_geom() instead. // // Normally, this function is not called directly. Call // Geom::prepare_now() instead. // // The GeomContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular geom, and will exist as long as the // geom is ready to be rendered. // // When either the Geom or the // PreparedGraphicsObjects object destructs, the // GeomContext will be deleted. //////////////////////////////////////////////////////////////////// 99 GeomContext *PreparedGraphicsObjects::prepare_geom_now(Geom *geom, GraphicsStateGuardianBase *gsg); 2490 14 enqueue_shader 4 2726 39 PreparedGraphicsObjects::enqueue_shader 0 1 1235 411 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_shader // Access: Public // Description: Indicates that a shader would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 61 void PreparedGraphicsObjects::enqueue_shader(Shader *shader); 2491 16 is_shader_queued 4 2726 41 PreparedGraphicsObjects::is_shader_queued 0 1 1236 327 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_shader_queued // Access: Public // Description: Returns true if the shader has been queued on this // GSG, false otherwise. //////////////////////////////////////////////////////////////////// 75 bool PreparedGraphicsObjects::is_shader_queued(Shader const *shader) const; 2492 14 dequeue_shader 4 2726 39 PreparedGraphicsObjects::dequeue_shader 0 1 1237 728 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_shader // Access: Public // Description: Removes a shader from the queued list of shaders to // be prepared. Normally it is not necessary to call // this, unless you change your mind about preparing it // at the last minute, since the shader will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the shader is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 61 bool PreparedGraphicsObjects::dequeue_shader(Shader *shader); 2493 18 is_shader_prepared 4 2726 43 PreparedGraphicsObjects::is_shader_prepared 0 1 1238 331 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_shader_prepared // Access: Public // Description: Returns true if the shader has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 77 bool PreparedGraphicsObjects::is_shader_prepared(Shader const *shader) const; 2494 14 release_shader 4 2726 39 PreparedGraphicsObjects::release_shader 0 1 1239 816 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_shader // Access: Public // Description: Indicates that a shader context, created by a // previous call to prepare_shader(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release shaders--this // prevents conflicts from threading or multiple GSG's // sharing shaders (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_shader is called). //////////////////////////////////////////////////////////////////// 64 void PreparedGraphicsObjects::release_shader(ShaderContext *sc); 2495 19 release_all_shaders 4 2726 44 PreparedGraphicsObjects::release_all_shaders 0 1 1240 456 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_shaders // Access: Public // Description: Releases all shaders at once. This will force them // to be reloaded into shader memory for all GSG's that // share this object. Returns the number of shaders // released. //////////////////////////////////////////////////////////////////// 55 int PreparedGraphicsObjects::release_all_shaders(void); 2496 22 get_num_queued_shaders 4 2726 47 PreparedGraphicsObjects::get_num_queued_shaders 0 1 1241 342 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_shaders // Access: Public // Description: Returns the number of shaders that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 64 int PreparedGraphicsObjects::get_num_queued_shaders(void) const; 2497 24 get_num_prepared_shaders 4 2726 49 PreparedGraphicsObjects::get_num_prepared_shaders 0 1 1242 337 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_shaders // Access: Public // Description: Returns the number of shaders that have already been // prepared on this GSG. //////////////////////////////////////////////////////////////////// 66 int PreparedGraphicsObjects::get_num_prepared_shaders(void) const; 2498 18 prepare_shader_now 4 2726 43 PreparedGraphicsObjects::prepare_shader_now 0 1 1243 1154 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_shader_now // Access: Public // Description: Immediately creates a new ShaderContext for the // indicated shader and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // shaders. If this is not necessarily the case, you // should use enqueue_shader() instead. // // Normally, this function is not called directly. Call // Shader::prepare_now() instead. // // The ShaderContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular shader, and will exist as long as the // shader is ready to be rendered. // // When either the Shader or the // PreparedGraphicsObjects object destructs, the // ShaderContext will be deleted. //////////////////////////////////////////////////////////////////// 107 ShaderContext *PreparedGraphicsObjects::prepare_shader_now(Shader *shader, GraphicsStateGuardianBase *gsg); 2499 21 enqueue_vertex_buffer 4 2726 46 PreparedGraphicsObjects::enqueue_vertex_buffer 0 1 1244 418 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_vertex_buffer // Access: Public // Description: Indicates that a buffer would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 79 void PreparedGraphicsObjects::enqueue_vertex_buffer(GeomVertexArrayData *data); 2500 23 is_vertex_buffer_queued 4 2726 48 PreparedGraphicsObjects::is_vertex_buffer_queued 0 1 1245 341 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_vertex_buffer_queued // Access: Public // Description: Returns true if the vertex buffer has been queued on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 93 bool PreparedGraphicsObjects::is_vertex_buffer_queued(GeomVertexArrayData const *data) const; 2501 21 dequeue_vertex_buffer 4 2726 46 PreparedGraphicsObjects::dequeue_vertex_buffer 0 1 1246 737 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_vertex_buffer // Access: Public // Description: Removes a buffer from the queued list of data // arrays to be prepared. Normally it is not necessary // to call this, unless you change your mind about // preparing it at the last minute, since the data will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the buffer is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 79 bool PreparedGraphicsObjects::dequeue_vertex_buffer(GeomVertexArrayData *data); 2502 25 is_vertex_buffer_prepared 4 2726 50 PreparedGraphicsObjects::is_vertex_buffer_prepared 0 1 1247 345 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_vertex_buffer_prepared // Access: Public // Description: Returns true if the vertex buffer has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 95 bool PreparedGraphicsObjects::is_vertex_buffer_prepared(GeomVertexArrayData const *data) const; 2503 21 release_vertex_buffer 4 2726 46 PreparedGraphicsObjects::release_vertex_buffer 0 1 1248 831 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_vertex_buffer // Access: Public // Description: Indicates that a data context, created by a // previous call to prepare_vertex_buffer(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release datas--this // prevents conflicts from threading or multiple GSG's // sharing datas (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_vertex_buffer is called). //////////////////////////////////////////////////////////////////// 78 void PreparedGraphicsObjects::release_vertex_buffer(VertexBufferContext *vbc); 2504 26 release_all_vertex_buffers 4 2726 51 PreparedGraphicsObjects::release_all_vertex_buffers 0 1 1249 457 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_vertex_buffers // Access: Public // Description: Releases all datas at once. This will force them // to be reloaded into data memory for all GSG's that // share this object. Returns the number of datas // released. //////////////////////////////////////////////////////////////////// 62 int PreparedGraphicsObjects::release_all_vertex_buffers(void); 2505 29 get_num_queued_vertex_buffers 4 2726 54 PreparedGraphicsObjects::get_num_queued_vertex_buffers 0 1 1250 356 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_vertex_buffers // Access: Public // Description: Returns the number of vertex buffers that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 71 int PreparedGraphicsObjects::get_num_queued_vertex_buffers(void) const; 2506 31 get_num_prepared_vertex_buffers 4 2726 56 PreparedGraphicsObjects::get_num_prepared_vertex_buffers 0 1 1251 351 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_vertex_buffers // Access: Public // Description: Returns the number of vertex buffers that have // already been prepared on this GSG. //////////////////////////////////////////////////////////////////// 73 int PreparedGraphicsObjects::get_num_prepared_vertex_buffers(void) const; 2507 25 prepare_vertex_buffer_now 4 2726 50 PreparedGraphicsObjects::prepare_vertex_buffer_now 0 1 1252 1174 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_vertex_buffer_now // Access: Public // Description: Immediately creates a new VertexBufferContext for the // indicated data and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // datas. If this is not necessarily the case, you // should use enqueue_vertex_buffer() instead. // // Normally, this function is not called directly. Call // Data::prepare_now() instead. // // The VertexBufferContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular data, and will exist as long as the // data is ready to be rendered. // // When either the Data or the // PreparedGraphicsObjects object destructs, the // VertexBufferContext will be deleted. //////////////////////////////////////////////////////////////////// 131 VertexBufferContext *PreparedGraphicsObjects::prepare_vertex_buffer_now(GeomVertexArrayData *data, GraphicsStateGuardianBase *gsg); 2508 20 enqueue_index_buffer 4 2726 45 PreparedGraphicsObjects::enqueue_index_buffer 0 1 1253 417 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_index_buffer // Access: Public // Description: Indicates that a buffer would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 72 void PreparedGraphicsObjects::enqueue_index_buffer(GeomPrimitive *data); 2509 22 is_index_buffer_queued 4 2726 47 PreparedGraphicsObjects::is_index_buffer_queued 0 1 1254 339 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_index_buffer_queued // Access: Public // Description: Returns true if the index buffer has been queued on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 86 bool PreparedGraphicsObjects::is_index_buffer_queued(GeomPrimitive const *data) const; 2510 20 dequeue_index_buffer 4 2726 45 PreparedGraphicsObjects::dequeue_index_buffer 0 1 1255 736 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_index_buffer // Access: Public // Description: Removes a buffer from the queued list of data // arrays to be prepared. Normally it is not necessary // to call this, unless you change your mind about // preparing it at the last minute, since the data will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the buffer is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 72 bool PreparedGraphicsObjects::dequeue_index_buffer(GeomPrimitive *data); 2511 24 is_index_buffer_prepared 4 2726 49 PreparedGraphicsObjects::is_index_buffer_prepared 0 1 1256 343 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_index_buffer_prepared // Access: Public // Description: Returns true if the index buffer has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 88 bool PreparedGraphicsObjects::is_index_buffer_prepared(GeomPrimitive const *data) const; 2512 20 release_index_buffer 4 2726 45 PreparedGraphicsObjects::release_index_buffer 0 1 1257 828 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_index_buffer // Access: Public // Description: Indicates that a data context, created by a // previous call to prepare_index_buffer(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release datas--this // prevents conflicts from threading or multiple GSG's // sharing datas (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_index_buffer is called). //////////////////////////////////////////////////////////////////// 76 void PreparedGraphicsObjects::release_index_buffer(IndexBufferContext *ibc); 2513 25 release_all_index_buffers 4 2726 50 PreparedGraphicsObjects::release_all_index_buffers 0 1 1258 456 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_index_buffers // Access: Public // Description: Releases all datas at once. This will force them // to be reloaded into data memory for all GSG's that // share this object. Returns the number of datas // released. //////////////////////////////////////////////////////////////////// 61 int PreparedGraphicsObjects::release_all_index_buffers(void); 2514 28 get_num_queued_index_buffers 4 2726 53 PreparedGraphicsObjects::get_num_queued_index_buffers 0 1 1259 354 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_index_buffers // Access: Public // Description: Returns the number of index buffers that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 70 int PreparedGraphicsObjects::get_num_queued_index_buffers(void) const; 2515 30 get_num_prepared_index_buffers 4 2726 55 PreparedGraphicsObjects::get_num_prepared_index_buffers 0 1 1260 349 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_index_buffers // Access: Public // Description: Returns the number of index buffers that have // already been prepared on this GSG. //////////////////////////////////////////////////////////////////// 72 int PreparedGraphicsObjects::get_num_prepared_index_buffers(void) const; 2516 24 prepare_index_buffer_now 4 2726 49 PreparedGraphicsObjects::prepare_index_buffer_now 0 1 1261 1169 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_index_buffer_now // Access: Public // Description: Immediately creates a new IndexBufferContext for the // indicated data and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // datas. If this is not necessarily the case, you // should use enqueue_index_buffer() instead. // // Normally, this function is not called directly. Call // Data::prepare_now() instead. // // The IndexBufferContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular data, and will exist as long as the // data is ready to be rendered. // // When either the Data or the // PreparedGraphicsObjects object destructs, the // IndexBufferContext will be deleted. //////////////////////////////////////////////////////////////////// 123 IndexBufferContext *PreparedGraphicsObjects::prepare_index_buffer_now(GeomPrimitive *data, GraphicsStateGuardianBase *gsg); 2517 20 TextureReloadRequest 4 2727 42 TextureReloadRequest::TextureReloadRequest 0 1 1262 854 // Filename: textureReloadRequest.I // Created by: drose (12Aug08) // //////////////////////////////////////////////////////////////////// // // 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: TextureReloadRequest::Constructor // Access: Published // Description: Create a new TextureReloadRequest, and add it to the loader // via load_async(), to begin an asynchronous load. //////////////////////////////////////////////////////////////////// 155 inline TextureReloadRequest::TextureReloadRequest(basic_string< char > const &name, PreparedGraphicsObjects *pgo, Texture *texture, bool allow_compressed); 2518 29 get_prepared_graphics_objects 4 2727 51 TextureReloadRequest::get_prepared_graphics_objects 0 1 1263 366 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::get_prepared_graphics_objects // Access: Published // Description: Returns the PreparedGraphicsObjects object associated with // this asynchronous TextureReloadRequest. //////////////////////////////////////////////////////////////////// 96 inline PreparedGraphicsObjects *TextureReloadRequest::get_prepared_graphics_objects(void) const; 2519 11 get_texture 4 2727 33 TextureReloadRequest::get_texture 0 1 1264 332 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::get_texture // Access: Published // Description: Returns the Texture object associated with // this asynchronous TextureReloadRequest. //////////////////////////////////////////////////////////////////// 62 inline Texture *TextureReloadRequest::get_texture(void) const; 2520 20 get_allow_compressed 4 2727 42 TextureReloadRequest::get_allow_compressed 0 1 1265 350 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::get_allow_compressed // Access: Published // Description: Returns the "allow compressed" flag associated with // this asynchronous TextureReloadRequest. //////////////////////////////////////////////////////////////////// 67 inline bool TextureReloadRequest::get_allow_compressed(void) const; 2521 8 is_ready 4 2727 30 TextureReloadRequest::is_ready 0 1 1266 320 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::is_ready // Access: Published // Description: Returns true if this request has completed, false if // it is still pending. //////////////////////////////////////////////////////////////////// 55 inline bool TextureReloadRequest::is_ready(void) const; 2522 14 get_class_type 4 2727 36 TextureReloadRequest::get_class_type 0 1 1267 0 61 static TypeHandle TextureReloadRequest::get_class_type(void); 2523 21 ~TextureReloadRequest 4 2727 43 TextureReloadRequest::~TextureReloadRequest 0 0 0 50 TextureReloadRequest::~TextureReloadRequest(void); 2524 23 upcast_to_BufferContext 12 2728 39 TextureContext::upcast_to_BufferContext 0 1 1274 43 upcast from TextureContext to BufferContext 61 BufferContext *TextureContext::upcast_to_BufferContext(void); 2525 26 downcast_to_TextureContext 12 2689 41 BufferContext::downcast_to_TextureContext 0 1 1275 45 downcast from BufferContext to TextureContext 64 TextureContext *BufferContext::downcast_to_TextureContext(void); 2526 25 upcast_to_AdaptiveLruPage 12 2728 41 TextureContext::upcast_to_AdaptiveLruPage 0 1 1276 45 upcast from TextureContext to AdaptiveLruPage 65 AdaptiveLruPage *TextureContext::upcast_to_AdaptiveLruPage(void); 2527 26 downcast_to_TextureContext 12 2644 43 AdaptiveLruPage::downcast_to_TextureContext 0 1 1277 47 downcast from AdaptiveLruPage to TextureContext 66 TextureContext *AdaptiveLruPage::downcast_to_TextureContext(void); 2528 11 get_texture 4 2728 27 TextureContext::get_texture 0 1 1268 294 //////////////////////////////////////////////////////////////////// // Function: TextureContext::get_texture // Access: Public // Description: Returns the pointer to the associated Texture // object. //////////////////////////////////////////////////////////////////// 56 inline Texture *TextureContext::get_texture(void) const; 2529 12 was_modified 4 2728 28 TextureContext::was_modified 0 1 1269 371 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_modified // Access: Public // Description: Returns true if the texture properties or image have // been modified since the last time mark_loaded() was // called. //////////////////////////////////////////////////////////////////// 53 inline bool TextureContext::was_modified(void) const; 2530 23 was_properties_modified 4 2728 39 TextureContext::was_properties_modified 0 1 1270 398 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_properties_modified // Access: Public // Description: Returns true if the texture properties (unrelated to // the image) have been modified since the last time // mark_loaded() was called. //////////////////////////////////////////////////////////////////// 64 inline bool TextureContext::was_properties_modified(void) const; 2531 18 was_image_modified 4 2728 34 TextureContext::was_image_modified 0 1 1271 345 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_image_modified // Access: Public // Description: Returns true if the texture image has been modified // since the last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 59 inline bool TextureContext::was_image_modified(void) const; 2532 25 was_simple_image_modified 4 2728 41 TextureContext::was_simple_image_modified 0 1 1272 387 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_simple_image_modified // Access: Public // Description: Returns true if the texture's "simple" image has been // modified since the last time mark_simple_loaded() was // called. //////////////////////////////////////////////////////////////////// 66 inline bool TextureContext::was_simple_image_modified(void) const; 2533 14 get_class_type 4 2728 30 TextureContext::get_class_type 0 1 1273 0 55 static TypeHandle TextureContext::get_class_type(void); 2534 15 ~TextureContext 4 2728 31 TextureContext::~TextureContext 0 0 0 38 TextureContext::~TextureContext(void); 2535 10 get_shader 4 2729 25 ShaderContext::get_shader 0 1 1278 227 //////////////////////////////////////////////////////////////////// // Function: ShaderContext::get_expansion // Access: Published // Description: //////////////////////////////////////////////////////////////////// 53 inline Shader *ShaderContext::get_shader(void) const; 2536 14 get_class_type 4 2729 29 ShaderContext::get_class_type 0 1 1279 0 54 static TypeHandle ShaderContext::get_class_type(void); 2537 14 ~ShaderContext 4 2729 29 ShaderContext::~ShaderContext 0 0 0 36 ShaderContext::~ShaderContext(void); 2538 16 UserVertexSlider 4 2730 34 UserVertexSlider::UserVertexSlider 0 2 1280 1281 460 //////////////////////////////////////////////////////////////////// // Function: UserVertexSlider::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: UserVertexSlider::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 131 UserVertexSlider::UserVertexSlider(basic_string< char > const &name); UserVertexSlider::UserVertexSlider(InternalName const *name); 2539 10 set_slider 4 2730 28 UserVertexSlider::set_slider 0 1 1282 754 // Filename: userVertexSlider.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: UserVertexSlider::set_slider // Access: Published // Description: Stores the indicated slider value. //////////////////////////////////////////////////////////////////// 55 inline void UserVertexSlider::set_slider(float slider); 2540 14 get_class_type 4 2730 32 UserVertexSlider::get_class_type 0 1 1283 0 57 static TypeHandle UserVertexSlider::get_class_type(void); 2541 17 ~UserVertexSlider 4 2730 35 UserVertexSlider::~UserVertexSlider 0 0 0 42 UserVertexSlider::~UserVertexSlider(void); 2542 19 UserVertexTransform 4 2731 40 UserVertexTransform::UserVertexTransform 0 1 1284 232 //////////////////////////////////////////////////////////////////// // Function: UserVertexTransform::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 75 UserVertexTransform::UserVertexTransform(basic_string< char > const &name); 2543 8 get_name 4 2731 29 UserVertexTransform::get_name 0 1 1285 806 // Filename: userVertexTransform.I // Created by: drose (24Mar05) // //////////////////////////////////////////////////////////////////// // // 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: UserVertexTransform::get_name // Access: Published // Description: Returns the name passed to the constructor. // Completely arbitrary. //////////////////////////////////////////////////////////////////// 77 inline basic_string< char > const &UserVertexTransform::get_name(void) const; 2544 10 set_matrix 4 2731 31 UserVertexTransform::set_matrix 0 1 1286 259 //////////////////////////////////////////////////////////////////// // Function: UserVertexTransform::set_matrix // Access: Published // Description: Stores the indicated matrix. //////////////////////////////////////////////////////////////////// 69 inline void UserVertexTransform::set_matrix(LMatrix4f const &matrix); 2545 14 get_class_type 4 2731 35 UserVertexTransform::get_class_type 0 1 1287 0 60 static TypeHandle UserVertexTransform::get_class_type(void); 2546 20 ~UserVertexTransform 4 2731 41 UserVertexTransform::~UserVertexTransform 0 0 0 48 UserVertexTransform::~UserVertexTransform(void); 2547 17 upcast_to_Texture 12 2732 31 VideoTexture::upcast_to_Texture 0 1 1293 35 upcast from VideoTexture to Texture 47 Texture *VideoTexture::upcast_to_Texture(void); 2548 24 downcast_to_VideoTexture 12 2714 33 Texture::downcast_to_VideoTexture 0 1 1294 37 downcast from Texture to VideoTexture 54 VideoTexture *Texture::downcast_to_VideoTexture(void); 2549 23 upcast_to_AnimInterface 12 2732 37 VideoTexture::upcast_to_AnimInterface 0 1 1295 41 upcast from VideoTexture to AnimInterface 59 AnimInterface *VideoTexture::upcast_to_AnimInterface(void); 2550 24 downcast_to_VideoTexture 12 2733 39 AnimInterface::downcast_to_VideoTexture 0 1 1296 43 downcast from AnimInterface to VideoTexture 60 VideoTexture *AnimInterface::downcast_to_VideoTexture(void); 2551 18 get_keep_ram_image 4 2732 32 VideoTexture::get_keep_ram_image 0 1 1288 482 //////////////////////////////////////////////////////////////////// // Function: VideoTexture::get_keep_ram_image // Access: Published, Virtual // Description: Returns the flag that indicates whether this Texture // is eligible to have its main RAM copy of the texture // memory dumped when the texture is prepared for // rendering. See set_keep_ram_image(). //////////////////////////////////////////////////////////////////// 58 virtual bool VideoTexture::get_keep_ram_image(void) const; 2552 15 get_video_width 4 2732 29 VideoTexture::get_video_width 0 1 1289 951 // Filename: videoTexture.I // Created by: drose (21Sep05) // //////////////////////////////////////////////////////////////////// // // 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: VideoTexture::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 VideoTexture::get_video_width(void) const; 2553 16 get_video_height 4 2732 30 VideoTexture::get_video_height 0 1 1290 466 //////////////////////////////////////////////////////////////////// // Function: VideoTexture::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 VideoTexture::get_video_height(void) const; 2554 13 get_tex_scale 4 2732 27 VideoTexture::get_tex_scale 0 1 1291 965 //////////////////////////////////////////////////////////////////// // Function: VideoTexture::get_tex_scale // Access: Published // Description: Returns a scale pair that is suitable for applying to // geometry via NodePath::set_tex_scale(), which will // convert texture coordinates on the geometry from the // range 0..1 into the appropriate range to render the // video part of the texture. // // This is necessary in the event the video source is // not a power of two and set_power_2() is true. In // this case, the video image will be mapped to the // lower-left corner of the texture, and the rest of the // texture space will be unused; so we will need to // remap any texture coordinates to fill the space // correctly. //////////////////////////////////////////////////////////////////// 58 inline LVecBase2f VideoTexture::get_tex_scale(void) const; 2555 14 get_class_type 4 2732 28 VideoTexture::get_class_type 0 1 1292 0 53 static TypeHandle VideoTexture::get_class_type(void); 2556 13 ~VideoTexture 4 2732 27 VideoTexture::~VideoTexture 0 0 0 34 VideoTexture::~VideoTexture(void); 2557 23 upcast_to_BufferContext 12 2734 44 VertexBufferContext::upcast_to_BufferContext 0 1 1302 48 upcast from VertexBufferContext to BufferContext 66 BufferContext *VertexBufferContext::upcast_to_BufferContext(void); 2558 31 downcast_to_VertexBufferContext 12 2689 46 BufferContext::downcast_to_VertexBufferContext 0 1 1303 50 downcast from BufferContext to VertexBufferContext 74 VertexBufferContext *BufferContext::downcast_to_VertexBufferContext(void); 2559 25 upcast_to_AdaptiveLruPage 12 2734 46 VertexBufferContext::upcast_to_AdaptiveLruPage 0 1 1304 50 upcast from VertexBufferContext to AdaptiveLruPage 70 AdaptiveLruPage *VertexBufferContext::upcast_to_AdaptiveLruPage(void); 2560 31 downcast_to_VertexBufferContext 12 2644 48 AdaptiveLruPage::downcast_to_VertexBufferContext 0 1 1305 52 downcast from AdaptiveLruPage to VertexBufferContext 76 VertexBufferContext *AdaptiveLruPage::downcast_to_VertexBufferContext(void); 2561 8 get_data 4 2734 29 VertexBufferContext::get_data 0 1 1297 300 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::get_data // Access: Public // Description: Returns the pointer to the client-side array data // object. //////////////////////////////////////////////////////////////////// 70 inline GeomVertexArrayData *VertexBufferContext::get_data(void) const; 2562 12 changed_size 4 2734 33 VertexBufferContext::changed_size 0 1 1298 334 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::changed_size // Access: Public // Description: Returns true if the data has changed size since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 93 inline bool VertexBufferContext::changed_size(GeomVertexArrayDataHandle const *reader) const; 2563 18 changed_usage_hint 4 2734 39 VertexBufferContext::changed_usage_hint 0 1 1299 350 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::changed_usage_hint // Access: Public // Description: Returns true if the data has changed its usage hint // since the last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 99 inline bool VertexBufferContext::changed_usage_hint(GeomVertexArrayDataHandle const *reader) const; 2564 12 was_modified 4 2734 33 VertexBufferContext::was_modified 0 1 1300 335 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::was_modified // Access: Public // Description: Returns true if the data has been modified since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 93 inline bool VertexBufferContext::was_modified(GeomVertexArrayDataHandle const *reader) const; 2565 14 get_class_type 4 2734 35 VertexBufferContext::get_class_type 0 1 1301 0 60 static TypeHandle VertexBufferContext::get_class_type(void); 2566 20 ~VertexBufferContext 4 2734 41 VertexBufferContext::~VertexBufferContext 0 0 0 48 VertexBufferContext::~VertexBufferContext(void); 2567 23 upcast_to_BufferContext 12 2735 43 IndexBufferContext::upcast_to_BufferContext 0 1 1311 47 upcast from IndexBufferContext to BufferContext 65 BufferContext *IndexBufferContext::upcast_to_BufferContext(void); 2568 30 downcast_to_IndexBufferContext 12 2689 45 BufferContext::downcast_to_IndexBufferContext 0 1 1312 49 downcast from BufferContext to IndexBufferContext 72 IndexBufferContext *BufferContext::downcast_to_IndexBufferContext(void); 2569 25 upcast_to_AdaptiveLruPage 12 2735 45 IndexBufferContext::upcast_to_AdaptiveLruPage 0 1 1313 49 upcast from IndexBufferContext to AdaptiveLruPage 69 AdaptiveLruPage *IndexBufferContext::upcast_to_AdaptiveLruPage(void); 2570 30 downcast_to_IndexBufferContext 12 2644 47 AdaptiveLruPage::downcast_to_IndexBufferContext 0 1 1314 51 downcast from AdaptiveLruPage to IndexBufferContext 74 IndexBufferContext *AdaptiveLruPage::downcast_to_IndexBufferContext(void); 2571 8 get_data 4 2735 28 IndexBufferContext::get_data 0 1 1306 299 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::get_data // Access: Public // Description: Returns the pointer to the client-side array data // object. //////////////////////////////////////////////////////////////////// 63 inline GeomPrimitive *IndexBufferContext::get_data(void) const; 2572 12 changed_size 4 2735 32 IndexBufferContext::changed_size 0 1 1307 333 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::changed_size // Access: Public // Description: Returns true if the data has changed size since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 94 inline bool IndexBufferContext::changed_size(GeomPrimitivePipelineReader const *reader) const; 2573 18 changed_usage_hint 4 2735 38 IndexBufferContext::changed_usage_hint 0 1 1308 349 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::changed_usage_hint // Access: Public // Description: Returns true if the data has changed its usage hint // since the last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 100 inline bool IndexBufferContext::changed_usage_hint(GeomPrimitivePipelineReader const *reader) const; 2574 12 was_modified 4 2735 32 IndexBufferContext::was_modified 0 1 1309 334 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::was_modified // Access: Public // Description: Returns true if the data has been modified since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 94 inline bool IndexBufferContext::was_modified(GeomPrimitivePipelineReader const *reader) const; 2575 14 get_class_type 4 2735 34 IndexBufferContext::get_class_type 0 1 1310 0 59 static TypeHandle IndexBufferContext::get_class_type(void); 2576 19 ~IndexBufferContext 4 2735 39 IndexBufferContext::~IndexBufferContext 0 0 0 46 IndexBufferContext::~IndexBufferContext(void); 2577 12 get_material 4 2736 26 MaterialPool::get_material 0 1 1315 1538 // Filename: materialPool.I // Created by: drose (30Apr01) // //////////////////////////////////////////////////////////////////// // // 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: MaterialPool::get_material // Access: Public, Static // Description: Returns a Material pointer that represents the // same material described by temp, except that it is a // shared pointer. // // Each call to get_material() passing an equivalent // Material pointer will return the same shared pointer. // // If you modify the shared pointer, it will // automatically disassociate it from the pool. // // Also, the return value may be a different pointer // than that passed in, or it may be the same pointer. // In either case, the passed in pointer has now been // sacrificed to the greater good and should not be used // again (like any other PointerTo, it will be freed // when the last reference count is removed). //////////////////////////////////////////////////////////////////// 67 static inline Material *MaterialPool::get_material(Material *temp); 2578 16 release_material 4 2736 30 MaterialPool::release_material 0 1 1316 283 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::release_material // Access: Published, Static // Description: Removes the indicated material from the pool. //////////////////////////////////////////////////////////////////// 66 static inline void MaterialPool::release_material(Material *temp); 2579 21 release_all_materials 4 2736 35 MaterialPool::release_all_materials 0 1 1317 336 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::release_all_materials // Access: Published, Static // Description: Releases all materials in the pool and restores the // pool to the empty state. //////////////////////////////////////////////////////////////////// 61 static inline void MaterialPool::release_all_materials(void); 2580 15 garbage_collect 4 2736 29 MaterialPool::garbage_collect 0 1 1318 481 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::garbage_collect // Access: Public, Static // Description: Releases only those materials in the pool that have a // reference count of exactly 1; i.e. only those // materials that are not being used outside of the pool. // Returns the number of materials released. //////////////////////////////////////////////////////////////////// 54 static inline int MaterialPool::garbage_collect(void); 2581 13 list_contents 4 2736 27 MaterialPool::list_contents 0 1 1319 320 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::list_contents // Access: Public, Static // Description: Lists the contents of the material pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 61 static inline void MaterialPool::list_contents(ostream &out); 2582 5 write 4 2736 19 MaterialPool::write 0 1 1320 315 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::write // Access: Published, Static // Description: Lists the contents of the material pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 46 static void MaterialPool::write(ostream &out); 2583 13 ~MaterialPool 4 2736 27 MaterialPool::~MaterialPool 0 0 0 34 MaterialPool::~MaterialPool(void); 2584 17 TextureCollection 4 2737 36 TextureCollection::TextureCollection 0 3 1321 1322 1323 923 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Constructor // Access: Published // Description: This special constructor accepts a Python list of // Textures. Since this constructor accepts a generic // PyObject *, it should be the last constructor listed // in the class record. //////////////////////////////////////////////////////////////////// 186 TextureCollection::TextureCollection(void); TextureCollection::TextureCollection(TextureCollection const ©); TextureCollection::TextureCollection(PyObject *self, PyObject *sequence); 2585 10 operator = 4 2737 29 TextureCollection::operator = 0 1 1324 242 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 66 void TextureCollection::operator =(TextureCollection const ©); 2586 18 ~TextureCollection 4 2737 37 TextureCollection::~TextureCollection 0 0 721 // Filename: textureCollection.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: TextureCollection::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 51 inline TextureCollection::~TextureCollection(void); 2587 10 __reduce__ 4 2737 29 TextureCollection::__reduce__ 0 1 1325 327 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::__reduce__ // Access: Published // Description: This special Python method is implement to provide // support for the pickle module. //////////////////////////////////////////////////////////////////// 62 PyObject *TextureCollection::__reduce__(PyObject *self) const; 2588 11 add_texture 4 2737 30 TextureCollection::add_texture 0 1 1326 282 // HAVE_PYTHON //////////////////////////////////////////////////////////////////// // Function: TextureCollection::add_texture // Access: Published // Description: Adds a new Texture to the collection. //////////////////////////////////////////////////////////////////// 54 void TextureCollection::add_texture(Texture *texture); 2589 14 remove_texture 4 2737 33 TextureCollection::remove_texture 0 1 1327 406 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::remove_texture // Access: Published // Description: Removes the indicated Texture from the collection. // Returns true if the texture was removed, false if it was // not a member of the collection. //////////////////////////////////////////////////////////////////// 57 bool TextureCollection::remove_texture(Texture *texture); 2590 17 add_textures_from 4 2737 36 TextureCollection::add_textures_from 0 1 1328 482 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::add_textures_from // Access: Published // Description: Adds all the Textures indicated in the other // collection to this texture. The other textures are simply // appended to the end of the textures in this list; // duplicates are not automatically removed. //////////////////////////////////////////////////////////////////// 74 void TextureCollection::add_textures_from(TextureCollection const &other); 2591 20 remove_textures_from 4 2737 39 TextureCollection::remove_textures_from 0 1 1329 336 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::remove_textures_from // Access: Published // Description: Removes from this collection all of the Textures // listed in the other collection. //////////////////////////////////////////////////////////////////// 77 void TextureCollection::remove_textures_from(TextureCollection const &other); 2592 25 remove_duplicate_textures 4 2737 44 TextureCollection::remove_duplicate_textures 0 1 1330 473 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::remove_duplicate_textures // Access: Published // Description: Removes any duplicate entries of the same Textures // on this collection. If a Texture appears multiple // times, the first appearance is retained; subsequent // appearances are removed. //////////////////////////////////////////////////////////////////// 56 void TextureCollection::remove_duplicate_textures(void); 2593 11 has_texture 4 2737 30 TextureCollection::has_texture 0 1 1331 329 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::has_texture // Access: Published // Description: Returns true if the indicated Texture appears in // this collection, false otherwise. //////////////////////////////////////////////////////////////////// 60 bool TextureCollection::has_texture(Texture *texture) const; 2594 5 clear 4 2737 24 TextureCollection::clear 0 1 1332 265 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::clear // Access: Published // Description: Removes all Textures from the collection. //////////////////////////////////////////////////////////////////// 36 void TextureCollection::clear(void); 2595 12 find_texture 4 2737 31 TextureCollection::find_texture 0 1 1333 372 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::find_texture // Access: Published // Description: Returns the texture in the collection with the // indicated name, if any, or NULL if no texture has // that name. //////////////////////////////////////////////////////////////////// 81 Texture *TextureCollection::find_texture(basic_string< char > const &name) const; 2596 16 get_num_textures 4 2737 35 TextureCollection::get_num_textures 0 1 1334 284 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::get_num_textures // Access: Published // Description: Returns the number of Textures in the collection. //////////////////////////////////////////////////////////////////// 52 int TextureCollection::get_num_textures(void) const; 2597 11 get_texture 4 2737 30 TextureCollection::get_texture 0 1 1335 272 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::get_texture // Access: Published // Description: Returns the nth Texture in the collection. //////////////////////////////////////////////////////////////////// 57 Texture *TextureCollection::get_texture(int index) const; 2598 11 operator [] 4 2737 30 TextureCollection::operator [] 0 1 1336 392 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::operator [] // Access: Published // Description: Returns the nth Texture in the collection. This is // the same as get_texture(), but it may be a more // convenient way to access it. //////////////////////////////////////////////////////////////////// 57 Texture *TextureCollection::operator [](int index) const; 2599 4 size 4 2737 23 TextureCollection::size 0 1 1337 336 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::size // Access: Published // Description: Returns the number of textures in the collection. This // is the same thing as get_num_textures(). //////////////////////////////////////////////////////////////////// 40 int TextureCollection::size(void) const; 2600 11 operator += 4 2737 30 TextureCollection::operator += 0 1 1338 278 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::operator += // Access: Published // Description: Appends the other list onto the end of this one. //////////////////////////////////////////////////////////////////// 75 inline void TextureCollection::operator +=(TextureCollection const &other); 2601 10 operator + 4 2737 29 TextureCollection::operator + 0 1 1339 322 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::operator + // Access: Published // Description: Returns a TextureCollection representing the // concatenation of the two lists. //////////////////////////////////////////////////////////////////// 93 inline TextureCollection TextureCollection::operator +(TextureCollection const &other) const; 2602 6 append 4 2737 25 TextureCollection::append 0 1 1340 450 // Method names to satisfy Python's conventions. //////////////////////////////////////////////////////////////////// // Function: TextureCollection::append // Access: Published // Description: Adds a new Texture to the collection. This method // duplicates the add_texture() method; it is provided to // satisfy Python's naming convention. //////////////////////////////////////////////////////////////////// 56 inline void TextureCollection::append(Texture *texture); 2603 6 extend 4 2737 25 TextureCollection::extend 0 1 1341 451 // Method names to satisfy Python's conventions. //////////////////////////////////////////////////////////////////// // Function: TextureCollection::extend // Access: Published // Description: Appends the other list onto the end of this one. // This method duplicates the += operator; it is // provided to satisfy Python's naming convention. //////////////////////////////////////////////////////////////////// 70 inline void TextureCollection::extend(TextureCollection const &other); 2604 6 output 4 2737 25 TextureCollection::output 0 1 1342 334 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::output // Access: Published // Description: Writes a brief one-line description of the // TextureCollection to the indicated output stream. //////////////////////////////////////////////////////////////////// 51 void TextureCollection::output(ostream &out) const; 2605 5 write 4 2737 24 TextureCollection::write 0 2 1343 1344 338 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::write // Access: Published // Description: Writes a complete multi-line description of the // TextureCollection to the indicated output stream. //////////////////////////////////////////////////////////////////// 74 void TextureCollection::write(ostream &out, int indent_level = (0)) const; 2606 11 has_texture 4 2738 24 TexturePool::has_texture 0 1 1345 802 // Filename: texturePool.I // Created by: drose (26Apr00) // //////////////////////////////////////////////////////////////////// // // 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: TexturePool::has_texture // Access: Published, Static // Description: Returns true if the texture has ever been loaded, // false otherwise. //////////////////////////////////////////////////////////////////// 70 static inline bool TexturePool::has_texture(Filename const &filename); 2607 14 verify_texture 4 2738 27 TexturePool::verify_texture 0 1 1346 611 //////////////////////////////////////////////////////////////////// // Function: TexturePool::verify_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns true to indicate // success, or false to indicate failure. If this // returns true, it is guaranteed that a subsequent call // to load_texture() with the same texture name will // return a valid Texture pointer. //////////////////////////////////////////////////////////////////// 73 static inline bool TexturePool::verify_texture(Filename const &filename); 2608 12 load_texture 4 2738 25 TexturePool::load_texture 0 9 1347 1348 1349 1350 1351 1352 1353 1354 1355 1673 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, the filename should contain // a hash mark ('#'), which will be filled in with the // mipmap level number; and the texture will be defined // with a series of images, one for each mipmap level. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, both filenames should // contain a hash mark ('#'), which will be filled in // with the mipmap level number; and the texture will be // defined with a series of images, two for each mipmap // level. //////////////////////////////////////////////////////////////////// 415 static inline Texture *TexturePool::load_texture(Filename const &filename, int primary_file_num_channels = (0), bool read_mipmaps = (0), LoaderOptions const &options = ((()))); static inline Texture *TexturePool::load_texture(Filename const &filename, Filename const &alpha_filename, int primary_file_num_channels = (0), int alpha_file_channel = (0), bool read_mipmaps = (0), LoaderOptions const &options = ((()))); 2609 15 load_3d_texture 4 2738 28 TexturePool::load_3d_texture 0 3 1356 1357 1358 833 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_3d_texture // Access: Published, Static // Description: Loads a 3-D texture that is specified with a series // of n pages, all numbered in sequence, and beginning // with index 0. The filename should include a sequence // of one or more hash characters ("#") which will be // filled in with the index number of each level. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the index number of each 3-d level. //////////////////////////////////////////////////////////////////// 150 static inline Texture *TexturePool::load_3d_texture(Filename const &filename_pattern, bool read_mipmaps = (0), LoaderOptions const &options = ((()))); 2610 13 load_cube_map 4 2738 26 TexturePool::load_cube_map 0 3 1359 1360 1361 798 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_cube_map // Access: Published, Static // Description: Loads a cube map texture that is specified with a // series of 6 pages, numbered 0 through 5. The // filename should include a sequence of one or more // hash characters ("#") which will be filled in with // the index number of each pagee. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the face number, 0 through 5. //////////////////////////////////////////////////////////////////// 148 static inline Texture *TexturePool::load_cube_map(Filename const &filename_pattern, bool read_mipmaps = (0), LoaderOptions const &options = ((()))); 2611 26 get_normalization_cube_map 4 2738 39 TexturePool::get_normalization_cube_map 0 1 1362 619 //////////////////////////////////////////////////////////////////// // Function: TexturePool::get_normalization_cube_map // Access: Published, Static // Description: Returns a standard Texture object that has been // created with // Texture::generate_normalization_cube_map(). This // Texture may be shared by any application code // requiring a normalization cube map. It will be at // least as large as the specified size, though it may // be larger. //////////////////////////////////////////////////////////////////// 73 static inline Texture *TexturePool::get_normalization_cube_map(int size); 2612 19 get_alpha_scale_map 4 2738 32 TexturePool::get_alpha_scale_map 0 1 1363 598 //////////////////////////////////////////////////////////////////// // Function: TexturePool::get_alpha_scale_map // Access: Published, Static // Description: Returns a standard Texture object that has been // created with Texture::generate_alpha_scale_map(). // // This Texture object is used internally by Panda to // apply an alpha scale to an object (instead of munging // its vertices) when gsg->get_alpha_scale_via_texture() // returns true. //////////////////////////////////////////////////////////////////// 62 static inline Texture *TexturePool::get_alpha_scale_map(void); 2613 11 add_texture 4 2738 24 TexturePool::add_texture 0 1 1364 509 //////////////////////////////////////////////////////////////////// // Function: TexturePool::add_texture // Access: Published, Static // Description: Adds the indicated already-loaded texture to the // pool. The texture must have a filename set for its // name. The texture will always replace any // previously-loaded texture in the pool that had the // same filename. //////////////////////////////////////////////////////////////////// 62 static inline void TexturePool::add_texture(Texture *texture); 2614 15 release_texture 4 2738 28 TexturePool::release_texture 0 1 1365 733 //////////////////////////////////////////////////////////////////// // Function: TexturePool::release_texture // Access: Published, Static // Description: Removes the indicated texture from the pool, // indicating it will never be loaded again; the texture // may then be freed. If this function is never called, // a reference count will be maintained on every texture // every loaded, and textures will never be freed. // // The texture's name should not have been changed // during its lifetime, or this function may fail to // locate it in the pool. //////////////////////////////////////////////////////////////////// 66 static inline void TexturePool::release_texture(Texture *texture); 2615 20 release_all_textures 4 2738 33 TexturePool::release_all_textures 0 1 1366 333 //////////////////////////////////////////////////////////////////// // Function: TexturePool::release_all_textures // Access: Published, Static // Description: Releases all textures in the pool and restores the // pool to the empty state. //////////////////////////////////////////////////////////////////// 59 static inline void TexturePool::release_all_textures(void); 2616 6 rehash 4 2738 19 TexturePool::rehash 0 1 1367 378 //////////////////////////////////////////////////////////////////// // Function: TexturePool::rehash // Access: Published, Static // Description: Should be called when the model-path changes, to blow // away the cache of texture pathnames found along the // model-path. //////////////////////////////////////////////////////////////////// 45 static inline void TexturePool::rehash(void); 2617 15 garbage_collect 4 2738 28 TexturePool::garbage_collect 0 1 1368 480 //////////////////////////////////////////////////////////////////// // Function: TexturePool::garbage_collect // Access: Published, Static // Description: Releases only those textures in the pool that have a // reference count of exactly 1; i.e. only those // textures that are not being used outside of the pool. // Returns the number of textures released. //////////////////////////////////////////////////////////////////// 53 static inline int TexturePool::garbage_collect(void); 2618 13 list_contents 4 2738 26 TexturePool::list_contents 0 2 1369 1370 603 //////////////////////////////////////////////////////////////////// // Function: TexturePool::list_contents // Access: Published, Static // Description: Lists the contents of the texture pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TexturePool::list_contents // Access: Published, Static // Description: Lists the contents of the texture pool to cout //////////////////////////////////////////////////////////////////// 113 static inline void TexturePool::list_contents(ostream &out); static inline void TexturePool::list_contents(void); 2619 12 find_texture 4 2738 25 TexturePool::find_texture 0 1 1371 449 //////////////////////////////////////////////////////////////////// // Function: TexturePool::find_texture // Access: Published, Static // Description: Returns the first texture found in the pool that // matches the indicated name (which may contain // wildcards). Returns the texture if it is found, or // NULL if it is not. //////////////////////////////////////////////////////////////////// 83 static inline Texture *TexturePool::find_texture(basic_string< char > const &name); 2620 17 find_all_textures 4 2738 30 TexturePool::find_all_textures 0 2 1372 1373 382 //////////////////////////////////////////////////////////////////// // Function: TexturePool::find_all_textures // Access: Published, Static // Description: Returns the set of all textures found in the pool // that match the indicated name (which may contain // wildcards). //////////////////////////////////////////////////////////////////// 105 static inline TextureCollection TexturePool::find_all_textures(basic_string< char > const &name = ("*")); 2621 22 set_fake_texture_image 4 2738 35 TexturePool::set_fake_texture_image 0 1 1374 355 //////////////////////////////////////////////////////////////////// // Function: TexturePool::set_fake_texture_image // Access: Published, Static // Description: Sets a bogus filename that will be loaded in lieu of // any textures requested from this point on. //////////////////////////////////////////////////////////////////// 81 static inline void TexturePool::set_fake_texture_image(Filename const &filename); 2622 24 clear_fake_texture_image 4 2738 37 TexturePool::clear_fake_texture_image 0 1 1375 330 //////////////////////////////////////////////////////////////////// // Function: TexturePool::clear_fake_texture_image // Access: Published, Static // Description: Restores normal behavior of loading the textures // actually requested. //////////////////////////////////////////////////////////////////// 63 static inline void TexturePool::clear_fake_texture_image(void); 2623 22 has_fake_texture_image 4 2738 35 TexturePool::has_fake_texture_image 0 1 1376 353 //////////////////////////////////////////////////////////////////// // Function: TexturePool::has_fake_texture_image // Access: Published, Static // Description: Returns true if fake_texture_image mode has been // enabled, false if we are in the normal mode. //////////////////////////////////////////////////////////////////// 61 static inline bool TexturePool::has_fake_texture_image(void); 2624 22 get_fake_texture_image 4 2738 35 TexturePool::get_fake_texture_image 0 1 1377 349 //////////////////////////////////////////////////////////////////// // Function: TexturePool::get_fake_texture_image // Access: Published, Static // Description: Returns the filename that was specified with a // previous call to set_fake_texture_image(). //////////////////////////////////////////////////////////////////// 72 static inline Filename const &TexturePool::get_fake_texture_image(void); 2625 5 write 4 2738 18 TexturePool::write 0 1 1378 345 //////////////////////////////////////////////////////////////////// // Function: TexturePool::write // Access: Published, Static // Description: Lists the contents of the texture pool to the // indicated output stream. // For debugging. //////////////////////////////////////////////////////////////////// 45 static void TexturePool::write(ostream &out); 2626 12 ~TexturePool 4 2738 25 TexturePool::~TexturePool 0 0 0 32 TexturePool::~TexturePool(void); 2627 10 get_x_size 4 2739 25 TexturePeeker::get_x_size 0 1 1379 449 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::get_x_size // Access: Published // Description: Returns the width of the texture image that is // contributing to the TexturePeeker's information. // This may be either the Texture's full width, or its // simple ram image's width. //////////////////////////////////////////////////////////////////// 49 inline int TexturePeeker::get_x_size(void) const; 2628 10 get_y_size 4 2739 25 TexturePeeker::get_y_size 0 1 1380 452 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::get_y_size // Access: Published // Description: Returns the height of the texture image that is // contributing to the TexturePeeker's information. // This may be either the Texture's full height, or its // simple ram image's height. //////////////////////////////////////////////////////////////////// 49 inline int TexturePeeker::get_y_size(void) const; 2629 10 get_z_size 4 2739 25 TexturePeeker::get_z_size 0 1 1381 337 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::get_z_size // Access: Published // Description: Returns the depth of the texture image that is // contributing to the TexturePeeker's information. //////////////////////////////////////////////////////////////////// 49 inline int TexturePeeker::get_z_size(void) const; 2630 6 lookup 4 2739 21 TexturePeeker::lookup 0 2 1382 1383 1223 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::lookup // Access: Published // Description: Fills "color" with the RGBA color of the texel at // point (u, v). // // The texel color is determined via nearest-point // sampling (no filtering of adjacent pixels), // regardless of the filter type associated with the // texture. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::lookup // Access: Published // Description: Fills "color" with the RGBA color of the texel at // point (u, v, w). // // The texel color is determined via nearest-point // sampling (no filtering of adjacent pixels), // regardless of the filter type associated with the // texture. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// 150 void TexturePeeker::lookup(LVecBase4f &color, float u, float v) const; void TexturePeeker::lookup(LVecBase4f &color, float u, float v, float w) const; 2631 11 filter_rect 4 2739 26 TexturePeeker::filter_rect 0 2 1384 1385 1128 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::filter_rect // Access: Published // Description: Fills "color" with the average RGBA color of the // texels within the rectangle defined by the specified // coordinate range. // // The texel color is linearly filtered over the entire // region. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::filter_rect // Access: Published // Description: Fills "color" with the average RGBA color of the // texels within the rectangle defined by the specified // coordinate range. // // The texel color is linearly filtered over the entire // region. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// 245 void TexturePeeker::filter_rect(LVecBase4f &color, float min_u, float min_v, float max_u, float max_v) const; void TexturePeeker::filter_rect(LVecBase4f &color, float min_u, float min_v, float min_w, float max_u, float max_v, float max_w) const; 2632 14 ~TexturePeeker 4 2739 29 TexturePeeker::~TexturePeeker 0 0 0 36 TexturePeeker::~TexturePeeker(void); 2633 9 get_stage 4 2740 27 TextureStagePool::get_stage 0 1 1386 1552 // Filename: textureStagePool.I // Created by: drose (03May10) // //////////////////////////////////////////////////////////////////// // // 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: TextureStagePool::get_stage // Access: Public, Static // Description: Returns a TextureStage pointer that represents the // same TextureStage described by temp, except that it is a // shared pointer. // // Each call to get_stage() passing an equivalent // TextureStage pointer will return the same shared pointer. // // If you modify the shared pointer, it will // automatically disassociate it from the pool. // // Also, the return value may be a different pointer // than that passed in, or it may be the same pointer. // In either case, the passed in pointer has now been // sacrificed to the greater good and should not be used // again (like any other PointerTo, it will be freed // when the last reference count is removed). //////////////////////////////////////////////////////////////////// 76 static inline TextureStage *TextureStagePool::get_stage(TextureStage *temp); 2634 13 release_stage 4 2740 31 TextureStagePool::release_stage 0 1 1387 288 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::release_stage // Access: Published, Static // Description: Removes the indicated TextureStage from the pool. //////////////////////////////////////////////////////////////////// 71 static inline void TextureStagePool::release_stage(TextureStage *temp); 2635 18 release_all_stages 4 2740 36 TextureStagePool::release_all_stages 0 1 1388 341 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::release_all_stages // Access: Published, Static // Description: Releases all TextureStages in the pool and restores the // pool to the empty state. //////////////////////////////////////////////////////////////////// 62 static inline void TextureStagePool::release_all_stages(void); 2636 8 set_mode 4 2740 26 TextureStagePool::set_mode 0 1 1389 847 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::set_mode // Access: Published, Static // Description: Specifies the fundamental operating mode of the // TextureStagePool. // // If this is M_none, each call to get_stage() returns // the same TextureStage pointer that was passed in (the // pool is effectively disabled). If this is M_name, // each call to get_stage() returns the last // TextureStage passed in with the same name, whether it // has different properties or not. If this is // M_unique, then each call to get_stage() returns only // TextureStages with identical properties. //////////////////////////////////////////////////////////////////// 75 static inline void TextureStagePool::set_mode(TextureStagePool::Mode mode); 2637 8 get_mode 4 2740 26 TextureStagePool::get_mode 0 1 1390 331 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::get_mode // Access: Published, Static // Description: Returns the fundamental operating mode of the // TextureStagePool. See set_mode(). //////////////////////////////////////////////////////////////////// 70 static inline TextureStagePool::Mode TextureStagePool::get_mode(void); 2638 15 garbage_collect 4 2740 33 TextureStagePool::garbage_collect 0 1 1391 497 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::garbage_collect // Access: Public, Static // Description: Releases only those TextureStages in the pool that have a // reference count of exactly 1; i.e. only those // TextureStages that are not being used outside of the pool. // Returns the number of TextureStages released. //////////////////////////////////////////////////////////////////// 58 static inline int TextureStagePool::garbage_collect(void); 2639 13 list_contents 4 2740 31 TextureStagePool::list_contents 0 1 1392 328 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::list_contents // Access: Public, Static // Description: Lists the contents of the TextureStage pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 65 static inline void TextureStagePool::list_contents(ostream &out); 2640 5 write 4 2740 23 TextureStagePool::write 0 1 1393 323 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::write // Access: Published, Static // Description: Lists the contents of the TextureStage pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 50 static void TextureStagePool::write(ostream &out); 2641 17 ~TextureStagePool 4 2740 35 TextureStagePool::~TextureStagePool 0 0 0 42 TextureStagePool::~TextureStagePool(void); 1393 1 14 Dtool_MAKPxyGj 7 3 2744 1395 14 Dtool_MAKPxyGj 224 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 name 1 2742 8 max_size 1 2743 2 14 Dtool_MAKPXnUx 6 5 2743 0 14 Dtool_MAKPXnUx 797 // Filename: adaptiveLru.I // Created by: drose (03Sep08) // //////////////////////////////////////////////////////////////////// // // 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: AdaptiveLru::get_total_size // Access: Published // Description: Returns the total size of all objects currently // active on the LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2745 3 14 Dtool_MAKPeXT1 6 6 2743 0 14 Dtool_MAKPeXT1 319 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::get_max_size // Access: Published // Description: Returns the max size of all objects that are allowed // to be active on the LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2745 4 14 Dtool_MAKPhriC 4 7 2747 0 14 Dtool_MAKPhriC 385 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::set_max_size // Access: Published // Description: Changes the max size of all objects that are allowed // to be active on the LRU. // // If the size is (size_t)-1, there is no limit. //////////////////////////////////////////////////////////////////// 2 4 this 3 2744 8 max_size 1 2743 5 14 Dtool_MAKPvTZs 6 8 2743 0 14 Dtool_MAKPvTZs 339 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::count_active_size // Access: Published // Description: Returns the total size of the pages that were // enqueued since the last call to begin_epoch(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2745 6 14 Dtool_MAKPpDj_ 4 9 2747 0 14 Dtool_MAKPpDj_ 277 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::consider_evict // Access: Published // Description: Evicts a sequence of objects if the queue is full. //////////////////////////////////////////////////////////////////// 1 4 this 3 2744 7 14 Dtool_MAKPoyK_ 4 10 2747 0 14 Dtool_MAKPoyK_ 373 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::evict_to // Access: Published // Description: Evicts a sequence of objects until the queue fits // within the indicated target size, regardless of its // normal max size. //////////////////////////////////////////////////////////////////// 2 4 this 3 2744 11 target_size 1 2743 8 14 Dtool_MAKPsjHe 4 11 2747 0 14 Dtool_MAKPsjHe 443 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::begin_epoch // Access: Published // Description: Marks the end of the previous epoch and the beginning // of the next one. This will evict any objects that // are pending eviction, and also update any internal // bookkeeping. //////////////////////////////////////////////////////////////////// 1 4 this 3 2744 9 14 Dtool_MAKPUtAt 6 12 2748 0 14 Dtool_MAKPUtAt 365 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::validate // Access: Published // Description: Checks that the LRU is internally self-consistent. // Returns true if successful, false if there is some // problem. //////////////////////////////////////////////////////////////////// 1 4 this 3 2744 10 14 Dtool_MAKPbxSr 4 13 2747 0 14 Dtool_MAKPbxSr 219 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2745 3 out 1 2749 11 14 Dtool_MAKPO1xT 4 14 2747 0 14 Dtool_MAKPO1xT 227 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2745 3 out 1 2749 12 indent_level 1 2751 12 14 Dtool_MAKPTzQj 4 15 2747 0 14 Dtool_MAKPTzQj 314 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::set_weight // Access: Published // Description: Specifies the weight value used to compute the // exponential moving average. //////////////////////////////////////////////////////////////////// 2 4 this 3 2744 6 weight 1 2752 13 14 Dtool_MAKPbvB0 6 16 2752 0 14 Dtool_MAKPbvB0 312 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::get_weight // Access: Published // Description: Returns the weight value used to compute the // exponential moving average. //////////////////////////////////////////////////////////////////// 1 4 this 3 2745 14 14 Dtool_MAKPq5Z4 4 17 2747 0 14 Dtool_MAKPq5Z4 486 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::set_max_updates_per_frame // Access: Published // Description: Specifies the maximum number of pages the AdaptiveLru // will update each frame. This is a performance // optimization: keeping this number low limits the // impact of the AdaptiveLru's adaptive algorithm. //////////////////////////////////////////////////////////////////// 2 4 this 3 2744 21 max_updates_per_frame 1 2751 15 14 Dtool_MAKPPZ2i 6 18 2751 0 14 Dtool_MAKPPZ2i 330 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLru::get_max_updates_per_frame // Access: Published // Description: Returns the maximum number of pages the AdaptiveLru // will update each frame. //////////////////////////////////////////////////////////////////// 1 4 this 3 2745 16 14 Dtool_MAKPqFXo 7 26 2755 1416 14 Dtool_MAKPqFXo 233 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::Copy Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2753 17 14 Dtool_MAKPazFB 7 26 2755 1416 14 Dtool_MAKPazFB 228 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 1 8 lru_size 1 2743 18 14 Dtool_MAKPnYpU 6 27 2755 0 14 Dtool_MAKPnYpU 241 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::Copy Assignment Operator // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2755 4 copy 1 2753 19 14 Dtool_MAKPBueE 6 29 2744 0 14 Dtool_MAKPBueE 335 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::enqueue_lru // Access: Published // Description: Returns the LRU that manages this page, or NULL if it // is not currently managed by any LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2753 20 14 Dtool_MAKPj1mJ 4 30 2747 0 14 Dtool_MAKPj1mJ 445 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::enqueue_lru // Access: Published // Description: Adds the page to the LRU for the first time, or marks // it recently-accessed if it has already been added. // // If lru is NULL, it means to remove this page from its // LRU. //////////////////////////////////////////////////////////////////// 2 4 this 3 2755 3 lru 1 2744 21 14 Dtool_MAKPZq_w 4 31 2747 0 14 Dtool_MAKPZq_w 266 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::dequeue_lru // Access: Published // Description: Removes the page from its AdaptiveLru. //////////////////////////////////////////////////////////////////// 1 4 this 3 2755 22 14 Dtool_MAKPiZg4 4 32 2747 0 14 Dtool_MAKPiZg4 485 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the AdaptiveLru queue it is already on. // // This method is const because it's not technically // modifying the contents of the page itself. //////////////////////////////////////////////////////////////////// 1 4 this 3 2753 23 14 Dtool_MAKPoKjs 4 32 2747 0 14 Dtool_MAKPoKjs 348 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the specified AdaptiveLru queue. //////////////////////////////////////////////////////////////////// 2 4 this 3 2755 3 lru 1 2744 24 14 Dtool_MAKPdAA_ 6 33 2743 0 14 Dtool_MAKPdAA_ 320 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::get_lru_size // Access: Published // Description: Returns the size of this page as reported to the LRU, // presumably in bytes. //////////////////////////////////////////////////////////////////// 1 4 this 3 2753 25 14 Dtool_MAKPxp0u 4 34 2747 0 14 Dtool_MAKPxp0u 330 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::set_lru_size // Access: Published // Description: Specifies the size of this page, presumably in bytes, // although any unit is possible. //////////////////////////////////////////////////////////////////// 2 4 this 3 2755 8 lru_size 1 2743 26 14 Dtool_MAKPtQMW 4 35 2747 0 14 Dtool_MAKPtQMW 814 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::evict_lru // Access: Published, Virtual // Description: Evicts the page from the LRU. Called internally when // the LRU determines that it is full. May also be // called externally when necessary to explicitly evict // the page. // // It is legal for this method to either evict the page // as requested, do nothing (in which case the eviction // will be requested again at the next epoch), or // requeue itself on the tail of the queue (in which // case the eviction will be requested again much // later). //////////////////////////////////////////////////////////////////// 1 4 this 3 2755 27 14 Dtool_MAKPG6th 4 36 2747 0 14 Dtool_MAKPG6th 232 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2753 3 out 1 2749 28 14 Dtool_MAKPPkPo 4 37 2747 0 14 Dtool_MAKPPkPo 231 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2753 3 out 1 2749 12 indent_level 1 2751 29 14 Dtool_MAKPkY_n 6 38 2743 0 14 Dtool_MAKPkY_n 375 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::get_num_frames // Access: Published // Description: Returns the number of frames since the page was first // added to its LRU. Returns 0 if it does not have an // LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2753 30 14 Dtool_MAKPYSeb 6 39 2743 0 14 Dtool_MAKPYSeb 386 //////////////////////////////////////////////////////////////////// // Function: AdaptiveLruPage::get_num_inactive_frames // Access: Published // Description: Returns the number of frames since the page was last // accessed on its LRU. Returns 0 if it does not have // an LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2753 31 14 Dtool_MAKPGUEb 7 50 2756 1438 14 Dtool_MAKPGUEb 735 // Filename: geomVertexAnimationSpec.I // Created by: drose (29Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexAnimationSpec::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 32 14 Dtool_MAKPMDwM 7 50 2756 1438 14 Dtool_MAKPMDwM 241 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 5 other 1 2757 33 14 Dtool_MAKPwAfZ 6 51 2756 0 14 Dtool_MAKPwAfZ 249 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2756 5 other 1 2757 34 14 Dtool_MAKPVYja 6 52 2654 0 14 Dtool_MAKPVYja 315 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::get_animation_type // Access: Published // Description: Returns the type of animation represented by this // spec. //////////////////////////////////////////////////////////////////// 1 4 this 3 2757 35 14 Dtool_MAKP1Mf5 6 53 2751 0 14 Dtool_MAKP1Mf5 479 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::get_num_transforms // Access: Published // Description: This is only meaningful for animation_type // AT_hardware. It specifies the maximum number of // transforms that might be simultaneously applied to // any one vertex by the data in this format. //////////////////////////////////////////////////////////////////// 1 4 this 3 2757 36 14 Dtool_MAKPW3oB 6 54 2748 0 14 Dtool_MAKPW3oB 529 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::get_indexed_transforms // Access: Published // Description: This is only meaningful for animation_type // AT_hardware. If true, it indicates that the format // uses indexed animation tables. It is false if each // vertex will reference the first _num_transforms // table entries only. //////////////////////////////////////////////////////////////////// 1 4 this 3 2757 37 14 Dtool_MAKP43Cj 4 55 2747 0 14 Dtool_MAKP43Cj 313 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::set_none // Access: Published // Description: Specifies that no vertex animation is represented by // this spec. //////////////////////////////////////////////////////////////////// 1 4 this 3 2756 38 14 Dtool_MAKPBxbM 4 56 2747 0 14 Dtool_MAKPBxbM 419 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::set_panda // Access: Published // Description: Specifies that vertex animation is to be performed by // Panda. This is the most general setting and can // handle any kind of vertex animation represented. //////////////////////////////////////////////////////////////////// 1 4 this 3 2756 39 14 Dtool_MAKPlRAp 4 57 2747 0 14 Dtool_MAKPlRAp 721 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::set_hardware // Access: Published // Description: Specifies that vertex animation is to be performed by // the graphics hardware (or at least by the graphics // backend API, which is actually still free to animate // the vertices on the CPU). // // This is only legal if the graphics hardware can // support the specified limits on number of transforms // and/or indexed transforms. Also, no current graphics // API's support morphing. //////////////////////////////////////////////////////////////////// 3 4 this 3 2756 14 num_transforms 1 2751 18 indexed_transforms 1 2748 40 14 Dtool_MAKPkx4C 4 58 2747 0 14 Dtool_MAKPkx4C 231 //////////////////////////////////////////////////////////////////// // Function: GeomVertexAnimationSpec::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2757 3 out 1 2749 41 14 Dtool_MAKPys3i 7 62 2759 0 14 Dtool_MAKPys3i 1307 // Filename: internalName.I // Created by: masad (15Jul04) // //////////////////////////////////////////////////////////////////// // // 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: InternalName::make // Access: Published, Static // Description: The public interface for constructing an InternalName // pointer. This will return a new InternalName // representing the indicated name, if this is the first // time the particular name has been requested; if the // name is already in use, it will return the existing // pointer. // // If the string contains the '.' character, the string // will be divided at the dots and the so-defined // hierarchy of names will be registered. This is // handled transparently. //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 42 14 Dtool_MAKPOYJi 7 62 2759 0 14 Dtool_MAKPOYJi 301 //////////////////////////////////////////////////////////////////// // Function: InternalName::make // Access: Published, Static // Description: Make using a string and an integer. Concatenates // the two. //////////////////////////////////////////////////////////////////// 2 4 name 1 2742 5 index 1 2751 43 14 Dtool_MAKPyvtN 7 63 2759 0 14 Dtool_MAKPyvtN 475 //////////////////////////////////////////////////////////////////// // Function: InternalName::append // Access: Published // Description: Constructs a new InternalName based on this name, // with the indicated string following it. This is a // cheaper way to construct a hierarchical name than // InternalName::make(parent->get_name() + ".basename"). //////////////////////////////////////////////////////////////////// 2 4 this 3 2759 8 basename 1 2742 44 14 Dtool_MAKPxW48 7 64 2759 0 14 Dtool_MAKPxW48 328 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_parent // Access: Published // Description: Return the parent of this InternalName. All names // have a parent, except the root name. //////////////////////////////////////////////////////////////////// 1 4 this 3 2760 45 14 Dtool_MAKPKewZ 6 65 2742 0 14 Dtool_MAKPKewZ 320 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_name // Access: Published // Description: Returns the complete name represented by the // InternalName and all of its parents. //////////////////////////////////////////////////////////////////// 1 4 this 3 2760 46 14 Dtool_MAKPlDZ2 6 66 2742 0 14 Dtool_MAKPlDZ2 404 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_basename // Access: Published // Description: Return the name represented by just this particular // InternalName object, ignoring its parents names. // This is everything after the rightmost dot. //////////////////////////////////////////////////////////////////// 1 4 this 3 2760 47 14 Dtool_MAKPUWKQ 6 67 2751 0 14 Dtool_MAKPUWKQ 584 //////////////////////////////////////////////////////////////////// // Function: InternalName::find_ancestor // Access: Published // Description: Returns the index of the ancestor with the indicated // basename, or -1 if no ancestor has that basename. // Returns 0 if this name has the basename. // // This index value may be passed to get_ancestor() or // get_net_basename() to retrieve more information about // the indicated name. //////////////////////////////////////////////////////////////////// 2 4 this 3 2760 8 basename 1 2742 48 14 Dtool_MAKPymmN 7 68 2760 0 14 Dtool_MAKPymmN 481 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_ancestor // Access: Published // Description: Returns the ancestor with the indicated index number. // 0 is this name itself, 1 is the name's parent, 2 is // the parent's parent, and so on. If there are not // enough ancestors, returns the root InternalName. //////////////////////////////////////////////////////////////////// 2 4 this 3 2760 1 n 1 2751 49 14 Dtool_MAKPDhts 7 69 2760 0 14 Dtool_MAKPDhts 460 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_top // Access: Published // Description: Returns the oldest ancestor in the InternalName's // chain, not counting the root. This will be the first // name in the string, e.g. "texcoord.foo.bar" will // return the InternalName "texcoord". //////////////////////////////////////////////////////////////////// 1 4 this 3 2760 50 14 Dtool_MAKPi8VP 6 70 2742 0 14 Dtool_MAKPi8VP 456 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_net_basename // Access: Published // Description: Returns the basename of this name prefixed by the // indicated number of ancestors. 0 is this name's // basename, 1 is parent.basename, 2 is // grandparent.parent.basename, and so on. //////////////////////////////////////////////////////////////////// 2 4 this 3 2760 1 n 1 2751 51 14 Dtool_MAKP1gHV 4 71 2747 0 14 Dtool_MAKP1gHV 220 //////////////////////////////////////////////////////////////////// // Function: InternalName::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2760 3 out 1 2749 52 14 Dtool_MAKPOVm7 7 72 2759 0 14 Dtool_MAKPOVm7 438 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_root // Access: Published, Static // Description: Returns the standard root InternalName. This is the // root of all other InternalNames. It has no name // itself, and it is the only InternalName with no // parent. //////////////////////////////////////////////////////////////////// 0 53 14 Dtool_MAKP6f4T 7 73 2759 0 14 Dtool_MAKP6f4T 273 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_error // Access: Published, Static // Description: Returns the standard InternalName "error". //////////////////////////////////////////////////////////////////// 0 54 14 Dtool_MAKPa072 7 74 2759 0 14 Dtool_MAKPa072 400 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_vertex // Access: Published, Static // Description: Returns the standard InternalName "vertex". This is // the column header for the 3-d or 4-d vertex position // information for each vertex. //////////////////////////////////////////////////////////////////// 0 55 14 Dtool_MAKP2d7w 7 75 2759 0 14 Dtool_MAKP2d7w 381 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_normal // Access: Published, Static // Description: Returns the standard InternalName "normal". This is // the column header for the 3-d lighting normal for // each vertex. //////////////////////////////////////////////////////////////////// 0 56 14 Dtool_MAKPBCM_ 7 76 2759 0 14 Dtool_MAKPBCM_ 593 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_tangent // Access: Published, Static // Description: Returns the standard InternalName "tangent". This is // the column header for the tangent vector associated // with each vertex, which is a unit vector // usually perpendicular to the normal and in the // direction of the U texture coordinate change. It is // used for deriving bump maps. //////////////////////////////////////////////////////////////////// 0 57 14 Dtool_MAKPTpIr 7 77 2759 0 14 Dtool_MAKPTpIr 457 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_tangent_name // Access: Published, Static // Description: Returns the InternalName "tangent.name", where name // is the supplied string. This is the column header // for the tangent associated with the named texture // coordinate set. //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 58 14 Dtool_MAKPgGjH 7 78 2759 0 14 Dtool_MAKPgGjH 634 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_binormal // Access: Published, Static // Description: Returns the standard InternalName "binormal". This is // the column header for the tangent vector associated // with each vertex, which is a unit vector // usually perpendicular to both the normal and the // tangent, and in the direction of the V texture // coordinate change. It is used for deriving bump // maps. //////////////////////////////////////////////////////////////////// 0 59 14 Dtool_MAKP3sMn 7 79 2759 0 14 Dtool_MAKP3sMn 460 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_binormal_name // Access: Published, Static // Description: Returns the InternalName "binormal.name", where name // is the supplied string. This is the column header // for the binormal associated with the named texture // coordinate set. //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 60 14 Dtool_MAKPaaiB 7 80 2759 0 14 Dtool_MAKPaaiB 517 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_texcoord // Access: Published, Static // Description: Returns the standard InternalName "texcoord". This // is the column header for the default texture // coordinate set for each vertex. It is also used for // identifying the default texture coordinate set in a // TextureStage. //////////////////////////////////////////////////////////////////// 0 61 14 Dtool_MAKP0OLh 7 81 2759 0 14 Dtool_MAKP0OLh 548 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_texcoord_name // Access: Published, Static // Description: Returns the InternalName "texcoord.name", where name // is the supplied string. This is the column header // for the named texture coordinate set for each vertex. // It is also used for identifying the named texture // coordinate set in a TextureStage. //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 62 14 Dtool_MAKPkPBk 7 82 2759 0 14 Dtool_MAKPkPBk 383 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_color // Access: Published, Static // Description: Returns the standard InternalName "color". This is // the column header for the 4-component color value for // each vertex. //////////////////////////////////////////////////////////////////// 0 63 14 Dtool_MAKPEmsm 7 83 2759 0 14 Dtool_MAKPEmsm 500 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_rotate // Access: Published, Static // Description: Returns the standard InternalName "rotate". This is // the column header for the floating-point rotate // value, which represents a number of degrees // counter-clockwise to rotate each point or point // sprite. //////////////////////////////////////////////////////////////////// 0 64 14 Dtool_MAKP1bcz 7 84 2759 0 14 Dtool_MAKP1bcz 505 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_size // Access: Published, Static // Description: Returns the standard InternalName "size". This is // the column header for the floating-point size value, // which overrides the thickness parameter of the // RenderModeAttrib on a per-vertex (e.g. per-point) // basis. //////////////////////////////////////////////////////////////////// 0 65 14 Dtool_MAKPoQxT 7 85 2759 0 14 Dtool_MAKPoQxT 535 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_aspect_ratio // Access: Published, Static // Description: Returns the standard InternalName "aspect_ratio". // This is the column header for the floating-point // aspect ratio value, which is used to define // non-square points. This number is the ratio x / y, // where y is the point size (above). //////////////////////////////////////////////////////////////////// 0 66 14 Dtool_MAKPOgr2 7 86 2759 0 14 Dtool_MAKPOgr2 553 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_transform_blend // Access: Published, Static // Description: Returns the standard InternalName "transform_blend". // This is the column header for the integer // transform_blend index, which is used to define vertex // animation on the CPU by indexing to a particular // vertex weighting from the TransformBlendTable. //////////////////////////////////////////////////////////////////// 0 67 14 Dtool_MAKPZaFB 7 87 2759 0 14 Dtool_MAKPZaFB 823 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_transform_weight // Access: Published, Static // Description: Returns the standard InternalName "transform_weight". // This is the column header for the n-component // transform_weight value, which is used in conjuntion // with "transform_index" to define vertex animation on // the graphics card. The transform_weight value // specifies the weight of the nth transform. By // convention, there are 1 fewer weight values than // transforms, since the weights are assumed to sum to 1 // (and the last value is therefore implicit). //////////////////////////////////////////////////////////////////// 0 68 14 Dtool_MAKPPrB9 7 88 2759 0 14 Dtool_MAKPPrB9 795 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_transform_index // Access: Published, Static // Description: Returns the standard InternalName "transform_index". // This is the column header for the n-component // transform_index value, which is used in conjuntion // with "transform_weight" to define vertex animation on // the graphics card. The transform_index value // specifies the nth transform, by lookup in the // TransformTable. The transform_index column may be // omitted, in which case the nth transform is the nth // entry in the table. //////////////////////////////////////////////////////////////////// 0 69 14 Dtool_MAKPZ7iC 7 89 2759 0 14 Dtool_MAKPZ7iC 655 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_morph // Access: Published, Static // Description: Returns an InternalName derived from the given base // column name and the given slider name, which is the // column header for the offset vector that should be // applied to the base column name when the named morph // slider is engaged. // // Each morph slider requires a set of n morph columns, // one for each base column it applies to. //////////////////////////////////////////////////////////////////// 2 6 column 1 2759 6 slider 1 2742 70 14 Dtool_MAKPTtkc 7 90 2759 0 14 Dtool_MAKPTtkc 515 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_index // Access: Published, Static // Description: Returns the standard InternalName "index". This is // the column header for the integer vertex index. It // is not used in the vertex data itself, but is used in // the GeomPrimitive structure to index into the vertex // data. //////////////////////////////////////////////////////////////////// 0 71 14 Dtool_MAKPr1c_ 7 91 2759 0 14 Dtool_MAKPr1c_ 342 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_world // Access: Published, Static // Description: Returns the standard InternalName "world". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 0 72 14 Dtool_MAKPJLm5 7 92 2759 0 14 Dtool_MAKPJLm5 344 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_camera // Access: Published, Static // Description: Returns the standard InternalName "camera". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 0 73 14 Dtool_MAKPSAUz 7 93 2759 0 14 Dtool_MAKPSAUz 342 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_model // Access: Published, Static // Description: Returns the standard InternalName "model". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 0 74 14 Dtool_MAKPokyx 7 94 2759 0 14 Dtool_MAKPokyx 340 //////////////////////////////////////////////////////////////////// // Function: InternalName::get_view // Access: Published, Static // Description: Returns the standard InternalName "view". This is // used as a keyword in the shader subsystem. //////////////////////////////////////////////////////////////////// 0 75 14 Dtool_MAKPAZei 7 95 2763 0 14 Dtool_MAKPAZei 0 0 76 14 Dtool_MAKPvt5j 7 97 2766 1475 14 Dtool_MAKPvt5j 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2764 77 14 Dtool_MAKPqHP9 7 97 2766 1475 14 Dtool_MAKPqHP9 229 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 5 4 name 1 2759 14 num_components 1 2751 12 numeric_type 1 2652 8 contents 1 2653 5 start 1 2751 78 14 Dtool_MAKPqipz 6 98 2766 0 14 Dtool_MAKPqipz 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2766 4 copy 1 2764 79 14 Dtool_MAKPdOcj 7 100 2759 0 14 Dtool_MAKPdOcj 541 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_name // Access: Published // Description: Returns the name of this particular data field, // e.g. "vertex" or "normal". The name may be a // user-defined string, or it may be one of the standard // system-defined field types. Only the system-defined // field types are used for the actual rendering. //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 80 14 Dtool_MAKP_29x 6 101 2751 0 14 Dtool_MAKP_29x 464 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_num_components // Access: Published // Description: Returns the number of components of the column: // the number of instances of the NumericType in each // element. This is usually, but not always, the same // thing as get_num_values(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 81 14 Dtool_MAKPVlzN 6 102 2751 0 14 Dtool_MAKPVlzN 648 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_num_values // Access: Published // Description: Returns the number of numeric values of the column: // the number of distinct numeric values that go into // each element. This is usually, but not always, the // same thing as get_num_components(); the difference is // in the case of a composite numeric type like // NT_packed_dcba, which has four numeric values per // component. //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 82 14 Dtool_MAKP_YBU 6 103 2652 0 14 Dtool_MAKP_YBU 319 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_numeric_type // Access: Published // Description: Returns the token representing the numeric type of // the data storage. //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 83 14 Dtool_MAKPWN4C 6 104 2653 0 14 Dtool_MAKPWN4C 319 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_contents // Access: Published // Description: Returns the token representing the semantic meaning of // the stored value. //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 84 14 Dtool_MAKPKNfk 6 105 2751 0 14 Dtool_MAKPKNfk 392 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_start // Access: Published // Description: Returns the byte within the array record at which // this column starts. This can be set to non-zero // to implement interleaved arrays. //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 85 14 Dtool_MAKPTwV4 6 106 2751 0 14 Dtool_MAKPTwV4 351 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_component_bytes // Access: Published // Description: Returns the number of bytes used by each component // (that is, by one element of the numeric type). //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 86 14 Dtool_MAKPcXJp 6 107 2751 0 14 Dtool_MAKPcXJp 347 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::get_total_bytes // Access: Published // Description: Returns the number of bytes used by each element of // the column: component_bytes * num_components. //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 87 14 Dtool_MAKPQEWs 6 108 2748 0 14 Dtool_MAKPQEWs 727 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::has_homogeneous_coord // Access: Published // Description: Returns true if this Contents type is one that // includes a homogeneous coordinate in the fourth // component, or false otherwise. If this is true, // correct operation on the vertex data may require // scaling by the homogeneous coordinate from time to // time (but in general this is handled automatically if // you use the 3-component or smaller forms of // get_data() and set_data()). //////////////////////////////////////////////////////////////////// 1 4 this 3 2764 88 14 Dtool_MAKPZDLZ 6 109 2748 0 14 Dtool_MAKPZDLZ 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::overlaps_with // Access: Published // Description: Returns true if this column overlaps with any of // the bytes in the indicated range, false if it does // not. //////////////////////////////////////////////////////////////////// 3 4 this 3 2764 10 start_byte 1 2751 9 num_bytes 1 2751 89 14 Dtool_MAKPs2pJ 6 110 2748 0 14 Dtool_MAKPs2pJ 419 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::is_bytewise_equivalent // Access: Published // Description: Returns true if the data store of this column is // exactly the same as that of the other, irrespective // of name or start position within the record. //////////////////////////////////////////////////////////////////// 2 4 this 3 2764 5 other 1 2764 90 14 Dtool_MAKPWRGX 4 111 2747 0 14 Dtool_MAKPWRGX 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexColumn::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2764 3 out 1 2749 91 14 Dtool_MAKPqhGa 7 117 2767 1494 14 Dtool_MAKPqhGa 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 92 14 Dtool_MAKPEyku 7 117 2767 1494 14 Dtool_MAKPEyku 239 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2768 93 14 Dtool_MAKPwQuB 7 117 2767 1494 14 Dtool_MAKPwQuB 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 5 name0 1 2759 15 num_components0 1 2751 13 numeric_type0 1 2652 9 contents0 1 2653 94 14 Dtool_MAKPMGCQ 7 117 2767 1494 14 Dtool_MAKPMGCQ 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 8 5 name0 1 2759 15 num_components0 1 2751 13 numeric_type0 1 2652 9 contents0 1 2653 5 name1 1 2759 15 num_components1 1 2751 13 numeric_type1 1 2652 9 contents1 1 2653 95 14 Dtool_MAKPrTBZ 7 117 2767 1494 14 Dtool_MAKPrTBZ 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 12 5 name0 1 2759 15 num_components0 1 2751 13 numeric_type0 1 2652 9 contents0 1 2653 5 name1 1 2759 15 num_components1 1 2751 13 numeric_type1 1 2652 9 contents1 1 2653 5 name2 1 2759 15 num_components2 1 2751 13 numeric_type2 1 2652 9 contents2 1 2653 96 14 Dtool_MAKPI38U 7 117 2767 1494 14 Dtool_MAKPI38U 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 16 5 name0 1 2759 15 num_components0 1 2751 13 numeric_type0 1 2652 9 contents0 1 2653 5 name1 1 2759 15 num_components1 1 2751 13 numeric_type1 1 2652 9 contents1 1 2653 5 name2 1 2759 15 num_components2 1 2751 13 numeric_type2 1 2652 9 contents2 1 2653 5 name3 1 2759 15 num_components3 1 2751 13 numeric_type3 1 2652 9 contents3 1 2653 97 14 Dtool_MAKP6hwa 7 118 2767 1494 14 Dtool_MAKP6hwa 247 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2767 4 copy 1 2768 98 14 Dtool_MAKPnmU1 6 120 2748 0 14 Dtool_MAKPnmU1 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::unref // Access: Published, Virtual // Description: This method overrides ReferenceCount::unref() to // unregister the object when its reference count goes // to zero. //////////////////////////////////////////////////////////////////// 1 4 this 3 2768 99 14 Dtool_MAKPUdKQ 6 121 2748 0 14 Dtool_MAKPUdKQ 965 // Filename: geomVertexArrayFormat.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexArrayFormat::is_registered // Access: Published // Description: Returns true if this format has been registered, // false if it has not. It may not be used for a Geom // until it has been registered, but once registered, it // may no longer be modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2768 100 14 Dtool_MAKPojG9 7 122 2768 0 14 Dtool_MAKPojG9 774 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::register_format // Access: Published, Static // Description: Adds the indicated format to the registry, if there // is not an equivalent format already there; in either // case, returns the pointer to the equivalent format // now in the registry. // // This is similar to // GeomVertexFormat::register_format(), except that you // generally need not call it explicitly. Calling // GeomVertexFormat::register_format() automatically // registers all of the nested array formats. //////////////////////////////////////////////////////////////////// 1 6 format 1 2768 101 14 Dtool_MAKPJA_4 6 123 2751 0 14 Dtool_MAKPJA_4 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_stride // Access: Published // Description: Returns the total number of bytes reserved in the // array for each vertex. //////////////////////////////////////////////////////////////////// 1 4 this 3 2768 102 14 Dtool_MAKPkPw2 4 124 2747 0 14 Dtool_MAKPkPw2 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::set_stride // Access: Published // Description: Changes the total number of bytes reserved in the // array for each vertex. //////////////////////////////////////////////////////////////////// 2 4 this 3 2767 6 stride 1 2751 103 14 Dtool_MAKPt2Rt 6 125 2751 0 14 Dtool_MAKPt2Rt 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_total_bytes // Access: Published // Description: Returns the total number of bytes used by the data // types within the format, including gaps between // elements. //////////////////////////////////////////////////////////////////// 1 4 this 3 2768 104 14 Dtool_MAKP5U9H 6 126 2751 0 14 Dtool_MAKP5U9H 501 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_pad_to // Access: Published // Description: Returns the byte divisor to which the data record // must be padded to meet hardware limitations. For // instance, if this is 4, the stride will be // automatically rounded up to the next multiple of 4 // bytes. //////////////////////////////////////////////////////////////////// 1 4 this 3 2768 105 14 Dtool_MAKPGAtY 6 127 2751 0 14 Dtool_MAKPGAtY 828 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::add_column // Access: Published // Description: Adds a new column to the specification. This is a // table of per-vertex floating-point numbers such as // "vertex" or "normal"; you must specify where in each // record the table starts, and how many components // (dimensions) exist per vertex. // // Adding a column with the same name as a previous // type, or that overlaps with one or more previous // types, quietly removes the previous type(s). // // The return value is the index number of the new data // type. //////////////////////////////////////////////////////////////////// 2 4 this 3 2767 6 column 1 2764 106 14 Dtool_MAKPNwWT 6 127 2751 0 14 Dtool_MAKPNwWT 631 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::add_column // Access: Published // Description: Adds a new column to the specification. This is a // table of per-vertex floating-point numbers such as // "vertex" or "normal"; you must specify where in each // record the table starts, and how many components // (dimensions) exist per vertex. // // The return value is the index number of the new data // type. //////////////////////////////////////////////////////////////////// 6 4 this 3 2767 4 name 1 2759 14 num_components 1 2751 12 numeric_type 1 2652 8 contents 1 2653 5 start 1 2751 107 14 Dtool_MAKPRipt 6 127 2751 0 14 Dtool_MAKPRipt 631 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::add_column // Access: Published // Description: Adds a new column to the specification. This is a // table of per-vertex floating-point numbers such as // "vertex" or "normal"; you must specify where in each // record the table starts, and how many components // (dimensions) exist per vertex. // // The return value is the index number of the new data // type. //////////////////////////////////////////////////////////////////// 5 4 this 3 2767 4 name 1 2759 14 num_components 1 2751 12 numeric_type 1 2652 8 contents 1 2653 108 14 Dtool_MAKPvK2M 4 128 2747 0 14 Dtool_MAKPvK2M 346 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::remove_column // Access: Published // Description: Removes the column with the indicated name, if // any. This leaves a gap in the byte structure. //////////////////////////////////////////////////////////////////// 2 4 this 3 2767 4 name 1 2760 109 14 Dtool_MAKP2EfH 4 129 2747 0 14 Dtool_MAKP2EfH 343 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::clear_columns // Access: Published // Description: Removes all columns previously added, sets the // stride to zero, and prepares to start over. //////////////////////////////////////////////////////////////////// 1 4 this 3 2767 110 14 Dtool_MAKPnS7c 4 130 2747 0 14 Dtool_MAKPnS7c 272 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::pack_columns // Access: Published // Description: Removes wasted space between columns. //////////////////////////////////////////////////////////////////// 1 4 this 3 2767 111 14 Dtool_MAKP5qdH 6 131 2751 0 14 Dtool_MAKP5qdH 308 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_num_columns // Access: Published // Description: Returns the number of different columns in the // array. //////////////////////////////////////////////////////////////////// 1 4 this 3 2768 112 14 Dtool_MAKPC_4r 6 132 2764 0 14 Dtool_MAKPC_4r 333 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_column // Access: Published // Description: Returns the specification with the indicated name, or // NULL if the name is not used. //////////////////////////////////////////////////////////////////// 2 4 this 3 2768 4 name 1 2760 113 14 Dtool_MAKP0ltF 6 132 2764 0 14 Dtool_MAKP0ltF 269 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_column // Access: Published // Description: Returns the ith column of the array. //////////////////////////////////////////////////////////////////// 2 4 this 3 2768 1 i 1 2751 114 14 Dtool_MAKPxBGV 6 132 2764 0 14 Dtool_MAKPxBGV 378 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::get_column // Access: Published // Description: Returns the first specification that overlaps with // any of the indicated bytes in the range, or NULL if // none do. //////////////////////////////////////////////////////////////////// 3 4 this 3 2768 10 start_byte 1 2751 9 num_bytes 1 2751 115 14 Dtool_MAKPq1M5 6 133 2748 0 14 Dtool_MAKPq1M5 314 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::has_column // Access: Published // Description: Returns true if the array has the named column, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2768 4 name 1 2760 116 14 Dtool_MAKPHc2c 6 134 2748 0 14 Dtool_MAKPHc2c 614 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::is_data_subset_of // Access: Published // Description: Returns true if all of the fields in this array // format are also present and equivalent in the other // array format, and in the same byte positions, and the // stride is the same. That is, true if this format can // share the same data pointer as the other format (with // possibly some unused gaps). //////////////////////////////////////////////////////////////////// 2 4 this 3 2768 5 other 1 2768 117 14 Dtool_MAKPbNhQ 6 135 2751 0 14 Dtool_MAKPbNhQ 330 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::count_unused_space // Access: Published // Description: Returns the number of bytes per row that are not // assigned to any column. //////////////////////////////////////////////////////////////////// 1 4 this 3 2768 118 14 Dtool_MAKP8gQJ 4 136 2747 0 14 Dtool_MAKP8gQJ 229 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2768 3 out 1 2749 119 14 Dtool_MAKP2XPr 4 137 2747 0 14 Dtool_MAKP2XPr 228 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2768 3 out 1 2749 12 indent_level 1 2751 120 14 Dtool_MAKPXOR_ 4 137 2747 0 14 Dtool_MAKPXOR_ 228 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2768 3 out 1 2749 121 14 Dtool_MAKPx1_X 4 138 2747 0 14 Dtool_MAKPx1_X 238 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayFormat::write_with_data // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 2768 3 out 1 2749 12 indent_level 1 2751 10 array_data 1 2770 122 14 Dtool_MAKPqo7q 7 139 2763 0 14 Dtool_MAKPqo7q 0 0 123 14 Dtool_MAKP7ZDF 7 113 2772 0 14 Dtool_MAKP7ZDF 0 1 4 this 3 2767 124 14 Dtool_MAKPt0mx 7 114 2767 1494 14 Dtool_MAKPt0mx 0 1 4 this 3 2772 125 14 Dtool_MAKPbG5U 6 115 2773 0 14 Dtool_MAKPbG5U 0 1 4 this 3 2767 126 14 Dtool_MAKPo05j 7 116 2767 1494 14 Dtool_MAKPo05j 0 1 4 this 3 2773 127 14 Dtool_MAKPp5IE 7 145 2774 1521 14 Dtool_MAKPp5IE 229 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 128 14 Dtool_MAKP0V7R 7 145 2774 1521 14 Dtool_MAKP0V7R 229 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 12 array_format 1 2768 129 14 Dtool_MAKPekha 7 145 2774 1521 14 Dtool_MAKPekha 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2775 130 14 Dtool_MAKPqp4g 7 146 2774 1521 14 Dtool_MAKPqp4g 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2774 4 copy 1 2775 131 14 Dtool_MAKPwY7m 6 148 2748 0 14 Dtool_MAKPwY7m 375 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::unref // Access: Published, Virtual // Description: This method overrides ReferenceCount::unref() to // unregister the object when its reference count goes // to zero. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 132 14 Dtool_MAKPYvVU 6 149 2748 0 14 Dtool_MAKPYvVU 463 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::is_registered // Access: Published // Description: Returns true if this format has been registered, // false if it has not. It may not be used for a Geom // until it has been registered, but once registered, it // may no longer be modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 133 14 Dtool_MAKPnlvK 7 150 2775 0 14 Dtool_MAKPnlvK 362 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::register_format // Access: Published, Static // Description: This flavor of register_format() implicitly creates a // one-array vertex format from the array definition. //////////////////////////////////////////////////////////////////// 1 6 format 1 2768 134 14 Dtool_MAKPF5LQ 7 150 2775 0 14 Dtool_MAKPF5LQ 849 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::register_format // Access: Published, Static // Description: Adds the indicated format to the registry, if there // is not an equivalent format already there; in either // case, returns the pointer to the equivalent format // now in the registry. // // This must be called before a format may be used in a // Geom. After this call, you should discard the // original pointer you passed in (which may or may not // now be invalid) and let its reference count decrement // normally; you should use only the returned value from // this point on. //////////////////////////////////////////////////////////////////// 1 6 format 1 2775 135 14 Dtool_MAKPRiXK 6 151 2757 0 14 Dtool_MAKPRiXK 351 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_animation // Access: Published // Description: Returns the GeomVertexAnimationSpec that indicates // how this format's vertices are set up for animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 136 14 Dtool_MAKPWlqH 4 152 2747 0 14 Dtool_MAKPWlqH 555 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::set_animation // Access: Published // Description: Resets the GeomVertexAnimationSpec that indicates // how this format's vertices are set up for animation. // You should also, of course, change the columns in the // tables accordingly. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2774 9 animation 1 2757 137 14 Dtool_MAKP8LzX 7 153 2775 0 14 Dtool_MAKP8LzX 646 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_post_animated_format // Access: Published // Description: Returns a suitable vertex format for sending the // animated vertices to the graphics backend. This is // the same format as the source format, with the // CPU-animation data elements removed. // // This may only be called after the format has been // registered. The return value will have been already // registered. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 138 14 Dtool_MAKPKWDM 7 154 2775 0 14 Dtool_MAKPKWDM 791 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_union_format // Access: Published // Description: Returns a new GeomVertexFormat that includes all of // the columns defined in either this GeomVertexFormat // or the other one. If any column is defined in both // formats with different sizes (for instance, texcoord2 // vs. texcoord3), the new format will include the // larger of the two definitions. // // This may only be called after both source formats // have been registered. The return value will also // have been already registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 5 other 1 2775 139 14 Dtool_MAKPxaAs 6 155 2751 0 14 Dtool_MAKPxaAs 506 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_arrays // Access: Published // Description: Returns the number of individual arrays required by // the format. If the array data is completely // interleaved, this will be 1; if it is completely // parallel, this will be the same as the number of data // types. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 140 14 Dtool_MAKPcEF8 7 156 2768 0 14 Dtool_MAKPcEF8 304 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_array // Access: Published // Description: Returns the description of the nth array used by the // format. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 5 array 1 2751 141 14 Dtool_MAKPz1Gg 7 157 2767 1494 14 Dtool_MAKPz1Gg 470 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::modify_array // Access: Published // Description: Returns a modifiable pointer to the indicated array. // This means duplicating it if it is shared or // registered. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2774 5 array 1 2751 142 14 Dtool_MAKPjkFu 4 158 2747 0 14 Dtool_MAKPjkFu 371 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::set_array // Access: Published // Description: Replaces the definition of the indicated array. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 3 4 this 3 2774 5 array 1 2751 6 format 1 2768 143 14 Dtool_MAKP4DUv 4 159 2747 0 14 Dtool_MAKP4DUv 365 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::remove_array // Access: Published // Description: Removes the nth array from the format. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2774 5 array 1 2751 144 14 Dtool_MAKPIwkF 6 160 2751 0 14 Dtool_MAKPIwkF 534 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::add_array // Access: Published // Description: Adds the indicated array definition to the list of // arrays included within this vertex format definition. // The return value is the index number of the new // array. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2774 12 array_format 1 2768 145 14 Dtool_MAKPntYu 4 161 2747 0 14 Dtool_MAKPntYu 570 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::insert_array // Access: Published // Description: Adds the indicated array definition to the list of // arrays at the indicated position. This works just // like add_array(), except that you can specify which // array index the new array should have. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 3 4 this 3 2774 5 array 1 2751 12 array_format 1 2768 146 14 Dtool_MAKPQpcp 4 162 2747 0 14 Dtool_MAKPQpcp 413 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::clear_arrays // Access: Published // Description: Removes all of the array definitions from the format // and starts over. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 1 4 this 3 2774 147 14 Dtool_MAKPEb8v 6 163 2751 0 14 Dtool_MAKPEb8v 336 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_columns // Access: Published // Description: Returns the total number of different columns in // the specification, across all arrays. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 148 14 Dtool_MAKP7nrL 6 164 2751 0 14 Dtool_MAKP7nrL 766 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_array_with // Access: Published // Description: Returns the index number of the array with the // indicated column, or -1 if no arrays contained // that name. // // The return value can be passed to get_array_format() // to get the format of the array. It may also be // passed to GeomVertexData::get_array_data() or // get_data() or set_data() to manipulate the actual // array data. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 4 name 1 2760 149 14 Dtool_MAKPkTim 6 164 2751 0 14 Dtool_MAKPkTim 604 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_array_with // Access: Published // Description: Returns the index number of the array with the // ith column. // // The return value can be passed to get_array_format() // to get the format of the array. It may also be // passed to GeomVertexData::get_array_data() or // get_data() or set_data() to manipulate the actual // array data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 i 1 2751 150 14 Dtool_MAKPzgLi 6 165 2764 0 14 Dtool_MAKPzgLi 441 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_column // Access: Published // Description: Returns the specification with the indicated name, or // NULL if the name is not used. Use get_array_with() // to determine which array this column is associated // with. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 4 name 1 2760 151 14 Dtool_MAKPfLGP 6 165 2764 0 14 Dtool_MAKPfLGP 308 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_column // Access: Published // Description: Returns the ith column of the specification, // across all arrays. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 i 1 2751 152 14 Dtool_MAKPrn1o 6 166 2748 0 14 Dtool_MAKPrn1o 310 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::has_column // Access: Published // Description: Returns true if the format has the named column, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 4 name 1 2760 153 14 Dtool_MAKPGmoS 4 167 2747 0 14 Dtool_MAKPGmoS 663 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::remove_column // Access: Published // Description: Removes the named column from the format, from // whichever array it exists in. If there are other // columns remaining in the array, the array is left // with a gap where the column used to be; if this // was the only column in the array, the array is // removed. // // This may not be called once the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2774 4 name 1 2760 154 14 Dtool_MAKPytua 4 168 2747 0 14 Dtool_MAKPytua 267 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::pack_columns // Access: Published // Description: Removes wasted space between columns. //////////////////////////////////////////////////////////////////// 1 4 this 3 2774 155 14 Dtool_MAKPMqq8 6 169 2751 0 14 Dtool_MAKPMqq8 427 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_points // Access: Published // Description: Returns the number of columns within the format // that represent points in space. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 156 14 Dtool_MAKP6NwG 7 170 2760 0 14 Dtool_MAKP6NwG 497 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_point // Access: Published // Description: Returns the name of the nth point column. This // represents a point in space, which should be // transformed by any spatial transform matrix. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 n 1 2751 157 14 Dtool_MAKPNM2c 6 171 2751 0 14 Dtool_MAKPNM2c 432 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_vectors // Access: Published // Description: Returns the number of columns within the format // that represent directional vectors. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 158 14 Dtool_MAKPoLMd 7 172 2760 0 14 Dtool_MAKPoLMd 532 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_vector // Access: Published // Description: Returns the name of the nth vector column. This // represents a directional vector, which should be // transformed by any spatial transform matrix as a // vector. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 n 1 2751 159 14 Dtool_MAKPKJ7H 6 173 2751 0 14 Dtool_MAKPKJ7H 434 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_texcoords // Access: Published // Description: Returns the number of columns within the format // that represent texture coordinates. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 160 14 Dtool_MAKPe93W 7 174 2760 0 14 Dtool_MAKPe93W 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_texcoord // Access: Published // Description: Returns the name of the nth texcoord column. This // represents a texture coordinate. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 n 1 2751 161 14 Dtool_MAKPFthv 6 175 2751 0 14 Dtool_MAKPFthv 424 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_num_morphs // Access: Published // Description: Returns the number of columns within the format // that represent morph deltas. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 1 4 this 3 2775 162 14 Dtool_MAKPhHKj 7 176 2760 0 14 Dtool_MAKPhHKj 587 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_morph_slider // Access: Published // Description: Returns the slider name associated with the nth morph // column. This is the name of the slider that will // control the morph, and should be defined within the // SliderTable associated with the GeomVertexData. // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 n 1 2751 163 14 Dtool_MAKPINRc 7 177 2760 0 14 Dtool_MAKPINRc 562 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_morph_base // Access: Published // Description: Returns the name of the base column that the nth // morph modifies. This column will also be defined // within the format, and can be retrieved via // get_array_with() and/or get_column(). // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 n 1 2751 164 14 Dtool_MAKPu_vz 7 178 2760 0 14 Dtool_MAKPu_vz 685 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_morph_delta // Access: Published // Description: Returns the name of the column that defines the // nth morph. This contains the delta offsets that are // to be applied to the column defined by // get_morph_base(). This column will be defined // within the format, and can be retrieved via // get_array_with() and/or get_column(). // // This may only be called after the format has been // registered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 1 n 1 2751 165 14 Dtool_MAKPyJ2Q 4 179 2747 0 14 Dtool_MAKPyJ2Q 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 3 out 1 2749 166 14 Dtool_MAKPQ_2h 4 180 2747 0 14 Dtool_MAKPQ_2h 223 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2775 3 out 1 2749 12 indent_level 1 2751 167 14 Dtool_MAKPKeYr 4 180 2747 0 14 Dtool_MAKPKeYr 223 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2775 3 out 1 2749 168 14 Dtool_MAKPFtTt 4 181 2747 0 14 Dtool_MAKPFtTt 233 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::write_with_data // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 4 this 3 2775 3 out 1 2749 12 indent_level 1 2751 4 data 1 2777 169 14 Dtool_MAKPM264 7 182 2775 0 14 Dtool_MAKPM264 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3 // Access: Published, Static // Description: Returns a standard vertex format with just a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 0 170 14 Dtool_MAKPw8Vh 7 183 2775 0 14 Dtool_MAKPw8Vh 344 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3 // Access: Published, Static // Description: Returns a standard vertex format with a 3-component // normal and a 3-component vertex position. //////////////////////////////////////////////////////////////////// 0 171 14 Dtool_MAKP6P2g 7 184 2775 0 14 Dtool_MAKP6P2g 378 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 0 172 14 Dtool_MAKPp05G 7 185 2775 0 14 Dtool_MAKPp05G 403 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a 3-component normal, and a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 0 173 14 Dtool_MAKPm2WG 7 186 2775 0 14 Dtool_MAKPm2WG 338 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3cp // Access: Published, Static // Description: Returns a standard vertex format with a packed // color and a 3-component vertex position. //////////////////////////////////////////////////////////////////// 0 174 14 Dtool_MAKPE76r 7 187 2775 0 14 Dtool_MAKPE76r 397 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3cpt2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a packed color, and a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 0 175 14 Dtool_MAKPxdLR 7 188 2775 0 14 Dtool_MAKPxdLR 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3cp // Access: Published, Static // Description: Returns a standard vertex format with a packed // color, a 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 0 176 14 Dtool_MAKPaDrT 7 189 2775 0 14 Dtool_MAKPaDrT 438 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3cpt2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a packed color, a // 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 0 177 14 Dtool_MAKPlkvh 7 190 2775 0 14 Dtool_MAKPlkvh 343 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3c4 // Access: Published, Static // Description: Returns a standard vertex format with a 4-component // color and a 3-component vertex position. //////////////////////////////////////////////////////////////////// 0 178 14 Dtool_MAKPEtTH 7 191 2775 0 14 Dtool_MAKPEtTH 402 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3c4t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a 4-component color, and a // 3-component vertex position. //////////////////////////////////////////////////////////////////// 0 179 14 Dtool_MAKP_Erc 7 192 2775 0 14 Dtool_MAKP_Erc 385 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3c4 // Access: Published, Static // Description: Returns a standard vertex format with a 4-component // color, a 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 0 180 14 Dtool_MAKPE8Lf 7 193 2775 0 14 Dtool_MAKPE8Lf 443 //////////////////////////////////////////////////////////////////// // Function: GeomVertexFormat::get_v3n3c4t2 // Access: Published, Static // Description: Returns a standard vertex format with a 2-component // texture coordinate pair, a 4-component color, a // 3-component normal, and a 3-component vertex // position. //////////////////////////////////////////////////////////////////// 0 181 14 Dtool_MAKPzbuh 7 194 2763 0 14 Dtool_MAKPzbuh 0 0 182 14 Dtool_MAKPN_wu 7 141 2772 0 14 Dtool_MAKPN_wu 0 1 4 this 3 2774 183 14 Dtool_MAKP8_96 7 142 2774 1521 14 Dtool_MAKP8_96 0 1 4 this 3 2772 184 14 Dtool_MAKPrIs2 6 143 2773 0 14 Dtool_MAKPrIs2 0 1 4 this 3 2774 185 14 Dtool_MAKPCWg5 7 144 2774 1521 14 Dtool_MAKPCWg5 0 1 4 this 3 2773 186 14 Dtool_MAKPWCR8 7 201 2779 1574 14 Dtool_MAKPWCR8 222 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 name 1 2742 8 max_size 1 2743 187 14 Dtool_MAKPIU8b 6 203 2743 0 14 Dtool_MAKPIU8b 793 // Filename: simpleLru.I // Created by: drose (11May07) // //////////////////////////////////////////////////////////////////// // // 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: SimpleLru::get_total_size // Access: Published // Description: Returns the total size of all objects currently // active on the LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2780 188 14 Dtool_MAKPn39j 6 204 2743 0 14 Dtool_MAKPn39j 317 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::get_max_size // Access: Published // Description: Returns the max size of all objects that are allowed // to be active on the LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2780 189 14 Dtool_MAKPOAtG 4 205 2747 0 14 Dtool_MAKPOAtG 383 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::set_max_size // Access: Published // Description: Changes the max size of all objects that are allowed // to be active on the LRU. // // If the size is (size_t)-1, there is no limit. //////////////////////////////////////////////////////////////////// 2 4 this 3 2779 8 max_size 1 2743 190 14 Dtool_MAKPZ43l 6 206 2743 0 14 Dtool_MAKPZ43l 337 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::count_active_size // Access: Published // Description: Returns the total size of the pages that were // enqueued since the last call to begin_epoch(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2780 191 14 Dtool_MAKPsoHP 4 207 2747 0 14 Dtool_MAKPsoHP 275 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::consider_evict // Access: Published // Description: Evicts a sequence of objects if the queue is full. //////////////////////////////////////////////////////////////////// 1 4 this 3 2779 192 14 Dtool_MAKPDpX5 4 208 2747 0 14 Dtool_MAKPDpX5 371 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::evict_to // Access: Published // Description: Evicts a sequence of objects until the queue fits // within the indicated target size, regardless of its // normal max size. //////////////////////////////////////////////////////////////////// 2 4 this 3 2779 11 target_size 1 2743 193 14 Dtool_MAKPVVhc 4 209 2747 0 14 Dtool_MAKPVVhc 441 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::begin_epoch // Access: Published // Description: Marks the end of the previous epoch and the beginning // of the next one. This will evict any objects that // are pending eviction, and also update any internal // bookkeeping. //////////////////////////////////////////////////////////////////// 1 4 this 3 2779 194 14 Dtool_MAKPmsnP 6 210 2748 0 14 Dtool_MAKPmsnP 363 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::validate // Access: Published // Description: Checks that the LRU is internally self-consistent. // Returns true if successful, false if there is some // problem. //////////////////////////////////////////////////////////////////// 1 4 this 3 2779 195 14 Dtool_MAKPqPtY 4 211 2747 0 14 Dtool_MAKPqPtY 217 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2780 3 out 1 2749 196 14 Dtool_MAKPrtzP 4 212 2747 0 14 Dtool_MAKPrtzP 225 //////////////////////////////////////////////////////////////////// // Function: SimpleLru::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2780 3 out 1 2749 12 indent_level 1 2751 197 14 Dtool_MAKPxmc_ 6 197 2782 0 14 Dtool_MAKPxmc_ 0 1 4 this 3 2779 198 14 Dtool_MAKPA2hR 6 198 2779 0 14 Dtool_MAKPA2hR 0 1 4 this 3 2782 199 14 Dtool_MAKPh2gg 6 199 2783 0 14 Dtool_MAKPh2gg 0 1 4 this 3 2779 200 14 Dtool_MAKPW73I 6 200 2779 0 14 Dtool_MAKPW73I 0 1 4 this 3 2783 201 14 Dtool_MAKP82WX 7 216 2786 1589 14 Dtool_MAKP82WX 231 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::Copy Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2784 202 14 Dtool_MAKPsh7I 7 216 2786 1589 14 Dtool_MAKPsh7I 226 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 1 8 lru_size 1 2743 203 14 Dtool_MAKPkQLb 6 217 2786 0 14 Dtool_MAKPkQLb 239 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::Copy Assignment Operator // Access: Protected // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2786 4 copy 1 2784 204 14 Dtool_MAKPgsYL 6 219 2779 0 14 Dtool_MAKPgsYL 329 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::get_lru // Access: Published // Description: Returns the LRU that manages this page, or NULL if it // is not currently managed by any LRU. //////////////////////////////////////////////////////////////////// 1 4 this 3 2784 205 14 Dtool_MAKPgmxN 4 220 2747 0 14 Dtool_MAKPgmxN 443 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::enqueue_lru // Access: Published // Description: Adds the page to the LRU for the first time, or marks // it recently-accessed if it has already been added. // // If lru is NULL, it means to remove this page from its // LRU. //////////////////////////////////////////////////////////////////// 2 4 this 3 2786 3 lru 1 2779 206 14 Dtool_MAKP6EK8 4 221 2747 0 14 Dtool_MAKP6EK8 262 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::dequeue_lru // Access: Published // Description: Removes the page from its SimpleLru. //////////////////////////////////////////////////////////////////// 1 4 this 3 2786 207 14 Dtool_MAKP86pG 4 222 2747 0 14 Dtool_MAKP86pG 481 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the SimpleLru queue it is already on. // // This method is const because it's not technically // modifying the contents of the page itself. //////////////////////////////////////////////////////////////////// 1 4 this 3 2784 208 14 Dtool_MAKP42nn 4 222 2747 0 14 Dtool_MAKP42nn 344 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::mark_used_lru // Access: Published // Description: To be called when the page is used; this will move it // to the tail of the specified SimpleLru queue. //////////////////////////////////////////////////////////////////// 2 4 this 3 2786 3 lru 1 2779 209 14 Dtool_MAKP9Ymk 6 223 2743 0 14 Dtool_MAKP9Ymk 318 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::get_lru_size // Access: Published // Description: Returns the size of this page as reported to the LRU, // presumably in bytes. //////////////////////////////////////////////////////////////////// 1 4 this 3 2784 210 14 Dtool_MAKPwPv_ 4 224 2747 0 14 Dtool_MAKPwPv_ 328 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::set_lru_size // Access: Published // Description: Specifies the size of this page, presumably in bytes, // although any unit is possible. //////////////////////////////////////////////////////////////////// 2 4 this 3 2786 8 lru_size 1 2743 211 14 Dtool_MAKPmn5q 4 225 2747 0 14 Dtool_MAKPmn5q 812 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::evict_lru // Access: Published, Virtual // Description: Evicts the page from the LRU. Called internally when // the LRU determines that it is full. May also be // called externally when necessary to explicitly evict // the page. // // It is legal for this method to either evict the page // as requested, do nothing (in which case the eviction // will be requested again at the next epoch), or // requeue itself on the tail of the queue (in which // case the eviction will be requested again much // later). //////////////////////////////////////////////////////////////////// 1 4 this 3 2786 212 14 Dtool_MAKPsT_n 4 226 2747 0 14 Dtool_MAKPsT_n 230 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2784 3 out 1 2749 213 14 Dtool_MAKPPnar 4 227 2747 0 14 Dtool_MAKPPnar 229 //////////////////////////////////////////////////////////////////// // Function: SimpleLruPage::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2784 3 out 1 2749 12 indent_level 1 2751 214 14 Dtool_MAKPDeYC 6 214 2782 0 14 Dtool_MAKPDeYC 0 1 4 this 3 2786 215 14 Dtool_MAKPvoUi 6 215 2786 0 14 Dtool_MAKPvoUi 0 1 4 this 3 2782 216 14 Dtool_MAKPAKb_ 7 231 2789 1602 14 Dtool_MAKPAKb_ 719 // Filename: simpleAllocator.I // Created by: drose (12May07) // //////////////////////////////////////////////////////////////////// // // 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: SimpleAllocator::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 8 max_size 1 2743 4 lock 1 2787 217 14 Dtool_MAKPgUYw 6 233 2790 0 14 Dtool_MAKPgUYw 451 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::alloc // Access: Published // Description: Allocates a new block. Returns NULL if a block of the // requested size cannot be allocated. // // To free the allocated block, call block->free(), or // simply delete the block pointer. //////////////////////////////////////////////////////////////////// 2 4 this 3 2789 4 size 1 2743 218 14 Dtool_MAKPV32t 6 234 2748 0 14 Dtool_MAKPV32t 336 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::is_empty // Access: Published // Description: Returns true if there are no blocks allocated on this // page, or false if there is at least one. //////////////////////////////////////////////////////////////////// 1 4 this 3 2791 219 14 Dtool_MAKPL7lg 6 235 2743 0 14 Dtool_MAKPL7lg 275 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_total_size // Access: Published // Description: Returns the total size of allocated objects. //////////////////////////////////////////////////////////////////// 1 4 this 3 2791 220 14 Dtool_MAKPMk0g 6 236 2743 0 14 Dtool_MAKPMk0g 279 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_max_size // Access: Published // Description: Returns the available space for allocated objects. //////////////////////////////////////////////////////////////////// 1 4 this 3 2791 221 14 Dtool_MAKPvToR 4 237 2747 0 14 Dtool_MAKPvToR 417 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::set_max_size // Access: Published // Description: Changes the available space for allocated objects. // This will not affect any already-allocated objects, // but will have an effect on future calls to alloc(). //////////////////////////////////////////////////////////////////// 2 4 this 3 2789 8 max_size 1 2743 222 14 Dtool_MAKP_b_b 6 238 2743 0 14 Dtool_MAKP_b_b 595 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_contiguous // Access: Published // Description: Returns an upper-bound estimate of the size of the // largest contiguous block that may be allocated. It // is guaranteed that an attempt to allocate a block // larger than this will fail, though it is not // guaranteed that an attempt to allocate a block this // size or smaller will succeed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2791 223 14 Dtool_MAKPlSlL 6 239 2790 0 14 Dtool_MAKPlSlL 338 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::get_first_block // Access: Published // Description: Returns a pointer to the first allocated block, or // NULL if there are no allocated blocks. //////////////////////////////////////////////////////////////////// 1 4 this 3 2791 224 14 Dtool_MAKPZUMQ 4 240 2747 0 14 Dtool_MAKPZUMQ 223 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2791 3 out 1 2749 225 14 Dtool_MAKPoxAv 4 241 2747 0 14 Dtool_MAKPoxAv 222 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocator::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2791 3 out 1 2749 226 14 Dtool_MAKPyigB 6 229 2782 0 14 Dtool_MAKPyigB 0 1 4 this 3 2789 227 14 Dtool_MAKPwHGI 6 230 2789 0 14 Dtool_MAKPwHGI 0 1 4 this 3 2782 228 14 Dtool_MAKPrDch 4 244 2747 0 14 Dtool_MAKPrDch 255 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::free // Access: Published // Description: Releases the allocated space. //////////////////////////////////////////////////////////////////// 1 4 this 3 2790 229 14 Dtool_MAKP_zTh 6 245 2789 0 14 Dtool_MAKP_zTh 351 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_allocator // Access: Published // Description: Returns the SimpleAllocator object that owns this // block. Returns NULL if the block has been freed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2793 230 14 Dtool_MAKP5gUU 6 246 2743 0 14 Dtool_MAKP5gUU 347 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_start // Access: Published // Description: Returns the starting point of this block. It is an // error to call this if the block has been freed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2793 231 14 Dtool_MAKPkC4A 6 247 2743 0 14 Dtool_MAKPkC4A 336 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_size // Access: Published // Description: Returns the size of this block. It is an // error to call this if the block has been freed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2793 232 14 Dtool_MAKP_Bfv 6 248 2748 0 14 Dtool_MAKP_Bfv 315 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::is_free // Access: Published // Description: Returns true if the block has been freed, false if it // is still valid. //////////////////////////////////////////////////////////////////// 1 4 this 3 2793 233 14 Dtool_MAKP4hsY 6 249 2743 0 14 Dtool_MAKP4hsY 344 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_max_size // Access: Published // Description: Returns the maximum size this block can be // reallocated to, as limited by the following block. //////////////////////////////////////////////////////////////////// 1 4 this 3 2793 234 14 Dtool_MAKPbE5E 6 250 2748 0 14 Dtool_MAKPbE5E 392 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::realloc // Access: Published // Description: Changes the size of this block to the specified size. // Returns true if the change is accepted, false if // there was not enough room. //////////////////////////////////////////////////////////////////// 2 4 this 3 2790 4 size 1 2743 235 14 Dtool_MAKPZ89A 6 251 2790 0 14 Dtool_MAKPZ89A 359 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::get_next_block // Access: Published // Description: Returns a pointer to the next allocated block in the // chain, or NULL if there are no more allocated blocks. //////////////////////////////////////////////////////////////////// 1 4 this 3 2793 236 14 Dtool_MAKPWCb3 4 252 2747 0 14 Dtool_MAKPWCb3 228 //////////////////////////////////////////////////////////////////// // Function: SimpleAllocatorBlock::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2793 3 out 1 2749 237 14 Dtool_MAKPnubX 6 254 2748 0 14 Dtool_MAKPnubX 858 // Filename: vertexDataSaveFile.I // Created by: drose (12May07) // //////////////////////////////////////////////////////////////////// // // 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: VertexDataSaveFile::is_valid // Access: Public // Description: Returns true if the save file was successfully // created and is ready for use, false if there was an // error. //////////////////////////////////////////////////////////////////// 1 4 this 3 2795 238 14 Dtool_MAKPy5ur 6 255 2743 0 14 Dtool_MAKPy5ur 334 //////////////////////////////////////////////////////////////////// // Function: VertexDataSaveFile::get_total_file_size // Access: Public // Description: Returns the amount of space consumed by the save // file, including unused portions. //////////////////////////////////////////////////////////////////// 1 4 this 3 2795 239 14 Dtool_MAKPyuVv 6 256 2743 0 14 Dtool_MAKPyuVv 326 //////////////////////////////////////////////////////////////////// // Function: VertexDataSaveFile::get_used_file_size // Access: Public // Description: Returns the amount of space within the save file that // is currently in use. //////////////////////////////////////////////////////////////////// 1 4 this 3 2795 240 14 Dtool_MAKPGjlN 6 263 2668 0 14 Dtool_MAKPGjlN 874 // Filename: vertexDataPage.I // Created by: drose (04Jun07) // //////////////////////////////////////////////////////////////////// // // 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: VertexDataPage::get_ram_class // Access: Published // Description: Returns the current ram class of the array. If this // is other than RC_resident, the array data is not // resident in memory. //////////////////////////////////////////////////////////////////// 1 4 this 3 2797 241 14 Dtool_MAKPlZJd 6 264 2668 0 14 Dtool_MAKPlZJd 484 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_pending_ram_class // Access: Published // Description: Returns the pending ram class of the array. If this // is different from get_ram_class(), this page has been // queued to be processed by the thread. Eventually the // page will be set to this ram class. //////////////////////////////////////////////////////////////////// 1 4 this 3 2797 242 14 Dtool_MAKP0sB_ 4 265 2747 0 14 Dtool_MAKP0sB_ 379 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::request_resident // Access: Published // Description: Ensures that the page will become resident soon. // Future calls to get_page_data() will eventually // return non-NULL. //////////////////////////////////////////////////////////////////// 1 4 this 3 2799 243 14 Dtool_MAKPQei8 7 266 2800 1660 14 Dtool_MAKPQei8 450 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::alloc // Access: Published // Description: Allocates a new block. Returns NULL if a block of the // requested size cannot be allocated. // // To free the allocated block, call block->free(), or // simply delete the block pointer. //////////////////////////////////////////////////////////////////// 2 4 this 3 2799 4 size 1 2743 244 14 Dtool_MAKP8RXh 7 267 2800 1660 14 Dtool_MAKP8RXh 337 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_first_block // Access: Published // Description: Returns a pointer to the first allocated block, or // NULL if there are no allocated blocks. //////////////////////////////////////////////////////////////////// 1 4 this 3 2797 245 14 Dtool_MAKPsBRf 6 268 2801 0 14 Dtool_MAKPsBRf 274 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_book // Access: Published // Description: Returns a pointer to the book that owns this page. //////////////////////////////////////////////////////////////////// 1 4 this 3 2797 246 14 Dtool_MAKPBaNj 6 269 2779 0 14 Dtool_MAKPBaNj 377 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_global_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the VertexDataPage's with the indicated // RamClass. //////////////////////////////////////////////////////////////////// 1 6 rclass 1 2668 247 14 Dtool_MAKPRT83 6 270 2779 0 14 Dtool_MAKPRT83 392 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_pending_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the VertexDataPage's that are pending // processing by the thread. //////////////////////////////////////////////////////////////////// 0 248 14 Dtool_MAKPbvJb 6 271 2802 0 14 Dtool_MAKPbvJb 378 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_save_file // Access: Published, Static // Description: Returns the global VertexDataSaveFile that will be // used to save vertex data buffers to disk when // necessary. //////////////////////////////////////////////////////////////////// 0 249 14 Dtool_MAKPA0f9 6 272 2748 0 14 Dtool_MAKPA0f9 467 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::save_to_disk // Access: Published // Description: Writes the page to disk, but does not evict it from // memory or affect its LRU status. If it gets evicted // later without having been modified, it will not need // to write itself to disk again. //////////////////////////////////////////////////////////////////// 1 4 this 3 2799 250 14 Dtool_MAKP4TuW 6 273 2751 0 14 Dtool_MAKP4TuW 589 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_num_threads // Access: Published, Static // Description: Returns the number of threads that have been spawned // to service vertex paging requests, or 0 if no threads // have been spawned (which may mean either that all // paging requests will be handled by the main thread, // or simply that no paging requests have yet been // issued). //////////////////////////////////////////////////////////////////// 0 251 14 Dtool_MAKPQnzR 6 274 2751 0 14 Dtool_MAKPQnzR 342 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_num_pending_reads // Access: Published, Static // Description: Returns the number of read requests that are waiting // to be serviced by a thread. //////////////////////////////////////////////////////////////////// 0 252 14 Dtool_MAKPYKfR 6 275 2751 0 14 Dtool_MAKPYKfR 344 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::get_num_pending_writes // Access: Published, Static // Description: Returns the number of write requests that are waiting // to be serviced by a thread. //////////////////////////////////////////////////////////////////// 0 253 14 Dtool_MAKPw48g 4 276 2747 0 14 Dtool_MAKPw48g 397 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::stop_threads // Access: Published, Static // Description: Call this to stop the paging threads, if they were // started. This may block until all of the pending // tasks have been completed. //////////////////////////////////////////////////////////////////// 0 254 14 Dtool_MAKPltyp 4 277 2747 0 14 Dtool_MAKPltyp 323 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::flush_threads // Access: Published, Static // Description: Waits for all of the pending thread tasks to finish // before returning. //////////////////////////////////////////////////////////////////// 0 255 14 Dtool_MAKPv4iR 4 278 2747 0 14 Dtool_MAKPv4iR 231 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2797 3 out 1 2749 256 14 Dtool_MAKPRjs_ 4 279 2747 0 14 Dtool_MAKPRjs_ 230 //////////////////////////////////////////////////////////////////// // Function: VertexDataPage::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2797 3 out 1 2749 12 indent_level 1 2751 257 14 Dtool_MAKPLmIp 7 280 2763 0 14 Dtool_MAKPLmIp 0 0 258 14 Dtool_MAKP_hfI 6 258 2789 0 14 Dtool_MAKP_hfI 0 1 4 this 3 2799 259 14 Dtool_MAKPIIRM 6 259 2799 0 14 Dtool_MAKPIIRM 0 1 4 this 3 2789 260 14 Dtool_MAKP0Sgy 6 260 2786 0 14 Dtool_MAKP0Sgy 0 1 4 this 3 2799 261 14 Dtool_MAKP1BoZ 6 261 2799 0 14 Dtool_MAKP1BoZ 0 1 4 this 3 2786 262 14 Dtool_MAKPGCC5 7 282 2801 1648 14 Dtool_MAKPGCC5 227 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 10 block_size 1 2743 263 14 Dtool_MAKPVohj 7 284 2800 1660 14 Dtool_MAKPVohj 795 // Filename: vertexDataBook.I // Created by: drose (16May07) // //////////////////////////////////////////////////////////////////// // // 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: VertexDataBook::alloc // Access: Published // Description: Allocates and returns a new VertexDataBuffer of the // requested size. //////////////////////////////////////////////////////////////////// 2 4 this 3 2801 4 size 1 2743 264 14 Dtool_MAKPD1E5 6 285 2751 0 14 Dtool_MAKPD1E5 278 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::get_num_pages // Access: Published // Description: Returns the number of pages created for the book. //////////////////////////////////////////////////////////////////// 1 4 this 3 2803 265 14 Dtool_MAKP_dT3 6 286 2743 0 14 Dtool_MAKP_dT3 328 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_total_page_size // Access: Published // Description: Returns the total size of all bytes owned by all // pages owned by this book. //////////////////////////////////////////////////////////////////// 1 4 this 3 2803 266 14 Dtool_MAKPU33Z 6 286 2743 0 14 Dtool_MAKPU33Z 379 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_total_page_size // Access: Published // Description: Returns the total size of all bytes owned by all // pages owned by this book that have the indicated ram // class. //////////////////////////////////////////////////////////////////// 2 4 this 3 2803 9 ram_class 1 2668 267 14 Dtool_MAKPCckZ 6 287 2743 0 14 Dtool_MAKPCckZ 331 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_allocated_size // Access: Published // Description: Returns the total size of all bytes allocated within // pages owned by this book. //////////////////////////////////////////////////////////////////// 1 4 this 3 2803 268 14 Dtool_MAKPa3kc 6 287 2743 0 14 Dtool_MAKPa3kc 382 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::count_allocated_size // Access: Published // Description: Returns the total size of all bytes allocated within // pages owned by this book that have the indicated ram // class. //////////////////////////////////////////////////////////////////// 2 4 this 3 2803 9 ram_class 1 2668 269 14 Dtool_MAKPHGdk 4 288 2747 0 14 Dtool_MAKPHGdk 486 //////////////////////////////////////////////////////////////////// // Function: VertexDataBook::save_to_disk // Access: Published // Description: Writes all pages to disk immediately, just in case // they get evicted later. It makes sense to make this // call just before taking down a loading screen, to // minimize chugs from saving pages inadvertently later. //////////////////////////////////////////////////////////////////// 1 4 this 3 2801 270 14 Dtool_MAKPMpZV 6 295 2799 0 14 Dtool_MAKPMpZV 296 //////////////////////////////////////////////////////////////////// // Function: VertexDataBlock::get_page // Access: Published // Description: Returns the page from which this buffer was // allocated. //////////////////////////////////////////////////////////////////// 1 4 this 3 2805 271 14 Dtool_MAKPeWNA 7 296 2800 1660 14 Dtool_MAKPeWNA 354 //////////////////////////////////////////////////////////////////// // Function: VertexDataBlock::get_next_block // Access: Published // Description: Returns a pointer to the next allocated block in the // chain, or NULL if there are no more allocated blocks. //////////////////////////////////////////////////////////////////// 1 4 this 3 2805 272 14 Dtool_MAKPDYtB 6 290 2790 0 14 Dtool_MAKPDYtB 0 1 4 this 3 2800 273 14 Dtool_MAKPs_mf 7 291 2800 1660 14 Dtool_MAKPs_mf 0 1 4 this 3 2790 274 14 Dtool_MAKPGSOQ 7 293 2807 0 14 Dtool_MAKPGSOQ 0 1 4 this 3 2800 275 14 Dtool_MAKP_JZ_ 7 294 2800 1660 14 Dtool_MAKP_JZ_ 0 1 4 this 3 2807 276 14 Dtool_MAKPVjYG 7 308 2808 1669 14 Dtool_MAKPVjYG 237 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2770 277 14 Dtool_MAKPL33s 7 308 2808 1669 14 Dtool_MAKPL33s 232 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 12 array_format 1 2768 10 usage_hint 1 2648 278 14 Dtool_MAKPo2Ms 7 309 2808 1669 14 Dtool_MAKPo2Ms 490 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a GeomVertexArrayData // that is actively being used for rendering. //////////////////////////////////////////////////////////////////// 2 4 this 3 2808 4 copy 1 2770 279 14 Dtool_MAKPBzaq 4 311 2747 0 14 Dtool_MAKPBzaq 0 2 4 this 3 2808 4 size 1 2743 280 14 Dtool_MAKPaxwn 6 314 2751 0 14 Dtool_MAKPaxwn 330 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::compare_to // Access: Published // Description: Returns 0 if the two arrays are equivalent, even if // they are not the same pointer. //////////////////////////////////////////////////////////////////// 2 4 this 3 2770 5 other 1 2770 281 14 Dtool_MAKP3CJD 7 315 2768 0 14 Dtool_MAKP3CJD 784 // Filename: geomVertexArrayData.I // Created by: drose (17Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexArrayData::get_array_format // Access: Published // Description: Returns the format object that describes this array. //////////////////////////////////////////////////////////////////// 1 4 this 3 2770 282 14 Dtool_MAKPxPce 6 316 2648 0 14 Dtool_MAKPxPce 409 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_usage_hint // Access: Published // Description: Returns the usage hint that describes to the // rendering backend how often the vertex data will be // modified and/or rendered. See geomEnums.h. //////////////////////////////////////////////////////////////////// 1 4 this 3 2770 283 14 Dtool_MAKPvFNt 4 317 2747 0 14 Dtool_MAKPvFNt 514 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for this array. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2808 10 usage_hint 1 2648 284 14 Dtool_MAKPW_sd 6 318 2748 0 14 Dtool_MAKPW_sd 404 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::has_column // Access: Published // Description: Returns true if the array has the named column, // false otherwise. This is really just a shortcut for // asking the same thing from the format. //////////////////////////////////////////////////////////////////// 2 4 this 3 2770 4 name 1 2760 285 14 Dtool_MAKPC4RN 6 319 2751 0 14 Dtool_MAKPC4RN 454 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_num_rows // Access: Published // Description: Returns the number of rows stored in the array, // based on the number of bytes and the stride. This // should be the same for all arrays within a given // GeomVertexData object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2770 286 14 Dtool_MAKPTaOY 6 320 2748 0 14 Dtool_MAKPTaOY 1075 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::set_num_rows // Access: Published // Description: Sets the length of the array to n rows. // // Normally, you would not call this directly, since all // of the arrays in a particular GeomVertexData must // have the same number of rows; instead, call // GeomVertexData::set_num_rows(). // // The return value is true if the number of rows // was changed, false if the object already contained n // rows (or if there was some error). // // The new vertex data is initialized to 0, including // the "color" column (but see // GeomVertexData::set_num_rows()). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2808 1 n 1 2751 287 14 Dtool_MAKPwI3w 6 321 2748 0 14 Dtool_MAKPwI3w 757 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::unclean_set_num_rows // Access: Published // Description: This method behaves like set_num_rows(), except the // new data is not initialized. Furthermore, after this // call, *any* of the data in the GeomVertexArrayData // may be uninitialized, including the earlier rows. // // Normally, you would not call this directly, since all // of the arrays in a particular GeomVertexData must // have the same number of rows; instead, call // GeomVertexData::unclean_set_num_rows(). //////////////////////////////////////////////////////////////////// 2 4 this 3 2808 1 n 1 2751 288 14 Dtool_MAKPWjyr 4 322 2747 0 14 Dtool_MAKPWjyr 329 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::clear_rows // Access: Published // Description: Removes all of the rows in the array. // Functionally equivalent to set_num_rows(0). //////////////////////////////////////////////////////////////////// 1 4 this 3 2808 289 14 Dtool_MAKPfqwK 6 323 2751 0 14 Dtool_MAKPfqwK 288 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_data_size_bytes // Access: Published // Description: Returns the number of bytes stored in the array. //////////////////////////////////////////////////////////////////// 1 4 this 3 2770 290 14 Dtool_MAKPTXp2 7 324 2810 0 14 Dtool_MAKPTXp2 377 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the array vertex data is // modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2770 291 14 Dtool_MAKP5jFI 4 325 2747 0 14 Dtool_MAKP5jFI 227 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2770 3 out 1 2749 292 14 Dtool_MAKP4Lek 4 326 2747 0 14 Dtool_MAKP4Lek 226 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2770 3 out 1 2749 12 indent_level 1 2751 293 14 Dtool_MAKP5_AK 4 326 2747 0 14 Dtool_MAKP5_AK 226 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2770 3 out 1 2749 294 14 Dtool_MAKP_mAM 6 327 2748 0 14 Dtool_MAKP_mAM 566 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::request_resident // Access: Published // Description: Returns true if the vertex data is currently resident // in memory. If this returns true, the next call to // get_handle()->get_read_pointer() will probably not // block. If this returns false, the vertex data will // be brought back into memory shortly; try again later. //////////////////////////////////////////////////////////////////// 1 4 this 3 2770 295 14 Dtool_MAKPWh8V 7 328 2814 0 14 Dtool_MAKPWh8V 529 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_handle // Access: Published // Description: Returns an object that can be used to read the actual // data bytes stored in the array. Calling this method // locks the data, and will block any other threads // attempting to read or write the data, until the // returned object destructs. //////////////////////////////////////////////////////////////////// 2 4 this 3 2770 14 current_thread 1 2812 296 14 Dtool_MAKP7UXr 7 328 2814 0 14 Dtool_MAKP7UXr 529 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_handle // Access: Published // Description: Returns an object that can be used to read the actual // data bytes stored in the array. Calling this method // locks the data, and will block any other threads // attempting to read or write the data, until the // returned object destructs. //////////////////////////////////////////////////////////////////// 1 4 this 3 2770 297 14 Dtool_MAKPY1wV 7 329 2815 1703 14 Dtool_MAKPY1wV 541 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::modify_handle // Access: Published // Description: Returns an object that can be used to read or write // the actual data bytes stored in the array. Calling // this method locks the data, and will block any other // threads attempting to read or write the data, until // the returned object destructs. //////////////////////////////////////////////////////////////////// 2 4 this 3 2808 14 current_thread 1 2812 298 14 Dtool_MAKPIcmt 7 329 2815 1703 14 Dtool_MAKPIcmt 541 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::modify_handle // Access: Published // Description: Returns an object that can be used to read or write // the actual data bytes stored in the array. Calling // this method locks the data, and will block any other // threads attempting to read or write the data, until // the returned object destructs. //////////////////////////////////////////////////////////////////// 1 4 this 3 2808 299 14 Dtool_MAKPKLkX 4 330 2747 0 14 Dtool_MAKPKLkX 648 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::prepare // Access: Public // Description: Indicates that the data should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // data is already loaded into the GSG if it is expected // to be rendered soon. // // Use this function instead of prepare_now() to preload // datas from a user interface standpoint. //////////////////////////////////////////////////////////////////// 2 4 this 3 2808 16 prepared_objects 1 2816 300 14 Dtool_MAKP_PUd 6 331 2748 0 14 Dtool_MAKP_PUd 383 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::is_prepared // Access: Published // Description: Returns true if the data has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2770 16 prepared_objects 1 2816 301 14 Dtool_MAKPJDsu 6 332 2819 0 14 Dtool_MAKPJDsu 894 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::prepare_now // Access: Public // Description: Creates a context for the data on the particular // GSG, if it does not already exist. Returns the new // (or old) VertexBufferContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // datas. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a data does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 3 4 this 3 2808 16 prepared_objects 1 2816 3 gsg 1 2817 302 14 Dtool_MAKPKEuC 6 333 2748 0 14 Dtool_MAKPKEuC 400 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::release // Access: Public // Description: Frees the data context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 2 4 this 3 2808 16 prepared_objects 1 2816 303 14 Dtool_MAKP_7uC 6 334 2751 0 14 Dtool_MAKP_7uC 398 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::release_all // Access: Public // Description: Frees the context allocated on all objects for which // the data has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2808 304 14 Dtool_MAKPqXbF 6 335 2779 0 14 Dtool_MAKPqXbF 399 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_independent_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the GeomVertexArrayData's that have not (yet) // been paged out. //////////////////////////////////////////////////////////////////// 0 305 14 Dtool_MAKPEw5_ 6 336 2779 0 14 Dtool_MAKPEw5_ 400 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_small_lru // Access: Published, Static // Description: Returns a pointer to the global LRU object that // manages the GeomVertexArrayData's that are deemed too // small to be paged out. //////////////////////////////////////////////////////////////////// 0 306 14 Dtool_MAKPsD26 4 337 2747 0 14 Dtool_MAKPsD26 382 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::lru_epoch // Access: Published, Static // Description: Marks that an epoch has passed in each LRU. Asks the // LRU's to consider whether they should perform // evictions. //////////////////////////////////////////////////////////////////// 0 307 14 Dtool_MAKPFQim 6 338 2801 0 14 Dtool_MAKPFQim 338 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::get_book // Access: Published, Static // Description: Returns the global VertexDataBook that will be // used to allocate vertex data buffers. //////////////////////////////////////////////////////////////////// 0 308 14 Dtool_MAKPNsR3 7 339 2763 0 14 Dtool_MAKPNsR3 0 0 309 14 Dtool_MAKPurBl 7 302 2820 0 14 Dtool_MAKPurBl 0 1 4 this 3 2808 310 14 Dtool_MAKPHqaf 7 303 2808 1669 14 Dtool_MAKPHqaf 0 1 4 this 3 2820 311 14 Dtool_MAKPi7GK 6 304 2786 0 14 Dtool_MAKPi7GK 0 1 4 this 3 2808 312 14 Dtool_MAKPR3m1 7 305 2808 1669 14 Dtool_MAKPR3m1 0 1 4 this 3 2786 313 14 Dtool_MAKPSXKf 6 306 2773 0 14 Dtool_MAKPSXKf 0 1 4 this 3 2808 314 14 Dtool_MAKPIzps 7 307 2808 1669 14 Dtool_MAKPIzps 0 1 4 this 3 2773 315 14 Dtool_MAKPuaEm 7 346 2808 1669 14 Dtool_MAKPuaEm 236 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_object // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2815 316 14 Dtool_MAKPaPDR 7 346 2770 0 14 Dtool_MAKPaPDR 236 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_object // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 317 14 Dtool_MAKPksp0 7 347 2768 0 14 Dtool_MAKPksp0 243 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_array_format // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 318 14 Dtool_MAKPtdrI 6 348 2648 0 14 Dtool_MAKPtdrI 241 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_usage_hint // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 319 14 Dtool_MAKPi9M9 6 349 2751 0 14 Dtool_MAKPi9M9 239 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_num_rows // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 320 14 Dtool_MAKP_DY4 6 350 2748 0 14 Dtool_MAKP_DY4 236 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::set_num_rows // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2815 1 n 1 2751 321 14 Dtool_MAKPJbnk 6 351 2748 0 14 Dtool_MAKPJbnk 244 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::unclean_set_num_rows // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2815 1 n 1 2751 322 14 Dtool_MAKPRt2b 4 352 2747 0 14 Dtool_MAKPRt2b 237 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::clear_rows // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2815 323 14 Dtool_MAKPs9ud 6 353 2751 0 14 Dtool_MAKPs9ud 246 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_data_size_bytes // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 324 14 Dtool_MAKPlsYT 7 354 2810 0 14 Dtool_MAKPlsYT 239 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_modified // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 325 14 Dtool_MAKPjdit 6 355 2748 0 14 Dtool_MAKPjdit 566 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayData::request_resident // Access: Published // Description: Returns true if the vertex data is currently resident // in memory. If this returns true, the next call to // get_handle()->get_read_pointer() will probably not // block. If this returns false, the vertex data will // be brought back into memory shortly; try again later. //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 326 14 Dtool_MAKP1fE3 4 356 2747 0 14 Dtool_MAKP1fE3 289 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::copy_data_from // Access: Public // Description: Copies the entire data array from the other object. //////////////////////////////////////////////////////////////////// 2 4 this 3 2815 5 other 1 2814 327 14 Dtool_MAKPgUq0 4 357 2747 0 14 Dtool_MAKPgUq0 476 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::copy_subdata_from // Access: Public // Description: Copies a portion of the data array from the other // object into a portion of the data array of this // object. If to_size != from_size, the size of this // data array is adjusted accordingly. //////////////////////////////////////////////////////////////////// 6 4 this 3 2815 8 to_start 1 2743 7 to_size 1 2743 5 other 1 2814 10 from_start 1 2743 9 from_size 1 2743 328 14 Dtool_MAKPYqmb 6 358 2742 0 14 Dtool_MAKPYqmb 445 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_data // Access: Published // Description: Returns the entire raw data of the // GeomVertexArrayData object, formatted as a string. // This is primarily for the benefit of high-level // languages such as Python. //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 329 14 Dtool_MAKPazuk 4 359 2747 0 14 Dtool_MAKPazuk 415 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::set_data // Access: Public // Description: Replaces the entire raw data array with the contents // of the indicated string. This is primarily for the // benefit of high-level languages like Python. //////////////////////////////////////////////////////////////////// 2 4 this 3 2815 4 data 1 2742 330 14 Dtool_MAKPEi7l 6 360 2742 0 14 Dtool_MAKPEi7l 453 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::get_subdata // Access: Published // Description: Returns a subset of the raw data of the // GeomVertexArrayData object, formatted as a string. // This is primarily for the benefit of high-level // languages such as Python. //////////////////////////////////////////////////////////////////// 3 4 this 3 2814 5 start 1 2743 4 size 1 2743 331 14 Dtool_MAKPaKat 4 361 2747 0 14 Dtool_MAKPaKat 518 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::set_subdata // Access: Public // Description: Replaces a portion of the data array from the // indicated string. If size != data.size(), the size // of this data array is adjusted accordingly. // // This is primarily for the benefit of high-level // languages like Python. //////////////////////////////////////////////////////////////////// 4 4 this 3 2815 5 start 1 2743 4 size 1 2743 4 data 1 2742 332 14 Dtool_MAKPyhDL 4 362 2747 0 14 Dtool_MAKPyhDL 271 //////////////////////////////////////////////////////////////////// // Function: GeomVertexArrayDataHandle::mark_used // Access: Published // Description: Marks the array data recently-used. //////////////////////////////////////////////////////////////////// 1 4 this 3 2814 333 14 Dtool_MAKPVIB7 7 363 2763 0 14 Dtool_MAKPVIB7 0 0 334 14 Dtool_MAKPThJE 7 341 2807 0 14 Dtool_MAKPThJE 0 1 4 this 3 2815 335 14 Dtool_MAKPYaNv 7 342 2815 1703 14 Dtool_MAKPYaNv 0 1 4 this 3 2807 336 14 Dtool_MAKP4wn1 6 343 2773 0 14 Dtool_MAKP4wn1 0 1 4 this 3 2815 337 14 Dtool_MAKPL1Nu 7 344 2815 1703 14 Dtool_MAKPL1Nu 0 1 4 this 3 2773 338 14 Dtool_MAKPMcfF 4 365 2747 0 14 Dtool_MAKPMcfF 1310 // Filename: geomCacheManager.I // Created by: drose (11Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomCacheManager::set_max_size // Access: Published // Description: Specifies the maximum number of entries in the cache // for storing pre-processed data for rendering // vertices. This limit is flexible, and may be // temporarily exceeded if many different Geoms are // pre-processed during the space of a single frame. // // This is not a limit on the actual vertex data, which // is what it is; it is also not a limit on the amount // of memory used by the video driver or the system // graphics interface, which Panda has no control over. //////////////////////////////////////////////////////////////////// 2 4 this 3 2821 8 max_size 1 2751 339 14 Dtool_MAKP6AF8 6 366 2751 0 14 Dtool_MAKP6AF8 390 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::get_max_size // Access: Published // Description: Returns the maximum number of entries in the cache // for storing pre-processed data for rendering // vertices. See set_max_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2821 340 14 Dtool_MAKPgQI0 6 367 2751 0 14 Dtool_MAKPgQI0 285 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::get_total_size // Access: Published // Description: Returns the number of entries currently in the cache. //////////////////////////////////////////////////////////////////// 1 4 this 3 2821 341 14 Dtool_MAKP6vsj 4 368 2747 0 14 Dtool_MAKP6vsj 269 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::flush // Access: Published // Description: Immediately empties all elements in the cache. //////////////////////////////////////////////////////////////////// 1 4 this 3 2823 342 14 Dtool_MAKPqysg 6 369 2823 0 14 Dtool_MAKPqysg 281 //////////////////////////////////////////////////////////////////// // Function: GeomCacheManager::get_global_ptr // Access: Published, Static // Description: Returns the global cache manager pointer. //////////////////////////////////////////////////////////////////// 0 343 14 Dtool_MAKPp1ZT 4 371 2747 0 14 Dtool_MAKPp1ZT 0 2 4 this 3 2824 6 matrix 1 2826 344 14 Dtool_MAKPrQqo 4 372 2747 0 14 Dtool_MAKPrQqo 579 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::mult_matrix // Access: Published, Virtual // Description: Premultiplies this transform's matrix with the // indicated previous matrix, so that the result is the // net composition of the given transform with this // transform. The result is stored in the parameter // "result", which should not be the same matrix as // previous. //////////////////////////////////////////////////////////////////// 3 4 this 3 2824 6 result 1 2826 8 previous 1 2828 345 14 Dtool_MAKPJ_5x 4 373 2747 0 14 Dtool_MAKPJ_5x 477 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::accumulate_matrix // Access: Published, Virtual // Description: Adds the value of this transform's matrix, modified // by the indicated weight, into the indicated // accumulation matrix. This is used to compute the // result of several blended transforms. //////////////////////////////////////////////////////////////////// 3 4 this 3 2824 5 accum 1 2826 6 weight 1 2752 346 14 Dtool_MAKPzf8x 7 374 2810 0 14 Dtool_MAKPzf8x 871 // Filename: vertexTransform.I // Created by: drose (23Mar05) // //////////////////////////////////////////////////////////////////// // // 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: VertexTransform::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least every time the value reported by // get_matrix() changes. //////////////////////////////////////////////////////////////////// 2 4 this 3 2824 14 current_thread 1 2812 347 14 Dtool_MAKPXeSn 4 375 2747 0 14 Dtool_MAKPXeSn 232 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2824 3 out 1 2749 348 14 Dtool_MAKPeY1t 4 376 2747 0 14 Dtool_MAKPeY1t 231 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2824 3 out 1 2749 12 indent_level 1 2751 349 14 Dtool_MAKPdZCF 7 377 2810 0 14 Dtool_MAKPdZCF 765 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::get_next_modified // Access: Public, Static // Description: Returns a monotonically increasing sequence. Each // time this is called, a new sequence number is // returned, higher than the previous value. // // This is used to ensure that all // VertexTransform::get_modified() calls return an // increasing number in the same space, so that // TransformBlend::get_modified() is easy to determine. // It is similar to Geom::get_modified(), but it is in a // different space. //////////////////////////////////////////////////////////////////// 1 14 current_thread 1 2812 350 14 Dtool_MAKPLuIx 7 378 2810 0 14 Dtool_MAKPLuIx 474 //////////////////////////////////////////////////////////////////// // Function: VertexTransform::get_global_modified // Access: Published, Static // Description: Returns the currently highest // VertexTransform::get_modified() value in the world. // This can be used as a quick way to determine if any // VertexTransforms have changed value recently. //////////////////////////////////////////////////////////////////// 1 14 current_thread 1 2812 351 14 Dtool_MAKPRa2Z 7 379 2763 0 14 Dtool_MAKPRa2Z 0 0 352 14 Dtool_MAKP9dPL 7 381 2830 0 14 Dtool_MAKP9dPL 227 //////////////////////////////////////////////////////////////////// // Function: TransformTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 353 14 Dtool_MAKPTts5 7 381 2830 0 14 Dtool_MAKPTts5 232 //////////////////////////////////////////////////////////////////// // Function: TransformTable::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2831 354 14 Dtool_MAKPUxgN 7 382 2830 0 14 Dtool_MAKPUxgN 240 //////////////////////////////////////////////////////////////////// // Function: TransformTable::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2830 4 copy 1 2831 355 14 Dtool_MAKPmQpE 6 383 2748 0 14 Dtool_MAKPmQpE 997 // Filename: transformTable.I // Created by: drose (23Mar05) // //////////////////////////////////////////////////////////////////// // // 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: TransformTable::is_registered // Access: Published // Description: Returns true if this table has been registered. // Once it has been registered, the set of transforms in // a TransformTable may not be further modified; but // it must be registered before it can be assigned to a // Geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2831 356 14 Dtool_MAKP8IXz 7 384 2831 0 14 Dtool_MAKP8IXz 927 //////////////////////////////////////////////////////////////////// // Function: TransformTable::register_table // Access: Published, Static // Description: Registers a TransformTable for use. This is // similar to GeomVertexFormat::register_format(). Once // registered, a TransformTable may no longer be // modified (although the individual VertexTransform // objects may modify their reported transforms). // // This must be called before a table may be used in a // Geom. After this call, you should discard the // original pointer you passed in (which may or may not // now be invalid) and let its reference count decrement // normally; you should use only the returned value from // this point on. //////////////////////////////////////////////////////////////////// 1 5 table 1 2831 357 14 Dtool_MAKP5H42 6 385 2751 0 14 Dtool_MAKP5H42 280 //////////////////////////////////////////////////////////////////// // Function: TransformTable::get_num_transforms // Access: Published // Description: Returns the number of transforms in the table. //////////////////////////////////////////////////////////////////// 1 4 this 3 2831 358 14 Dtool_MAKPgSIY 7 386 2824 0 14 Dtool_MAKPgSIY 268 //////////////////////////////////////////////////////////////////// // Function: TransformTable::get_transform // Access: Published // Description: Returns the nth transform in the table. //////////////////////////////////////////////////////////////////// 2 4 this 3 2831 1 n 1 2751 359 14 Dtool_MAKPaOQ4 7 387 2810 0 14 Dtool_MAKPaOQ4 569 //////////////////////////////////////////////////////////////////// // Function: TransformTable::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least when any VertexTransforms in the table // change. (However, this is only true for a registered // table. An unregistered table may or may not // reflect an update here when a VertexTransform // changes.) //////////////////////////////////////////////////////////////////// 2 4 this 3 2831 14 current_thread 1 2812 360 14 Dtool_MAKP9zOW 4 388 2747 0 14 Dtool_MAKP9zOW 310 //////////////////////////////////////////////////////////////////// // Function: TransformTable::set_transform // Access: Published // Description: Replaces the nth transform. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 3 4 this 3 2830 1 n 1 2751 9 transform 1 2824 361 14 Dtool_MAKPWMbq 4 389 2747 0 14 Dtool_MAKPWMbq 312 //////////////////////////////////////////////////////////////////// // Function: TransformTable::remove_transform // Access: Published // Description: Removes the nth transform. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 2 4 this 3 2830 1 n 1 2751 362 14 Dtool_MAKPu_JV 6 390 2751 0 14 Dtool_MAKPu_JV 562 //////////////////////////////////////////////////////////////////// // Function: TransformTable::add_transform // Access: Published // Description: Adds a new transform to the table and returns the // index number of the new transform. Only valid for // unregistered tables. // // This does not automatically uniquify the pointer; if // the transform is already present in the table, it // will be added twice. //////////////////////////////////////////////////////////////////// 2 4 this 3 2830 9 transform 1 2824 363 14 Dtool_MAKP6U5C 4 391 2747 0 14 Dtool_MAKP6U5C 221 //////////////////////////////////////////////////////////////////// // Function: TransformTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2831 3 out 1 2749 364 14 Dtool_MAKPdFiZ 7 392 2763 0 14 Dtool_MAKPdFiZ 0 0 365 14 Dtool_MAKPe0eS 7 394 2833 1750 14 Dtool_MAKPe0eS 717 // Filename: transformBlend.I // Created by: drose (24Mar05) // //////////////////////////////////////////////////////////////////// // // 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: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 366 14 Dtool_MAKPRqL0 7 394 2833 1750 14 Dtool_MAKPRqL0 232 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2834 367 14 Dtool_MAKPE4vc 7 394 2833 1750 14 Dtool_MAKPE4vc 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 10 transform0 1 2824 7 weight0 1 2752 368 14 Dtool_MAKP5cWw 7 394 2833 1750 14 Dtool_MAKP5cWw 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 4 10 transform0 1 2824 7 weight0 1 2752 10 transform1 1 2824 7 weight1 1 2752 369 14 Dtool_MAKPmVV1 7 394 2833 1750 14 Dtool_MAKPmVV1 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 6 10 transform0 1 2824 7 weight0 1 2752 10 transform1 1 2824 7 weight1 1 2752 10 transform2 1 2824 7 weight2 1 2752 370 14 Dtool_MAKPkvBo 7 394 2833 1750 14 Dtool_MAKPkvBo 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 8 10 transform0 1 2824 7 weight0 1 2752 10 transform1 1 2824 7 weight1 1 2752 10 transform2 1 2824 7 weight2 1 2752 10 transform3 1 2824 7 weight3 1 2752 371 14 Dtool_MAKPKjWy 6 395 2833 0 14 Dtool_MAKPKjWy 240 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2833 4 copy 1 2834 372 14 Dtool_MAKPoz5o 6 397 2751 0 14 Dtool_MAKPoz5o 300 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::compare_to // Access: Published // Description: Defines an arbitrary ordering for TransformBlend // objects. //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 5 other 1 2834 373 14 Dtool_MAKP_D64 6 398 2748 0 14 Dtool_MAKP_D64 226 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 5 other 1 2834 374 14 Dtool_MAKPZE3n 6 399 2748 0 14 Dtool_MAKPZE3n 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 5 other 1 2834 375 14 Dtool_MAKPZmxW 6 400 2748 0 14 Dtool_MAKPZmxW 227 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 5 other 1 2834 376 14 Dtool_MAKPuVAn 4 401 2747 0 14 Dtool_MAKPuVAn 344 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::add_transform // Access: Published // Description: Adds a new transform to the blend. If the transform // already existed, increases its weight factor. //////////////////////////////////////////////////////////////////// 3 4 this 3 2833 9 transform 1 2824 6 weight 1 2752 377 14 Dtool_MAKP9e42 4 402 2747 0 14 Dtool_MAKP9e42 277 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::remove_transform // Access: Published // Description: Removes the indicated transform to the blend. //////////////////////////////////////////////////////////////////// 2 4 this 3 2833 9 transform 1 2824 378 14 Dtool_MAKPKUUu 4 403 2747 0 14 Dtool_MAKPKUUu 456 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::normalize_weights // Access: Published // Description: Rescales all of the weights on the various transforms // so that they sum to 1.0. It is generally a good idea // to call this after adding or removing transforms from // the blend. //////////////////////////////////////////////////////////////////// 1 4 this 3 2833 379 14 Dtool_MAKP5JYU 6 404 2748 0 14 Dtool_MAKP5JYU 317 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::has_transform // Access: Published // Description: Returns true if the blend has the indicated // transform, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 9 transform 1 2824 380 14 Dtool_MAKPlw9I 6 405 2752 0 14 Dtool_MAKPlw9I 364 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_weight // Access: Published // Description: Returns the weight associated with the indicated // transform, or 0 if there is no entry for the // transform. //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 9 transform 1 2824 381 14 Dtool_MAKPgwvf 6 405 2752 0 14 Dtool_MAKPgwvf 323 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_weight // Access: Published // Description: Returns the weight associated with the nth transform // stored in the blend object. //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 1 n 1 2751 382 14 Dtool_MAKPdJun 6 406 2751 0 14 Dtool_MAKPdJun 311 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_num_transforms // Access: Published // Description: Returns the number of transforms stored in the blend // object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2834 383 14 Dtool_MAKPcj_I 7 407 2824 0 14 Dtool_MAKPcj_I 299 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_transform // Access: Published // Description: Returns the nth transform stored in the blend // object. //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 1 n 1 2751 384 14 Dtool_MAKPZdFH 4 408 2747 0 14 Dtool_MAKPZdFH 300 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::set_transform // Access: Published // Description: Replaces the nth transform stored in the blend // object. //////////////////////////////////////////////////////////////////// 3 4 this 3 2833 1 n 1 2751 9 transform 1 2824 385 14 Dtool_MAKPfU3_ 4 409 2747 0 14 Dtool_MAKPfU3_ 324 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::set_weight // Access: Published // Description: Replaces the weight associated with the nth transform // stored in the blend object. //////////////////////////////////////////////////////////////////// 3 4 this 3 2833 1 n 1 2751 6 weight 1 2752 386 14 Dtool_MAKPbanF 4 410 2747 0 14 Dtool_MAKPbanF 405 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::update_blend // Access: Published // Description: Recomputes the internal representation of the blend // value, if necessary. You should call this before // calling get_blend() or transform_point(). //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 14 current_thread 1 2812 387 14 Dtool_MAKP3RLn 4 411 2747 0 14 Dtool_MAKP3RLn 522 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_blend // Access: Published // Description: Returns the current value of the blend, based on the // current value of all of the nested transform objects // and their associated weights. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// 3 4 this 3 2834 6 result 1 2826 14 current_thread 1 2812 388 14 Dtool_MAKPHON6 4 412 2747 0 14 Dtool_MAKPHON6 410 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::transform_point // Access: Published // Description: Transforms the indicated point by the blend matrix. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// 3 4 this 3 2834 5 point 1 2836 14 current_thread 1 2812 389 14 Dtool_MAKPVVNq 4 412 2747 0 14 Dtool_MAKPVVNq 410 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::transform_point // Access: Published // Description: Transforms the indicated point by the blend matrix. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// 3 4 this 3 2834 5 point 1 2838 14 current_thread 1 2812 390 14 Dtool_MAKPrOZa 4 413 2747 0 14 Dtool_MAKPrOZa 412 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::transform_vector // Access: Published // Description: Transforms the indicated vector by the blend matrix. // // You should call update_blend() to ensure that the // cache is up-to-date before calling this. //////////////////////////////////////////////////////////////////// 3 4 this 3 2834 5 point 1 2840 14 current_thread 1 2812 391 14 Dtool_MAKP6lHp 7 414 2810 0 14 Dtool_MAKP6lHp 351 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::get_modified // Access: Published // Description: Returns a counter which is guaranteed to increment at // least as often as the result of get_blend() changes. //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 14 current_thread 1 2812 392 14 Dtool_MAKPaozy 4 415 2747 0 14 Dtool_MAKPaozy 222 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2834 3 out 1 2749 393 14 Dtool_MAKPfQ_g 4 416 2747 0 14 Dtool_MAKPfQ_g 221 //////////////////////////////////////////////////////////////////// // Function: TransformBlend::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2834 3 out 1 2749 12 indent_level 1 2751 394 14 Dtool_MAKP5_ZK 7 417 2763 0 14 Dtool_MAKP5_ZK 0 0 395 14 Dtool_MAKPeE_A 7 419 2842 0 14 Dtool_MAKPeE_A 232 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 396 14 Dtool_MAKP_bjS 7 419 2842 0 14 Dtool_MAKP_bjS 237 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2843 397 14 Dtool_MAKP3Q0k 7 420 2842 0 14 Dtool_MAKP3Q0k 245 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2842 4 copy 1 2843 398 14 Dtool_MAKP0EyH 6 421 2751 0 14 Dtool_MAKP0EyH 817 // Filename: transformBlendTable.I // Created by: drose (24Mar05) // //////////////////////////////////////////////////////////////////// // // 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: TransformBlendTable::get_num_blends // Access: Published // Description: Returns the total number of different blend // combinations in the table. //////////////////////////////////////////////////////////////////// 1 4 this 3 2843 399 14 Dtool_MAKP5_i5 6 422 2834 0 14 Dtool_MAKP5_i5 265 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_blend // Access: Published // Description: Returns the nth blend in the table. //////////////////////////////////////////////////////////////////// 2 4 this 3 2843 1 n 1 2751 400 14 Dtool_MAKPJ4l9 7 423 2810 0 14 Dtool_MAKPJ4l9 382 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_modified // Access: Published // Description: Returns a counter which is guaranteed to increment at // least when any TransformBlends within the table // have changed. //////////////////////////////////////////////////////////////////// 2 4 this 3 2843 14 current_thread 1 2812 401 14 Dtool_MAKP8ENT 4 424 2747 0 14 Dtool_MAKP8ENT 311 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::set_blend // Access: Published // Description: Replaces the blend at the nth position with the // indicated value. //////////////////////////////////////////////////////////////////// 3 4 this 3 2842 1 n 1 2751 5 blend 1 2834 402 14 Dtool_MAKPx_oD 4 425 2747 0 14 Dtool_MAKPx_oD 271 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::remove_blend // Access: Published // Description: Removes the blend at the nth position. //////////////////////////////////////////////////////////////////// 2 4 this 3 2842 1 n 1 2751 403 14 Dtool_MAKP3OCx 6 426 2751 0 14 Dtool_MAKP3OCx 414 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::add_blend // Access: Published // Description: Adds a new blend to the table, and returns its // index number. If there is already an identical blend // in the table, simply returns that number instead. //////////////////////////////////////////////////////////////////// 2 4 this 3 2842 5 blend 1 2834 404 14 Dtool_MAKP3o16 6 427 2751 0 14 Dtool_MAKP3o16 603 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_num_transforms // Access: Published // Description: Returns the number of unique VertexTransform objects // represented in the table. This will correspond to // the size of the TransformTable object that would // represent the same table. This is also the same // limit reflected by // GraphicsStateGuardian::get_max_vertex_transform_indices(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2843 405 14 Dtool_MAKPjqiw 6 428 2751 0 14 Dtool_MAKPjqiw 503 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_max_simultaneous_transforms // Access: Published // Description: Returns the maximum number of unique VertexTransform // objects that are applied to any one vertex // simultaneously. This is the same limit reflected by // GraphicsStateGuardian::get_max_vertex_transforms(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2843 406 14 Dtool_MAKPiJI_ 4 429 2747 0 14 Dtool_MAKPiJI_ 383 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::set_rows // Access: Published // Description: Specifies the subset of rows (vertices) in the // associated GeomVertexData that this // TransformBlendTable actually affects. //////////////////////////////////////////////////////////////////// 2 4 this 3 2842 4 rows 1 2845 407 14 Dtool_MAKPGxKd 6 430 2845 0 14 Dtool_MAKPGxKd 381 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::get_rows // Access: Published // Description: Returns the subset of rows (vertices) in the // associated GeomVertexData that this // TransformBlendTable actually affects. //////////////////////////////////////////////////////////////////// 1 4 this 3 2843 408 14 Dtool_MAKPQ3il 6 431 2848 0 14 Dtool_MAKPQ3il 458 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::modify_rows // Access: Published // Description: Returns a modifiable reference to the SparseArray // that specifies the subset of rows (vertices) in the // associated GeomVertexData that this // TransformBlendTable actually affects. //////////////////////////////////////////////////////////////////// 1 4 this 3 2842 409 14 Dtool_MAKPDcUt 4 432 2747 0 14 Dtool_MAKPDcUt 226 //////////////////////////////////////////////////////////////////// // Function: TransformBlendTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2843 3 out 1 2749 12 indent_level 1 2751 410 14 Dtool_MAKPplHA 7 433 2763 0 14 Dtool_MAKPplHA 0 0 411 14 Dtool_MAKPcSPk 7 435 2760 0 14 Dtool_MAKPcSPk 945 // Filename: vertexSlider.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: VertexSlider::get_name // Access: Published // Description: Returns the name of this particular slider. Every // unique blend shape within a particular Geom must be // identified with a different name, which is shared by // the slider that controls it. //////////////////////////////////////////////////////////////////// 1 4 this 3 2849 412 14 Dtool_MAKP7HBY 6 436 2752 0 14 Dtool_MAKP7HBY 0 1 4 this 3 2849 413 14 Dtool_MAKPQyex 7 437 2810 0 14 Dtool_MAKPQyex 377 //////////////////////////////////////////////////////////////////// // Function: VertexSlider::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least every time the value reported by // get_slider() changes. //////////////////////////////////////////////////////////////////// 2 4 this 3 2849 14 current_thread 1 2812 414 14 Dtool_MAKP2_kf 4 438 2747 0 14 Dtool_MAKP2_kf 229 //////////////////////////////////////////////////////////////////// // Function: VertexSlider::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2849 3 out 1 2749 415 14 Dtool_MAKPzQrv 4 439 2747 0 14 Dtool_MAKPzQrv 228 //////////////////////////////////////////////////////////////////// // Function: VertexSlider::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2849 3 out 1 2749 12 indent_level 1 2751 416 14 Dtool_MAKPad8s 7 440 2763 0 14 Dtool_MAKPad8s 0 0 417 14 Dtool_MAKP_4qZ 7 442 2851 0 14 Dtool_MAKP_4qZ 224 //////////////////////////////////////////////////////////////////// // Function: SliderTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 418 14 Dtool_MAKPFKDH 7 442 2851 0 14 Dtool_MAKPFKDH 229 //////////////////////////////////////////////////////////////////// // Function: SliderTable::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2852 419 14 Dtool_MAKPloXJ 7 443 2851 0 14 Dtool_MAKPloXJ 237 //////////////////////////////////////////////////////////////////// // Function: SliderTable::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2851 4 copy 1 2852 420 14 Dtool_MAKP181P 6 444 2748 0 14 Dtool_MAKP181P 985 // Filename: sliderTable.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: SliderTable::is_registered // Access: Published // Description: Returns true if this table has been registered. // Once it has been registered, the set of sliders in // a SliderTable may not be further modified; but // it must be registered before it can be assigned to a // Geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2852 421 14 Dtool_MAKPMgH_ 7 445 2852 0 14 Dtool_MAKPMgH_ 912 //////////////////////////////////////////////////////////////////// // Function: SliderTable::register_table // Access: Published, Static // Description: Registers a SliderTable for use. This is // similar to GeomVertexFormat::register_format(). Once // registered, a SliderTable may no longer be // modified (although the individual VertexSlider // objects may modify their reported sliders). // // This must be called before a table may be used in a // Geom. After this call, you should discard the // original pointer you passed in (which may or may not // now be invalid) and let its reference count decrement // normally; you should use only the returned value from // this point on. //////////////////////////////////////////////////////////////////// 1 5 table 1 2852 422 14 Dtool_MAKPWedP 6 446 2751 0 14 Dtool_MAKPWedP 271 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_num_sliders // Access: Published // Description: Returns the number of sliders in the table. //////////////////////////////////////////////////////////////////// 1 4 this 3 2852 423 14 Dtool_MAKPiKKK 7 447 2849 0 14 Dtool_MAKPiKKK 259 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_slider // Access: Published // Description: Returns the nth slider in the table. //////////////////////////////////////////////////////////////////// 2 4 this 3 2852 1 n 1 2751 424 14 Dtool_MAKPnGgJ 6 448 2845 0 14 Dtool_MAKPnGgJ 320 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_slider_rows // Access: Published // Description: Returns the set of rows (vertices) governed by the // nth slider in the table. //////////////////////////////////////////////////////////////////// 2 4 this 3 2852 1 n 1 2751 425 14 Dtool_MAKPLzF1 6 449 2845 0 14 Dtool_MAKPLzF1 416 //////////////////////////////////////////////////////////////////// // Function: SliderTable::find_sliders // Access: Published // Description: Returns a list of slider indices that represent the // list of sliders with the indicated name, or an empty // SparseArray if no slider in the table has that name. //////////////////////////////////////////////////////////////////// 2 4 this 3 2852 4 name 1 2760 426 14 Dtool_MAKP_R_2 6 450 2748 0 14 Dtool_MAKP_R_2 329 //////////////////////////////////////////////////////////////////// // Function: SliderTable::has_slider // Access: Published // Description: Returns true if the table has at least one slider by // the indicated name, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2852 4 name 1 2760 427 14 Dtool_MAKPy3YI 6 451 2748 0 14 Dtool_MAKPy3YI 309 //////////////////////////////////////////////////////////////////// // Function: SliderTable::is_empty // Access: Published // Description: Returns true if the table has no sliders, false if it // has at least one. //////////////////////////////////////////////////////////////////// 1 4 this 3 2852 428 14 Dtool_MAKPWdqY 7 452 2810 0 14 Dtool_MAKPWdqY 560 //////////////////////////////////////////////////////////////////// // Function: SliderTable::get_modified // Access: Published // Description: Returns a sequence number that's guaranteed to change // at least when any VertexSliders in the table // change. (However, this is only true for a registered // table. An unregistered table may or may not // reflect an update here when a VertexSlider // changes.) //////////////////////////////////////////////////////////////////// 2 4 this 3 2852 14 current_thread 1 2812 429 14 Dtool_MAKPRlhx 4 453 2747 0 14 Dtool_MAKPRlhx 301 //////////////////////////////////////////////////////////////////// // Function: SliderTable::set_slider // Access: Published // Description: Replaces the nth slider. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 3 4 this 3 2851 1 n 1 2751 6 slider 1 2849 430 14 Dtool_MAKPow2A 4 454 2747 0 14 Dtool_MAKPow2A 327 //////////////////////////////////////////////////////////////////// // Function: SliderTable::set_slider_rows // Access: Published // Description: Replaces the rows affected by the nth slider. Only // valid for unregistered tables. //////////////////////////////////////////////////////////////////// 3 4 this 3 2851 1 n 1 2751 4 rows 1 2845 431 14 Dtool_MAKPDBVG 4 455 2747 0 14 Dtool_MAKPDBVG 303 //////////////////////////////////////////////////////////////////// // Function: SliderTable::remove_slider // Access: Published // Description: Removes the nth slider. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 2 4 this 3 2851 1 n 1 2751 432 14 Dtool_MAKPQ5UW 6 456 2751 0 14 Dtool_MAKPQ5UW 373 //////////////////////////////////////////////////////////////////// // Function: SliderTable::add_slider // Access: Published // Description: Adds a new slider to the table, and returns the // index number of the new slider. Only valid for // unregistered tables. //////////////////////////////////////////////////////////////////// 3 4 this 3 2851 6 slider 1 2849 4 rows 1 2845 433 14 Dtool_MAKPLkXb 4 457 2747 0 14 Dtool_MAKPLkXb 218 //////////////////////////////////////////////////////////////////// // Function: SliderTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2852 3 out 1 2749 434 14 Dtool_MAKPcIiW 7 458 2763 0 14 Dtool_MAKPcIiW 0 0 435 14 Dtool_MAKPKRDk 7 464 2854 1816 14 Dtool_MAKPKRDk 232 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2777 436 14 Dtool_MAKPRp_z 7 464 2854 1816 14 Dtool_MAKPRp_z 477 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Constructor // Access: Published // Description: This constructor copies all of the basic properties // of the source VertexData, like usage_hint and // animation tables, but does not copy the actual data, // and it allows you to specify a different format. //////////////////////////////////////////////////////////////////// 2 4 copy 1 2777 6 format 1 2775 437 14 Dtool_MAKPrYjH 7 464 2854 1816 14 Dtool_MAKPrYjH 227 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 name 1 2742 6 format 1 2775 10 usage_hint 1 2648 438 14 Dtool_MAKPDxOu 7 465 2854 1816 14 Dtool_MAKPDxOu 480 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a GeomVertexData that is // actively being used for rendering. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 4 copy 1 2777 439 14 Dtool_MAKPpkcB 4 467 2747 0 14 Dtool_MAKPpkcB 0 2 4 this 3 2854 4 size 1 2743 440 14 Dtool_MAKPhhxk 6 470 2751 0 14 Dtool_MAKPhhxk 326 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::compare_to // Access: Published // Description: Returns 0 if the two objects are equivalent, even if // they are not the same pointer. //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 5 other 1 2777 441 14 Dtool_MAKPBGI0 6 471 2742 0 14 Dtool_MAKPBGI0 866 // Filename: geomVertexData.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexData::get_name // Access: Published // Description: Returns the name passed to the constructor, if any. // This name is reported on the PStats graph for vertex // computations. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 442 14 Dtool_MAKPiYq5 4 472 2747 0 14 Dtool_MAKPiYq5 345 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_name // Access: Published // Description: Changes the name of the vertex data. This name is // reported on the PStats graph for vertex computations. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 4 name 1 2742 443 14 Dtool_MAKPs9db 6 473 2648 0 14 Dtool_MAKPs9db 778 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_usage_hint // Access: Published // Description: Returns the usage hint that was passed to the // constructor, and which will be passed to each array // data object created initially, and arrays created as // the result of a convert_to() operation. See // geomEnums.h. // // However, each individual array may be replaced with a // different array object with an independent usage hint // specified, so there is no guarantee that the // individual arrays all have the same usage_hint. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 444 14 Dtool_MAKPk_1i 4 474 2747 0 14 Dtool_MAKPk_1i 580 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for this vertex data, and // for all of the arrays that share this data. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 10 usage_hint 1 2648 445 14 Dtool_MAKP67sy 7 475 2775 0 14 Dtool_MAKP67sy 318 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_format // Access: Published // Description: Returns a pointer to the GeomVertexFormat structure // that defines this data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 446 14 Dtool_MAKPD1zm 4 476 2747 0 14 Dtool_MAKPD1zm 585 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_format // Access: Published // Description: Changes the format of the vertex data. If the data // is not empty, this will implicitly change every row // to match the new format. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 6 format 1 2775 447 14 Dtool_MAKP88D7 6 477 2748 0 14 Dtool_MAKP88D7 398 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::has_column // Access: Published // Description: Returns true if the data has the named column, // false otherwise. This is really just a shortcut for // asking the same thing from the format. //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 4 name 1 2760 448 14 Dtool_MAKPxs3S 6 478 2751 0 14 Dtool_MAKPxs3S 362 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_num_rows // Access: Published // Description: Returns the number of rows stored within all the // arrays. All arrays store data for the same n // rows. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 449 14 Dtool_MAKPtnWY 6 479 2748 0 14 Dtool_MAKPtnWY 1250 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_num_rows // Access: Published // Description: Sets the length of the array to n rows in all of // the various arrays (presumably by adding rows). // // The new vertex data is initialized to 0, except for // the "color" column, which is initialized to (1, 1, 1, // 1). // // The return value is true if the number of rows // was changed, false if the object already contained n // rows (or if there was some error). // // Although this method is Published, application code // only very rarely has any need to call it. Instead, // you should use the GeomVertexWriter to build up the // rows in a GeomVertexData object automatically, // without need to explicitly set the number of // rows. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 1 n 1 2751 450 14 Dtool_MAKP0MpE 6 480 2748 0 14 Dtool_MAKP0MpE 1085 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::unclean_set_num_rows // Access: Published // Description: This method behaves like set_num_rows(), except the // new data is not initialized. Furthermore, after this // call, *any* of the data in the GeomVertexData may be // uninitialized, including the earlier rows. // // This is intended for applications that are about to // completely fill the GeomVertexData with new data // anyway; it provides a tiny performance boost over // set_num_rows(). // // Although this method is Published, application code // only very rarely has any need to call it. Instead, // you should use the GeomVertexWriter to build up the // rows in a GeomVertexData object automatically, // without need to explicitly set the number of // rows. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 1 n 1 2751 451 14 Dtool_MAKPv6Ji 4 481 2747 0 14 Dtool_MAKPv6Ji 554 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_rows // Access: Published // Description: Removes all of the rows from the arrays; // functionally equivalent to set_num_rows(0) (but // faster). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 452 14 Dtool_MAKPLk3d 6 482 2751 0 14 Dtool_MAKPLk3d 376 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_num_arrays // Access: Published // Description: Returns the number of individual arrays stored within // the data. This must match // get_format()->get_num_arrays(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 453 14 Dtool_MAKPB79G 7 483 2770 0 14 Dtool_MAKPB79G 412 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_array // Access: Published // Description: Returns a const pointer to the vertex data for the // indicated array, for application code to directly // examine (but not modify) the underlying vertex data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 1 i 1 2751 454 14 Dtool_MAKPodUJ 7 484 2808 1669 14 Dtool_MAKPodUJ 757 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::modify_array // Access: Published // Description: Returns a modifiable pointer to the indicated vertex // array, so that application code may directly // manipulate the data. You should avoid changing // the length of this array, since all of the arrays // should be kept in sync--use set_num_rows() // instead. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 1 i 1 2751 455 14 Dtool_MAKPtWDK 4 485 2747 0 14 Dtool_MAKPtWDK 667 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_array // Access: Published // Description: Replaces the indicated vertex data array with // a completely new array. You should be careful that // the new array has the same length and format as the // old one, unless you know what you are doing. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 3 4 this 3 2854 1 i 1 2751 5 array 1 2770 456 14 Dtool_MAKPBS4c 7 486 2831 0 14 Dtool_MAKPBS4c 868 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_transform_table // Access: Published // Description: Returns a const pointer to the TransformTable // assigned to this data. Vertices within the table // will index into this table to indicate their // dynamic skinning information; this table is used when // the vertex animation is to be performed by the // graphics hardware (but also see // get_transform_blend_table()). // // This will return NULL if the vertex data does not // have a TransformTable assigned (which implies the // vertices will not be animated by the graphics // hardware). //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 457 14 Dtool_MAKPsx_5 4 487 2747 0 14 Dtool_MAKPsx_5 708 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_transform_table // Access: Published // Description: Replaces the TransformTable on this vertex // data with the indicated table. The length of this // table should be consistent with the maximum table // index assigned to the vertices under the // "transform_index" name. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 5 table 1 2831 458 14 Dtool_MAKPYfui 4 488 2747 0 14 Dtool_MAKPYfui 401 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_transform_table // Access: Published // Description: Sets the TransformTable pointer to NULL, // removing the table from the vertex data. This // disables hardware-driven vertex animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 459 14 Dtool_MAKPFkfO 7 489 2843 0 14 Dtool_MAKPFkfO 816 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_transform_blend_table // Access: Published // Description: Returns a const pointer to the TransformBlendTable // assigned to this data. Vertices within the table // will index into this table to indicate their // dynamic skinning information; this table is used when // the vertex animation is to be performed by the CPU // (but also see get_transform_table()). // // This will return NULL if the vertex data does not // have a TransformBlendTable assigned (which implies // the vertices will not be animated by the CPU). //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 460 14 Dtool_MAKPfufT 7 490 2842 0 14 Dtool_MAKPfufT 665 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::modify_transform_blend_table // Access: Published // Description: Returns a modifiable pointer to the current // TransformBlendTable on this vertex data, if any, or // NULL if there is not a TransformBlendTable. See // get_transform_blend_table(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 461 14 Dtool_MAKP7Mco 4 491 2747 0 14 Dtool_MAKP7Mco 719 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_transform_blend_table // Access: Published // Description: Replaces the TransformBlendTable on this vertex // data with the indicated table. The length of this // table should be consistent with the maximum table // index assigned to the vertices under the // "transform_blend" name. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 5 table 1 2843 462 14 Dtool_MAKPkA3X 4 492 2747 0 14 Dtool_MAKPkA3X 407 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_transform_blend_table // Access: Published // Description: Sets the TransformBlendTable pointer to NULL, // removing the table from the vertex data. This // disables CPU-driven vertex animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 463 14 Dtool_MAKPED2E 7 493 2852 0 14 Dtool_MAKPED2E 558 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_slider_table // Access: Published // Description: Returns a const pointer to the SliderTable // assigned to this data. Vertices within the vertex // data will look up their morph offsets, if any, within // this table. // // This will return NULL if the vertex data does not // have a SliderTable assigned. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 464 14 Dtool_MAKP__9X 4 494 2747 0 14 Dtool_MAKP__9X 777 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_slider_table // Access: Published // Description: Replaces the SliderTable on this vertex // data with the indicated table. There should be an // entry in this table for each kind of morph offset // defined in the vertex data. // // The SliderTable object must have been registered // prior to setting it on the GeomVertexData. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2854 5 table 1 2852 465 14 Dtool_MAKPFr1M 4 495 2747 0 14 Dtool_MAKPFr1M 392 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_slider_table // Access: Published // Description: Sets the SliderTable pointer to NULL, // removing the table from the vertex data. This // disables morph (blend shape) animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 466 14 Dtool_MAKPBRE9 6 496 2751 0 14 Dtool_MAKPBRE9 332 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_num_bytes // Access: Published // Description: Returns the total number of bytes consumed by the // different arrays of the vertex data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 467 14 Dtool_MAKPvZmm 7 497 2810 0 14 Dtool_MAKPvZmm 366 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the vertex data is // modified. //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 14 current_thread 1 2812 468 14 Dtool_MAKPdUin 7 497 2810 0 14 Dtool_MAKPdUin 366 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the vertex data is // modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 469 14 Dtool_MAKPOOPS 6 498 2748 0 14 Dtool_MAKPOOPS 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::request_resident // Access: Published // Description: Returns true if the vertex data is currently resident // in memory. If this returns false, the vertex data will // be brought back into memory shortly; try again later. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 470 14 Dtool_MAKPI7Mn 4 499 2747 0 14 Dtool_MAKPI7Mn 1099 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::copy_from // Access: Published // Description: Copies all the data from the other array into the // corresponding data types in this array, by matching // data types name-by-name. // // keep_data_objects specifies what to do when one or // more of the arrays can be copied without the need to // apply any conversion operation. If it is true, the // original GeomVertexArrayData objects in this object // are retained, and their data arrays are copied // byte-by-byte from the source; if it is false, then the // GeomVertexArrayData objects are copied pointerwise // from the source. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 4 4 this 3 2854 6 source 1 2777 17 keep_data_objects 1 2748 14 current_thread 1 2812 471 14 Dtool_MAKPTi_p 4 499 2747 0 14 Dtool_MAKPTi_p 1099 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::copy_from // Access: Published // Description: Copies all the data from the other array into the // corresponding data types in this array, by matching // data types name-by-name. // // keep_data_objects specifies what to do when one or // more of the arrays can be copied without the need to // apply any conversion operation. If it is true, the // original GeomVertexArrayData objects in this object // are retained, and their data arrays are copied // byte-by-byte from the source; if it is false, then the // GeomVertexArrayData objects are copied pointerwise // from the source. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 3 4 this 3 2854 6 source 1 2777 17 keep_data_objects 1 2748 472 14 Dtool_MAKP6qtd 4 500 2747 0 14 Dtool_MAKP6qtd 643 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::copy_row_from // Access: Published // Description: Copies a single row of the data from the other array // into the indicated row of this array. In this case, // the source format must exactly match the destination // format. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 5 4 this 3 2854 8 dest_row 1 2751 6 source 1 2777 10 source_row 1 2751 14 current_thread 1 2812 473 14 Dtool_MAKPUeFN 7 501 2777 0 14 Dtool_MAKPUeFN 408 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::convert_to // Access: Published // Description: Returns a new GeomVertexData that represents the same // contents as this one, with all data types matched up // name-by-name to the indicated new format. //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 10 new_format 1 2775 474 14 Dtool_MAKPLmTH 7 502 2777 0 14 Dtool_MAKPLmTH 466 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::scale_color // Access: Published // Description: Returns a new GeomVertexData object with the color // table modified in-place to apply the indicated scale. // // If the vertex data does not include a color column, a // new one will not be added. //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 11 color_scale 1 2855 475 14 Dtool_MAKPnR2X 7 502 2777 0 14 Dtool_MAKPnR2X 599 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::scale_color // Access: Published // Description: Returns a new GeomVertexData object with the color // table replaced with a new color table that has been // scaled by the indicated value. The new color table // will be added as a new array; if the old color table // was interleaved with a previous array, the previous // array will not be repacked. //////////////////////////////////////////////////////////////////// 5 4 this 3 2777 11 color_scale 1 2855 14 num_components 1 2751 12 numeric_type 1 2652 8 contents 1 2653 476 14 Dtool_MAKPYUcy 7 503 2777 0 14 Dtool_MAKPYUcy 453 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_color // Access: Published // Description: Returns a new GeomVertexData object with the color // data modified in-place with the new value. // // If the vertex data does not include a color column, a // new one will not be added. //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 5 color 1 2855 477 14 Dtool_MAKPpU_h 7 503 2777 0 14 Dtool_MAKPpU_h 599 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::set_color // Access: Published // Description: Returns a new GeomVertexData object with the color // table replaced with a new color table for which each // vertex has the indicated value. The new color table // will be added as a new array; if the old color table // was interleaved with a previous array, the previous // array will not be repacked. //////////////////////////////////////////////////////////////////// 5 4 this 3 2777 5 color 1 2855 14 num_components 1 2751 12 numeric_type 1 2652 8 contents 1 2653 478 14 Dtool_MAKPpzio 7 504 2777 0 14 Dtool_MAKPpzio 577 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::reverse_normals // Access: Published // Description: Returns a new GeomVertexData object with the normal // data modified in-place, so that each lighting normal // is now facing in the opposite direction. // // If the vertex data does not include a normal column, // this returns the original GeomVertexData object, // unchanged. //////////////////////////////////////////////////////////////////// 1 4 this 3 2777 479 14 Dtool_MAKPNBVp 7 505 2777 0 14 Dtool_MAKPNBVp 1321 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::animate_vertices // Access: Published // Description: Returns a GeomVertexData that represents the results // of computing the vertex animation on the CPU for this // GeomVertexData. // // If there is no CPU-defined vertex animation on this // object, this just returns the original object. // // If there is vertex animation, but the VertexTransform // values have not changed since last time, this may // return the same pointer it returned previously. Even // if the VertexTransform values have changed, it may // still return the same pointer, but with its contents // modified (this is preferred, since it allows the // graphics backend to update vertex buffers optimally). // // If force is false, this method may return immediately // with stale data, if the vertex data is not completely // resident. If force is true, this method will never // return stale data, but may block until the data is // available. //////////////////////////////////////////////////////////////////// 3 4 this 3 2777 5 force 1 2748 14 current_thread 1 2812 480 14 Dtool_MAKPd9F_ 4 506 2747 0 14 Dtool_MAKPd9F_ 555 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_animated_vertices // Access: Published // Description: Removes the cache of animated vertices computed by a // previous call to animate_vertices() within the same // frame. This will force the next call to // animate_vertices() to recompute these values from // scratch. Normally it is not necessary to call this. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 481 14 Dtool_MAKPwwi1 7 507 2854 1816 14 Dtool_MAKPwwi1 776 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::replace_column // Access: Published // Description: Returns a new GeomVertexData object, suitable for // modification, with the indicated data type replaced // with a new table filled with undefined values. The // new table will be added as a new array; if the old // table was interleaved with a previous array, the // previous array will not be repacked. // // If num_components is 0, the indicated name is simply // removed from the type, without replacing it with // anything else. //////////////////////////////////////////////////////////////////// 5 4 this 3 2777 4 name 1 2759 14 num_components 1 2751 12 numeric_type 1 2652 8 contents 1 2653 482 14 Dtool_MAKPnWTw 4 508 2747 0 14 Dtool_MAKPnWTw 222 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 3 out 1 2749 483 14 Dtool_MAKPsKfe 4 509 2747 0 14 Dtool_MAKPsKfe 221 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2777 3 out 1 2749 12 indent_level 1 2751 484 14 Dtool_MAKPUjPx 4 509 2747 0 14 Dtool_MAKPUjPx 221 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2777 3 out 1 2749 485 14 Dtool_MAKPNTZJ 4 510 2747 0 14 Dtool_MAKPNTZJ 324 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::describe_vertex // Access: Published // Description: Writes a verbose, human-friendly description of the // indicated vertex number. //////////////////////////////////////////////////////////////////// 3 4 this 3 2777 3 out 1 2749 3 row 1 2751 486 14 Dtool_MAKPZI16 4 511 2747 0 14 Dtool_MAKPZI16 556 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_cache // Access: Published // Description: Removes all of the previously-cached results of // convert_to(). // // This blows away the entire cache, upstream and // downstream the pipeline. Use clear_cache_stage() // instead if you only want to blow away the cache at // the current stage and upstream. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 487 14 Dtool_MAKPn1dY 4 512 2747 0 14 Dtool_MAKPn1dY 608 //////////////////////////////////////////////////////////////////// // Function: GeomVertexData::clear_cache_stage // Access: Published // Description: Removes all of the previously-cached results of // convert_to(), at the current pipeline stage and // upstream. Does not affect the downstream cache. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2854 488 14 Dtool_MAKPIU4H 7 513 2763 0 14 Dtool_MAKPIU4H 0 0 489 14 Dtool_MAKPkRv_ 7 460 2820 0 14 Dtool_MAKPkRv_ 0 1 4 this 3 2854 490 14 Dtool_MAKPT3AG 7 461 2854 1816 14 Dtool_MAKPT3AG 0 1 4 this 3 2820 491 14 Dtool_MAKPVY07 6 462 2773 0 14 Dtool_MAKPVY07 0 1 4 this 3 2854 492 14 Dtool_MAKPLM59 7 463 2854 1816 14 Dtool_MAKPLM59 0 1 4 this 3 2773 493 14 Dtool_MAKPIczb 7 516 2858 1867 14 Dtool_MAKPIczb 769 // Filename: animateVerticesRequest.I // Created by: pratt (20Nov07) // //////////////////////////////////////////////////////////////////// // // 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: AnimateVerticesRequest::Constructor // Access: Published // Description: Create a new AnimateVerticesRequest. //////////////////////////////////////////////////////////////////// 1 16 geom_vertex_data 1 2854 494 14 Dtool_MAKPbyCH 6 517 2748 0 14 Dtool_MAKPbyCH 322 //////////////////////////////////////////////////////////////////// // Function: AnimateVerticesRequest::is_ready // Access: Published // Description: Returns true if this request has completed, false if // it is still pending. //////////////////////////////////////////////////////////////////// 1 4 this 3 2859 495 14 Dtool_MAKPM1oU 7 518 2763 0 14 Dtool_MAKPM1oU 0 0 496 14 Dtool_MAKPjSRf 7 522 2763 0 14 Dtool_MAKPjSRf 0 0 497 14 Dtool_MAKPB9LY 6 528 2743 0 14 Dtool_MAKPB9LY 1039 // Filename: bufferContext.I // Created by: drose (16Mar06) // //////////////////////////////////////////////////////////////////// // // 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: BufferContext::get_data_size_bytes // Access: Public // Description: Returns the number of bytes previously reported for // the data object. This is used to track changes in // the data object's allocated size; if it changes from // this, we need to create a new buffer. This is also // used to track memory utilization in PStats. //////////////////////////////////////////////////////////////////// 1 4 this 3 2861 498 14 Dtool_MAKP7v5_ 7 529 2810 0 14 Dtool_MAKP7v5_ 320 //////////////////////////////////////////////////////////////////// // Function: BufferContext::get_modified // Access: Public // Description: Returns the UpdateSeq that was recorded the last time // mark_loaded() was called. //////////////////////////////////////////////////////////////////// 1 4 this 3 2861 499 14 Dtool_MAKPlXDp 6 530 2748 0 14 Dtool_MAKPlXDp 382 //////////////////////////////////////////////////////////////////// // Function: BufferContext::get_active // Access: Public // Description: Returns the active flag associated with this object. // An object is considered "active" if it was rendered // in the current frame. //////////////////////////////////////////////////////////////////// 1 4 this 3 2861 500 14 Dtool_MAKP3xOQ 6 531 2748 0 14 Dtool_MAKP3xOQ 396 //////////////////////////////////////////////////////////////////// // Function: BufferContext::get_resident // Access: Public // Description: Returns the resident flag associated with this // object. An object is considered "resident" if it // appears to be resident in texture memory. //////////////////////////////////////////////////////////////////// 1 4 this 3 2861 501 14 Dtool_MAKPL17V 7 532 2763 0 14 Dtool_MAKPL17V 0 0 502 14 Dtool_MAKPJsWn 6 525 2864 0 14 Dtool_MAKPJsWn 0 1 4 this 3 2863 503 14 Dtool_MAKPAKtd 6 526 2863 0 14 Dtool_MAKPAKtd 0 1 4 this 3 2864 504 14 Dtool_MAKPxNhI 7 538 2865 1883 14 Dtool_MAKPxNhI 478 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a GeomPrimitive that is // actively being used for rendering. //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 4 copy 1 2866 505 14 Dtool_MAKP7TKD 4 540 2747 0 14 Dtool_MAKP7TKD 0 2 4 this 3 2865 4 size 1 2743 506 14 Dtool_MAKPkToi 7 543 2865 1883 14 Dtool_MAKPkToi 0 1 4 this 3 2866 507 14 Dtool_MAKPGgvy 6 544 2651 0 14 Dtool_MAKPGgvy 0 1 4 this 3 2866 508 14 Dtool_MAKPdMe3 6 545 2751 0 14 Dtool_MAKPdMe3 397 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_geom_rendering // Access: Published, Virtual // Description: Returns the set of GeomRendering bits that represent // the rendering properties required to properly render // this primitive. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 509 14 Dtool_MAKP7mHk 6 546 2650 0 14 Dtool_MAKP7mHk 905 // Filename: geomPrimitive.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomPrimitive::get_shade_model // Access: Published // Description: Returns the ShadeModel hint for this primitive. // This is intended as a hint to the renderer to tell it // how the per-vertex colors and normals are applied. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 510 14 Dtool_MAKPloHJ 4 547 2747 0 14 Dtool_MAKPloHJ 865 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_shade_model // Access: Published // Description: Changes the ShadeModel hint for this primitive. // This is different from the ShadeModelAttrib that // might also be applied from the scene graph. This // does not affect the shade model that is in effect // when rendering, but rather serves as a hint to the // renderer to tell it how the per-vertex colors and // normals on this primitive are applied. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 11 shade_model 1 2650 511 14 Dtool_MAKPrTA_ 6 548 2648 0 14 Dtool_MAKPrTA_ 921 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_usage_hint // Access: Published // Description: Returns the usage hint for this primitive. See // geomEnums.h. This has nothing to do with the usage // hint associated with the primitive's vertices; this // only specifies how often the vertex indices that // define the primitive will be modified. // // It is perfectly legal (and, in fact, common) for a // GeomPrimitive to have UH_static on itself, while // referencing vertex data with UH_dynamic. This means // that the vertices themselves will be animated, but // the primitive will always reference the same set of // vertices from the pool. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 512 14 Dtool_MAKPpILm 4 549 2747 0 14 Dtool_MAKPpILm 512 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for this primitive. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 10 usage_hint 1 2648 513 14 Dtool_MAKPqhQw 6 550 2652 0 14 Dtool_MAKPqhQw 342 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_index_type // Access: Public // Description: Returns the numeric type of the index column. // Normally, this will be either NT_uint16 or NT_uint32. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 514 14 Dtool_MAKPAwMD 4 551 2747 0 14 Dtool_MAKPAwMD 939 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_index_type // Access: Published // Description: Changes the numeric type of the index column. // Normally, this should be either NT_uint16 or // NT_uint32. // // The index type must be large enough to include all of // the index values in the primitive. It may be // automatically elevated, if necessary, to a larger // index type, by a subsequent call to add_index() that // names an index value that does not fit in the index // type you specify. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 10 index_type 1 2652 515 14 Dtool_MAKPjrU4 6 552 2748 0 14 Dtool_MAKPjrU4 439 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::is_composite // Access: Published // Description: Returns true if the primitive is a composite // primitive such as a tristrip or trifan, or false if // it is a fundamental primitive such as a collection of // triangles. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 516 14 Dtool_MAKP6QHh 6 553 2748 0 14 Dtool_MAKP6QHh 683 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::is_indexed // Access: Published // Description: Returns true if the primitive is indexed, false // otherwise. An indexed primitive stores a table of // index numbers into its GeomVertexData, so that it can // reference the vertices in any order. A nonindexed // primitive, on the other hand, stores only the first // vertex number and number of vertices used, so that it // can only reference the vertices consecutively. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 517 14 Dtool_MAKPmlTX 6 554 2751 0 14 Dtool_MAKPmlTX 536 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_first_vertex // Access: Published // Description: Returns the first vertex number referenced by the // primitive. This is particularly important in the // case of a nonindexed primitive, in which case // get_first_vertex() and get_num_vertices() completely // define the extent of the vertex range. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 518 14 Dtool_MAKPvNCm 6 555 2751 0 14 Dtool_MAKPvNCm 321 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_vertices // Access: Published // Description: Returns the number of vertices used by all the // primitives in this object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 519 14 Dtool_MAKPResf 6 556 2751 0 14 Dtool_MAKPResf 267 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_vertex // Access: Published // Description: Returns the ith vertex index in the table. //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 1 i 1 2751 520 14 Dtool_MAKPfZh_ 4 557 2747 0 14 Dtool_MAKPfZh_ 780 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertex // Access: Published // Description: Adds the indicated vertex to the list of vertex // indices used by the graphics primitive type. To // define a primitive, you must call add_vertex() for // each vertex of the new primitive, and then call // close_primitive() after you have specified the last // vertex of each primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 6 vertex 1 2751 521 14 Dtool_MAKPHQPq 4 558 2747 0 14 Dtool_MAKPHQPq 255 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertices // Access: Public // Description: Adds several vertices in a row. //////////////////////////////////////////////////////////////////// 3 4 this 3 2865 2 v1 1 2751 2 v2 1 2751 522 14 Dtool_MAKPjcFB 4 558 2747 0 14 Dtool_MAKPjcFB 255 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertices // Access: Public // Description: Adds several vertices in a row. //////////////////////////////////////////////////////////////////// 4 4 this 3 2865 2 v1 1 2751 2 v2 1 2751 2 v3 1 2751 523 14 Dtool_MAKP2Q0u 4 558 2747 0 14 Dtool_MAKP2Q0u 255 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_vertices // Access: Public // Description: Adds several vertices in a row. //////////////////////////////////////////////////////////////////// 5 4 this 3 2865 2 v1 1 2751 2 v2 1 2751 2 v3 1 2751 2 v4 1 2751 524 14 Dtool_MAKPa2sp 4 559 2747 0 14 Dtool_MAKPa2sp 531 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_consecutive_vertices // Access: Published // Description: Adds a consecutive sequence of vertices, beginning at // start, to the primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 3 4 this 3 2865 5 start 1 2751 12 num_vertices 1 2751 525 14 Dtool_MAKP7DMY 4 560 2747 0 14 Dtool_MAKP7DMY 621 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::add_next_vertices // Access: Published // Description: Adds the next n vertices in sequence, beginning from // the last vertex added to the primitive + 1. // // This is most useful when you are building up a // primitive and a GeomVertexData at the same time, and // you just want the primitive to reference the first n // vertices from the data, then the next n, and so on. //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 12 num_vertices 1 2751 526 14 Dtool_MAKP6fGw 6 561 2748 0 14 Dtool_MAKP6fGw 654 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::close_primitive // Access: Published // Description: Indicates that the previous n calls to add_vertex(), // since the last call to close_primitive(), have fully // defined a new primitive. Returns true if successful, // false otherwise. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2865 527 14 Dtool_MAKPM1Rt 4 562 2747 0 14 Dtool_MAKPM1Rt 527 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::clear_vertices // Access: Published // Description: Removes all of the vertices and primitives from the // object, so they can be re-added. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2865 528 14 Dtool_MAKPLbh3 4 563 2747 0 14 Dtool_MAKPLbh3 508 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::offset_vertices // Access: Published // Description: Adds the indicated offset to all vertices used by the // primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 6 offset 1 2751 529 14 Dtool_MAKP6uw4 4 564 2747 0 14 Dtool_MAKP6uw4 390 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::make_nonindexed // Access: Published // Description: Converts the primitive from indexed to nonindexed by // duplicating vertices as necessary into the indicated // dest GeomVertexData. //////////////////////////////////////////////////////////////////// 3 4 this 3 2865 4 dest 1 2854 6 source 1 2777 530 14 Dtool_MAKPxTd_ 4 565 2747 0 14 Dtool_MAKPxTd_ 383 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::pack_vertices // Access: Published // Description: Packs the vertices used by the primitive from the // indicated source array onto the end of the indicated // destination array. //////////////////////////////////////////////////////////////////// 3 4 this 3 2865 4 dest 1 2854 6 source 1 2777 531 14 Dtool_MAKPKY2E 4 566 2747 0 14 Dtool_MAKPKY2E 817 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::make_indexed // Access: Published // Description: Converts the primitive from nonindexed form to // indexed form. This will simply create an index table // that is numbered consecutively from // get_first_vertex(); it does not automatically // collapse together identical vertices that may have // been split apart by a previous call to // make_nonindexed(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2865 532 14 Dtool_MAKP6WIt 6 567 2751 0 14 Dtool_MAKP6WIt 372 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_primitives // Access: Published // Description: Returns the number of individual primitives stored // within this object. All primitives are the same // type. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 533 14 Dtool_MAKPsxUL 6 568 2751 0 14 Dtool_MAKPsxUL 800 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_start // Access: Published // Description: Returns the element within the _vertices list at which // the nth primitive starts. // // If i is one more than the highest valid primitive // vertex, the return value will be one more than the // last valid vertex. Thus, it is generally true that // the vertices used by a particular primitive i are the // set get_primitive_start(n) <= vi < // get_primitive_start(n + 1) (although this range also // includes the unused vertices between primitives). //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 1 n 1 2751 534 14 Dtool_MAKPB_K0 6 569 2751 0 14 Dtool_MAKPB_K0 408 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_end // Access: Published // Description: Returns the element within the _vertices list at which // the nth primitive ends. This is one past the last // valid element for the nth primitive. //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 1 n 1 2751 535 14 Dtool_MAKPn6mz 6 570 2751 0 14 Dtool_MAKPn6mz 406 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_num_vertices // Access: Published // Description: Returns the number of vertices used by the nth // primitive. This is the same thing as // get_primitive_end(n) - get_primitive_start(n). //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 1 n 1 2751 536 14 Dtool_MAKPaEOa 6 571 2751 0 14 Dtool_MAKPaEOa 393 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_faces // Access: Published // Description: Returns the number of triangles or other fundamental // type (such as line segments) represented by all the // primitives in this object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 537 14 Dtool_MAKP4WCg 6 572 2751 0 14 Dtool_MAKP4WCg 402 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_num_faces // Access: Published // Description: Returns the number of triangles or other fundamental // type (such as line segments) represented by the nth // primitive in this object. //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 1 n 1 2751 538 14 Dtool_MAKPB5d5 6 573 2751 0 14 Dtool_MAKPB5d5 328 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_min_vertex // Access: Published // Description: Returns the minimum vertex index number used by all // the primitives in this object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 539 14 Dtool_MAKP4mcR 6 574 2751 0 14 Dtool_MAKP4mcR 337 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_min_vertex // Access: Published // Description: Returns the minimum vertex index number used by the // nth primitive in this object. //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 1 n 1 2751 540 14 Dtool_MAKPDfoY 6 575 2751 0 14 Dtool_MAKPDfoY 328 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_max_vertex // Access: Published // Description: Returns the maximum vertex index number used by all // the primitives in this object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 541 14 Dtool_MAKPyuOO 6 576 2751 0 14 Dtool_MAKPyuOO 337 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_primitive_max_vertex // Access: Published // Description: Returns the maximum vertex index number used by the // nth primitive in this object. //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 1 n 1 2751 542 14 Dtool_MAKPuWdu 7 577 2866 0 14 Dtool_MAKPuWdu 795 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::decompose // Access: Published // Description: Decomposes a complex primitive type into a simpler // primitive type, for instance triangle strips to // triangles, and returns a pointer to the new primitive // definition. If the decomposition cannot be // performed, this might return the original object. // // This method is useful for application code that wants // to iterate through the set of triangles on the // primitive without having to write handlers for each // possible kind of primitive type. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 543 14 Dtool_MAKPyITm 7 578 2866 0 14 Dtool_MAKPyITm 739 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::rotate // Access: Published // Description: Returns a new primitive with the shade_model reversed // (if it is flat shaded), if possible. If the // primitive type cannot be rotated, returns the // original primitive, unrotated. // // If the current shade_model indicates // flat_vertex_last, this should bring the last vertex // to the first position; if it indicates // flat_vertex_first, this should bring the first vertex // to the last position. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 544 14 Dtool_MAKPjOE1 7 579 2866 0 14 Dtool_MAKPjOE1 842 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::doubleside // Access: Published // Description: Duplicates triangles in the primitive so that each // triangle is back-to-back with another triangle facing // in the opposite direction. Note that this doesn't // affect vertex normals, so this operation alone won't // work in the presence of lighting (but see // SceneGraphReducer::doubleside()). // // Also see CullFaceAttrib, which can enable rendering // of both sides of a triangle without having to // duplicate it (but which doesn't necessarily work in // the presence of lighting). //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 545 14 Dtool_MAKPIkTm 7 580 2866 0 14 Dtool_MAKPIkTm 823 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::reverse // Access: Published // Description: Reverses the winding order in the primitive so that // each triangle is facing in the opposite direction it // was originally. Note that this doesn't affect vertex // normals, so this operation alone won't work in the // presence of lighting (but see // SceneGraphReducer::reverse()). // // Also see CullFaceAttrib, which can change the visible // direction of a triangle without having to duplicate // it (but which doesn't necessarily work in the // presence of lighting). //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 546 14 Dtool_MAKP9Uwk 7 581 2866 0 14 Dtool_MAKP9Uwk 672 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::match_shade_model // Access: Published // Description: Returns a new primitive that is compatible with the // indicated shade model, if possible, or NULL if this // is not possible. // // In most cases, this will return either NULL or the // original primitive. In the case of a // SM_flat_first_vertex vs. a SM_flat_last_vertex (or // vice-versa), however, it will return a rotated // primitive. //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 11 shade_model 1 2650 547 14 Dtool_MAKPqobv 7 582 2866 0 14 Dtool_MAKPqobv 519 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::make_points // Access: Published // Description: Returns a new GeomPoints primitive that represents // each of the vertices in the original primitive, // rendered exactly once. If the original primitive is // already a GeomPoints primitive, returns the original // primitive unchanged. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 548 14 Dtool_MAKPj0Et 6 583 2751 0 14 Dtool_MAKPj0Et 322 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_bytes // Access: Published // Description: Returns the number of bytes consumed by the primitive // and its index table(s). //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 549 14 Dtool_MAKP1Cqn 6 584 2751 0 14 Dtool_MAKP1Cqn 308 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_data_size_bytes // Access: Published // Description: Returns the number of bytes stored in the vertices // array. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 550 14 Dtool_MAKP30ZO 7 585 2810 0 14 Dtool_MAKP30ZO 372 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the vertex index array is // modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 551 14 Dtool_MAKPjotH 6 586 2748 0 14 Dtool_MAKPjotH 451 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::request_resident // Access: Published // Description: Returns true if the primitive data is currently // resident in memory. If this returns false, the // primitive data will be brought back into memory // shortly; try again later. //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 552 14 Dtool_MAKPnNd0 6 587 2748 0 14 Dtool_MAKPnNd0 455 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::check_valid // Access: Published // Description: Verifies that the primitive only references vertices // that actually exist within the indicated // GeomVertexData. Returns true if the primitive // appears to be valid, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 11 vertex_data 1 2777 553 14 Dtool_MAKPa1o6 4 588 2747 0 14 Dtool_MAKPa1o6 230 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2866 3 out 1 2749 554 14 Dtool_MAKPbNE_ 4 589 2747 0 14 Dtool_MAKPbNE_ 229 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2866 3 out 1 2749 12 indent_level 1 2751 555 14 Dtool_MAKPBUuv 7 590 2770 0 14 Dtool_MAKPBUuv 812 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_vertices // Access: Published // Description: Returns a const pointer to the vertex index array so // application code can read it directly. This might // return NULL if the primitive is nonindexed. Do not // attempt to modify the returned array; use // modify_vertices() or set_vertices() for this. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 556 14 Dtool_MAKP1PQG 7 591 2808 1669 14 Dtool_MAKP1PQG 1321 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::modify_vertices // Access: Published // Description: Returns a modifiable pointer to the vertex index // list, so application code can directly fiddle with // this data. Use with caution, since there are no // checks that the data will be left in a stable state. // // If this is called on a nonindexed primitive, it will // implicitly be converted to an indexed primitive. // // If num_vertices is not -1, it specifies an artificial // limit to the number of vertices in the array. // Otherwise, all of the vertices in the array will be // used. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 12 num_vertices 1 2751 557 14 Dtool_MAKPf53e 7 591 2808 1669 14 Dtool_MAKPf53e 1321 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::modify_vertices // Access: Published // Description: Returns a modifiable pointer to the vertex index // list, so application code can directly fiddle with // this data. Use with caution, since there are no // checks that the data will be left in a stable state. // // If this is called on a nonindexed primitive, it will // implicitly be converted to an indexed primitive. // // If num_vertices is not -1, it specifies an artificial // limit to the number of vertices in the array. // Otherwise, all of the vertices in the array will be // used. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2865 558 14 Dtool_MAKPXyE_ 4 592 2747 0 14 Dtool_MAKPXyE_ 1115 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_vertices // Access: Published // Description: Completely replaces the vertex index list with a new // table. Chances are good that you should also replace // the ends list with set_ends() at the same time. // // If num_vertices is not -1, it specifies an artificial // limit to the number of vertices in the array. // Otherwise, all of the vertices in the array will be // used. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 3 4 this 3 2865 8 vertices 1 2770 12 num_vertices 1 2751 559 14 Dtool_MAKPC9oy 4 592 2747 0 14 Dtool_MAKPC9oy 1115 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_vertices // Access: Published // Description: Completely replaces the vertex index list with a new // table. Chances are good that you should also replace // the ends list with set_ends() at the same time. // // If num_vertices is not -1, it specifies an artificial // limit to the number of vertices in the array. // Otherwise, all of the vertices in the array will be // used. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 8 vertices 1 2770 560 14 Dtool_MAKP1R4R 4 593 2747 0 14 Dtool_MAKP1R4R 808 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_nonindexed_vertices // Access: Published // Description: Sets the primitive up as a nonindexed primitive, // using the indicated vertex range. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 3 4 this 3 2865 12 first_vertex 1 2751 12 num_vertices 1 2751 561 14 Dtool_MAKPhg3p 6 594 2751 0 14 Dtool_MAKPhg3p 642 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_index_stride // Access: Published // Description: A convenience function to return the gap between // successive index numbers, in bytes, of the index // data. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 562 14 Dtool_MAKPQK6w 7 595 2869 0 14 Dtool_MAKPQK6w 936 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_ends // Access: Published // Description: Returns a const pointer to the primitive ends // array so application code can read it directly. Do // not attempt to modify the returned array; use // modify_ends() or set_ends() for this. // // Note that simple primitive types, like triangles, do // not have a ends array: since all the primitives // have the same number of vertices, it is not needed. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 563 14 Dtool_MAKPUB9R 7 596 2871 0 14 Dtool_MAKPUB9R 1159 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::modify_ends // Access: Published // Description: Returns a modifiable pointer to the primitive ends // array, so application code can directly fiddle with // this data. Use with caution, since there are no // checks that the data will be left in a stable state. // // Note that simple primitive types, like triangles, do // not have a ends array: since all the primitives // have the same number of vertices, it is not needed. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2865 564 14 Dtool_MAKPX0vg 4 597 2747 0 14 Dtool_MAKPX0vg 1117 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_ends // Access: Published // Description: Completely replaces the primitive ends array with // a new table. Chances are good that you should also // replace the vertices list with set_vertices() at the // same time. // // Note that simple primitive types, like triangles, do // not have a ends array: since all the primitives // have the same number of vertices, it is not needed. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 2 4 this 3 2865 4 ends 1 2869 565 14 Dtool_MAKPKKGR 7 598 2770 0 14 Dtool_MAKPKKGR 827 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_mins // Access: Published // Description: Returns a const pointer to the primitive mins // array so application code can read it directly. Do // not attempt to modify the returned array; use // set_minmax() for this. // // Note that simple primitive types, like triangles, do // not have a mins array. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 566 14 Dtool_MAKPJsTw 7 599 2770 0 14 Dtool_MAKPJsTw 818 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_maxs // Access: Published // Description: Returns a const pointer to the primitive maxs // array so application code can read it directly. Do // not attempt to modify the returned array; use // set_minmax(). // // Note that simple primitive types, like triangles, do // not have a maxs array. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 567 14 Dtool_MAKPq8m_ 4 600 2747 0 14 Dtool_MAKPq8m_ 1093 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::set_minmax // Access: Published // Description: Explicitly specifies the minimum and maximum // vertices, as well as the lists of per-component min // and max. // // Use this method with extreme caution. It's generally // better to let the GeomPrimitive compute these // explicitly, unless for some reason you can do it // faster and you absolutely need the speed improvement. // // Note that any modification to the vertex array will // normally cause this to be recomputed, unless you set // it immediately again. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 5 4 this 3 2865 10 min_vertex 1 2751 10 max_vertex 1 2751 4 mins 1 2808 4 maxs 1 2808 568 14 Dtool_MAKPO9Lj 4 601 2747 0 14 Dtool_MAKPO9Lj 643 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::clear_minmax // Access: Published // Description: Undoes a previous call to set_minmax(), and allows // the minimum and maximum values to be recomputed // normally. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2865 569 14 Dtool_MAKPTWqZ 6 602 2751 0 14 Dtool_MAKPTWqZ 948 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_vertices_per_primitive // Access: Published, Virtual // Description: If the primitive type is a simple type in which all // primitives have the same number of vertices, like // triangles, returns the number of vertices per // primitive. If the primitive type is a more complex // type in which different primitives might have // different numbers of vertices, for instance a // triangle strip, returns 0. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 570 14 Dtool_MAKPUxr2 6 603 2751 0 14 Dtool_MAKPUxr2 654 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_min_num_vertices_per_primitive // Access: Published, Virtual // Description: Returns the minimum number of vertices that must be // added before close_primitive() may legally be called. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 571 14 Dtool_MAKPUSE8 6 604 2751 0 14 Dtool_MAKPUSE8 845 //////////////////////////////////////////////////////////////////// // Function: GeomPrimitive::get_num_unused_vertices_per_primitive // Access: Published, Virtual // Description: Returns the number of vertices that are added between // primitives that aren't, strictly speaking, part of // the primitives themselves. This is used, for // instance, to define degenerate triangles to connect // otherwise disconnected triangle strips. // // This method is intended for low-level usage only. // There are higher-level methods for more common usage. // We recommend you do not use this method directly. If // you do, be sure you know what you are doing! //////////////////////////////////////////////////////////////////// 1 4 this 3 2866 572 14 Dtool_MAKPPsal 7 605 2763 0 14 Dtool_MAKPPsal 0 0 573 14 Dtool_MAKPlsEr 7 534 2820 0 14 Dtool_MAKPlsEr 0 1 4 this 3 2865 574 14 Dtool_MAKPdtth 7 535 2865 1883 14 Dtool_MAKPdtth 0 1 4 this 3 2820 575 14 Dtool_MAKPsYAl 6 536 2773 0 14 Dtool_MAKPsYAl 0 1 4 this 3 2865 576 14 Dtool_MAKP94K1 7 537 2865 1883 14 Dtool_MAKP94K1 0 1 4 this 3 2773 577 14 Dtool_MAKPboYF 7 607 2872 0 14 Dtool_MAKPboYF 757 // Filename: textureStage.I // Created by: masad (15Jul04) // //////////////////////////////////////////////////////////////////// // // 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: TextureStage::Copy Constructor // Access: Published // Description: Initialize the texture stage from other //////////////////////////////////////////////////////////////////// 1 4 copy 1 2872 578 14 Dtool_MAKPMbzz 7 607 2872 0 14 Dtool_MAKPMbzz 269 //////////////////////////////////////////////////////////////////// // Function: TextureStage::Constructor // Access: Published // Description: Initialize the texture stage at construction //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 579 14 Dtool_MAKPAOWV 7 608 2872 0 14 Dtool_MAKPAOWV 262 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator = // Access: Published // Description: just copy the members of other to this //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 4 copy 1 2873 580 14 Dtool_MAKPCd_b 4 613 2747 0 14 Dtool_MAKPCd_b 260 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_name // Access: Published // Description: Changes the name of this texture stage //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 4 name 1 2742 581 14 Dtool_MAKPqybK 6 614 2742 0 14 Dtool_MAKPqybK 260 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_name // Access: Published // Description: Returns the name of this texture stage //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 582 14 Dtool_MAKPx_xd 4 615 2747 0 14 Dtool_MAKPx_xd 768 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_sort // Access: Published // Description: Changes the order in which the texture associated // with this stage is rendered relative to the other // texture stages. When geometry is rendered with // multiple textures, the textures are rendered in order // from the lowest sort number to the highest sort // number. // // Also see set_priority(), which is used to select the // most important textures for rendering when some must // be omitted because of hardware limitations. //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 4 sort 1 2751 583 14 Dtool_MAKPediB 6 616 2751 0 14 Dtool_MAKPediB 267 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_sort // Access: Published // Description: Returns the sort order of this texture stage. //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 584 14 Dtool_MAKP53u_ 4 617 2747 0 14 Dtool_MAKP53u_ 919 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_priority // Access: Published // Description: Changes the relative importance of the texture // associated with this stage relative to the other // texture stages that are applied simultaneously. // // This is unrelated to set_sort(), which controls the // order in which multiple textures are applied. The // priority number is used to decide which of the // requested textures are to be selected for rendering // when more textures are requested than the hardware // will support. The highest-priority n textures are // selected for rendering, and then rendered in order by // their sort factor. //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 8 priority 1 2751 585 14 Dtool_MAKPvd5l 6 618 2751 0 14 Dtool_MAKPvd5l 406 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_priority // Access: Published // Description: Returns the priority associated with this stage. // // This is specially helpful for cards that do not // support more than n stages of multi-texturing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 586 14 Dtool_MAKPIE53 4 619 2747 0 14 Dtool_MAKPIE53 412 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_texcoord_name // Access: Published // Description: Indicate which set of UV's this texture stage will // use. Geometry may have any number of associated UV // sets, each of which must have a unique name. //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 4 name 1 2759 587 14 Dtool_MAKPSh4R 4 619 2747 0 14 Dtool_MAKPSh4R 412 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_texcoord_name // Access: Published // Description: Indicate which set of UV's this texture stage will // use. Geometry may have any number of associated UV // sets, each of which must have a unique name. //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 13 texcoord_name 1 2742 588 14 Dtool_MAKP6ntn 7 620 2759 0 14 Dtool_MAKP6ntn 255 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_texcoord_name // Access: Published // Description: Returns the InternalName //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 589 14 Dtool_MAKP_lwU 4 621 2747 0 14 Dtool_MAKP_lwU 256 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_mode // Access: Published // Description: Set the mode of this texture stage //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 4 mode 1 2692 590 14 Dtool_MAKPHG0A 6 622 2692 0 14 Dtool_MAKPHG0A 251 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_mode // Access: Published // Description: Return the mode of this stage //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 591 14 Dtool_MAKPQ9nf 6 623 2748 0 14 Dtool_MAKPQ9nf 416 //////////////////////////////////////////////////////////////////// // Function: TextureStage::is_fixed_function // Access: Published // Description: Returns true if the TextureStage is relevant to // the classic fixed function pipeline. This excludes // texture stages such as normal mapping and the like. //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 592 14 Dtool_MAKPtRyD 4 624 2747 0 14 Dtool_MAKPtRyD 251 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_color // Access: Published // Description: Set the color for this stage //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 5 color 1 2855 593 14 Dtool_MAKPX3mA 7 625 2875 0 14 Dtool_MAKPX3mA 254 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_color // Access: Published // Description: return the color for this stage //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 594 14 Dtool_MAKPjqP6 4 626 2747 0 14 Dtool_MAKPjqP6 490 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_rgb_scale // Access: Published // Description: Sets an additional factor that will scale all three // r, g, b components after the texture has been // applied. This is used only when the mode is // CM_combine. // // The only legal values are 1, 2, or 4. //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 9 rgb_scale 1 2751 595 14 Dtool_MAKPb_0B 6 627 2751 0 14 Dtool_MAKPb_0B 247 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_rgb_scale // Access: Published // Description: See set_rgb_scale(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 596 14 Dtool_MAKPRljB 4 628 2747 0 14 Dtool_MAKPRljB 465 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_alpha_scale // Access: Published // Description: Sets an additional factor that will scale the // alpha component after the texture has been applied. // This is used only when the mode is CM_combine. // // The only legal values are 1, 2, or 4. //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 11 alpha_scale 1 2751 597 14 Dtool_MAKPABTl 6 629 2751 0 14 Dtool_MAKPABTl 251 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_alpha_scale // Access: Published // Description: See set_alpha_scale(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 598 14 Dtool_MAKPIuf8 4 630 2747 0 14 Dtool_MAKPIuf8 825 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_saved_result // Access: Published // Description: Sets the saved_result flag. When this is true, the // output of this stage will be supplied as the // "last_saved_result" source for any future stages, // until the next TextureStage with a saved_result set // true is encountered. // // This can be used to reuse the results of this texture // stage as input to more than one stage later in the // pipeline. // // The last texture in the pipeline (the one with the // highest sort value) should not have this flag set. //////////////////////////////////////////////////////////////////// 2 4 this 3 2872 12 saved_result 1 2748 599 14 Dtool_MAKP_NSV 6 631 2748 0 14 Dtool_MAKP_NSV 324 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_saved_result // Access: Published // Description: Returns the current setting of the saved_result flag. // See set_saved_result(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 600 14 Dtool_MAKPjFHN 4 632 2747 0 14 Dtool_MAKPjFHN 384 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_rgb // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_replace only. //////////////////////////////////////////////////////////////////// 4 4 this 3 2872 4 mode 1 2693 7 source0 1 2694 8 operand0 1 2695 601 14 Dtool_MAKPgYLT 4 632 2747 0 14 Dtool_MAKPgYLT 437 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_rgb // Access: Published // Description: Specifies any of the CombineMode values that // represent a two-parameter operation. Specifically, // this is everything except for CM_replace and // CM_interpolate. //////////////////////////////////////////////////////////////////// 6 4 this 3 2872 4 mode 1 2693 7 source0 1 2694 8 operand0 1 2695 7 source1 1 2694 8 operand1 1 2695 602 14 Dtool_MAKPmXix 4 632 2747 0 14 Dtool_MAKPmXix 388 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_rgb // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_interpolate only. //////////////////////////////////////////////////////////////////// 8 4 this 3 2872 4 mode 1 2693 7 source0 1 2694 8 operand0 1 2695 7 source1 1 2694 8 operand1 1 2695 7 source2 1 2694 8 operand2 1 2695 603 14 Dtool_MAKP0fyd 6 633 2693 0 14 Dtool_MAKP0fyd 258 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_mode // Access: Published // Description: Get the combine_rgb_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 604 14 Dtool_MAKPIBF9 6 634 2751 0 14 Dtool_MAKPIBF9 401 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_num_combine_rgb_operands // Access: Published // Description: Returns the number of meaningful operands that may be // retrieved via get_combine_rgb_sourceN() and // get_combine_rgb_operandN(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 605 14 Dtool_MAKPqKNk 6 635 2694 0 14 Dtool_MAKPqKNk 268 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_source0 // Access: Published // Description: Get source0 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 606 14 Dtool_MAKPNrxE 6 636 2695 0 14 Dtool_MAKPNrxE 270 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_operand0 // Access: Published // Description: Get operand0 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 607 14 Dtool_MAKPrKSy 6 637 2694 0 14 Dtool_MAKPrKSy 268 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_source1 // Access: Published // Description: Get source1 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 608 14 Dtool_MAKPkrRI 6 638 2695 0 14 Dtool_MAKPkrRI 270 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_operand1 // Access: Published // Description: Get operand1 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 609 14 Dtool_MAKPpKbA 6 639 2694 0 14 Dtool_MAKPpKbA 268 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_source2 // Access: Published // Description: Get source2 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 610 14 Dtool_MAKP7oxL 6 640 2695 0 14 Dtool_MAKP7oxL 270 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_rgb_operand2 // Access: Published // Description: Get operand2 of combine_rgb_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 611 14 Dtool_MAKPrsCd 4 641 2747 0 14 Dtool_MAKPrsCd 386 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_alpha // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_replace only. //////////////////////////////////////////////////////////////////// 4 4 this 3 2872 4 mode 1 2693 7 source0 1 2694 8 operand0 1 2695 612 14 Dtool_MAKPuvSR 4 641 2747 0 14 Dtool_MAKPuvSR 439 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_alpha // Access: Published // Description: Specifies any of the CombineMode values that // represent a two-parameter operation. Specifically, // this is everything except for CM_replace and // CM_interpolate. //////////////////////////////////////////////////////////////////// 6 4 this 3 2872 4 mode 1 2693 7 source0 1 2694 8 operand0 1 2695 7 source1 1 2694 8 operand1 1 2695 613 14 Dtool_MAKPjhJH 4 641 2747 0 14 Dtool_MAKPjhJH 390 //////////////////////////////////////////////////////////////////// // Function: TextureStage::set_combine_alpha // Access: Published // Description: Specifies any of the CombineMode values that // represent a one-parameter operation. Specifically, // this is CM_interpolate only. //////////////////////////////////////////////////////////////////// 8 4 this 3 2872 4 mode 1 2693 7 source0 1 2694 8 operand0 1 2695 7 source1 1 2694 8 operand1 1 2695 7 source2 1 2694 8 operand2 1 2695 614 14 Dtool_MAKPTu_C 6 642 2693 0 14 Dtool_MAKPTu_C 253 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha // Access: Published // Description: Get combine_alpha_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 615 14 Dtool_MAKPOFQQ 6 643 2751 0 14 Dtool_MAKPOFQQ 407 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_num_combine_alpha_operands // Access: Published // Description: Returns the number of meaningful operands that may be // retrieved via get_combine_alpha_sourceN() and // get_combine_alpha_operandN(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 616 14 Dtool_MAKPqzUQ 6 644 2694 0 14 Dtool_MAKPqzUQ 272 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_source0 // Access: Published // Description: Get source0 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 617 14 Dtool_MAKP7D7X 6 645 2695 0 14 Dtool_MAKP7D7X 274 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_operand0 // Access: Published // Description: Get operand0 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 618 14 Dtool_MAKPEkUA 6 646 2694 0 14 Dtool_MAKPEkUA 272 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_source1 // Access: Published // Description: Get source1 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 619 14 Dtool_MAKPDSFY 6 647 2695 0 14 Dtool_MAKPDSFY 274 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_operand1 // Access: Published // Description: Get operand1 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 620 14 Dtool_MAKPuaUw 6 648 2694 0 14 Dtool_MAKPuaUw 272 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_source2 // Access: Published // Description: Get source2 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 621 14 Dtool_MAKPLhOY 6 649 2695 0 14 Dtool_MAKPLhOY 274 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_combine_alpha_operand2 // Access: Published // Description: Get operand2 of combine_alpha_mode //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 622 14 Dtool_MAKPQupz 6 650 2748 0 14 Dtool_MAKPQupz 377 //////////////////////////////////////////////////////////////////// // Function: TextureStage::involves_color_scale // Access: Published // Description: Returns true if the TextureStage is affected by the // setting of the current ColorScaleAttrib, false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 623 14 Dtool_MAKPMbyj 6 651 2748 0 14 Dtool_MAKPMbyj 364 //////////////////////////////////////////////////////////////////// // Function: TextureStage::uses_color // Access: Published // Description: Returns true if the TextureStage makes use of // whatever color is specified in set_color(), false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 624 14 Dtool_MAKPp2np 6 652 2748 0 14 Dtool_MAKPp2np 331 //////////////////////////////////////////////////////////////////// // Function: TextureStage::uses_primary_color // Access: Published // Description: Returns true if the TextureStage makes use of // the CS_primary_color combine source. //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 625 14 Dtool_MAKP17UF 6 653 2748 0 14 Dtool_MAKP17UF 335 //////////////////////////////////////////////////////////////////// // Function: TextureStage::uses_last_saved_result // Access: Published // Description: Returns true if the TextureStage makes use of // the CS_primary_color combine source. //////////////////////////////////////////////////////////////////// 1 4 this 3 2873 626 14 Dtool_MAKPhPPh 6 654 2748 0 14 Dtool_MAKPhPPh 224 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2873 5 other 1 2873 627 14 Dtool_MAKPSGPZ 6 655 2748 0 14 Dtool_MAKPSGPZ 224 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2873 5 other 1 2873 628 14 Dtool_MAKPc8r6 6 656 2748 0 14 Dtool_MAKPc8r6 223 //////////////////////////////////////////////////////////////////// // Function: TextureStage::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2873 5 other 1 2873 629 14 Dtool_MAKPS7S7 6 657 2751 0 14 Dtool_MAKPS7S7 540 //////////////////////////////////////////////////////////////////// // Function: TextureStage::compare_to // Access: Published // Description: Returns a number less than zero if this TextureStage // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. The // sorting order is arbitrary and largely meaningless, // except to differentiate different stages. //////////////////////////////////////////////////////////////////// 2 4 this 3 2873 5 other 1 2873 630 14 Dtool_MAKPMLKu 4 658 2747 0 14 Dtool_MAKPMLKu 256 //////////////////////////////////////////////////////////////////// // Function: TextureStage::Destructor // Access: Published // Description: Writes the details of this stage //////////////////////////////////////////////////////////////////// 2 4 this 3 2873 3 out 1 2749 631 14 Dtool_MAKPkmyF 4 659 2747 0 14 Dtool_MAKPkmyF 249 //////////////////////////////////////////////////////////////////// // Function: TextureStage::Destructor // Access: Published // Description: Just a single line output //////////////////////////////////////////////////////////////////// 2 4 this 3 2873 3 out 1 2749 632 14 Dtool_MAKPHR5s 7 660 2872 0 14 Dtool_MAKPHR5s 447 //////////////////////////////////////////////////////////////////// // Function: TextureStage::get_default // Access: Published, Static // Description: Returns the default TextureStage that will be used // for all texturing that does not name a particular // stage. This generally handles the normal // single-texture case. //////////////////////////////////////////////////////////////////// 0 633 14 Dtool_MAKPpjIT 7 661 2763 0 14 Dtool_MAKPpjIT 0 0 634 14 Dtool_MAKPA5hw 7 667 2876 2007 14 Dtool_MAKPA5hw 217 //////////////////////////////////////////////////////////////////// // Function: Geom::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 data 1 2777 635 14 Dtool_MAKPk_XE 7 668 2876 2007 14 Dtool_MAKPk_XE 460 //////////////////////////////////////////////////////////////////// // Function: Geom::Copy Assignment Operator // Access: Published // Description: The copy assignment operator is not pipeline-safe. // This will completely obliterate all stages of the // pipeline, so don't do it for a Geom that is actively // being used for rendering. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 4 copy 1 2877 636 14 Dtool_MAKPqLk7 4 670 2747 0 14 Dtool_MAKPqLk7 0 2 4 this 3 2876 4 size 1 2743 637 14 Dtool_MAKPIdD3 7 673 2876 2007 14 Dtool_MAKPIdD3 458 //////////////////////////////////////////////////////////////////// // Function: Geom::make_copy // Access: Protected, Virtual // Description: Returns a newly-allocated Geom that is a shallow copy // of this one. It will be a different Geom pointer, // but its internal data may or may not be shared with // that of the original Geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 638 14 Dtool_MAKPznC4 6 674 2651 0 14 Dtool_MAKPznC4 1144 // Filename: geom.I // Created by: drose (06Mar05) // //////////////////////////////////////////////////////////////////// // // 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: Geom::get_primitive_type // Access: Published // Description: Returns the fundamental primitive type that is common // to all GeomPrimitives added within the Geom. All // nested primitives within a particular Geom must be // the same type (that is, you can mix triangles and // tristrips, because they are both the same fundamental // type PT_polygons, but you cannot mix triangles and // points withn the same Geom). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 639 14 Dtool_MAKPhDDD 6 675 2650 0 14 Dtool_MAKPhDDD 359 //////////////////////////////////////////////////////////////////// // Function: Geom::get_shade_model // Access: Published // Description: Returns the shade model common to all of the // individual GeomPrimitives that have been added to the // geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 640 14 Dtool_MAKP18Ae 6 676 2751 0 14 Dtool_MAKP18Ae 374 //////////////////////////////////////////////////////////////////// // Function: Geom::get_geom_rendering // Access: Published // Description: Returns the set of GeomRendering bits that represent // the rendering properties required to properly render // this Geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 641 14 Dtool_MAKPiZFS 6 677 2648 0 14 Dtool_MAKPiZFS 381 //////////////////////////////////////////////////////////////////// // Function: Geom::get_usage_hint // Access: Published // Description: Returns the minimum (i.e. most dynamic) usage_hint // among all of the individual GeomPrimitives that have // been added to the geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 642 14 Dtool_MAKPSB4T 4 678 2747 0 14 Dtool_MAKPSB4T 558 //////////////////////////////////////////////////////////////////// // Function: Geom::set_usage_hint // Access: Published // Description: Changes the UsageHint hint for all of the primitives // on this Geom to the same value. See // get_usage_hint(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 10 usage_hint 1 2648 643 14 Dtool_MAKPlhS_ 7 679 2777 0 14 Dtool_MAKPlhS_ 387 //////////////////////////////////////////////////////////////////// // Function: Geom::get_vertex_data // Access: Published // Description: Returns a const pointer to the GeomVertexData, // for application code to directly examine (but not // modify) the geom's underlying data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 14 current_thread 1 2812 644 14 Dtool_MAKPohq0 7 679 2777 0 14 Dtool_MAKPohq0 387 //////////////////////////////////////////////////////////////////// // Function: Geom::get_vertex_data // Access: Published // Description: Returns a const pointer to the GeomVertexData, // for application code to directly examine (but not // modify) the geom's underlying data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 645 14 Dtool_MAKPAtYT 7 680 2854 1816 14 Dtool_MAKPAtYT 583 //////////////////////////////////////////////////////////////////// // Function: Geom::modify_vertex_data // Access: Published // Description: Returns a modifiable pointer to the GeomVertexData, // so that application code may directly maniuplate the // geom's underlying data. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 646 14 Dtool_MAKPWBrG 4 681 2747 0 14 Dtool_MAKPWBrG 512 //////////////////////////////////////////////////////////////////// // Function: Geom::set_vertex_data // Access: Published // Description: Replaces the Geom's underlying vertex data table with // a completely new table. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 4 data 1 2777 647 14 Dtool_MAKPCOPz 4 682 2747 0 14 Dtool_MAKPCOPz 847 //////////////////////////////////////////////////////////////////// // Function: Geom::offset_vertices // Access: Published // Description: Replaces a Geom's vertex table with a new table, and // simultaneously adds the indicated offset to all // vertex references within the Geom's primitives. This // is intended to be used to combine multiple // GeomVertexDatas from different Geoms into a single // big buffer, with each Geom referencing a subset of // the vertices in the buffer. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 3 4 this 3 2876 4 data 1 2777 6 offset 1 2751 648 14 Dtool_MAKPM2BD 6 683 2751 0 14 Dtool_MAKPM2BD 728 //////////////////////////////////////////////////////////////////// // Function: Geom::make_nonindexed // Access: Published // Description: Converts the geom from indexed to nonindexed by // duplicating vertices as necessary. If composite_only // is true, then only composite primitives such as // trifans and tristrips are converted. Returns the // number of GeomPrimitive objects converted. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 14 composite_only 1 2748 649 14 Dtool_MAKPjKBW 6 684 2748 0 14 Dtool_MAKPjKBW 337 //////////////////////////////////////////////////////////////////// // Function: Geom::is_empty // Access: Published // Description: Returns true if there appear to be no vertices to be // rendered by this Geom, false if has some actual data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 650 14 Dtool_MAKPLxLL 6 685 2751 0 14 Dtool_MAKPLxLL 395 //////////////////////////////////////////////////////////////////// // Function: Geom::get_num_primitives // Access: Published // Description: Returns the number of GeomPrimitive objects stored // within the Geom, each of which represents a number of // primitives of a particular type. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 651 14 Dtool_MAKPHXk3 7 686 2866 0 14 Dtool_MAKPHXk3 464 //////////////////////////////////////////////////////////////////// // Function: Geom::get_primitive // Access: Published // Description: Returns a const pointer to the ith GeomPrimitive // object stored within the Geom. Use this call only to // inspect the ith object; use modify_primitive() or // set_primitive() if you want to modify it. //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 1 i 1 2751 652 14 Dtool_MAKPtI4K 7 687 2865 1883 14 Dtool_MAKPtI4K 632 //////////////////////////////////////////////////////////////////// // Function: Geom::modify_primitive // Access: Published // Description: Returns a modifiable pointer to the ith GeomPrimitive // object stored within the Geom, so application code // can directly manipulate the properties of this // primitive. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 1 i 1 2751 653 14 Dtool_MAKPvY3W 4 688 2747 0 14 Dtool_MAKPvY3W 514 //////////////////////////////////////////////////////////////////// // Function: Geom::set_primitive // Access: Published // Description: Replaces the ith GeomPrimitive object stored within // the Geom with the new object. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 3 4 this 3 2876 1 i 1 2751 9 primitive 1 2866 654 14 Dtool_MAKP4qtW 4 689 2747 0 14 Dtool_MAKP4qtW 637 //////////////////////////////////////////////////////////////////// // Function: Geom::add_primitive // Access: Published // Description: Adds a new GeomPrimitive structure to the Geom // object. This specifies a particular subset of // vertices that are used to define geometric primitives // of the indicated type. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 9 primitive 1 2866 655 14 Dtool_MAKPmtla 4 690 2747 0 14 Dtool_MAKPmtla 459 //////////////////////////////////////////////////////////////////// // Function: Geom::remove_primitive // Access: Published // Description: Removes the ith primitive from the list. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 1 i 1 2751 656 14 Dtool_MAKPYAGE 4 691 2747 0 14 Dtool_MAKPYAGE 633 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_primitives // Access: Published // Description: Removes all the primitives from the Geom object (but // keeps the same table of vertices). You may then // re-add primitives one at a time via calls to // add_primitive(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 657 14 Dtool_MAKP6GgV 7 692 2876 2007 14 Dtool_MAKP6GgV 354 //////////////////////////////////////////////////////////////////// // Function: Geom::decompose // Access: Published // Description: Decomposes all of the primitives within this Geom, // returning the result. See // GeomPrimitive::decompose(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 658 14 Dtool_MAKPLQaK 7 693 2876 2007 14 Dtool_MAKPLQaK 357 //////////////////////////////////////////////////////////////////// // Function: Geom::doubleside // Access: Published // Description: Doublesides all of the primitives within this Geom, // returning the result. See // GeomPrimitive::doubleside(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 659 14 Dtool_MAKPEJJU 7 694 2876 2007 14 Dtool_MAKPEJJU 348 //////////////////////////////////////////////////////////////////// // Function: Geom::reverse // Access: Published // Description: Reverses all of the primitives within this Geom, // returning the result. See // GeomPrimitive::reverse(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 660 14 Dtool_MAKPPWLU 7 695 2876 2007 14 Dtool_MAKPPWLU 345 //////////////////////////////////////////////////////////////////// // Function: Geom::rotate // Access: Published // Description: Rotates all of the primitives within this Geom, // returning the result. See // GeomPrimitive::rotate(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 661 14 Dtool_MAKPctAJ 7 696 2876 2007 14 Dtool_MAKPctAJ 890 //////////////////////////////////////////////////////////////////// // Function: Geom::unify // Access: Published // Description: Unifies all of the primitives contained within this // Geom into a single (or as few as possible, within the // constraints of max_indices) primitive objects. This // may require decomposing the primitives if, for // instance, the Geom contains both triangle strips and // triangle fans. // // max_indices represents the maximum number of indices // that will be put in any one GeomPrimitive. If // preserve_order is true, then the primitives will not // be reordered during the operation, even if this // results in a suboptimal result. //////////////////////////////////////////////////////////////////// 3 4 this 3 2877 11 max_indices 1 2751 14 preserve_order 1 2748 662 14 Dtool_MAKPqMSd 7 697 2876 2007 14 Dtool_MAKPqMSd 319 //////////////////////////////////////////////////////////////////// // Function: Geom::make_points // Access: Published // Description: Returns a new Geom with points at all the vertices. // See GeomPrimitive::make_points(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 663 14 Dtool_MAKPlrdj 4 698 2747 0 14 Dtool_MAKPlrdj 568 //////////////////////////////////////////////////////////////////// // Function: Geom::decompose_in_place // Access: Published // Description: Decomposes all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::decompose(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 664 14 Dtool_MAKPRWxI 4 699 2747 0 14 Dtool_MAKPRWxI 571 //////////////////////////////////////////////////////////////////// // Function: Geom::doubleside_in_place // Access: Published // Description: Doublesides all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::doubleside(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 665 14 Dtool_MAKPDe1_ 4 700 2747 0 14 Dtool_MAKPDe1_ 562 //////////////////////////////////////////////////////////////////// // Function: Geom::reverse_in_place // Access: Published // Description: Reverses all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::reverse(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 666 14 Dtool_MAKPHZg5 4 701 2747 0 14 Dtool_MAKPHZg5 559 //////////////////////////////////////////////////////////////////// // Function: Geom::rotate_in_place // Access: Published // Description: Rotates all of the primitives within this Geom, // leaving the results in place. See // GeomPrimitive::rotate(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 667 14 Dtool_MAKPiehR 4 702 2747 0 14 Dtool_MAKPiehR 1096 //////////////////////////////////////////////////////////////////// // Function: Geom::unify_in_place // Access: Published // Description: Unifies all of the primitives contained within this // Geom into a single (or as few as possible, within the // constraints of max_indices) primitive objects. This // may require decomposing the primitives if, for // instance, the Geom contains both triangle strips and // triangle fans. // // max_indices represents the maximum number of indices // that will be put in any one GeomPrimitive. If // preserve_order is true, then the primitives will not // be reordered during the operation, even if this // results in a suboptimal result. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 3 4 this 3 2876 11 max_indices 1 2751 14 preserve_order 1 2748 668 14 Dtool_MAKPJfCo 4 703 2747 0 14 Dtool_MAKPJfCo 567 //////////////////////////////////////////////////////////////////// // Function: Geom::make_points_in_place // Access: Published // Description: Replaces the GeomPrimitives within this Geom with // corresponding GeomPoints. See // GeomPrimitive::make_points(). // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 669 14 Dtool_MAKPyUv9 6 704 2748 0 14 Dtool_MAKPyUv9 792 //////////////////////////////////////////////////////////////////// // Function: Geom::copy_primitives_from // Access: Published, Virtual // Description: Copies the primitives from the indicated Geom into // this one. This does require that both Geoms contain // the same fundamental type primitives, both have a // compatible shade model, and both use the same // GeomVertexData. Both Geoms must also be the same // specific class type (i.e. if one is a GeomTextGlyph, // they both must be.) // // Returns true if the copy is successful, or false // otherwise (because the Geoms were mismatched). //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 5 other 1 2877 670 14 Dtool_MAKPgSfK 6 705 2751 0 14 Dtool_MAKPgSfK 341 //////////////////////////////////////////////////////////////////// // Function: Geom::get_num_bytes // Access: Published // Description: Returns the number of bytes consumed by the geom and // its primitives (but not including its vertex table). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 671 14 Dtool_MAKPKP2k 7 706 2810 0 14 Dtool_MAKPKP2k 564 //////////////////////////////////////////////////////////////////// // Function: Geom::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time any of the primitives in // the Geom is modified, or the set of primitives is // modified. However, this does not include // modifications to the vertex data, which should be // tested separately. //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 14 current_thread 1 2812 672 14 Dtool_MAKPHKFV 7 706 2810 0 14 Dtool_MAKPHKFV 564 //////////////////////////////////////////////////////////////////// // Function: Geom::get_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time any of the primitives in // the Geom is modified, or the set of primitives is // modified. However, this does not include // modifications to the vertex data, which should be // tested separately. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 673 14 Dtool_MAKPs4wf 6 707 2748 0 14 Dtool_MAKPs4wf 571 //////////////////////////////////////////////////////////////////// // Function: Geom::request_resident // Access: Published // Description: Returns true if all the primitive arrays are // currently resident in memory. If this returns false, // the data will be brought back into memory shortly; // try again later. // // This does not also test the Geom's associated // GeomVertexData. That must be tested separately. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 674 14 Dtool_MAKPYlMV 4 708 2747 0 14 Dtool_MAKPYlMV 808 //////////////////////////////////////////////////////////////////// // Function: Geom::transform_vertices // Access: Published // Description: Applies the indicated transform to all of the // vertices in the Geom. If the Geom happens to share a // vertex table with another Geom, this operation will // duplicate the vertex table instead of breaking the // other Geom; however, if multiple Geoms with shared // tables are transformed by the same matrix, they will // no longer share tables after the operation. Consider // using the GeomTransformer if you will be applying the // same transform to multiple Geoms. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 3 mat 1 2828 675 14 Dtool_MAKPRtQb 6 709 2748 0 14 Dtool_MAKPRtQb 460 //////////////////////////////////////////////////////////////////// // Function: Geom::check_valid // Access: Published // Description: Verifies that the all of the primitives within the // geom reference vertices that actually exist within // the geom's GeomVertexData. Returns true if the geom // appears to be valid, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 676 14 Dtool_MAKPdH6F 6 709 2748 0 14 Dtool_MAKPdH6F 463 //////////////////////////////////////////////////////////////////// // Function: Geom::check_valid // Access: Published // Description: Verifies that the all of the primitives within the // geom reference vertices that actually exist within // the indicated GeomVertexData. Returns true if the // geom appears to be valid, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 11 vertex_data 1 2777 677 14 Dtool_MAKP9WkK 7 710 2881 0 14 Dtool_MAKP9WkK 257 //////////////////////////////////////////////////////////////////// // Function: Geom::get_bounds // Access: Published // Description: Returns the bounding volume for the Geom. //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 14 current_thread 1 2812 678 14 Dtool_MAKP5pRF 7 710 2881 0 14 Dtool_MAKP5pRF 257 //////////////////////////////////////////////////////////////////// // Function: Geom::get_bounds // Access: Published // Description: Returns the bounding volume for the Geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 679 14 Dtool_MAKPkkOF 6 711 2751 0 14 Dtool_MAKPkkOF 316 //////////////////////////////////////////////////////////////////// // Function: Geom::get_nested_vertices // Access: Published // Description: Returns the number of vertices rendered by all // primitives within the Geom. //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 14 current_thread 1 2812 680 14 Dtool_MAKP7ykk 6 711 2751 0 14 Dtool_MAKP7ykk 316 //////////////////////////////////////////////////////////////////// // Function: Geom::get_nested_vertices // Access: Published // Description: Returns the number of vertices rendered by all // primitives within the Geom. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 681 14 Dtool_MAKPM7bs 4 712 2747 0 14 Dtool_MAKPM7bs 390 //////////////////////////////////////////////////////////////////// // Function: Geom::mark_bounds_stale // Access: Published // Description: Marks the bounding volume of the Geom as stale so // that it should be recomputed. Usually it is not // necessary to call this explicitly. //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 682 14 Dtool_MAKP_N_x 4 713 2747 0 14 Dtool_MAKP_N_x 969 //////////////////////////////////////////////////////////////////// // Function: Geom::set_bounds_type // Access: Published // Description: Specifies the desired type of bounding volume that // will be created for this Geom. This is normally // BoundingVolume::BT_default, which means to set the // type according to the config variable "bounds-type". // // If this is BT_sphere or BT_box, a BoundingSphere or // BoundingBox is explicitly created. If it is BT_best, // a BoundingBox is created. // // This affects the implicit bounding volume only. If // an explicit bounding volume is set on the Geom with // set_bounds(), that bounding volume type is used. // (This is different behavior from the similar method // on PandaNode.) //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 11 bounds_type 1 2882 683 14 Dtool_MAKPQxyc 6 714 2882 0 14 Dtool_MAKPQxyc 298 //////////////////////////////////////////////////////////////////// // Function: Geom::get_bounds_type // Access: Published // Description: Returns the bounding volume type set with // set_bounds_type(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2877 684 14 Dtool_MAKPnNw_ 4 715 2747 0 14 Dtool_MAKPnNw_ 726 //////////////////////////////////////////////////////////////////// // Function: Geom::set_bounds // Access: Published // Description: Resets the bounding volume so that it is the // indicated volume. When it is explicitly set, the // bounding volume will no longer be automatically // computed; call clear_bounds() if you would like to // return the bounding volume to its default behavior. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 6 volume 1 2881 685 14 Dtool_MAKP92vG 4 716 2747 0 14 Dtool_MAKP92vG 614 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_bounds // Access: Published // Description: Reverses the effect of a previous call to // set_bounds(), and allows the bounding volume to be // automatically computed once more based on the // vertices. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 686 14 Dtool_MAKPrXR3 4 717 2747 0 14 Dtool_MAKPrXR3 221 //////////////////////////////////////////////////////////////////// // Function: Geom::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 3 out 1 2749 687 14 Dtool_MAKPC21S 4 718 2747 0 14 Dtool_MAKPC21S 220 //////////////////////////////////////////////////////////////////// // Function: Geom::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2877 3 out 1 2749 12 indent_level 1 2751 688 14 Dtool_MAKP0uiX 4 718 2747 0 14 Dtool_MAKP0uiX 220 //////////////////////////////////////////////////////////////////// // Function: Geom::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 3 out 1 2749 689 14 Dtool_MAKPr67p 4 719 2747 0 14 Dtool_MAKPr67p 546 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_cache // Access: Published // Description: Removes all of the previously-cached results of // munge_geom(). // // This blows away the entire cache, upstream and // downstream the pipeline. Use clear_cache_stage() // instead if you only want to blow away the cache at // the current stage and upstream. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 690 14 Dtool_MAKPC0IT 4 720 2747 0 14 Dtool_MAKPC0IT 598 //////////////////////////////////////////////////////////////////// // Function: Geom::clear_cache_stage // Access: Published // Description: Removes all of the previously-cached results of // munge_geom(), at the current pipeline stage and // upstream. Does not affect the downstream cache. // // Don't call this in a downstream thread unless you // don't mind it blowing away other changes you might // have recently made in an upstream thread. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 14 current_thread 1 2812 691 14 Dtool_MAKPkUN5 4 721 2747 0 14 Dtool_MAKPkUN5 640 //////////////////////////////////////////////////////////////////// // Function: Geom::prepare // Access: Published // Description: Indicates that the geom should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // geom is already loaded into geom memory if it // is expected to be rendered soon. // // Use this function instead of prepare_now() to preload // geoms from a user interface standpoint. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 16 prepared_objects 1 2816 692 14 Dtool_MAKPir4R 6 722 2748 0 14 Dtool_MAKPir4R 368 //////////////////////////////////////////////////////////////////// // Function: Geom::is_prepared // Access: Published // Description: Returns true if the geom has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2877 16 prepared_objects 1 2816 693 14 Dtool_MAKPYDlG 6 723 2748 0 14 Dtool_MAKPYDlG 388 //////////////////////////////////////////////////////////////////// // Function: Geom::release // Access: Published // Description: Frees the geom context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 2 4 this 3 2876 16 prepared_objects 1 2816 694 14 Dtool_MAKPtSn_ 6 724 2751 0 14 Dtool_MAKPtSn_ 386 //////////////////////////////////////////////////////////////////// // Function: Geom::release_all // Access: Published // Description: Frees the context allocated on all objects for which // the geom has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2876 695 14 Dtool_MAKPptAs 6 725 2883 0 14 Dtool_MAKPptAs 871 //////////////////////////////////////////////////////////////////// // Function: Geom::prepare_now // Access: Public // Description: Creates a context for the geom on the particular // GSG, if it does not already exist. Returns the new // (or old) GeomContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // geoms. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a geom does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 3 4 this 3 2876 16 prepared_objects 1 2816 3 gsg 1 2817 696 14 Dtool_MAKPyQKN 7 726 2763 0 14 Dtool_MAKPyQKN 0 0 697 14 Dtool_MAKPMO36 7 663 2820 0 14 Dtool_MAKPMO36 0 1 4 this 3 2876 698 14 Dtool_MAKP7MTJ 7 664 2876 2007 14 Dtool_MAKP7MTJ 0 1 4 this 3 2820 699 14 Dtool_MAKP9JLK 6 665 2773 0 14 Dtool_MAKP9JLK 0 1 4 this 3 2876 700 14 Dtool_MAKPcioB 7 666 2876 2007 14 Dtool_MAKPcioB 0 1 4 this 3 2773 701 14 Dtool_MAKPonzp 7 728 2876 2007 14 Dtool_MAKPonzp 220 //////////////////////////////////////////////////////////////////// // Function: GeomContext::get_geom // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2884 702 14 Dtool_MAKPZbHT 7 729 2763 0 14 Dtool_MAKPZbHT 0 0 703 14 Dtool_MAKPlaZi 7 732 2886 1883 14 Dtool_MAKPlaZi 222 //////////////////////////////////////////////////////////////////// // Function: GeomLines::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 10 usage_hint 1 2648 704 14 Dtool_MAKPZdk3 7 732 2886 1883 14 Dtool_MAKPZdk3 227 //////////////////////////////////////////////////////////////////// // Function: GeomLines::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2887 705 14 Dtool_MAKP_7pA 7 733 2763 0 14 Dtool_MAKP_7pA 0 0 706 14 Dtool_MAKP3Ci0 7 735 2889 1883 14 Dtool_MAKP3Ci0 227 //////////////////////////////////////////////////////////////////// // Function: GeomLinestrips::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 10 usage_hint 1 2648 707 14 Dtool_MAKPRSrb 7 735 2889 1883 14 Dtool_MAKPRSrb 232 //////////////////////////////////////////////////////////////////// // Function: GeomLinestrips::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2890 708 14 Dtool_MAKPnUZ3 7 736 2763 0 14 Dtool_MAKPnUZ3 0 0 709 14 Dtool_MAKPDbke 7 738 2892 1883 14 Dtool_MAKPDbke 223 //////////////////////////////////////////////////////////////////// // Function: GeomPoints::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 10 usage_hint 1 2648 710 14 Dtool_MAKP2L6_ 7 738 2892 1883 14 Dtool_MAKP2L6_ 228 //////////////////////////////////////////////////////////////////// // Function: GeomPoints::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2893 711 14 Dtool_MAKPmrqc 7 739 2763 0 14 Dtool_MAKPmrqc 0 0 712 14 Dtool_MAKPlM_V 7 741 2895 1883 14 Dtool_MAKPlM_V 226 //////////////////////////////////////////////////////////////////// // Function: GeomTriangles::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 10 usage_hint 1 2648 713 14 Dtool_MAKPl_JA 7 741 2895 1883 14 Dtool_MAKPl_JA 231 //////////////////////////////////////////////////////////////////// // Function: GeomTriangles::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2896 714 14 Dtool_MAKPNvut 7 742 2763 0 14 Dtool_MAKPNvut 0 0 715 14 Dtool_MAKPBV_D 7 744 2898 1883 14 Dtool_MAKPBV_D 224 //////////////////////////////////////////////////////////////////// // Function: GeomTrifans::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 10 usage_hint 1 2648 716 14 Dtool_MAKPHwh3 7 744 2898 1883 14 Dtool_MAKPHwh3 229 //////////////////////////////////////////////////////////////////// // Function: GeomTrifans::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2899 717 14 Dtool_MAKPe_RP 7 745 2763 0 14 Dtool_MAKPe_RP 0 0 718 14 Dtool_MAKPxfLD 7 747 2901 1883 14 Dtool_MAKPxfLD 226 //////////////////////////////////////////////////////////////////// // Function: GeomTristrips::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 10 usage_hint 1 2648 719 14 Dtool_MAKPARnF 7 747 2901 1883 14 Dtool_MAKPARnF 231 //////////////////////////////////////////////////////////////////// // Function: GeomTristrips::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2902 720 14 Dtool_MAKPib35 7 748 2763 0 14 Dtool_MAKPib35 0 0 721 14 Dtool_MAKPeBP0 7 750 2904 2082 14 Dtool_MAKPeBP0 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 2 10 array_data 1 2770 14 current_thread 1 2812 722 14 Dtool_MAKPmHyG 7 750 2904 2082 14 Dtool_MAKPmHyG 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 1 10 array_data 1 2770 723 14 Dtool_MAKPHXtj 7 750 2904 2082 14 Dtool_MAKPHXtj 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 3 10 array_data 1 2770 6 column 1 2751 14 current_thread 1 2812 724 14 Dtool_MAKPfOvI 7 750 2904 2082 14 Dtool_MAKPfOvI 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 2 10 array_data 1 2770 6 column 1 2751 725 14 Dtool_MAKP_TF4 7 750 2904 2082 14 Dtool_MAKP_TF4 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. This flavor creates the // reader specifically to process the named data type. //////////////////////////////////////////////////////////////////// 3 11 vertex_data 1 2777 4 name 1 2760 14 current_thread 1 2812 726 14 Dtool_MAKPFPmQ 7 750 2904 2082 14 Dtool_MAKPFPmQ 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. This flavor creates the // reader specifically to process the named data type. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2777 4 name 1 2760 727 14 Dtool_MAKPzNo1 7 750 2904 2082 14 Dtool_MAKPzNo1 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2777 14 current_thread 1 2812 728 14 Dtool_MAKPUq8_ 7 750 2904 2082 14 Dtool_MAKPUq8_ 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// 1 11 vertex_data 1 2777 729 14 Dtool_MAKPBv7a 7 750 2904 2082 14 Dtool_MAKPBv7a 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. This flavor creates the // reader specifically to process the named data type. //////////////////////////////////////////////////////////////////// 3 11 vertex_data 1 2777 4 name 1 2742 14 current_thread 1 2812 730 14 Dtool_MAKPxxdz 7 750 2904 2082 14 Dtool_MAKPxxdz 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Constructor // Access: Published // Description: Constructs a new reader to process the vertices of // the indicated data object. This flavor creates the // reader specifically to process the named data type. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2777 4 name 1 2742 731 14 Dtool_MAKPr9yT 7 750 2904 2082 14 Dtool_MAKPr9yT 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2905 732 14 Dtool_MAKP0qj3 7 750 2904 2082 14 Dtool_MAKP0qj3 930 // Filename: geomVertexReader.I // Created by: drose (25Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexReader::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexReader. You must use // the assignment operator to assign a valid // GeomVertexReader to this object before you can use // it. //////////////////////////////////////////////////////////////////// 1 14 current_thread 1 2812 733 14 Dtool_MAKPU4ZP 7 750 2904 2082 14 Dtool_MAKPU4ZP 930 // Filename: geomVertexReader.I // Created by: drose (25Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexReader::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexReader. You must use // the assignment operator to assign a valid // GeomVertexReader to this object before you can use // it. //////////////////////////////////////////////////////////////////// 0 734 14 Dtool_MAKPDEdr 6 751 2904 0 14 Dtool_MAKPDEdr 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2904 4 copy 1 2905 735 14 Dtool_MAKP8urn 7 753 2777 0 14 Dtool_MAKP8urn 408 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_vertex_data // Access: Published // Description: Returns the vertex data object that the // reader is processing. This may return NULL if the // reader was constructed with just an array pointer. //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 736 14 Dtool_MAKP73al 7 754 2770 0 14 Dtool_MAKP73al 325 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_array_data // Access: Published // Description: Returns the particular array object that the // reader is currently processing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 737 14 Dtool_MAKPmRbR 7 755 2812 0 14 Dtool_MAKPmRbR 359 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_current_thread // Access: Published // Description: Returns the Thread pointer of the currently-executing // thread, as passed to the constructor of this object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 738 14 Dtool_MAKPIfYI 4 756 2747 0 14 Dtool_MAKPIfYI 928 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_force // Access: Published // Description: Sets the value of the force flag. When this is true // (the default), vertex data will be paged in from disk // if necessary. When this is false, the GeomVertexData // will simply return a failure code when attempting to // read vertex data that is not resident (but will put // it on the queue to become resident later). // // Normally, vertex data is always resident, so this // will not be an issue. It is only possible for vertex // data to be nonresident if you have enabled vertex // paging via the GeomVertexArrayData and VertexDataPage // interfaces. //////////////////////////////////////////////////////////////////// 2 4 this 3 2904 5 force 1 2748 739 14 Dtool_MAKPKuql 6 757 2748 0 14 Dtool_MAKPKuql 298 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_force // Access: Published // Description: Returns the value of the force flag. See // set_force(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 740 14 Dtool_MAKPuxhQ 6 758 2748 0 14 Dtool_MAKPuxhQ 616 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the data type with the // indicated name. // // This also resets the read row number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2904 4 name 1 2760 741 14 Dtool_MAKPR1Ec 6 758 2748 0 14 Dtool_MAKPR1Ec 616 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the data type with the // indicated name. // // This also resets the read row number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2904 4 name 1 2742 742 14 Dtool_MAKPJFVC 6 758 2748 0 14 Dtool_MAKPJFVC 638 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the nth data type of the // GeomVertexFormat, numbering from 0. // // This also resets the read row number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2904 6 column 1 2751 743 14 Dtool_MAKPIqjd 6 758 2748 0 14 Dtool_MAKPIqjd 638 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_column // Access: Published // Description: Sets up the reader to use the indicated column // description on the given array. // // This also resets the current read row number to the // start row (the same value passed to a previous call // to set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 2904 5 array 1 2751 6 column 1 2764 744 14 Dtool_MAKPQtEQ 4 759 2747 0 14 Dtool_MAKPQtEQ 272 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::clear // Access: Published // Description: Resets the GeomVertexReader to the initial state. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 745 14 Dtool_MAKPqVEq 6 760 2748 0 14 Dtool_MAKPqVEq 445 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::has_column // Access: Published // Description: Returns true if a valid data type has been // successfully set, or false if the data type does not // exist (or if get_force() is false and the vertex data // is nonresident). //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 746 14 Dtool_MAKPIsz6 6 761 2751 0 14 Dtool_MAKPIsz6 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_array // Access: Published // Description: Returns the array index containing the data type that // the reader is working on. //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 747 14 Dtool_MAKPiUaj 6 762 2764 0 14 Dtool_MAKPiUaj 316 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_column // Access: Published // Description: Returns the description of the data type that the // reader is working on. //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 748 14 Dtool_MAKP9pTB 4 763 2747 0 14 Dtool_MAKP9pTB 533 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::set_row // Access: Published // Description: Sets the start row to the indicated value. The // reader will begin reading from the indicated row; // each subsequent get_data*() call will return the data // from the subsequent row. If set_column() is called, // the reader will return to this row. //////////////////////////////////////////////////////////////////// 2 4 this 3 2904 3 row 1 2751 749 14 Dtool_MAKPVMpp 6 764 2751 0 14 Dtool_MAKPVMpp 375 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_start_row // Access: Published // Description: Returns the row index at which the reader started. // It will return to this row if you reset the current // column. //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 750 14 Dtool_MAKPGqgQ 6 765 2751 0 14 Dtool_MAKPGqgQ 339 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_read_row // Access: Published // Description: Returns the row index from which the data will be // retrieved by the next call to get_data*(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 751 14 Dtool_MAKPtH9p 6 766 2748 0 14 Dtool_MAKPtH9p 440 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::is_at_end // Access: Published // Description: Returns true if the reader is currently at the end of // the list of vertices, false otherwise. If this is // true, another call to get_data*() will result in a // crash. //////////////////////////////////////////////////////////////////// 1 4 this 3 2905 752 14 Dtool_MAKPvgRZ 6 767 2752 0 14 Dtool_MAKPvgRZ 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data1f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 1-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 753 14 Dtool_MAKPvQzs 6 768 2907 0 14 Dtool_MAKPvQzs 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data2f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 2-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 754 14 Dtool_MAKPoAVA 6 769 2910 0 14 Dtool_MAKPoAVA 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data3f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 3-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 755 14 Dtool_MAKPow2T 6 770 2855 0 14 Dtool_MAKPow2T 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data4f // Access: Published // Description: Returns the data associated with the read row, // expressed as a 4-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 756 14 Dtool_MAKPMh5r 6 771 2751 0 14 Dtool_MAKPMh5r 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data1i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 1-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 757 14 Dtool_MAKPMRb_ 4 772 2747 0 14 Dtool_MAKPMRb_ 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data2i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 2-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 758 14 Dtool_MAKPNB9S 4 773 2747 0 14 Dtool_MAKPNB9S 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data3i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 3-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 759 14 Dtool_MAKPNxem 4 774 2747 0 14 Dtool_MAKPNxem 369 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::get_data4i // Access: Published // Description: Returns the data associated with the read row, // expressed as a 4-component value, and advances the // read row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2904 760 14 Dtool_MAKPWNtp 4 775 2747 0 14 Dtool_MAKPWNtp 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexReader::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2905 3 out 1 2749 761 14 Dtool_MAKPDYGf 7 777 2913 2108 14 Dtool_MAKPDYGf 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 2 10 array_data 1 2808 14 current_thread 1 2812 762 14 Dtool_MAKPm1bv 7 777 2913 2108 14 Dtool_MAKPm1bv 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 1 10 array_data 1 2808 763 14 Dtool_MAKPBk28 7 777 2913 2108 14 Dtool_MAKPBk28 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 3 10 array_data 1 2808 6 column 1 2751 14 current_thread 1 2812 764 14 Dtool_MAKP8wdd 7 777 2913 2108 14 Dtool_MAKP8wdd 322 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 2 10 array_data 1 2808 6 column 1 2751 765 14 Dtool_MAKPiSJf 7 777 2913 2108 14 Dtool_MAKPiSJf 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. This flavor creates the // writer specifically to process the named data type. //////////////////////////////////////////////////////////////////// 3 11 vertex_data 1 2854 4 name 1 2760 14 current_thread 1 2812 766 14 Dtool_MAKPOMjg 7 777 2913 2108 14 Dtool_MAKPOMjg 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. This flavor creates the // writer specifically to process the named data type. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2854 4 name 1 2760 767 14 Dtool_MAKP_sLT 7 777 2913 2108 14 Dtool_MAKP_sLT 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2854 14 current_thread 1 2812 768 14 Dtool_MAKPiuVb 7 777 2913 2108 14 Dtool_MAKPiuVb 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// 1 11 vertex_data 1 2854 769 14 Dtool_MAKPbStq 7 777 2913 2108 14 Dtool_MAKPbStq 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. This flavor creates the // writer specifically to process the named data type. //////////////////////////////////////////////////////////////////// 3 11 vertex_data 1 2854 4 name 1 2742 14 current_thread 1 2812 770 14 Dtool_MAKPvIHs 7 777 2913 2108 14 Dtool_MAKPvIHs 417 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Constructor // Access: Published // Description: Constructs a new writer to process the vertices of // the indicated data object. This flavor creates the // writer specifically to process the named data type. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2854 4 name 1 2742 771 14 Dtool_MAKP3jti 7 777 2913 2108 14 Dtool_MAKP3jti 234 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2914 772 14 Dtool_MAKPWOrH 7 777 2913 2108 14 Dtool_MAKPWOrH 930 // Filename: geomVertexWriter.I // Created by: drose (25Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexWriter::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexWriter. You must use // the assignment operator to assign a valid // GeomVertexWriter to this object before you can use // it. //////////////////////////////////////////////////////////////////// 1 14 current_thread 1 2812 773 14 Dtool_MAKP_1gf 7 777 2913 2108 14 Dtool_MAKP_1gf 930 // Filename: geomVertexWriter.I // Created by: drose (25Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexWriter::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexWriter. You must use // the assignment operator to assign a valid // GeomVertexWriter to this object before you can use // it. //////////////////////////////////////////////////////////////////// 0 774 14 Dtool_MAKPR3bG 6 778 2913 0 14 Dtool_MAKPR3bG 242 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 copy 1 2914 775 14 Dtool_MAKP1wqw 7 780 2854 1816 14 Dtool_MAKP1wqw 408 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_vertex_data // Access: Published // Description: Returns the vertex data object that the // writer is processing. This may return NULL if the // writer was constructed with just an array pointer. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 776 14 Dtool_MAKP4pZu 7 781 2808 1669 14 Dtool_MAKP4pZu 325 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_array_data // Access: Published // Description: Returns the particular array object that the // writer is currently processing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 777 14 Dtool_MAKPRIaa 7 782 2812 0 14 Dtool_MAKPRIaa 359 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_current_thread // Access: Published // Description: Returns the Thread pointer of the currently-executing // thread, as passed to the constructor of this object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 778 14 Dtool_MAKPnXgZ 6 783 2748 0 14 Dtool_MAKPnXgZ 613 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the data type with the // indicated name. // // This also resets the write number to the start row // (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 name 1 2760 779 14 Dtool_MAKPAfCl 6 783 2748 0 14 Dtool_MAKPAfCl 617 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the data type with the // indicated name. // // This also resets the write row number to the start // row (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 name 1 2742 780 14 Dtool_MAKP4bSL 6 783 2748 0 14 Dtool_MAKP4bSL 639 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the nth data type of the // GeomVertexFormat, numbering from 0. // // This also resets the write row number to the start // row (the same value passed to a previous call to // set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 6 column 1 2751 781 14 Dtool_MAKP5him 6 783 2748 0 14 Dtool_MAKP5him 639 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_column // Access: Published // Description: Sets up the writer to use the indicated column // description on the given array. // // This also resets the current write row number to the // start row (the same value passed to a previous call // to set_row(), or 0 if set_row() was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 2913 5 array 1 2751 6 column 1 2764 782 14 Dtool_MAKPh0DZ 4 784 2747 0 14 Dtool_MAKPh0DZ 272 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::clear // Access: Published // Description: Resets the GeomVertexWriter to the initial state. //////////////////////////////////////////////////////////////////// 1 4 this 3 2913 783 14 Dtool_MAKP7zCz 6 785 2748 0 14 Dtool_MAKP7zCz 364 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::has_column // Access: Published // Description: Returns true if a valid data type has been // successfully set, or false if the data type does not // exist. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 784 14 Dtool_MAKPImzD 6 786 2751 0 14 Dtool_MAKPImzD 323 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_array // Access: Published // Description: Returns the array index containing the data type that // the writer is working on. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 785 14 Dtool_MAKPTOZs 6 787 2764 0 14 Dtool_MAKPTOZs 316 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_column // Access: Published // Description: Returns the description of the data type that the // writer is working on. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 786 14 Dtool_MAKPk3SK 4 788 2747 0 14 Dtool_MAKPk3SK 530 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_row // Access: Published // Description: Sets the start row to the indicated value. The // writer will begin writing to the indicated row; // each subsequent set_data*() call will store the data // into the subsequent row. If set_column() is called, // the writer will return to this row. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 3 row 1 2751 787 14 Dtool_MAKPiCoy 6 789 2751 0 14 Dtool_MAKPiCoy 376 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_start_row // Access: Published // Description: Returns the row index at which the writer // started. It will return to this row if you reset // the current column. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 788 14 Dtool_MAKPDv2U 6 790 2751 0 14 Dtool_MAKPDv2U 368 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::get_write_row // Access: Published // Description: Returns the row index to which the data will be // written at the next call to set_data*() or // add_data*(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 789 14 Dtool_MAKPqN8y 6 791 2748 0 14 Dtool_MAKPqN8y 509 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::is_at_end // Access: Published // Description: Returns true if the writer is currently at the end of // the list of vertices, false otherwise. If this is // true, another call to set_data*() will result in a // crash, but another call to add_data*() will add a new // row. //////////////////////////////////////////////////////////////////// 1 4 this 3 2914 790 14 Dtool_MAKP8dnY 4 792 2747 0 14 Dtool_MAKP8dnY 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data1f // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2752 791 14 Dtool_MAKPuO4g 4 793 2747 0 14 Dtool_MAKPuO4g 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2907 792 14 Dtool_MAKPmeMu 4 793 2747 0 14 Dtool_MAKPmeMu 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 3 4 this 3 2913 1 x 1 2752 1 y 1 2752 793 14 Dtool_MAKPH_73 4 794 2747 0 14 Dtool_MAKPH_73 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2910 794 14 Dtool_MAKP_DXP 4 794 2747 0 14 Dtool_MAKP_DXP 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 4 4 this 3 2913 1 x 1 2752 1 y 1 2752 1 z 1 2752 795 14 Dtool_MAKPfh9O 4 795 2747 0 14 Dtool_MAKPfh9O 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2855 796 14 Dtool_MAKPKTZT 4 795 2747 0 14 Dtool_MAKPKTZT 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 5 4 this 3 2913 1 x 1 2752 1 y 1 2752 1 z 1 2752 1 w 1 2752 797 14 Dtool_MAKPWrrr 4 796 2747 0 14 Dtool_MAKPWrrr 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data1i // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2751 798 14 Dtool_MAKPsRPt 4 797 2747 0 14 Dtool_MAKPsRPt 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data2i // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 3 4 this 3 2913 1 a 1 2751 1 b 1 2751 799 14 Dtool_MAKPRmzc 4 798 2747 0 14 Dtool_MAKPRmzc 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data3i // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 4 4 this 3 2913 1 a 1 2751 1 b 1 2751 1 c 1 2751 800 14 Dtool_MAKPdVco 4 799 2747 0 14 Dtool_MAKPdVco 429 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::set_data4i // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // It is an error for the write row to advance past // the end of data. //////////////////////////////////////////////////////////////////// 5 4 this 3 2913 1 a 1 2751 1 b 1 2751 1 c 1 2751 1 d 1 2751 801 14 Dtool_MAKP5Qu1 4 800 2747 0 14 Dtool_MAKP5Qu1 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data1f // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2752 802 14 Dtool_MAKPsnA_ 4 801 2747 0 14 Dtool_MAKPsnA_ 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2907 803 14 Dtool_MAKPn5UL 4 801 2747 0 14 Dtool_MAKPn5UL 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data2f // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 3 4 this 3 2913 1 x 1 2752 1 y 1 2752 804 14 Dtool_MAKPEXCV 4 802 2747 0 14 Dtool_MAKPEXCV 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2910 805 14 Dtool_MAKP72es 4 802 2747 0 14 Dtool_MAKP72es 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data3f // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 4 4 this 3 2913 1 x 1 2752 1 y 1 2752 1 z 1 2752 806 14 Dtool_MAKPdGEs 4 803 2747 0 14 Dtool_MAKPdGEs 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2855 807 14 Dtool_MAKPNOgw 4 803 2747 0 14 Dtool_MAKPNOgw 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data4f // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 5 4 this 3 2913 1 x 1 2752 1 y 1 2752 1 z 1 2752 1 w 1 2752 808 14 Dtool_MAKPMcyI 4 804 2747 0 14 Dtool_MAKPMcyI 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data1i // Access: Published // Description: Sets the write row to a particular 1-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2913 4 data 1 2751 809 14 Dtool_MAKPrwVK 4 805 2747 0 14 Dtool_MAKPrwVK 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data2i // Access: Published // Description: Sets the write row to a particular 2-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 3 4 this 3 2913 1 a 1 2751 1 b 1 2751 810 14 Dtool_MAKPWt75 4 806 2747 0 14 Dtool_MAKPWt75 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data3i // Access: Published // Description: Sets the write row to a particular 3-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 4 4 this 3 2913 1 a 1 2751 1 b 1 2751 1 c 1 2751 811 14 Dtool_MAKPngjF 4 807 2747 0 14 Dtool_MAKPngjF 450 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::add_data4i // Access: Published // Description: Sets the write row to a particular 4-component // value, and advances the write row. // // If the write row advances past the end of data, // implicitly adds a new row to the data. //////////////////////////////////////////////////////////////////// 5 4 this 3 2913 1 a 1 2751 1 b 1 2751 1 c 1 2751 1 d 1 2751 812 14 Dtool_MAKPtLsy 4 808 2747 0 14 Dtool_MAKPtLsy 224 //////////////////////////////////////////////////////////////////// // Function: GeomVertexWriter::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2914 3 out 1 2749 813 14 Dtool_MAKP8imG 7 814 2916 2144 14 Dtool_MAKP8imG 326 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 2 10 array_data 1 2808 14 current_thread 1 2812 814 14 Dtool_MAKP1co3 7 814 2916 2144 14 Dtool_MAKP1co3 326 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 1 10 array_data 1 2808 815 14 Dtool_MAKPOzcs 7 814 2916 2144 14 Dtool_MAKPOzcs 326 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 3 10 array_data 1 2808 6 column 1 2751 14 current_thread 1 2812 816 14 Dtool_MAKP9WgO 7 814 2916 2144 14 Dtool_MAKP9WgO 326 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated array only. //////////////////////////////////////////////////////////////////// 2 10 array_data 1 2808 6 column 1 2751 817 14 Dtool_MAKP0Ah6 7 814 2916 2144 14 Dtool_MAKP0Ah6 423 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. This flavor creates the // rewriter specifically to process the named data type. //////////////////////////////////////////////////////////////////// 3 11 vertex_data 1 2854 4 name 1 2760 14 current_thread 1 2812 818 14 Dtool_MAKP6OpO 7 814 2916 2144 14 Dtool_MAKP6OpO 423 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. This flavor creates the // rewriter specifically to process the named data type. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2854 4 name 1 2760 819 14 Dtool_MAKPdx2Z 7 814 2916 2144 14 Dtool_MAKPdx2Z 327 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2854 14 current_thread 1 2812 820 14 Dtool_MAKPV_Yy 7 814 2916 2144 14 Dtool_MAKPV_Yy 327 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. //////////////////////////////////////////////////////////////////// 1 11 vertex_data 1 2854 821 14 Dtool_MAKPWJQ_ 7 814 2916 2144 14 Dtool_MAKPWJQ_ 423 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. This flavor creates the // rewriter specifically to process the named data type. //////////////////////////////////////////////////////////////////// 3 11 vertex_data 1 2854 4 name 1 2742 14 current_thread 1 2812 822 14 Dtool_MAKPRgWT 7 814 2916 2144 14 Dtool_MAKPRgWT 423 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Constructor // Access: Published // Description: Constructs a new rewriter to process the vertices of // the indicated data object. This flavor creates the // rewriter specifically to process the named data type. //////////////////////////////////////////////////////////////////// 2 11 vertex_data 1 2854 4 name 1 2742 823 14 Dtool_MAKPNKr7 7 814 2916 2144 14 Dtool_MAKPNKr7 236 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2917 824 14 Dtool_MAKPGqJ9 7 814 2916 2144 14 Dtool_MAKPGqJ9 938 // Filename: geomVertexRewriter.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexRewriter::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexRewriter. You must use // the assignment operator to assign a valid // GeomVertexRewriter to this object before you can use // it. //////////////////////////////////////////////////////////////////// 1 14 current_thread 1 2812 825 14 Dtool_MAKPy1ru 7 814 2916 2144 14 Dtool_MAKPy1ru 938 // Filename: geomVertexRewriter.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: GeomVertexRewriter::Default Constructor // Access: Published // Description: Constructs an invalid GeomVertexRewriter. You must use // the assignment operator to assign a valid // GeomVertexRewriter to this object before you can use // it. //////////////////////////////////////////////////////////////////// 0 826 14 Dtool_MAKP0WpY 6 815 2916 0 14 Dtool_MAKP0WpY 244 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2916 4 copy 1 2917 827 14 Dtool_MAKPwH9m 7 817 2854 1816 14 Dtool_MAKPwH9m 315 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_vertex_data // Access: Published // Description: Returns the vertex data object that the // rewriter is processing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2917 828 14 Dtool_MAKPIWNZ 7 818 2808 1669 14 Dtool_MAKPIWNZ 329 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_array_data // Access: Published // Description: Returns the particular array object that the // rewriter is currently processing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2917 829 14 Dtool_MAKP9TSi 6 819 2748 0 14 Dtool_MAKP9TSi 653 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the data type with the // indicated name. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2916 4 name 1 2760 830 14 Dtool_MAKP5ySQ 6 819 2748 0 14 Dtool_MAKP5ySQ 653 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the data type with the // indicated name. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2916 4 name 1 2742 831 14 Dtool_MAKPXLoW 6 819 2748 0 14 Dtool_MAKPXLoW 675 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the nth data type of the // GeomVertexFormat, numbering from 0. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2916 6 column 1 2751 832 14 Dtool_MAKP46ti 6 819 2748 0 14 Dtool_MAKP46ti 667 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_column // Access: Published // Description: Sets up the rewriter to use the indicated column // description on the given array. // // This also resets both the read and write row // numbers to the start row (the same value passed to // a previous call to set_row(), or 0 if set_row() // was never called.) // // The return value is true if the data type is valid, // false otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 2916 5 array 1 2751 6 column 1 2764 833 14 Dtool_MAKPnxC8 4 820 2747 0 14 Dtool_MAKPnxC8 276 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::clear // Access: Published // Description: Resets the GeomVertexRewriter to the initial state. //////////////////////////////////////////////////////////////////// 1 4 this 3 2916 834 14 Dtool_MAKPboKu 6 821 2748 0 14 Dtool_MAKPboKu 366 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::has_column // Access: Published // Description: Returns true if a valid data type has been // successfully set, or false if the data type does not // exist. //////////////////////////////////////////////////////////////////// 1 4 this 3 2917 835 14 Dtool_MAKPvQZb 6 822 2751 0 14 Dtool_MAKPvQZb 327 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_array // Access: Published // Description: Returns the array index containing the data type that // the rewriter is working on. //////////////////////////////////////////////////////////////////// 1 4 this 3 2917 836 14 Dtool_MAKPxqWN 6 823 2764 0 14 Dtool_MAKPxqWN 320 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_column // Access: Published // Description: Returns the description of the data type that the // rewriter is working on. //////////////////////////////////////////////////////////////////// 1 4 this 3 2917 837 14 Dtool_MAKPYAs_ 4 824 2747 0 14 Dtool_MAKPYAs_ 379 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::set_row // Access: Published // Description: Sets the start, write, and write index to the // indicated value. The rewriter will begin traversing // from the given row. //////////////////////////////////////////////////////////////////// 2 4 this 3 2916 3 row 1 2751 838 14 Dtool_MAKPQVW0 6 825 2751 0 14 Dtool_MAKPQVW0 380 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::get_start_row // Access: Published // Description: Returns the row index at which the rewriter // started. It will return to this row if you reset // the current column. //////////////////////////////////////////////////////////////////// 1 4 this 3 2917 839 14 Dtool_MAKPVwyF 6 826 2748 0 14 Dtool_MAKPVwyF 348 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::is_at_end // Access: Published // Description: Returns true if the reader or writer is currently at // the end of the list of vertices, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2917 840 14 Dtool_MAKPHXoX 4 827 2747 0 14 Dtool_MAKPHXoX 226 //////////////////////////////////////////////////////////////////// // Function: GeomVertexRewriter::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2917 3 out 1 2749 841 14 Dtool_MAKPJzBL 6 810 2913 0 14 Dtool_MAKPJzBL 0 1 4 this 3 2916 842 14 Dtool_MAKP_ksb 6 811 2916 0 14 Dtool_MAKP_ksb 0 1 4 this 3 2913 843 14 Dtool_MAKPgjnL 6 812 2904 0 14 Dtool_MAKPgjnL 0 1 4 this 3 2916 844 14 Dtool_MAKPmisS 6 813 2916 0 14 Dtool_MAKPmisS 0 1 4 this 3 2904 845 14 Dtool_MAKPGQ_b 7 833 2921 2162 14 Dtool_MAKPGQ_b 225 //////////////////////////////////////////////////////////////////// // Function: Material::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 2919 846 14 Dtool_MAKPF7Ty 7 833 2921 2162 14 Dtool_MAKPF7Ty 703 // Filename: material.I // Created by: mike (05Feb99) // //////////////////////////////////////////////////////////////////// // // 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: Material::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 847 14 Dtool_MAKP__MD 7 833 2921 2162 14 Dtool_MAKP__MD 703 // Filename: material.I // Created by: mike (05Feb99) // //////////////////////////////////////////////////////////////////// // // 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: Material::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 848 14 Dtool_MAKP9ooi 7 834 2921 2162 14 Dtool_MAKP9ooi 233 //////////////////////////////////////////////////////////////////// // Function: Material::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 4 copy 1 2919 849 14 Dtool_MAKPVX0q 7 836 2921 2162 14 Dtool_MAKPVX0q 258 //////////////////////////////////////////////////////////////////// // Function: Material::get_default // Access: Published, Static // Description: Returns the default material. //////////////////////////////////////////////////////////////////// 0 850 14 Dtool_MAKP7f5w 6 837 2748 0 14 Dtool_MAKP7f5w 331 //////////////////////////////////////////////////////////////////// // Function: Material::has_ambient // Access: Published // Description: Returns true if the ambient color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 851 14 Dtool_MAKPZcqI 6 838 2855 0 14 Dtool_MAKPZcqI 367 //////////////////////////////////////////////////////////////////// // Function: Material::get_ambient // Access: Published // Description: Returns the ambient color setting, if it has been // set. Returns (0,0,0,0) if the ambient color has not // been set. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 852 14 Dtool_MAKP34VB 4 839 2747 0 14 Dtool_MAKP34VB 592 //////////////////////////////////////////////////////////////////// // Function: Material::set_ambient // Access: Published // Description: Specifies the ambient color setting of the material. // This will be the multiplied by any ambient lights in // effect on the material to set its base color. // // This is the color of the object as it appears in the // absence of direct light. // // If this is not set, the object color will be used. //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 5 color 1 2855 853 14 Dtool_MAKPefxD 4 840 2747 0 14 Dtool_MAKPefxD 276 //////////////////////////////////////////////////////////////////// // Function: Material::clear_ambient // Access: Published // Description: Removes the explicit ambient color from the material. //////////////////////////////////////////////////////////////////// 1 4 this 3 2921 854 14 Dtool_MAKPUInK 6 841 2748 0 14 Dtool_MAKPUInK 331 //////////////////////////////////////////////////////////////////// // Function: Material::has_diffuse // Access: Published // Description: Returns true if the diffuse color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 855 14 Dtool_MAKP7Iai 6 842 2855 0 14 Dtool_MAKP7Iai 367 //////////////////////////////////////////////////////////////////// // Function: Material::get_diffuse // Access: Published // Description: Returns the diffuse color setting, if it has been // set. Returns (1,1,1,1) if the diffuse color has not // been set. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 856 14 Dtool_MAKPZ0Eb 4 843 2747 0 14 Dtool_MAKPZ0Eb 709 //////////////////////////////////////////////////////////////////// // Function: Material::set_diffuse // Access: Published // Description: Specifies the diffuse color setting of the material. // This will be multiplied by any lights in effect on // the material to get the color in the parts of the // object illuminated by the lights. // // This is the primary color of an object; the color of // the object as it appears in direct light, in the // absence of highlights. // // If this is not set, the object color will be used. //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 5 color 1 2855 857 14 Dtool_MAKPAqqE 4 844 2747 0 14 Dtool_MAKPAqqE 276 //////////////////////////////////////////////////////////////////// // Function: Material::clear_diffuse // Access: Published // Description: Removes the explicit diffuse color from the material. //////////////////////////////////////////////////////////////////// 1 4 this 3 2921 858 14 Dtool_MAKPW6_3 6 845 2748 0 14 Dtool_MAKPW6_3 333 //////////////////////////////////////////////////////////////////// // Function: Material::has_specular // Access: Published // Description: Returns true if the specular color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 859 14 Dtool_MAKP8lwP 6 846 2855 0 14 Dtool_MAKP8lwP 370 //////////////////////////////////////////////////////////////////// // Function: Material::get_specular // Access: Published // Description: Returns the specular color setting, if it has been // set. Returns (0,0,0,0) if the specular color has not // been set. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 860 14 Dtool_MAKPdfyI 4 847 2747 0 14 Dtool_MAKPdfyI 637 //////////////////////////////////////////////////////////////////// // Function: Material::set_specular // Access: Published // Description: Specifies the diffuse color setting of the material. // This will be multiplied by any lights in effect on // the material to compute the color of specular // highlights on the object. // // This is the highlight color of an object: the color // of small highlight reflections. // // If this is not set, highlights will not appear. //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 5 color 1 2855 861 14 Dtool_MAKPcNUr 4 848 2747 0 14 Dtool_MAKPcNUr 278 //////////////////////////////////////////////////////////////////// // Function: Material::clear_specular // Access: Published // Description: Removes the explicit specular color from the material. //////////////////////////////////////////////////////////////////// 1 4 this 3 2921 862 14 Dtool_MAKP03rd 6 849 2748 0 14 Dtool_MAKP03rd 333 //////////////////////////////////////////////////////////////////// // Function: Material::has_emission // Access: Published // Description: Returns true if the emission color has been explicitly // set for this material, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 863 14 Dtool_MAKPb2c1 6 850 2855 0 14 Dtool_MAKPb2c1 370 //////////////////////////////////////////////////////////////////// // Function: Material::get_emission // Access: Published // Description: Returns the emission color setting, if it has been // set. Returns (0,0,0,0) if the emission color has not // been set. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 864 14 Dtool_MAKPwIeu 4 851 2747 0 14 Dtool_MAKPwIeu 768 //////////////////////////////////////////////////////////////////// // Function: Material::set_emission // Access: Published // Description: Specifies the emission color setting of the material. // This is the color of the object as it appears in the // absence of any light whatsover, including ambient // light. It is as if the object is glowing by this // color (although of course it will not illuminate // neighboring objects). // // If this is not set, the object will not glow by its // own light and will only appear visible in the // presence of one or more lights. //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 5 color 1 2855 865 14 Dtool_MAKPjKsu 4 852 2747 0 14 Dtool_MAKPjKsu 278 //////////////////////////////////////////////////////////////////// // Function: Material::clear_emission // Access: Published // Description: Removes the explicit emission color from the material. //////////////////////////////////////////////////////////////////// 1 4 this 3 2921 866 14 Dtool_MAKP8cpp 6 853 2752 0 14 Dtool_MAKP8cpp 270 //////////////////////////////////////////////////////////////////// // Function: Material::get_shininess // Access: Published // Description: Returns the shininess exponent of the material. //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 867 14 Dtool_MAKP_D1v 4 854 2747 0 14 Dtool_MAKP_D1v 598 //////////////////////////////////////////////////////////////////// // Function: Material::set_shininess // Access: Published // Description: Sets the shininess exponent of the material. This // controls the size of the specular highlight spot. In // general, larger number produce a smaller specular // highlight, which makes the object appear shinier. // Smaller numbers produce a larger highlight, which // makes the object appear less shiny. //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 9 shininess 1 2752 868 14 Dtool_MAKPGt_1 6 855 2748 0 14 Dtool_MAKPGt_1 267 //////////////////////////////////////////////////////////////////// // Function: Material::get_local // Access: Published // Description: Returns the local viewer flag. Set set_local(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 869 14 Dtool_MAKP9DMm 4 856 2747 0 14 Dtool_MAKP9DMm 519 //////////////////////////////////////////////////////////////////// // Function: Material::set_local // Access: Published // Description: Sets the local viewer flag. Set this true to enable // camera-relative specular highlights, or false to use // orthogonal specular highlights. The default value is // true. Applications that use orthogonal projection // should specify false. //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 5 local 1 2748 870 14 Dtool_MAKPJTRL 6 857 2748 0 14 Dtool_MAKPJTRL 306 //////////////////////////////////////////////////////////////////// // Function: Material::get_twoside // Access: Published // Description: Returns the state of the two-sided lighting flag. // See set_twoside(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 871 14 Dtool_MAKP06bF 4 858 2747 0 14 Dtool_MAKP06bF 513 //////////////////////////////////////////////////////////////////// // Function: Material::set_twoside // Access: Published // Description: Set this true to enable two-sided lighting. When // two-sided lighting is on, both sides of a polygon // will be lit by this material. The default is for // two-sided lighting to be off, in which case only the // front surface is lit. //////////////////////////////////////////////////////////////////// 2 4 this 3 2921 7 twoside 1 2748 872 14 Dtool_MAKPNdw5 6 859 2748 0 14 Dtool_MAKPNdw5 220 //////////////////////////////////////////////////////////////////// // Function: Material::operator == // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2919 5 other 1 2919 873 14 Dtool_MAKPvnf5 6 860 2748 0 14 Dtool_MAKPvnf5 220 //////////////////////////////////////////////////////////////////// // Function: Material::operator != // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2919 5 other 1 2919 874 14 Dtool_MAKPwWha 6 861 2748 0 14 Dtool_MAKPwWha 219 //////////////////////////////////////////////////////////////////// // Function: Material::operator < // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2919 5 other 1 2919 875 14 Dtool_MAKPlFQk 6 862 2751 0 14 Dtool_MAKPlFQk 535 //////////////////////////////////////////////////////////////////// // Function: Material::compare_to // Access: Published // Description: Returns a number less than zero if this material // sorts before the other one, greater than zero if it // sorts after, or zero if they are equivalent. The // sorting order is arbitrary and largely meaningless, // except to differentiate different materials. //////////////////////////////////////////////////////////////////// 2 4 this 3 2919 5 other 1 2919 876 14 Dtool_MAKPhHq5 4 863 2747 0 14 Dtool_MAKPhHq5 215 //////////////////////////////////////////////////////////////////// // Function: Material::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2919 3 out 1 2749 877 14 Dtool_MAKPO3W7 4 864 2747 0 14 Dtool_MAKPO3W7 214 //////////////////////////////////////////////////////////////////// // Function: Material::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2919 3 out 1 2749 6 indent 1 2751 878 14 Dtool_MAKPpdX4 6 865 2748 0 14 Dtool_MAKPpdX4 225 //////////////////////////////////////////////////////////////////// // Function: Material::is_attrib_locked // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2919 879 14 Dtool_MAKPw3QT 4 866 2747 0 14 Dtool_MAKPw3QT 224 //////////////////////////////////////////////////////////////////// // Function: Material::set_attrib_lock // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2921 880 14 Dtool_MAKPc7AP 7 867 2763 0 14 Dtool_MAKPc7AP 0 0 881 14 Dtool_MAKPAyQo 7 829 2772 0 14 Dtool_MAKPAyQo 0 1 4 this 3 2921 882 14 Dtool_MAKPUatZ 7 830 2921 2162 14 Dtool_MAKPUatZ 0 1 4 this 3 2772 883 14 Dtool_MAKP_v5f 6 831 2783 0 14 Dtool_MAKP_v5f 0 1 4 this 3 2921 884 14 Dtool_MAKPA_vV 7 832 2921 2162 14 Dtool_MAKPA_vV 0 1 4 this 3 2783 885 14 Dtool_MAKPg23I 7 870 2924 2257 14 Dtool_MAKPg23I 0 1 4 this 3 2922 886 14 Dtool_MAKPFXAo 6 871 2748 0 14 Dtool_MAKPFXAo 1266 // Filename: lens.I // Created by: drose (29Nov01) // //////////////////////////////////////////////////////////////////// // // 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: Lens::extrude // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the corresponding vector in space that maps // to this point, if such a vector can be determined. // The vector is returned by indicating the points on // the near plane and far plane that both map to the // indicated 2-d point. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// 4 4 this 3 2922 7 point2d 1 2925 10 near_point 1 2836 9 far_point 1 2836 887 14 Dtool_MAKPVxUo 6 871 2748 0 14 Dtool_MAKPVxUo 852 //////////////////////////////////////////////////////////////////// // Function: Lens::extrude // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the corresponding vector in space that maps // to this point, if such a vector can be determined. // The vector is returned by indicating the points on // the near plane and far plane that both map to the // indicated 2-d point. // // The z coordinate of the 2-d point is ignored. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// 4 4 this 3 2922 7 point2d 1 2928 10 near_point 1 2836 9 far_point 1 2836 888 14 Dtool_MAKPB8vq 6 872 2748 0 14 Dtool_MAKPB8vq 885 //////////////////////////////////////////////////////////////////// // Function: Lens::extrude_vec // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the vector that corresponds to the view // direction. This will be parallel to the normal on // the surface (the far plane) corresponding to the lens // shape at this point. // // See the comment block on Lens::extrude_vec_impl() for // a more in-depth comment on the meaning of this // vector. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 2922 7 point2d 1 2925 5 vec3d 1 2840 889 14 Dtool_MAKP6Owq 6 872 2748 0 14 Dtool_MAKP6Owq 951 //////////////////////////////////////////////////////////////////// // Function: Lens::extrude_vec // Access: Published // Description: Given a 2-d point in the range (-1,1) in both // dimensions, where (0,0) is the center of the // lens and (-1,-1) is the lower-left corner, // compute the vector that corresponds to the view // direction. This will be parallel to the normal on // the surface (the far plane) corresponding to the lens // shape at this point. // // See the comment block on Lens::extrude_vec_impl() for // a more in-depth comment on the meaning of this // vector. // // The z coordinate of the 2-d point is ignored. // // Returns true if the vector is defined, or false // otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 2922 7 point2d 1 2928 5 vec3d 1 2840 890 14 Dtool_MAKPy6hM 6 873 2748 0 14 Dtool_MAKPy6hM 769 //////////////////////////////////////////////////////////////////// // Function: Lens::project // Access: Published // Description: Given a 3-d point in space, determine the 2-d point // this maps to, in the range (-1,1) in both dimensions, // where (0,0) is the center of the lens and // (-1,-1) is the lower-left corner. // // Returns true if the 3-d point is in front of the lens // and within the viewing frustum (in which case point2d // is filled in), or false otherwise (in which case // point2d will be filled in with something, which may // or may not be meaningful). //////////////////////////////////////////////////////////////////// 3 4 this 3 2922 7 point3d 1 2928 7 point2d 1 2930 891 14 Dtool_MAKPyFwN 6 873 2748 0 14 Dtool_MAKPyFwN 980 //////////////////////////////////////////////////////////////////// // Function: Lens::project // Access: Published // Description: Given a 3-d point in space, determine the 2-d point // this maps to, in the range (-1,1) in both dimensions, // where (0,0) is the center of the lens and // (-1,-1) is the lower-left corner. // // The z coordinate will also be set to a value in the // range (-1, 1), where 1 represents a point on the near // plane, and -1 represents a point on the far plane. // // Returns true if the 3-d point is in front of the lens // and within the viewing frustum (in which case point2d // is filled in), or false otherwise (in which case // point2d will be filled in with something, which may // or may not be meaningful). //////////////////////////////////////////////////////////////////// 3 4 this 3 2922 7 point3d 1 2928 7 point2d 1 2836 892 14 Dtool_MAKPOGXC 4 874 2747 0 14 Dtool_MAKPOGXC 643 //////////////////////////////////////////////////////////////////// // Function: Lens::set_change_event // Access: Published // Description: Sets the name of the event that will be generated // whenever any properties of the Lens have // changed. If this is not set for a particular lens, // no event will be generated. // // The event is thrown with one parameter, the lens // itself. This can be used to automatically track // changes to camera fov, etc. in the application. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 5 event 1 2742 893 14 Dtool_MAKPI_Ni 6 875 2742 0 14 Dtool_MAKPI_Ni 370 //////////////////////////////////////////////////////////////////// // Function: Lens::get_change_event // Access: Published // Description: Returns the name of the event that will be generated // whenever any properties of this particular Lens have // changed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 894 14 Dtool_MAKP0iUE 4 876 2747 0 14 Dtool_MAKP0iUE 385 //////////////////////////////////////////////////////////////////// // Function: Lens::set_coordinate_system // Access: Published // Description: Specifies the coordinate system that all 3-d // computations are performed within for this // Lens. Normally, this is CS_default. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 2 cs 1 2931 895 14 Dtool_MAKPsmpX 6 877 2931 0 14 Dtool_MAKPsmpX 383 //////////////////////////////////////////////////////////////////// // Function: Lens::get_coordinate_system // Access: Published // Description: Returns the coordinate system that all 3-d // computations are performed within for this // Lens. Normally, this is CS_default. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 896 14 Dtool_MAKPOuga 4 878 2747 0 14 Dtool_MAKPOuga 289 //////////////////////////////////////////////////////////////////// // Function: Lens::clear // Access: Published // Description: Resets all lens parameters to their initial default // settings. //////////////////////////////////////////////////////////////////// 1 4 this 3 2924 897 14 Dtool_MAKPkLtR 4 879 2747 0 14 Dtool_MAKPkLtR 1181 //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_size // Access: Published // Description: Sets the size and shape of the "film" within the // lens. This both establishes the units used by // calls like set_focal_length(), and establishes the // aspect ratio of the frame. // // In a physical camera, the field of view of a lens is // determined by the lens' focal length and by the size // of the film area exposed by the lens. For instance, // a 35mm camera exposes a rectangle on the film about // 24mm x 36mm, which means a 50mm lens gives about a // 40-degree horizontal field of view. // // In the virtual camera, you may set the film size to // any units here, and specify a focal length in the // same units to simulate the same effect. Or, you may // ignore this parameter, and specify the field of view // and aspect ratio of the lens directly. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 9 film_size 1 2907 898 14 Dtool_MAKPlFkr 4 879 2747 0 14 Dtool_MAKPlFkr 459 //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_size // Access: Published // Description: Sets the horizontal size of the film without changing // its shape. The aspect ratio remains unchanged; this // computes the vertical size of the film to // automatically maintain the aspect ratio. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 5 width 1 2752 899 14 Dtool_MAKP0VW8 4 879 2747 0 14 Dtool_MAKP0VW8 1181 //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_size // Access: Published // Description: Sets the size and shape of the "film" within the // lens. This both establishes the units used by // calls like set_focal_length(), and establishes the // aspect ratio of the frame. // // In a physical camera, the field of view of a lens is // determined by the lens' focal length and by the size // of the film area exposed by the lens. For instance, // a 35mm camera exposes a rectangle on the film about // 24mm x 36mm, which means a 50mm lens gives about a // 40-degree horizontal field of view. // // In the virtual camera, you may set the film size to // any units here, and specify a focal length in the // same units to simulate the same effect. Or, you may // ignore this parameter, and specify the field of view // and aspect ratio of the lens directly. //////////////////////////////////////////////////////////////////// 3 4 this 3 2924 5 width 1 2752 6 height 1 2752 900 14 Dtool_MAKPpaPJ 6 880 2907 0 14 Dtool_MAKPpaPJ 324 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_size // Access: Published // Description: Returns the horizontal and vertical film size of // the virtual film. See set_film_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 901 14 Dtool_MAKP54pC 4 881 2747 0 14 Dtool_MAKP54pC 448 //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_offset // Access: Published // Description: Sets the horizontal and vertical offset amounts of // this Lens. These are both in the same units // specified in set_film_size(). // // This can be used to establish an off-axis lens. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 11 film_offset 1 2907 902 14 Dtool_MAKPbcn6 4 881 2747 0 14 Dtool_MAKPbcn6 448 //////////////////////////////////////////////////////////////////// // Function: Lens::set_film_offset // Access: Published // Description: Sets the horizontal and vertical offset amounts of // this Lens. These are both in the same units // specified in set_film_size(). // // This can be used to establish an off-axis lens. //////////////////////////////////////////////////////////////////// 3 4 this 3 2924 1 x 1 2752 1 y 1 2752 903 14 Dtool_MAKPY8t_ 6 882 2932 0 14 Dtool_MAKPY8t_ 326 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_offset // Access: Published // Description: Returns the horizontal and vertical offset amounts of // this Lens. See set_film_offset(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 904 14 Dtool_MAKPNiTK 4 883 2747 0 14 Dtool_MAKPNiTK 515 //////////////////////////////////////////////////////////////////// // Function: Lens::set_focal_length // Access: Published // Description: Sets the focal length of the lens. This may adjust // the field-of-view correspondingly, and is an // alternate way to specify field of view. // // For certain kinds of lenses (e.g. OrthographicLens), // the focal length has no meaning. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 12 focal_length 1 2752 905 14 Dtool_MAKPaQhl 6 884 2752 0 14 Dtool_MAKPaQhl 527 //////////////////////////////////////////////////////////////////// // Function: Lens::get_focal_length // Access: Published // Description: Returns the focal length of the lens. This may have // been set explicitly by a previous call to // set_focal_length(), or it may be computed based on // the lens' fov and film_size. For certain kinds of // lenses, the focal length has no meaning. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 906 14 Dtool_MAKPi1Mq 4 885 2747 0 14 Dtool_MAKPi1Mq 836 //////////////////////////////////////////////////////////////////// // Function: Lens::set_min_fov // Access: Published // Description: Sets the field of view of the smallest dimension of // the window. If the window is wider than it is tall, // this specifies the vertical field of view; if it is // taller than it is wide, this specifies the horizontal // field of view. // // In many cases, this is preferable to setting either // the horizontal or vertical field of view explicitly. // Setting this parameter means that pulling the window // wider will widen the field of view, which is usually // what you expect to happen. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 7 min_fov 1 2752 907 14 Dtool_MAKPTIxI 4 886 2747 0 14 Dtool_MAKPTIxI 626 //////////////////////////////////////////////////////////////////// // Function: Lens::set_fov // Access: Published // Description: Sets the field of view of the lens in both // dimensions. This establishes both the field of view // and the aspect ratio of the lens. This is one way to // specify the field of view of a lens; // set_focal_length() is another way. // // For certain kinds of lenses (like OrthographicLens), // the field of view has no meaning. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 3 fov 1 2907 908 14 Dtool_MAKPZkJq 4 886 2747 0 14 Dtool_MAKPZkJq 402 //////////////////////////////////////////////////////////////////// // Function: Lens::set_fov // Access: Published // Description: Sets the horizontal field of view of the lens without // changing the aspect ratio. The vertical field of // view is adjusted to maintain the same aspect ratio. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 3 fov 1 2752 909 14 Dtool_MAKPwNaC 4 886 2747 0 14 Dtool_MAKPwNaC 619 //////////////////////////////////////////////////////////////////// // Function: Lens::set_fov // Access: Published // Description: Sets the field of view of the lens in both // dimensions. This establishes both the field of view // and the aspect ratio of the lens. This is one way to // specify the field of view of a lens; // set_focal_length() is another way. // // For certain kinds of lenses (like OrthoLens), // the field of view has no meaning. //////////////////////////////////////////////////////////////////// 3 4 this 3 2924 4 hfov 1 2752 4 vfov 1 2752 910 14 Dtool_MAKPGTNq 6 887 2907 0 14 Dtool_MAKPGTNq 312 //////////////////////////////////////////////////////////////////// // Function: Lens::get_fov // Access: Published // Description: Returns the horizontal and vertical film size of // the virtual film. See set_fov(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 911 14 Dtool_MAKPFGjN 6 888 2752 0 14 Dtool_MAKPFGjN 292 //////////////////////////////////////////////////////////////////// // Function: Lens::get_hfov // Access: Published // Description: Returns the horizontal component of fov only. See // get_fov(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 912 14 Dtool_MAKP9tnO 6 889 2752 0 14 Dtool_MAKP9tnO 290 //////////////////////////////////////////////////////////////////// // Function: Lens::get_vfov // Access: Published // Description: Returns the vertical component of fov only. See // get_fov(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 913 14 Dtool_MAKPuTcw 6 890 2752 0 14 Dtool_MAKPuTcw 321 //////////////////////////////////////////////////////////////////// // Function: Lens::get_min_fov // Access: Published // Description: Returns the field of view of the narrowest dimension // of the window. See set_min_fov(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 914 14 Dtool_MAKP_kwh 4 891 2747 0 14 Dtool_MAKP_kwh 444 //////////////////////////////////////////////////////////////////// // Function: Lens::set_aspect_ratio // Access: Published // Description: Sets the aspect ratio of the lens. This is the ratio // of the height to the width of the generated image. // Setting this overrides the two-parameter fov or film // size setting. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 12 aspect_ratio 1 2752 915 14 Dtool_MAKPjb98 6 892 2752 0 14 Dtool_MAKPjb98 368 //////////////////////////////////////////////////////////////////// // Function: Lens::get_aspect_ratio // Access: Published // Description: Returns the aspect ratio of the Lens. This is // determined based on the indicated film size; see // set_film_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 916 14 Dtool_MAKP2Qgw 4 893 2747 0 14 Dtool_MAKP2Qgw 377 //////////////////////////////////////////////////////////////////// // Function: Lens::set_near // Access: Published // Description: Defines the position of the near plane (or cylinder, // sphere, whatever). Points closer to the lens than // this may not be rendered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 13 near_distance 1 2752 917 14 Dtool_MAKPvVA4 6 894 2752 0 14 Dtool_MAKPvVA4 302 //////////////////////////////////////////////////////////////////// // Function: Lens::get_near // Access: Published // Description: Returns the position of the near plane (or cylinder, // sphere, whatever). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 918 14 Dtool_MAKPcoiP 4 895 2747 0 14 Dtool_MAKPcoiP 378 //////////////////////////////////////////////////////////////////// // Function: Lens::set_far // Access: Published // Description: Defines the position of the far plane (or cylinder, // sphere, whatever). Points farther from the lens than // this may not be rendered. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 12 far_distance 1 2752 919 14 Dtool_MAKP9WmP 6 896 2752 0 14 Dtool_MAKP9WmP 300 //////////////////////////////////////////////////////////////////// // Function: Lens::get_far // Access: Published // Description: Returns the position of the far plane (or cylinder, // sphere, whatever). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 920 14 Dtool_MAKP9vjM 4 897 2747 0 14 Dtool_MAKP9vjM 265 //////////////////////////////////////////////////////////////////// // Function: Lens::set_near_far // Access: Published // Description: Simultaneously changes the near and far planes. //////////////////////////////////////////////////////////////////// 3 4 this 3 2924 13 near_distance 1 2752 12 far_distance 1 2752 921 14 Dtool_MAKPyde1 6 898 2752 0 14 Dtool_MAKPyde1 391 //////////////////////////////////////////////////////////////////// // Function: Lens::get_default_near // Access: Published, Static // Description: Returns the default near plane distance that will be // assigned to each newly-created lens. This is read // from the Configrc file. //////////////////////////////////////////////////////////////////// 0 922 14 Dtool_MAKPChjq 6 899 2752 0 14 Dtool_MAKPChjq 389 //////////////////////////////////////////////////////////////////// // Function: Lens::get_default_far // Access: Published, Static // Description: Returns the default far plane distance that will be // assigned to each newly-created lens. This is read // from the Configrc file. //////////////////////////////////////////////////////////////////// 0 923 14 Dtool_MAKPHI9n 4 900 2747 0 14 Dtool_MAKPHI9n 593 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_hpr // Access: Published // Description: Sets the direction in which the lens is facing. // Normally, this is down the forward axis (usually the // Y axis), but it may be rotated. This is only one way // of specifying the rotation; you may also specify an // explicit vector in which to look, or you may give a // complete transformation matrix. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 8 view_hpr 1 2910 924 14 Dtool_MAKPlvxd 4 900 2747 0 14 Dtool_MAKPlvxd 593 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_hpr // Access: Published // Description: Sets the direction in which the lens is facing. // Normally, this is down the forward axis (usually the // Y axis), but it may be rotated. This is only one way // of specifying the rotation; you may also specify an // explicit vector in which to look, or you may give a // complete transformation matrix. //////////////////////////////////////////////////////////////////// 4 4 this 3 2924 1 h 1 2752 1 p 1 2752 1 r 1 2752 925 14 Dtool_MAKPzOnI 6 901 2910 0 14 Dtool_MAKPzOnI 268 //////////////////////////////////////////////////////////////////// // Function: Lens::get_view_hpr // Access: Published // Description: Returns the direction in which the lens is facing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 926 14 Dtool_MAKPumpn 4 902 2747 0 14 Dtool_MAKPumpn 440 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_vector // Access: Published // Description: Specifies the direction in which the lens is facing // by giving an axis to look along, and a perpendicular // (or at least non-parallel) up axis. // // See also set_view_hpr(). //////////////////////////////////////////////////////////////////// 3 4 this 3 2924 11 view_vector 1 2935 9 up_vector 1 2935 927 14 Dtool_MAKPRtqd 4 902 2747 0 14 Dtool_MAKPRtqd 440 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_vector // Access: Published // Description: Specifies the direction in which the lens is facing // by giving an axis to look along, and a perpendicular // (or at least non-parallel) up axis. // // See also set_view_hpr(). //////////////////////////////////////////////////////////////////// 7 4 this 3 2924 1 x 1 2752 1 y 1 2752 1 z 1 2752 1 i 1 2752 1 j 1 2752 1 k 1 2752 928 14 Dtool_MAKPyzLu 6 903 2935 0 14 Dtool_MAKPyzLu 269 //////////////////////////////////////////////////////////////////// // Function: Lens::get_view_vector // Access: Published // Description: Returns the axis along which the lens is facing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 929 14 Dtool_MAKPryc7 6 904 2935 0 14 Dtool_MAKPryc7 329 //////////////////////////////////////////////////////////////////// // Function: Lens::get_up_vector // Access: Published // Description: Returns the axis perpendicular to the camera's view // vector that indicates the "up" direction. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 930 14 Dtool_MAKPDlmp 7 905 2836 0 14 Dtool_MAKPDlmp 317 //////////////////////////////////////////////////////////////////// // Function: Lens::get_nodal_point // Access: Published // Description: Returns the center point of the lens: the point from // which the lens is viewing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 931 14 Dtool_MAKPohPi 4 906 2747 0 14 Dtool_MAKPohPi 796 //////////////////////////////////////////////////////////////////// // Function: Lens::set_interocular_distance // Access: Published // Description: Sets the distance between the left and right eyes of // a stereo camera. This distance is used to apply a // stereo effect when the lens is rendered on a stereo // display region. It only has an effect on a // PerspectiveLens. // // The left eye and the right eye are each offset along // the X axis by half of this distance, so that this // parameter specifies the total distance between them. // // Also see set_convergence_distance(), which relates. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 20 interocular_distance 1 2752 932 14 Dtool_MAKPCou8 6 907 2752 0 14 Dtool_MAKPCou8 261 //////////////////////////////////////////////////////////////////// // Function: Lens::get_interocular_distance // Access: Published // Description: See set_interocular_distance(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 933 14 Dtool_MAKPKsi1 4 908 2747 0 14 Dtool_MAKPKsi1 1237 //////////////////////////////////////////////////////////////////// // Function: Lens::set_convergence_distance // Access: Published // Description: Sets the distance between between the camera plane // and the point in the distance that the left and right // eyes are both looking at. This distance is used to // apply a stereo effect when the lens is rendered on a // stereo display region. It only has an effect on a // PerspectiveLens. // // This parameter must be greater than 0, but may be as // large as you like. It controls the amount to which // the two eyes are directed inwards towards each other, // which is a normal property of stereo vision. It is a // distance, not an angle; normally this should be set // to the distance from the camera to the area of // interest in your scene. If you want to simulate // parallel stereo, set this value to a very large // number. // // Also see set_interocular_distance(), which relates. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 20 convergence_distance 1 2752 934 14 Dtool_MAKPjWCQ 6 909 2752 0 14 Dtool_MAKPjWCQ 261 //////////////////////////////////////////////////////////////////// // Function: Lens::get_convergence_distance // Access: Published // Description: See set_convergence_distance(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 935 14 Dtool_MAKPL_7i 4 910 2747 0 14 Dtool_MAKPL_7i 831 //////////////////////////////////////////////////////////////////// // Function: Lens::set_view_mat // Access: Published // Description: Sets an arbitrary transformation on the lens. This // replaces the individual transformation components // like set_view_hpr(). // // Setting a transformation here will have a slightly // different effect than putting one on the LensNode // that contains this lens. In particular, lighting and // other effects computations will still be performed on // the lens in its untransformed (facing forward) // position, but the actual projection matrix will be // transformed by this matrix. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 8 view_mat 1 2828 936 14 Dtool_MAKPM_m4 6 911 2828 0 14 Dtool_MAKPM_m4 268 //////////////////////////////////////////////////////////////////// // Function: Lens::get_view_mat // Access: Published // Description: Returns the direction in which the lens is facing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 937 14 Dtool_MAKPkqkp 4 912 2747 0 14 Dtool_MAKPkqkp 258 //////////////////////////////////////////////////////////////////// // Function: Lens::clear_view_mat // Access: Published // Description: Resets the lens transform to identity. //////////////////////////////////////////////////////////////////// 1 4 this 3 2924 938 14 Dtool_MAKPZFPx 4 913 2747 0 14 Dtool_MAKPZFPx 989 //////////////////////////////////////////////////////////////////// // Function: Lens::set_keystone // Access: Published // Description: Indicates the ratio of keystone correction to perform // on the lens, in each of three axes. This will build // a special non-affine scale factor into the projection // matrix that will compensate for keystoning of a // projected image; this can be used to compensate for a // projector that for physical reasons cannot be aimed // directly at its screen. // // The default value is taken from the default-keystone // Config variable. 0, 0 indicates no keystone // correction; specify a small value (usually in the // range -1 .. 1) in either the x or y position to // generate a keystone correction in that axis. //////////////////////////////////////////////////////////////////// 2 4 this 3 2924 8 keystone 1 2907 939 14 Dtool_MAKPvPzC 6 914 2907 0 14 Dtool_MAKPvPzC 290 //////////////////////////////////////////////////////////////////// // Function: Lens::get_keystone // Access: Published // Description: Returns the keystone correction specified for the // lens. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 940 14 Dtool_MAKPp1qZ 4 915 2747 0 14 Dtool_MAKPp1qZ 258 //////////////////////////////////////////////////////////////////// // Function: Lens::clear_keystone // Access: Published // Description: Disables the lens keystone correction. //////////////////////////////////////////////////////////////////// 1 4 this 3 2924 941 14 Dtool_MAKPEH8Q 4 917 2747 0 14 Dtool_MAKPEH8Q 3080 //////////////////////////////////////////////////////////////////// // Function: Lens::set_frustum_from_corners // Access: Published // Description: Sets up the lens to use the frustum defined by the // four indicated points. This is most useful for a // PerspectiveLens, but it may be called for other kinds // of lenses as well. // // The frustum will be rooted at the origin (or by // whatever translation might have been specified in a // previous call to set_view_mat). // // It is legal for the four points not to be arranged in // a rectangle; if this is the case, the frustum will be // fitted as tightly as possible to cover all four // points. // // The flags parameter contains the union of one or more // of the following bits to control the behavior of this // function: // // FC_roll - If this is included, the camera may be // rotated so that its up vector is perpendicular to the // top line. Otherwise, the standard up vector is used. // // FC_camera_plane - This allows the camera plane to be // adjusted to be as nearly perpendicular to the center // of the frustum as possible. Without this bit, the // orientation camera plane is defined by position of // the four points (which should all be coplanar). With // this bit, the camera plane is arbitarary, and may be // chosen so that the four points do not themselves lie // in the camera plane (but the points will still be // within the frustum). // // FC_off_axis - This allows the resulting frustum to be // off-axis to get the tightest possible fit. Without // this bit, the viewing axis will be centered within // the frustum, but there may be more wasted space along // the edges. // // FC_aspect_ratio - This allows the frustum to be // scaled non-proportionately in the vertical and // horizontal dimensions, if necessary, to get a tighter // fit. Without this bit, the current aspect ratio will // be preserved. // // FC_shear - This allows the frustum to be sheared, if // necessary, to get the tightest possible fit. This // may result in a parallelogram-based frustum, which // will give a slanted appearance to the rendered image. // Without this bit, the frustum will be // rectangle-based. // // In general, if 0 is passed in as the value for flags, // the generated frustum will be a loose fit but sane; // if -1 is passed in, it will be a tighter fit and // possibly screwy. //////////////////////////////////////////////////////////////////// 6 4 this 3 2924 2 ul 1 2910 2 ur 1 2910 2 ll 1 2910 2 lr 1 2910 5 flags 1 2751 942 14 Dtool_MAKPSJre 4 918 2747 0 14 Dtool_MAKPSJre 405 //////////////////////////////////////////////////////////////////// // Function: Lens::recompute_all // Access: Published // Description: Forces all internal parameters of the Lens to be // recomputed. Normally, this should never need to be // called; it is provided only to assist in debugging. //////////////////////////////////////////////////////////////////// 1 4 this 3 2924 943 14 Dtool_MAKP6Z__ 6 919 2748 0 14 Dtool_MAKP6Z__ 464 //////////////////////////////////////////////////////////////////// // Function: Lens::is_linear // Access: Published, Virtual // Description: Returns true if the lens represents a linear // projection (e.g. PerspectiveLens, OrthographicLens), // and therefore there is a valid matrix returned by // get_projection_mat(), or false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 944 14 Dtool_MAKPBoQp 6 920 2748 0 14 Dtool_MAKPBoQp 372 //////////////////////////////////////////////////////////////////// // Function: Lens::is_perspective // Access: Published, Virtual // Description: Returns true if the lens represents a perspective // projection (i.e. it is a PerspectiveLens), false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 945 14 Dtool_MAKPlQp5 6 921 2748 0 14 Dtool_MAKPlQp5 375 //////////////////////////////////////////////////////////////////// // Function: Lens::is_orthographic // Access: Published, Virtual // Description: Returns true if the lens represents a orthographic // projection (i.e. it is a OrthographicLens), false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 946 14 Dtool_MAKPJeEy 7 922 2876 2007 14 Dtool_MAKPJeEy 515 //////////////////////////////////////////////////////////////////// // Function: Lens::make_geometry // Access: Published, Virtual // Description: Allocates and returns a new Geom that can be rendered // to show a visible representation of the frustum used // for this kind of lens, if it makes sense to do // so. If a visible representation cannot be created, // returns NULL. //////////////////////////////////////////////////////////////////// 1 4 this 3 2924 947 14 Dtool_MAKPb5g0 7 923 2937 0 14 Dtool_MAKPb5g0 450 //////////////////////////////////////////////////////////////////// // Function: Lens::make_bounds // Access: Published, Virtual // Description: Allocates and returns a new BoundingVolume that // encloses the frustum used for this kind of // lens, if possible. If a suitable bounding // volume cannot be created, returns NULL. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 948 14 Dtool_MAKPAAmb 6 924 2828 0 14 Dtool_MAKPAAmb 441 //////////////////////////////////////////////////////////////////// // Function: Lens::get_projection_mat // Access: Published // Description: Returns the complete transformation matrix from a 3-d // point in space to a point on the film, if such a // matrix exists, or the identity matrix if the lens is // nonlinear. //////////////////////////////////////////////////////////////////// 2 4 this 3 2922 7 channel 1 2709 949 14 Dtool_MAKPrmTG 6 924 2828 0 14 Dtool_MAKPrmTG 441 //////////////////////////////////////////////////////////////////// // Function: Lens::get_projection_mat // Access: Published // Description: Returns the complete transformation matrix from a 3-d // point in space to a point on the film, if such a // matrix exists, or the identity matrix if the lens is // nonlinear. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 950 14 Dtool_MAKPK_5F 6 925 2828 0 14 Dtool_MAKPK_5F 376 //////////////////////////////////////////////////////////////////// // Function: Lens::get_projection_mat_inv // Access: Published // Description: Returns the matrix that transforms from a 2-d point // on the film to a 3-d vector in space, if such a // matrix exists. //////////////////////////////////////////////////////////////////// 2 4 this 3 2922 7 channel 1 2709 951 14 Dtool_MAKPmcoU 6 925 2828 0 14 Dtool_MAKPmcoU 376 //////////////////////////////////////////////////////////////////// // Function: Lens::get_projection_mat_inv // Access: Published // Description: Returns the matrix that transforms from a 2-d point // on the film to a 3-d vector in space, if such a // matrix exists. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 952 14 Dtool_MAKPOjJ3 6 926 2828 0 14 Dtool_MAKPOjJ3 322 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_mat // Access: Published // Description: Returns the matrix that transforms from a point // behind the lens to a point on the film. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 953 14 Dtool_MAKPHzXh 6 927 2828 0 14 Dtool_MAKPHzXh 326 //////////////////////////////////////////////////////////////////// // Function: Lens::get_film_mat_inv // Access: Published // Description: Returns the matrix that transforms from a point on // the film to a point behind the lens. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 954 14 Dtool_MAKPFMDf 6 928 2828 0 14 Dtool_MAKPFMDf 324 //////////////////////////////////////////////////////////////////// // Function: Lens::get_lens_mat // Access: Published // Description: Returns the matrix that transforms from a point // in front of the lens to a point in space. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 955 14 Dtool_MAKPAERJ 6 929 2828 0 14 Dtool_MAKPAERJ 328 //////////////////////////////////////////////////////////////////// // Function: Lens::get_lens_mat_inv // Access: Published // Description: Returns the matrix that transforms from a point in // space to a point in front of the lens. //////////////////////////////////////////////////////////////////// 1 4 this 3 2922 956 14 Dtool_MAKPB_GJ 4 930 2747 0 14 Dtool_MAKPB_GJ 221 //////////////////////////////////////////////////////////////////// // Function: Lens::output // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2922 3 out 1 2749 957 14 Dtool_MAKPpMpk 4 931 2747 0 14 Dtool_MAKPpMpk 220 //////////////////////////////////////////////////////////////////// // Function: Lens::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 2922 3 out 1 2749 12 indent_level 1 2751 958 14 Dtool_MAKPtXWp 4 931 2747 0 14 Dtool_MAKPtXWp 220 //////////////////////////////////////////////////////////////////// // Function: Lens::write // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2922 3 out 1 2749 959 14 Dtool_MAKPX6_e 7 932 2763 0 14 Dtool_MAKPX6_e 0 0 960 14 Dtool_MAKP01XU 7 935 2938 2260 14 Dtool_MAKP01XU 716 // Filename: orthographicLens.I // Created by: mike (18Feb99) // //////////////////////////////////////////////////////////////////// // // 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: OrthographicLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 961 14 Dtool_MAKPlLeB 7 936 2763 0 14 Dtool_MAKPlLeB 0 0 962 14 Dtool_MAKPCN5B 7 939 2939 2273 14 Dtool_MAKPCN5B 705 // Filename: matrixLens.I // Created by: drose (12Dec01) // //////////////////////////////////////////////////////////////////// // // 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: MatrixLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 963 14 Dtool_MAKPxIxS 4 940 2747 0 14 Dtool_MAKPxIxS 938 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::set_user_mat // Access: Published // Description: Explicitly specifies the projection matrix. This // matrix should convert X and Y to the range // [-film_size/2, film_size/2], where (-fs/2,-fs/2) is // the lower left corner of the screen and (fs/2, fs/2) // is the upper right. Z should go to the range [-1, // 1], where -1 is the far plane and 1 is the near // plane. Note that this is a left-handed Y-up // coordinate system. // // The default film_size for a MatrixLens is 2, so the // default range is [-1, 1] for both X and Y. This is // consistent with the GL conventions for projection // matrices. //////////////////////////////////////////////////////////////////// 2 4 this 3 2939 8 user_mat 1 2828 964 14 Dtool_MAKPN4l8 6 941 2828 0 14 Dtool_MAKPN4l8 404 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::get_user_mat // Access: Published // Description: Returns the explicit projection matrix as set by the // user. This does not include transforms on the lens // or film (e.g. a film offset or view hpr). //////////////////////////////////////////////////////////////////// 1 4 this 3 2940 965 14 Dtool_MAKPVMQA 4 942 2747 0 14 Dtool_MAKPVMQA 761 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::set_left_eye_mat // Access: Published // Description: Sets a custom projection matrix for the left eye. // This is only used if the lens is attached to a stereo // camera, in which case the left eye matrix will be // used to draw the scene in the left eye (but the // center matrix--the user_mat--will still be used to // cull the scene). // // This matrix should not be too different from the // center matrix (set by set_user_mat()) or culling // errors may become obvious. //////////////////////////////////////////////////////////////////// 2 4 this 3 2939 8 user_mat 1 2828 966 14 Dtool_MAKPzLCn 4 943 2747 0 14 Dtool_MAKPzLCn 380 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::clear_left_eye_mat // Access: Published // Description: Removes the custom projection matrix set for the left // eye, and uses the center matrix (set by set_user_mat) // instead. //////////////////////////////////////////////////////////////////// 1 4 this 3 2939 967 14 Dtool_MAKPfGR4 6 944 2748 0 14 Dtool_MAKPfGR4 441 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::has_left_eye_mat // Access: Published // Description: Returns true if the camera has a custom projection // matrix set for the left eye, or false if the center // matrix (set by set_user_mat) will be used for the // left eye. //////////////////////////////////////////////////////////////////// 1 4 this 3 2940 968 14 Dtool_MAKPcMKo 6 945 2828 0 14 Dtool_MAKPcMKo 396 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::get_left_eye_mat // Access: Published // Description: Returns the custom projection matrix for the left // eye, if any, or the center matrix if there is no // custom matrix set for the left eye. //////////////////////////////////////////////////////////////////// 1 4 this 3 2940 969 14 Dtool_MAKPMH4j 4 946 2747 0 14 Dtool_MAKPMH4j 765 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::set_right_eye_mat // Access: Published // Description: Sets a custom projection matrix for the right eye. // This is only used if the lens is attached to a stereo // camera, in which case the right eye matrix will be // used to draw the scene in the right eye (but the // center matrix--the user_mat--will still be used to // cull the scene). // // This matrix should not be too different from the // center matrix (set by set_user_mat()) or culling // errors may become obvious. //////////////////////////////////////////////////////////////////// 2 4 this 3 2939 8 user_mat 1 2828 970 14 Dtool_MAKPZ82q 4 947 2747 0 14 Dtool_MAKPZ82q 382 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::clear_right_eye_mat // Access: Published // Description: Removes the custom projection matrix set for the right // eye, and uses the center matrix (set by set_user_mat) // instead. //////////////////////////////////////////////////////////////////// 1 4 this 3 2939 971 14 Dtool_MAKPP55w 6 948 2748 0 14 Dtool_MAKPP55w 444 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::has_right_eye_mat // Access: Published // Description: Returns true if the camera has a custom projection // matrix set for the right eye, or false if the center // matrix (set by set_user_mat) will be used for the // right eye. //////////////////////////////////////////////////////////////////// 1 4 this 3 2940 972 14 Dtool_MAKPTRzg 6 949 2828 0 14 Dtool_MAKPTRzg 399 //////////////////////////////////////////////////////////////////// // Function: MatrixLens::get_right_eye_mat // Access: Published // Description: Returns the custom projection matrix for the right // eye, if any, or the center matrix if there is no // custom matrix set for the right eye. //////////////////////////////////////////////////////////////////// 1 4 this 3 2940 973 14 Dtool_MAKPpeVf 7 950 2763 0 14 Dtool_MAKPpeVf 0 0 974 14 Dtool_MAKP6Ayf 7 953 2942 2276 14 Dtool_MAKP6Ayf 715 // Filename: perspectiveLens.I // Created by: drose (18Feb99) // //////////////////////////////////////////////////////////////////// // // 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: PerspectiveLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 0 975 14 Dtool_MAKPJoB6 7 953 2942 2276 14 Dtool_MAKPJoB6 224 //////////////////////////////////////////////////////////////////// // Function: PerspectiveLens::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 hfov 1 2752 4 vfov 1 2752 976 14 Dtool_MAKPMg_O 7 954 2763 0 14 Dtool_MAKPMg_O 0 0 977 14 Dtool_MAKPDKCe 7 968 2943 2282 14 Dtool_MAKPDKCe 446 //////////////////////////////////////////////////////////////////// // Function: Texture::Constructor // Access: Published // Description: Constructs an empty texture. The default is to set // up the texture as an empty 2-d texture; follow up // with one of the variants of setup_texture() if this // is not what you want. //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 978 14 Dtool_MAKPN0nZ 7 968 2943 2282 14 Dtool_MAKPN0nZ 446 //////////////////////////////////////////////////////////////////// // Function: Texture::Constructor // Access: Published // Description: Constructs an empty texture. The default is to set // up the texture as an empty 2-d texture; follow up // with one of the variants of setup_texture() if this // is not what you want. //////////////////////////////////////////////////////////////////// 0 979 14 Dtool_MAKPtD0r 7 970 2943 2282 14 Dtool_MAKPtD0r 1163 // Filename: texture.I // Created by: drose (05Feb99) // //////////////////////////////////////////////////////////////////// // // 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: Texture::make_copy // Access: Published // Description: Returns a new copy of the same Texture. This copy, // if applied to geometry, will be copied into texture // as a separate texture from the original, so it will // be duplicated in texture memory (and may be // independently modified if desired). // // If the Texture is a VideoTexture, the resulting // duplicate may be animated independently of the // original. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 980 14 Dtool_MAKPadfr 4 971 2747 0 14 Dtool_MAKPadfr 316 //////////////////////////////////////////////////////////////////// // Function: Texture::clear // Access: Published, Virtual // Description: Reinitializes the texture to its default, empty // state (except for the name). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 981 14 Dtool_MAKPkdtv 4 972 2747 0 14 Dtool_MAKPkdtv 425 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_texture // Access: Published // Description: Sets the texture to the indicated type and // dimensions, presumably in preparation for calling // read() or load(), or set_ram_image() or // modify_ram_image(). //////////////////////////////////////////////////////////////////// 7 4 this 3 2943 12 texture_type 1 2715 6 x_size 1 2751 6 y_size 1 2751 6 z_size 1 2751 14 component_type 1 2716 6 format 1 2717 982 14 Dtool_MAKP3hn1 4 973 2747 0 14 Dtool_MAKP3hn1 399 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_1d_texture // Access: Published // Description: Sets the texture as an empty 1-d texture with no // dimensions. Follow up with read() or load() to fill // the texture properties and image data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 983 14 Dtool_MAKPVMou 4 973 2747 0 14 Dtool_MAKPVMou 440 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_1d_texture // Access: Published // Description: Sets the texture as an empty 1-d texture with the // specified dimensions and properties. Follow up with // set_ram_image() or modify_ram_image() to fill the // image data. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 6 x_size 1 2751 14 component_type 1 2716 6 format 1 2717 984 14 Dtool_MAKP_Wx1 4 974 2747 0 14 Dtool_MAKP_Wx1 399 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_2d_texture // Access: Published // Description: Sets the texture as an empty 2-d texture with no // dimensions. Follow up with read() or load() to fill // the texture properties and image data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 985 14 Dtool_MAKPHAEk 4 974 2747 0 14 Dtool_MAKPHAEk 440 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_2d_texture // Access: Published // Description: Sets the texture as an empty 2-d texture with the // specified dimensions and properties. Follow up with // set_ram_image() or modify_ram_image() to fill the // image data. //////////////////////////////////////////////////////////////////// 5 4 this 3 2943 6 x_size 1 2751 6 y_size 1 2751 14 component_type 1 2716 6 format 1 2717 986 14 Dtool_MAKP31mJ 4 975 2747 0 14 Dtool_MAKP31mJ 515 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_3d_texture // Access: Published // Description: Sets the texture as an empty 3-d texture with no // dimensions (though if you know the depth ahead // of time, it saves a bit of reallocation later). // Follow up with read() or load() to fill the texture // properties and image data. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 6 z_size 1 2751 987 14 Dtool_MAKPnH71 4 975 2747 0 14 Dtool_MAKPnH71 515 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_3d_texture // Access: Published // Description: Sets the texture as an empty 3-d texture with no // dimensions (though if you know the depth ahead // of time, it saves a bit of reallocation later). // Follow up with read() or load() to fill the texture // properties and image data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 988 14 Dtool_MAKPlbzO 4 975 2747 0 14 Dtool_MAKPlbzO 440 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_3d_texture // Access: Published // Description: Sets the texture as an empty 3-d texture with the // specified dimensions and properties. Follow up with // set_ram_image() or modify_ram_image() to fill the // image data. //////////////////////////////////////////////////////////////////// 6 4 this 3 2943 6 x_size 1 2751 6 y_size 1 2751 6 z_size 1 2751 14 component_type 1 2716 6 format 1 2717 989 14 Dtool_MAKPrJje 4 976 2747 0 14 Dtool_MAKPrJje 402 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_cube_map // Access: Published // Description: Sets the texture as an empty cube map texture with no // dimensions. Follow up with read() or load() to fill // the texture properties and image data. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 990 14 Dtool_MAKPIwnH 4 976 2747 0 14 Dtool_MAKPIwnH 627 //////////////////////////////////////////////////////////////////// // Function: Texture::setup_cube_map // Access: Published // Description: Sets the texture as an empty cube map texture with // the specified dimensions and properties. Follow up // with set_ram_image() or modify_ram_image() to fill // the image data. // // Note that a cube map should always consist of six // square images, so x_size and y_size will be the same, // and z_size is always 6. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 4 size 1 2751 14 component_type 1 2716 6 format 1 2717 991 14 Dtool_MAKPAcPV 4 977 2747 0 14 Dtool_MAKPAcPV 601 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_normalization_cube_map // Access: Published // Description: Generates a special cube map image in the texture // that can be used to apply bump mapping effects: for // each texel in the cube map that is indexed by the 3-d // texture coordinates (x, y, z), the resulting value is // the normalized vector (x, y, z) (compressed from // -1..1 into 0..1). //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 4 size 1 2751 992 14 Dtool_MAKP8Ql8 4 978 2747 0 14 Dtool_MAKP8Ql8 534 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_alpha_scale_map // Access: Published // Description: Generates a special 256x1 1-d texture that can be // used to apply an arbitrary alpha scale to objects by // judicious use of texture matrix. The texture is a // gradient, with an alpha of 0 on the left (U = 0), and // 255 on the right (U = 1). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 993 14 Dtool_MAKPK0KH 6 979 2748 0 14 Dtool_MAKPK0KH 519 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Combine a 3-component image with a grayscale image // to get a 4-component image. // // See the description of the full-parameter read() // method for the meaning of the // primary_file_num_channels and alpha_file_channel // parameters. //////////////////////////////////////////////////////////////////// 6 4 this 3 2943 8 fullpath 1 2944 14 alpha_fullpath 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 7 options 1 2947 994 14 Dtool_MAKPoATv 6 979 2748 0 14 Dtool_MAKPoATv 519 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Combine a 3-component image with a grayscale image // to get a 4-component image. // // See the description of the full-parameter read() // method for the meaning of the // primary_file_num_channels and alpha_file_channel // parameters. //////////////////////////////////////////////////////////////////// 5 4 this 3 2943 8 fullpath 1 2944 14 alpha_fullpath 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 995 14 Dtool_MAKPWYJ9 6 979 2748 0 14 Dtool_MAKPWYJ9 3902 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads the texture from the indicated filename. If // primary_file_num_channels is not 0, it specifies the // number of components to downgrade the image to if it // is greater than this number. // // If the filename has the extension .txo, this // implicitly reads a texture object instead of a // filename (which replaces all of the texture // properties). In this case, all the rest of the // parameters are ignored, and the filename should not // contain any hash marks; just the one named file will // be read, since a single .txo file can contain all // pages and mipmaps necessary to define a texture. // // If alpha_fullpath is not empty, it specifies the name // of a file from which to retrieve the alpha. In this // case, alpha_file_channel represents the numeric // channel of this image file to use as the resulting // texture's alpha channel; usually, this is 0 to // indicate the grayscale combination of r, g, b; or it // may be a one-based channel number, e.g. 1 for the red // channel, 2 for the green channel, and so on. // // If read pages is false, then z indicates the page // number into which this image will be assigned. // Normally this is 0 for the first (or only) page of // the texture. 3-D textures have one page for each // level of depth, and cube map textures always have six // pages. // // If read_pages is true, multiple images will be read // at once, one for each page of a cube map or a 3-D // texture. In this case, the filename should contain a // sequence of one or more hash marks ("#") which will // be filled in with the z value of each page, // zero-based. In this case, the z parameter indicates // the maximum z value that will be loaded, or 0 to load // all filenames that exist. // // If read_mipmaps is false, then n indicates the mipmap // level to which this image will be assigned. Normally // this is 0 for the base texture image, but it is // possible to load custom mipmap levels into the later // images. After the base texture image is loaded (thus // defining the size of the texture), you can call // get_expected_num_mipmap_levels() to determine the // maximum sensible value for n. // // If read_mipmaps is true, multiple images will be read // as above, but this time the images represent the // different mipmap levels of the texture image. In // this case, the n parameter indicates the maximum n // value that will be loaded, or 0 to load all filenames // that exist (up to the expected number of mipmap // levels). // // If both read_pages and read_mipmaps is true, then // both sequences will be read; the filename should // contain two sequences of hash marks, separated by // some character such as a hyphen, underscore, or dot. // The first hash mark sequence will be filled in with // the mipmap level, while the second hash mark sequence // will be the page index. // // This method implicitly sets keep_ram_image to false. //////////////////////////////////////////////////////////////////// 11 4 this 3 2943 8 fullpath 1 2944 14 alpha_fullpath 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 1 z 1 2751 1 n 1 2751 10 read_pages 1 2748 12 read_mipmaps 1 2748 6 record 1 2950 7 options 1 2947 996 14 Dtool_MAKPnxxV 6 979 2748 0 14 Dtool_MAKPnxxV 3902 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads the texture from the indicated filename. If // primary_file_num_channels is not 0, it specifies the // number of components to downgrade the image to if it // is greater than this number. // // If the filename has the extension .txo, this // implicitly reads a texture object instead of a // filename (which replaces all of the texture // properties). In this case, all the rest of the // parameters are ignored, and the filename should not // contain any hash marks; just the one named file will // be read, since a single .txo file can contain all // pages and mipmaps necessary to define a texture. // // If alpha_fullpath is not empty, it specifies the name // of a file from which to retrieve the alpha. In this // case, alpha_file_channel represents the numeric // channel of this image file to use as the resulting // texture's alpha channel; usually, this is 0 to // indicate the grayscale combination of r, g, b; or it // may be a one-based channel number, e.g. 1 for the red // channel, 2 for the green channel, and so on. // // If read pages is false, then z indicates the page // number into which this image will be assigned. // Normally this is 0 for the first (or only) page of // the texture. 3-D textures have one page for each // level of depth, and cube map textures always have six // pages. // // If read_pages is true, multiple images will be read // at once, one for each page of a cube map or a 3-D // texture. In this case, the filename should contain a // sequence of one or more hash marks ("#") which will // be filled in with the z value of each page, // zero-based. In this case, the z parameter indicates // the maximum z value that will be loaded, or 0 to load // all filenames that exist. // // If read_mipmaps is false, then n indicates the mipmap // level to which this image will be assigned. Normally // this is 0 for the base texture image, but it is // possible to load custom mipmap levels into the later // images. After the base texture image is loaded (thus // defining the size of the texture), you can call // get_expected_num_mipmap_levels() to determine the // maximum sensible value for n. // // If read_mipmaps is true, multiple images will be read // as above, but this time the images represent the // different mipmap levels of the texture image. In // this case, the n parameter indicates the maximum n // value that will be loaded, or 0 to load all filenames // that exist (up to the expected number of mipmap // levels). // // If both read_pages and read_mipmaps is true, then // both sequences will be read; the filename should // contain two sequences of hash marks, separated by // some character such as a hyphen, underscore, or dot. // The first hash mark sequence will be filled in with // the mipmap level, while the second hash mark sequence // will be the page index. // // This method implicitly sets keep_ram_image to false. //////////////////////////////////////////////////////////////////// 10 4 this 3 2943 8 fullpath 1 2944 14 alpha_fullpath 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 1 z 1 2751 1 n 1 2751 10 read_pages 1 2748 12 read_mipmaps 1 2748 6 record 1 2950 997 14 Dtool_MAKPf347 6 979 2748 0 14 Dtool_MAKPf347 3902 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads the texture from the indicated filename. If // primary_file_num_channels is not 0, it specifies the // number of components to downgrade the image to if it // is greater than this number. // // If the filename has the extension .txo, this // implicitly reads a texture object instead of a // filename (which replaces all of the texture // properties). In this case, all the rest of the // parameters are ignored, and the filename should not // contain any hash marks; just the one named file will // be read, since a single .txo file can contain all // pages and mipmaps necessary to define a texture. // // If alpha_fullpath is not empty, it specifies the name // of a file from which to retrieve the alpha. In this // case, alpha_file_channel represents the numeric // channel of this image file to use as the resulting // texture's alpha channel; usually, this is 0 to // indicate the grayscale combination of r, g, b; or it // may be a one-based channel number, e.g. 1 for the red // channel, 2 for the green channel, and so on. // // If read pages is false, then z indicates the page // number into which this image will be assigned. // Normally this is 0 for the first (or only) page of // the texture. 3-D textures have one page for each // level of depth, and cube map textures always have six // pages. // // If read_pages is true, multiple images will be read // at once, one for each page of a cube map or a 3-D // texture. In this case, the filename should contain a // sequence of one or more hash marks ("#") which will // be filled in with the z value of each page, // zero-based. In this case, the z parameter indicates // the maximum z value that will be loaded, or 0 to load // all filenames that exist. // // If read_mipmaps is false, then n indicates the mipmap // level to which this image will be assigned. Normally // this is 0 for the base texture image, but it is // possible to load custom mipmap levels into the later // images. After the base texture image is loaded (thus // defining the size of the texture), you can call // get_expected_num_mipmap_levels() to determine the // maximum sensible value for n. // // If read_mipmaps is true, multiple images will be read // as above, but this time the images represent the // different mipmap levels of the texture image. In // this case, the n parameter indicates the maximum n // value that will be loaded, or 0 to load all filenames // that exist (up to the expected number of mipmap // levels). // // If both read_pages and read_mipmaps is true, then // both sequences will be read; the filename should // contain two sequences of hash marks, separated by // some character such as a hyphen, underscore, or dot. // The first hash mark sequence will be filled in with // the mipmap level, while the second hash mark sequence // will be the page index. // // This method implicitly sets keep_ram_image to false. //////////////////////////////////////////////////////////////////// 9 4 this 3 2943 8 fullpath 1 2944 14 alpha_fullpath 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 1 z 1 2751 1 n 1 2751 10 read_pages 1 2748 12 read_mipmaps 1 2748 998 14 Dtool_MAKPgNgF 6 979 2748 0 14 Dtool_MAKPgNgF 255 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads the named filename into the texture. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 8 fullpath 1 2944 7 options 1 2947 999 14 Dtool_MAKP3IDU 6 979 2748 0 14 Dtool_MAKP3IDU 255 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads the named filename into the texture. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 8 fullpath 1 2944 1000 14 Dtool_MAKPf1WO 6 979 2748 0 14 Dtool_MAKPf1WO 524 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads a single file into a single page or mipmap // level, or automatically reads a series of files into // a series of pages and/or mipmap levels. // // See the description of the full-parameter read() // method for the meaning of the various parameters. //////////////////////////////////////////////////////////////////// 7 4 this 3 2943 8 fullpath 1 2944 1 z 1 2751 1 n 1 2751 10 read_pages 1 2748 12 read_mipmaps 1 2748 7 options 1 2947 1001 14 Dtool_MAKP1czw 6 979 2748 0 14 Dtool_MAKP1czw 524 //////////////////////////////////////////////////////////////////// // Function: Texture::read // Access: Published // Description: Reads a single file into a single page or mipmap // level, or automatically reads a series of files into // a series of pages and/or mipmap levels. // // See the description of the full-parameter read() // method for the meaning of the various parameters. //////////////////////////////////////////////////////////////////// 6 4 this 3 2943 8 fullpath 1 2944 1 z 1 2751 1 n 1 2751 10 read_pages 1 2748 12 read_mipmaps 1 2748 1002 14 Dtool_MAKPHtFt 6 980 2748 0 14 Dtool_MAKPHtFt 255 //////////////////////////////////////////////////////////////////// // Function: Texture::write // Access: Published // Description: Writes the texture to the named filename. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 8 fullpath 1 2944 1003 14 Dtool_MAKPyISG 6 980 2748 0 14 Dtool_MAKPyISG 2991 //////////////////////////////////////////////////////////////////// // Function: Texture::write // Access: Published // Description: Writes a single page or mipmap level to a single // file, or automatically writes a series of pages // and/or mipmap levels to a numbered series of files. // // If the filename ends in the extension .txo, this // implicitly writes a Panda texture object (.txo) // instead of an image file. In this case, the // remaining parameters are ignored, and only one file // is written, which will contain all of the pages and // resident mipmap levels in the texture. // // If write_pages is false, then z indicates the page // number to write. 3-D textures have one page number // for each level of depth; cube maps have six pages // number 0 through 5. Other kinds of textures have // only one page, numbered 0. // // If write_pages is true, then all pages of the texture // will be written. In this case z is ignored, and the // filename should contain a sequence of hash marks // ("#") which will be filled in with the page index // number. // // If write_mipmaps is false, then n indicates the // mipmap level number to write. Normally, this is 0, // for the base texture image. Normally, the mipmap // levels of a texture are not available in RAM (they // are generated automatically by the graphics card). // However, if you have the mipmap levels available, for // instance because you called // generate_ram_mipmap_images() to generate them // internally, or you called // GraphicsEngine::extract_texture_data() to retrieve // them from the graphics card, then you may write out // each mipmap level with this parameter. // // If write_mipmaps is true, then all mipmap levels of // the texture will be written. In this case n is // ignored, and the filename should contain a sequence // of hash marks ("#") which will be filled in with the // mipmap level number. // // If both write_pages and write_mipmaps is true, then // all pages and all mipmap levels will be written. In // this case, the filename should contain two different // sequences of hash marks, separated by a character // such as a hyphen, underscore, or dot. The first hash // mark sequence will be filled in with the mipmap // level, while the second hash mark sequence will be // the page index. //////////////////////////////////////////////////////////////////// 6 4 this 3 2943 8 fullpath 1 2944 1 z 1 2751 1 n 1 2751 11 write_pages 1 2748 13 write_mipmaps 1 2748 1004 14 Dtool_MAKPR4MB 4 980 2747 0 14 Dtool_MAKPR4MB 324 //////////////////////////////////////////////////////////////////// // Function: Texture::write // Access: Published // Description: Not to be confused with write(Filename), this method // simply describes the texture properties. //////////////////////////////////////////////////////////////////// 3 4 this 3 2952 3 out 1 2749 12 indent_level 1 2751 1005 14 Dtool_MAKPaEMT 6 981 2748 0 14 Dtool_MAKPaEMT 463 //////////////////////////////////////////////////////////////////// // Function: Texture::read_txo // Access: Published // Description: Reads the texture from a Panda texture object. This // defines the complete Texture specification, including // the image data as well as all texture properties. // // The filename is just for reference. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 2 in 1 2954 8 filename 1 2742 1006 14 Dtool_MAKPXtbC 6 981 2748 0 14 Dtool_MAKPXtbC 463 //////////////////////////////////////////////////////////////////// // Function: Texture::read_txo // Access: Published // Description: Reads the texture from a Panda texture object. This // defines the complete Texture specification, including // the image data as well as all texture properties. // // The filename is just for reference. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 2 in 1 2954 1007 14 Dtool_MAKP9lbk 6 982 2748 0 14 Dtool_MAKP9lbk 463 //////////////////////////////////////////////////////////////////// // Function: Texture::write_txo // Access: Published // Description: Writes the texture to a Panda texture object. This // defines the complete Texture specification, including // the image data as well as all texture properties. // // The filename is just for reference. //////////////////////////////////////////////////////////////////// 3 4 this 3 2952 3 out 1 2749 8 filename 1 2742 1008 14 Dtool_MAKPdBCU 6 982 2748 0 14 Dtool_MAKPdBCU 463 //////////////////////////////////////////////////////////////////// // Function: Texture::write_txo // Access: Published // Description: Writes the texture to a Panda texture object. This // defines the complete Texture specification, including // the image data as well as all texture properties. // // The filename is just for reference. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 3 out 1 2749 1009 14 Dtool_MAKPDJc5 6 983 2748 0 14 Dtool_MAKPDJc5 674 //////////////////////////////////////////////////////////////////// // Function: Texture::read_dds // Access: Published // Description: Reads the texture from a DDS file object. This is a // Microsoft-defined file format; it is similar in // principle to a txo object, in that it is designed to // contain the texture image in a form as similar as // possible to its runtime image, and it can contain // mipmaps, pre-compressed textures, and so on. // // As with read_txo, the filename is just for reference. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 2 in 1 2954 8 filename 1 2742 11 header_only 1 2748 1010 14 Dtool_MAKPeulj 6 983 2748 0 14 Dtool_MAKPeulj 674 //////////////////////////////////////////////////////////////////// // Function: Texture::read_dds // Access: Published // Description: Reads the texture from a DDS file object. This is a // Microsoft-defined file format; it is similar in // principle to a txo object, in that it is designed to // contain the texture image in a form as similar as // possible to its runtime image, and it can contain // mipmaps, pre-compressed textures, and so on. // // As with read_txo, the filename is just for reference. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 2 in 1 2954 8 filename 1 2742 1011 14 Dtool_MAKPTL1S 6 983 2748 0 14 Dtool_MAKPTL1S 674 //////////////////////////////////////////////////////////////////// // Function: Texture::read_dds // Access: Published // Description: Reads the texture from a DDS file object. This is a // Microsoft-defined file format; it is similar in // principle to a txo object, in that it is designed to // contain the texture image in a form as similar as // possible to its runtime image, and it can contain // mipmaps, pre-compressed textures, and so on. // // As with read_txo, the filename is just for reference. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 2 in 1 2954 1012 14 Dtool_MAKP9q5b 6 984 2748 0 14 Dtool_MAKP9q5b 259 //////////////////////////////////////////////////////////////////// // Function: Texture::load // Access: Published // Description: Replaces the texture with the indicated image. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 8 pnmimage 1 2956 7 options 1 2947 1013 14 Dtool_MAKPBHdq 6 984 2748 0 14 Dtool_MAKPBHdq 259 //////////////////////////////////////////////////////////////////// // Function: Texture::load // Access: Published // Description: Replaces the texture with the indicated image. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 8 pnmimage 1 2956 1014 14 Dtool_MAKP5L4C 6 984 2748 0 14 Dtool_MAKP5L4C 305 //////////////////////////////////////////////////////////////////// // Function: Texture::load // Access: Published // Description: Stores the indicated image in the given page and // mipmap level. See read(). //////////////////////////////////////////////////////////////////// 5 4 this 3 2943 8 pnmimage 1 2956 1 z 1 2751 1 n 1 2751 7 options 1 2947 1015 14 Dtool_MAKPQG98 6 984 2748 0 14 Dtool_MAKPQG98 305 //////////////////////////////////////////////////////////////////// // Function: Texture::load // Access: Published // Description: Stores the indicated image in the given page and // mipmap level. See read(). //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 8 pnmimage 1 2956 1 z 1 2751 1 n 1 2751 1016 14 Dtool_MAKPfuOO 6 985 2748 0 14 Dtool_MAKPfuOO 306 //////////////////////////////////////////////////////////////////// // Function: Texture::store // Access: Published // Description: Saves the texture to the indicated PNMImage, but does // not write it to disk. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 8 pnmimage 1 2959 1017 14 Dtool_MAKPGqUB 6 985 2748 0 14 Dtool_MAKPGqUB 304 //////////////////////////////////////////////////////////////////// // Function: Texture::store // Access: Published // Description: Saves the indicated page and mipmap level of the // texture to the PNMImage. //////////////////////////////////////////////////////////////////// 4 4 this 3 2952 8 pnmimage 1 2959 1 z 1 2751 1 n 1 2751 1018 14 Dtool_MAKPCVZW 6 986 2748 0 14 Dtool_MAKPCVZW 532 //////////////////////////////////////////////////////////////////// // Function: Texture::reload // Access: Published // Description: Re-reads the Texture from its disk file. Useful when // you know the image on disk has recently changed, and // you want to update the Texture image. // // Returns true on success, false on failure (in which // case, the Texture may or may not still be valid). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1019 14 Dtool_MAKPJ8Qn 7 987 2943 2282 14 Dtool_MAKPJ8Qn 444 //////////////////////////////////////////////////////////////////// // Function: Texture::load_related // Access: Published // Description: Loads a texture whose filename is derived by // concatenating a suffix to the filename of this // texture. May return NULL, for example, if this // texture doesn't have a filename. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 6 suffix 1 2760 1020 14 Dtool_MAKPW7Cs 6 988 2748 0 14 Dtool_MAKPW7Cs 318 //////////////////////////////////////////////////////////////////// // Function: Texture::has_filename // Access: Published // Description: Returns true if the filename has been set and // is available. See set_filename(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1021 14 Dtool_MAKPMiw2 6 989 2944 0 14 Dtool_MAKPMiw2 371 //////////////////////////////////////////////////////////////////// // Function: Texture::get_filename // Access: Published // Description: Returns the filename that has been set. This is the // name of the file as it was requested. Also see // get_fullpath(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1022 14 Dtool_MAKPc1WY 6 990 2748 0 14 Dtool_MAKPc1WY 336 //////////////////////////////////////////////////////////////////// // Function: Texture::has_alpha_filename // Access: Published // Description: Returns true if the alpha_filename has been set and // is available. See set_alpha_filename(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1023 14 Dtool_MAKPBYEj 6 991 2944 0 14 Dtool_MAKPBYEj 475 //////////////////////////////////////////////////////////////////// // Function: Texture::get_alpha_filename // Access: Published // Description: Returns the alpha_filename that has been set. If // this is set, it represents the name of the alpha // component, which is stored in a separate file. See // also get_filename(), and get_alpha_fullpath(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1024 14 Dtool_MAKPestn 6 992 2748 0 14 Dtool_MAKPestn 318 //////////////////////////////////////////////////////////////////// // Function: Texture::has_fullpath // Access: Published // Description: Returns true if the fullpath has been set and // is available. See set_fullpath(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1025 14 Dtool_MAKPEHay 6 993 2944 0 14 Dtool_MAKPEHay 376 //////////////////////////////////////////////////////////////////// // Function: Texture::get_fullpath // Access: Published // Description: Returns the fullpath that has been set. This is the // full path to the file as it was found along the // texture search path. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1026 14 Dtool_MAKPQ97B 6 994 2748 0 14 Dtool_MAKPQ97B 336 //////////////////////////////////////////////////////////////////// // Function: Texture::has_alpha_fullpath // Access: Published // Description: Returns true if the alpha_fullpath has been set and // is available. See set_alpha_fullpath(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1027 14 Dtool_MAKPKSqM 6 995 2944 0 14 Dtool_MAKPKSqM 430 //////////////////////////////////////////////////////////////////// // Function: Texture::get_alpha_fullpath // Access: Published // Description: // Returns the alpha_fullpath that has been set. This // is the full path to the alpha part of the image file // as it was found along the texture search path. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1028 14 Dtool_MAKPp9VG 6 996 2751 0 14 Dtool_MAKPp9VG 268 //////////////////////////////////////////////////////////////////// // Function: Texture::get_x_size // Access: Published // Description: Returns the width of the texture image in texels. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1029 14 Dtool_MAKPA91J 6 997 2751 0 14 Dtool_MAKPA91J 321 //////////////////////////////////////////////////////////////////// // Function: Texture::get_y_size // Access: Published // Description: Returns the height of the texture image in texels. // For a 1-d texture, this will be 1. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1030 14 Dtool_MAKPf_VN 6 998 2751 0 14 Dtool_MAKPf_VN 392 //////////////////////////////////////////////////////////////////// // Function: Texture::get_z_size // Access: Published // Description: Returns the depth of the texture image in texels. // For a 1-d texture or 2-d texture, this will be 1. // For a cube map texture, this will be 6. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1031 14 Dtool_MAKPWv_P 6 999 2751 0 14 Dtool_MAKPWv_P 456 //////////////////////////////////////////////////////////////////// // Function: Texture::get_num_components // Access: Published // Description: Returns the number of color components for each texel // of the texture image. This is 3 for an rgb texture // or 4 for an rgba texture; it may also be 1 or 2 for a // grayscale texture. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1032 14 Dtool_MAKPqXBq 6 1000 2751 0 14 Dtool_MAKPqXBq 390 //////////////////////////////////////////////////////////////////// // Function: Texture::get_component_width // Access: Published // Description: Returns the number of bytes stored for each color // component of a texel. Typically this is 1, but it // may be 2 for 16-bit texels. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1033 14 Dtool_MAKPvw9T 6 1001 2715 0 14 Dtool_MAKPvw9T 275 //////////////////////////////////////////////////////////////////// // Function: Texture::get_texture_type // Access: Published // Description: Returns the overall interpretation of the texture. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1034 14 Dtool_MAKPN7UC 6 1002 2717 0 14 Dtool_MAKPN7UC 392 //////////////////////////////////////////////////////////////////// // Function: Texture::get_format // Access: Published // Description: Returns the format of the texture, which represents // both the semantic meaning of the texels and, to some // extent, their storage information. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1035 14 Dtool_MAKPrqBI 6 1003 2716 0 14 Dtool_MAKPrqBI 312 //////////////////////////////////////////////////////////////////// // Function: Texture::get_component_type // Access: Published // Description: Returns the numeric interpretation of each component // of the texture. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1036 14 Dtool_MAKPkX83 4 1004 2747 0 14 Dtool_MAKPkX83 218 //////////////////////////////////////////////////////////////////// // Function: Texture::set_wrap_u // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 4 wrap 1 2719 1037 14 Dtool_MAKPSp8_ 4 1005 2747 0 14 Dtool_MAKPSp8_ 218 //////////////////////////////////////////////////////////////////// // Function: Texture::set_wrap_v // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 4 wrap 1 2719 1038 14 Dtool_MAKPBo8F 4 1006 2747 0 14 Dtool_MAKPBo8F 270 //////////////////////////////////////////////////////////////////// // Function: Texture::set_wrap_w // Access: Published // Description: The W wrap direction is only used for 3-d textures. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 4 wrap 1 2719 1039 14 Dtool_MAKPmEu7 4 1007 2747 0 14 Dtool_MAKPmEu7 221 //////////////////////////////////////////////////////////////////// // Function: Texture::set_minfilter // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 6 filter 1 2718 1040 14 Dtool_MAKP8Kn6 4 1008 2747 0 14 Dtool_MAKP8Kn6 221 //////////////////////////////////////////////////////////////////// // Function: Texture::set_magfilter // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 6 filter 1 2718 1041 14 Dtool_MAKPGRw3 4 1009 2747 0 14 Dtool_MAKPGRw3 733 //////////////////////////////////////////////////////////////////// // Function: Texture::set_anisotropic_degree // Access: Published // Description: Specifies the level of anisotropic filtering to apply // to the texture. Set this 0 to indicate the default // value, which is specified in the // texture-anisotropic-degree config variable. // // To explicitly disable anisotropic filtering, set this // value to 1. To explicitly enable anisotropic // filtering, set it to a value higher than 1; larger // numbers indicate greater degrees of filtering. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 18 anisotropic_degree 1 2751 1042 14 Dtool_MAKP2r4a 4 1010 2747 0 14 Dtool_MAKP2r4a 446 //////////////////////////////////////////////////////////////////// // Function: Texture::set_border_color // Access: Published // Description: Specifies the solid color of the texture's border. // Some OpenGL implementations use a border for tiling // textures; in Panda, it is only used for specifying // the clamp color. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 5 color 1 2855 1043 14 Dtool_MAKPHB8q 4 1011 2747 0 14 Dtool_MAKPHB8q 1037 //////////////////////////////////////////////////////////////////// // Function: Texture::set_compression // Access: Published // Description: Requests that this particular Texture be compressed // when it is loaded into texture memory. // // This refers to the internal compression of the // texture image within texture memory; it is not // related to jpeg or png compression, which are disk // file compression formats. The actual disk file that // generated this texture may be stored in a compressed // or uncompressed format supported by Panda; it will be // decompressed on load, and then recompressed by the // graphics API if this parameter is not CM_off. // // If the GSG does not support this texture compression // mode, the texture will silently be loaded // uncompressed. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 11 compression 1 2720 1044 14 Dtool_MAKPGh2R 4 1012 2747 0 14 Dtool_MAKPGh2R 905 //////////////////////////////////////////////////////////////////// // Function: Texture::set_render_to_texture // Access: Published // Description: Sets a flag on the texture that indicates whether the // texture is intended to be used as a direct-render // target, by binding a framebuffer to a texture and // rendering directly into the texture. // // This controls some low-level choices made about the // texture object itself. For instance, compressed // textures are disallowed when this flag is set true. // // Normally, a user should not need to set this flag // directly; it is set automatically by the low-level // display code when a texture is bound to a // framebuffer. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 17 render_to_texture 1 2748 1045 14 Dtool_MAKPDAco 6 1013 2719 0 14 Dtool_MAKPDAco 292 //////////////////////////////////////////////////////////////////// // Function: Texture::get_wrap_u // Access: Published // Description: Returns the wrap mode of the texture in the U // direction. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1046 14 Dtool_MAKPVHcv 6 1014 2719 0 14 Dtool_MAKPVHcv 292 //////////////////////////////////////////////////////////////////// // Function: Texture::get_wrap_v // Access: Published // Description: Returns the wrap mode of the texture in the V // direction. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1047 14 Dtool_MAKPnFc2 6 1015 2719 0 14 Dtool_MAKPnFc2 355 //////////////////////////////////////////////////////////////////// // Function: Texture::get_wrap_w // Access: Published // Description: Returns the wrap mode of the texture in the W // direction. This is the depth direction of 3-d // textures. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1048 14 Dtool_MAKPmseL 6 1016 2718 0 14 Dtool_MAKPmseL 487 //////////////////////////////////////////////////////////////////// // Function: Texture::get_minfilter // Access: Published // Description: Returns the filter mode of the texture for // minification. If this is one of the mipmap // constants, then the texture requires mipmaps. This // may return FT_default; see also // get_effective_minfilter(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1049 14 Dtool_MAKP8eYK 6 1017 2718 0 14 Dtool_MAKP8eYK 435 //////////////////////////////////////////////////////////////////// // Function: Texture::get_magfilter // Access: Published // Description: Returns the filter mode of the texture for // magnification. The mipmap constants are invalid // here. This may return FT_default; see also // get_effective_minfilter(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1050 14 Dtool_MAKP_kUZ 6 1018 2718 0 14 Dtool_MAKP_kUZ 465 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_minfilter // Access: Published // Description: Returns the filter mode of the texture for // minification, with special treatment for FT_default. // This will normally not return FT_default, unless // there is an error in the config file. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1051 14 Dtool_MAKPGq5U 6 1019 2718 0 14 Dtool_MAKPGq5U 466 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_magfilter // Access: Published // Description: Returns the filter mode of the texture for // magnification, with special treatment for FT_default. // This will normally not return FT_default, unless // there is an error in the config file. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1052 14 Dtool_MAKPRCMk 6 1020 2751 0 14 Dtool_MAKPRCMk 463 //////////////////////////////////////////////////////////////////// // Function: Texture::get_anisotropic_degree // Access: Published // Description: Returns the degree of anisotropic filtering that // should be applied to the texture. This value may // return 0, indicating the default value; see also // get_effective_anisotropic_degree. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1053 14 Dtool_MAKPYHP8 6 1021 2751 0 14 Dtool_MAKPYHP8 459 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_anisotropic_degree // Access: Published // Description: Returns the degree of anisotropic filtering that // should be applied to the texture. This value will // normally not return 0, unless there is an error in // the config file. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1054 14 Dtool_MAKPrLZH 7 1022 2875 0 14 Dtool_MAKPrLZH 444 //////////////////////////////////////////////////////////////////// // Function: Texture::get_border_color // Access: Published // Description: Returns the solid color of the texture's border. // Some OpenGL implementations use a border for tiling // textures; in Panda, it is only used for specifying // the clamp color. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1055 14 Dtool_MAKPekiK 6 1023 2720 0 14 Dtool_MAKPekiK 765 //////////////////////////////////////////////////////////////////// // Function: Texture::get_compression // Access: Published // Description: Returns the compression mode requested for this // particular texture, or CM_off if the texture is not // to be compressed. // // If a value other than CM_off is returned, this is // not a guarantee that the texture is actually // successfully compressed on the GSG. It may be that // the GSG does not support the requested compression // mode, in which case the texture may actually be // stored uncompressed in texture memory. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1056 14 Dtool_MAKPnJ0_ 6 1024 2748 0 14 Dtool_MAKPnJ0_ 764 //////////////////////////////////////////////////////////////////// // Function: Texture::has_compression // Access: Published // Description: Returns true if the texture indicates it wants to be // compressed, either with CM_on or higher, or // CM_default and compressed-textures is true. // // If true returned, this is not a guarantee that the // texture is actually successfully compressed on the // GSG. It may be that the GSG does not support the // requested compression mode, in which case the texture // may actually be stored uncompressed in texture // memory. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1057 14 Dtool_MAKPh_qK 6 1025 2748 0 14 Dtool_MAKPh_qK 701 //////////////////////////////////////////////////////////////////// // Function: Texture::get_render_to_texture // Access: Published // Description: Returns a flag on the texture that indicates whether the // texture is intended to be used as a direct-render // target, by binding a framebuffer to a texture and // rendering directly into the texture. // // Normally, a user should not need to set this flag // directly; it is set automatically by the low-level // display code when a texture is bound to a // framebuffer. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1058 14 Dtool_MAKPYXSi 6 1026 2748 0 14 Dtool_MAKPYXSi 355 //////////////////////////////////////////////////////////////////// // Function: Texture::uses_mipmaps // Access: Public // Description: Returns true if the minfilter settings on this // texture indicate the use of mipmapping, false // otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1059 14 Dtool_MAKPLupG 4 1027 2747 0 14 Dtool_MAKPLupG 535 //////////////////////////////////////////////////////////////////// // Function: Texture::set_quality_level // Access: Public // Description: Sets a hint to the renderer about the desired // performance / quality tradeoff for this particular // texture. This is most useful for the tinydisplay // software renderer; for normal, hardware-accelerated // renderers, this may have little or no effect. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 13 quality_level 1 2721 1060 14 Dtool_MAKPr4ct 6 1028 2721 0 14 Dtool_MAKPr4ct 392 //////////////////////////////////////////////////////////////////// // Function: Texture::get_quality_level // Access: Public // Description: Returns the current quality_level hint. See // set_quality_level(). This value may return // QL_default; see get_effective_quality_level(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1061 14 Dtool_MAKPycUh 6 1029 2721 0 14 Dtool_MAKPycUh 519 //////////////////////////////////////////////////////////////////// // Function: Texture::get_effective_quality_level // Access: Public // Description: Returns the current quality_level hint, or the global // default quality_level if this texture doesn't specify // a quality level. This value will not normally return // QL_default (unless there is an error in the config // file) //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1062 14 Dtool_MAKP9PeO 6 1030 2751 0 14 Dtool_MAKP9PeO 536 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_num_mipmap_levels // Access: Published // Description: Returns the number of mipmap levels that should be // defined for this texture, given the texture's size. // // Note that this returns a number appropriate for // mipmapping, even if the texture does not currently // have mipmapping enabled. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1063 14 Dtool_MAKP_Vjv 6 1031 2751 0 14 Dtool_MAKP_Vjv 338 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_mipmap_x_size // Access: Published // Description: Returns the x_size that the nth mipmap level should // have, based on the texture's size. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1064 14 Dtool_MAKPAwmv 6 1032 2751 0 14 Dtool_MAKPAwmv 338 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_mipmap_y_size // Access: Published // Description: Returns the y_size that the nth mipmap level should // have, based on the texture's size. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1065 14 Dtool_MAKPScov 6 1033 2751 0 14 Dtool_MAKPScov 338 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_mipmap_z_size // Access: Published // Description: Returns the z_size that the nth mipmap level should // have, based on the texture's size. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1066 14 Dtool_MAKP6jZY 6 1034 2748 0 14 Dtool_MAKP6jZY 1616 //////////////////////////////////////////////////////////////////// // Function: Texture::has_ram_image // Access: Published // Description: Returns true if the Texture has its image contents // available in main RAM, false if it exists only in // texture memory or in the prepared GSG context. // // Note that this has nothing to do with whether // get_ram_image() will fail or not. Even if // has_ram_image() returns false, get_ram_image() may // still return a valid RAM image, because // get_ram_image() will automatically load the texture // from disk if necessary. The only thing // has_ram_image() tells you is whether the texture is // available right now without hitting the disk first. // // Note also that if an application uses only one GSG, // it may appear that has_ram_image() returns true if // the texture has not yet been loaded by the GSG, but // this correlation is not true in general and should // not be depended on. Specifically, if an application // ever uses multiple GSG's in its lifetime (for // instance, by opening more than one window, or by // closing its window and opening another one later), // then has_ram_image() may well return false on // textures that have never been loaded on the current // GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1067 14 Dtool_MAKPFOOW 6 1035 2748 0 14 Dtool_MAKPFOOW 401 //////////////////////////////////////////////////////////////////// // Function: Texture::has_uncompressed_ram_image // Access: Published // Description: Returns true if the Texture has its image contents // available in main RAM and is uncompressed, false // otherwise. See has_ram_image(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1068 14 Dtool_MAKPbDJE 6 1036 2748 0 14 Dtool_MAKPbDJE 578 //////////////////////////////////////////////////////////////////// // Function: Texture::might_have_ram_image // Access: Published // Description: Returns true if the texture's image contents are // currently available in main RAM, or there is reason // to believe it can be loaded on demand. That is, this // function returns a "best guess" as to whether // get_ram_image() will succeed without actually calling // it first. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1069 14 Dtool_MAKPxRV8 6 1037 2743 0 14 Dtool_MAKPxRV8 337 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image, or 0 if there is no in-memory image. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1070 14 Dtool_MAKPyOvS 6 1038 2743 0 14 Dtool_MAKPyOvS 647 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_page_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image per page, or 0 if there is no in-memory image. // // For a non-compressed texture, this is the same as // get_expected_ram_page_size(). For a compressed // texture, this may be a smaller value. (We do assume // that all pages will be the same size on a compressed // texture). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1071 14 Dtool_MAKPR2lC 6 1039 2743 0 14 Dtool_MAKPR2lC 378 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_image_size // Access: Published // Description: Returns the number of bytes that *ought* to be used // by the in-memory image, based on the texture // parameters. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1072 14 Dtool_MAKPCoXN 6 1040 2743 0 14 Dtool_MAKPCoXN 447 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_page_size // Access: Published // Description: Returns the number of bytes that should be used per // each Z page of the 3-d texture. For a 2-d or 1-d // texture, this is the same as // get_expected_ram_image_size(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1073 14 Dtool_MAKPptvV 7 1041 2961 0 14 Dtool_MAKPptvV 1676 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image // Access: Published // Description: Returns the system-RAM image data associated with the // texture. If the texture does not currently have an // associated RAM image, and the texture was generated // by loading an image from a disk file (the most common // case), this forces the reload of the same texture. // This can happen if keep_texture_ram is configured to // false, and we have previously prepared this texture // with a GSG. // // Note that it is not correct to call has_ram_image() // first to test whether this function will fail. A // false return value from has_ram_image() indicates // only that get_ram_image() may need to reload the // texture from disk, which it will do automatically. // However, you can call might_have_ram_image(), which // will return true if the ram image exists, or there is // a reasonable reason to believe it can be loaded. // // On the other hand, it is possible that the texture // cannot be found on disk or is otherwise unavailable. // If that happens, this function will return NULL. // There is no way to predict with 100% accuracy whether // get_ram_image() will return NULL without calling it // first; might_have_ram_image() is the closest. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1074 14 Dtool_MAKPEnmq 6 1042 2720 0 14 Dtool_MAKPEnmq 633 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image_compression // Access: Published // Description: Returns the compression mode in which the ram image // is already stored pre-compressed. If this is other // than CM_off, you cannot rely on the contents of the // ram image to be anything predicatable (it will not be // an array of x by y pixels, and it probably won't have // the same length as get_expected_ram_image_size()). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1075 14 Dtool_MAKPgWYd 7 1043 2961 0 14 Dtool_MAKPgWYd 973 //////////////////////////////////////////////////////////////////// // Function: Texture::get_uncompressed_ram_image // Access: Published // Description: Returns the system-RAM image associated with the // texture, in an uncompressed form if at all possible. // // If get_ram_image_compression() is CM_off, then the // system-RAM image is already uncompressed, and this // returns the same thing as get_ram_image(). // // If get_ram_image_compression() is anything else, then // the system-RAM image is compressed. In this case, // the image will be reloaded from the *original* file // (not from the cache), in the hopes that an // uncompressed image will be found there. // // If an uncompressed image cannot be found, returns // NULL. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1076 14 Dtool_MAKP2ylx 7 1044 2961 0 14 Dtool_MAKP2ylx 1762 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_image_as // Access: Published // Description: Returns the uncompressed system-RAM image data // associated with the texture. Rather than // just returning a pointer to the data, like // get_uncompressed_ram_image, this function first // processes the data and reorders the components // using the specified format string, and places these // into a new char array. The 'format' argument should // specify in which order the components of the texture // must be. For example, valid format strings are // "RGBA", "GA", "ABRG" or "AAA". A component can // also be written as "0" or "1", which means an // empty/black or a full/white channel, respectively. // This function is particularly useful to // copy an image in-memory to a different library // (for example, PIL or wxWidgets) that require // a different component order than Panda's internal // format, BGRA. Note, however, that this conversion // can still be too slow if you want to do it every // frame, and should thus be avoided for that purpose. // The only requirement for the reordering is that // an uncompressed image must be available. If the // RAM image is compressed, it will attempt to re-load // the texture from disk, if it doesn't find an // uncompressed image there, it will return NULL. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 16 requested_format 1 2742 1077 14 Dtool_MAKP3zLa 7 1045 2963 0 14 Dtool_MAKP3zLa 517 //////////////////////////////////////////////////////////////////// // Function: Texture::modify_ram_image // Access: Published // Description: Returns a modifiable pointer to the system-RAM image. // This assumes the RAM image should be uncompressed. // If the RAM image has been dumped, or is stored // compressed, creates a new one. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1078 14 Dtool_MAKPODVV 7 1046 2963 0 14 Dtool_MAKPODVV 455 //////////////////////////////////////////////////////////////////// // Function: Texture::make_ram_image // Access: Published // Description: Discards the current system-RAM image for the // texture, if any, and allocates a new buffer of the // appropriate size. Returns the new buffer. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1079 14 Dtool_MAKPj2am 4 1047 2747 0 14 Dtool_MAKPj2am 501 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_image // Access: Published // Description: Replaces the current system-RAM image with the new // data. If compression is not CM_off, it indicates // that the new data is already pre-compressed in the // indicated format. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 5 image 1 2961 11 compression 1 2720 9 page_size 1 2743 1080 14 Dtool_MAKPWlIK 4 1047 2747 0 14 Dtool_MAKPWlIK 501 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_image // Access: Published // Description: Replaces the current system-RAM image with the new // data. If compression is not CM_off, it indicates // that the new data is already pre-compressed in the // indicated format. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 5 image 1 2961 11 compression 1 2720 1081 14 Dtool_MAKPdI4d 4 1047 2747 0 14 Dtool_MAKPdI4d 501 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_image // Access: Published // Description: Replaces the current system-RAM image with the new // data. If compression is not CM_off, it indicates // that the new data is already pre-compressed in the // indicated format. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 5 image 1 2961 1082 14 Dtool_MAKPpFgH 4 1048 2747 0 14 Dtool_MAKPpFgH 262 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_ram_image // Access: Published // Description: Discards the current system-RAM image. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1083 14 Dtool_MAKP_1DJ 4 1049 2747 0 14 Dtool_MAKP_1DJ 827 //////////////////////////////////////////////////////////////////// // Function: Texture::set_keep_ram_image // Access: Published // Description: Sets the flag that indicates whether this Texture is // eligible to have its main RAM copy of the texture // memory dumped when the texture is prepared for // rendering. // // This will be false for most textures, which can // reload their images if needed by rereading the input // file. However, textures that were generated // dynamically and cannot be easily reloaded will want // to set this flag to true, so that the texture will // always keep its image copy around. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 14 keep_ram_image 1 2748 1084 14 Dtool_MAKPprTa 6 1050 2748 0 14 Dtool_MAKPprTa 477 //////////////////////////////////////////////////////////////////// // Function: Texture::get_keep_ram_image // Access: Published, Virtual // Description: Returns the flag that indicates whether this Texture // is eligible to have its main RAM copy of the texture // memory dumped when the texture is prepared for // rendering. See set_keep_ram_image(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1085 14 Dtool_MAKP4X6Q 6 1051 2748 0 14 Dtool_MAKP4X6Q 1257 //////////////////////////////////////////////////////////////////// // Function: Texture::compress_ram_image // Access: Published // Description: Attempts to compress the texture's RAM image // internally, to a format supported by the indicated // GSG. In order for this to work, the squish library // must have been compiled into Panda. // // If compression is CM_on, then an appropriate // compression method that is supported by the indicated // GSG is automatically chosen. If the GSG pointer is // NULL, any of the standard DXT1/3/5 compression // methods will be used, regardless of whether it is // supported. // // If compression is any specific compression method, // that method is used regardless of whether the GSG // supports it. // // quality_level determines the speed/quality tradeoff // of the compression. If it is QL_default, the // texture's own quality_level parameter is used. // // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 11 compression 1 2720 13 quality_level 1 2721 3 gsg 1 2817 1086 14 Dtool_MAKPn3DR 6 1051 2748 0 14 Dtool_MAKPn3DR 1257 //////////////////////////////////////////////////////////////////// // Function: Texture::compress_ram_image // Access: Published // Description: Attempts to compress the texture's RAM image // internally, to a format supported by the indicated // GSG. In order for this to work, the squish library // must have been compiled into Panda. // // If compression is CM_on, then an appropriate // compression method that is supported by the indicated // GSG is automatically chosen. If the GSG pointer is // NULL, any of the standard DXT1/3/5 compression // methods will be used, regardless of whether it is // supported. // // If compression is any specific compression method, // that method is used regardless of whether the GSG // supports it. // // quality_level determines the speed/quality tradeoff // of the compression. If it is QL_default, the // texture's own quality_level parameter is used. // // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 11 compression 1 2720 13 quality_level 1 2721 1087 14 Dtool_MAKP50a4 6 1051 2748 0 14 Dtool_MAKP50a4 1257 //////////////////////////////////////////////////////////////////// // Function: Texture::compress_ram_image // Access: Published // Description: Attempts to compress the texture's RAM image // internally, to a format supported by the indicated // GSG. In order for this to work, the squish library // must have been compiled into Panda. // // If compression is CM_on, then an appropriate // compression method that is supported by the indicated // GSG is automatically chosen. If the GSG pointer is // NULL, any of the standard DXT1/3/5 compression // methods will be used, regardless of whether it is // supported. // // If compression is any specific compression method, // that method is used regardless of whether the GSG // supports it. // // quality_level determines the speed/quality tradeoff // of the compression. If it is QL_default, the // texture's own quality_level parameter is used. // // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 11 compression 1 2720 1088 14 Dtool_MAKPHzZo 6 1051 2748 0 14 Dtool_MAKPHzZo 1257 //////////////////////////////////////////////////////////////////// // Function: Texture::compress_ram_image // Access: Published // Description: Attempts to compress the texture's RAM image // internally, to a format supported by the indicated // GSG. In order for this to work, the squish library // must have been compiled into Panda. // // If compression is CM_on, then an appropriate // compression method that is supported by the indicated // GSG is automatically chosen. If the GSG pointer is // NULL, any of the standard DXT1/3/5 compression // methods will be used, regardless of whether it is // supported. // // If compression is any specific compression method, // that method is used regardless of whether the GSG // supports it. // // quality_level determines the speed/quality tradeoff // of the compression. If it is QL_default, the // texture's own quality_level parameter is used. // // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1089 14 Dtool_MAKPrKga 6 1052 2748 0 14 Dtool_MAKPrKga 573 //////////////////////////////////////////////////////////////////// // Function: Texture::uncompress_ram_image // Access: Published // Description: Attempts to uncompress the texture's RAM image // internally. In order for this to work, the squish // library must have been compiled into Panda, and the // ram image must be compressed in a format supported by // squish. // // Returns true if successful, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1090 14 Dtool_MAKPsZCn 6 1053 2751 0 14 Dtool_MAKPsZCn 584 //////////////////////////////////////////////////////////////////// // Function: Texture::get_num_ram_mipmap_images // Access: Published // Description: Returns the maximum number of mipmap level images // available in system memory. The actual number may be // less than this (that is, there might be gaps in the // sequence); use has_ram_mipmap_image() to verify each // level. // // Also see get_num_loadable_ram_mipmap_images(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1091 14 Dtool_MAKPPYfR 6 1054 2748 0 14 Dtool_MAKPPYfR 608 //////////////////////////////////////////////////////////////////// // Function: Texture::has_ram_mipmap_image // Access: Published // Description: Returns true if the Texture has the nth mipmap level // available in system memory, false otherwise. If the // texture's minfilter mode requires mipmapping (see // uses_mipmaps()), and all the texture's mipmap levels // are not available when the texture is rendered, they // will be generated automatically. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1092 14 Dtool_MAKPUZqM 6 1055 2751 0 14 Dtool_MAKPUZqM 955 //////////////////////////////////////////////////////////////////// // Function: Texture::get_num_loadable_ram_mipmap_images // Access: Published // Description: Returns the number of contiguous mipmap levels that // exist in RAM, up until the first gap in the sequence. // It is guaranteed that at least mipmap levels [0, // get_num_ram_mipmap_images()) exist. // // The number returned will never exceed the number of // required mipmap images based on the size of the // texture and its filter mode. // // This method is different from // get_num_ram_mipmap_images() in that it returns only // the number of mipmap levels that can actually be // usefully loaded, regardless of the actual number that // may be stored. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1093 14 Dtool_MAKPuUo_ 6 1056 2748 0 14 Dtool_MAKPuUo_ 403 //////////////////////////////////////////////////////////////////// // Function: Texture::has_all_ram_mipmap_images // Access: Published // Description: Returns true if all expected mipmap levels have been // defined and exist in the system RAM, or false if even // one mipmap level is missing. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1094 14 Dtool_MAKPIt9g 6 1057 2743 0 14 Dtool_MAKPIt9g 402 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_image_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image for mipmap level n, or 0 if there is no // in-memory image for this mipmap level. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1095 14 Dtool_MAKPrxQs 6 1058 2743 0 14 Dtool_MAKPrxQs 719 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_page_size // Access: Published // Description: Returns the number of bytes used by the in-memory // image per page for mipmap level n, or 0 if there is // no in-memory image for this mipmap level. // // For a non-compressed texture, this is the same as // get_expected_ram_mipmap_page_size(). For a compressed // texture, this may be a smaller value. (We do assume // that all pages will be the same size on a compressed // texture). //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1096 14 Dtool_MAKP18J3 6 1059 2743 0 14 Dtool_MAKP18J3 404 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_mipmap_image_size // Access: Published // Description: Returns the number of bytes that *ought* to be used // by the in-memory image for mipmap level n, based on // the texture parameters. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1097 14 Dtool_MAKPmvjI 6 1060 2743 0 14 Dtool_MAKPmvjI 481 //////////////////////////////////////////////////////////////////// // Function: Texture::get_expected_ram_mipmap_page_size // Access: Published // Description: Returns the number of bytes that should be used per // each Z page of the 3-d texture, for mipmap level n. // For a 2-d or 1-d texture, this is the same as // get_expected_ram_mipmap_image_size(n). //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 1 n 1 2751 1098 14 Dtool_MAKPUBwm 7 1061 2961 0 14 Dtool_MAKPUBwm 400 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_image // Access: Published // Description: Returns the system-RAM image data associated with the // nth mipmap level, if present. Returns NULL if the // nth mipmap level is not present. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 1 n 1 2751 1099 14 Dtool_MAKPq1yv 4 1062 2747 0 14 Dtool_MAKPq1yv 447 //////////////////////////////////////////////////////////////////// // Function: Texture::get_ram_mipmap_pointer // Access: Published // Description: Similiar to get_ram_mipmap_image(), however, in this // case the void pointer for the given ram image is // returned. This will be NULL unless it has been // explicitly set. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 1 n 1 2751 1100 14 Dtool_MAKPFscn 7 1063 2963 0 14 Dtool_MAKPFscn 511 //////////////////////////////////////////////////////////////////// // Function: Texture::modify_ram_mipmap_image // Access: Published // Description: Returns a modifiable pointer to the system-RAM image // for the nth mipmap level. This assumes the RAM image // is uncompressed; if this is not the case, raises an // assertion. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 1 n 1 2751 1101 14 Dtool_MAKP0yn2 7 1064 2963 0 14 Dtool_MAKP0yn2 471 //////////////////////////////////////////////////////////////////// // Function: Texture::make_ram_mipmap_image // Access: Published // Description: Discards the current system-RAM image for the // nth mipmap level, if any, and allocates a new buffer // of the appropriate size. Returns the new buffer. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 1 n 1 2751 1102 14 Dtool_MAKPIzqO 4 1066 2747 0 14 Dtool_MAKPIzqO 592 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_mipmap_pointer_from_int // Access: Published // Description: Accepts a raw pointer cast as an int, which is then // passed to set_ram_mipmap_pointer(); see the // documentation for that method. // // This variant is particularly useful to set an // external pointer from a language like Python, which // doesn't support void pointers directly. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 7 pointer 1 2964 1 n 1 2751 9 page_size 1 2751 1103 14 Dtool_MAKPNhUE 4 1067 2747 0 14 Dtool_MAKPNhUE 556 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_mipmap_image // Access: Published // Description: Replaces the current system-RAM image for the // indicated mipmap level with the new data. If // compression is not CM_off, it indicates that the new // data is already pre-compressed in the indicated // format. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 1 n 1 2751 5 image 1 2961 9 page_size 1 2743 1104 14 Dtool_MAKPtuFT 4 1067 2747 0 14 Dtool_MAKPtuFT 556 //////////////////////////////////////////////////////////////////// // Function: Texture::set_ram_mipmap_image // Access: Published // Description: Replaces the current system-RAM image for the // indicated mipmap level with the new data. If // compression is not CM_off, it indicates that the new // data is already pre-compressed in the indicated // format. // // This does *not* affect keep_ram_image. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 1 n 1 2751 5 image 1 2961 1105 14 Dtool_MAKPYq5x 4 1068 2747 0 14 Dtool_MAKPYq5x 311 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_ram_mipmap_image // Access: Published // Description: Discards the current system-RAM image for the nth // mipmap level. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 1 n 1 2751 1106 14 Dtool_MAKP_KKM 4 1069 2747 0 14 Dtool_MAKP_KKM 342 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_ram_mipmap_images // Access: Published // Description: Discards the current system-RAM image for all // mipmap levels, except level 0 (the base image). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1107 14 Dtool_MAKPvPAg 4 1070 2747 0 14 Dtool_MAKPvPAg 794 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_ram_mipmap_images // Access: Published // Description: Automatically fills in the n mipmap levels of the // Texture, based on the texture's source image. This // requires the texture's uncompressed ram image to be // available in system memory. If it is not already, it // will be fetched if possible. // // This call is not normally necessary, since the mipmap // levels will be generated automatically if needed. // But there may be certain cases in which you would // like to call this explicitly. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1108 14 Dtool_MAKPjKHa 6 1071 2751 0 14 Dtool_MAKPjKHa 276 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_x_size // Access: Published // Description: Returns the width of the "simple" image in texels. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1109 14 Dtool_MAKPzoaa 6 1072 2751 0 14 Dtool_MAKPzoaa 277 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_y_size // Access: Published // Description: Returns the height of the "simple" image in texels. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1110 14 Dtool_MAKPF9NW 6 1073 2748 0 14 Dtool_MAKPF9NW 326 //////////////////////////////////////////////////////////////////// // Function: Texture::has_simple_ram_image // Access: Published, Virtual // Description: Returns true if the Texture has a "simple" image // available in main RAM. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1111 14 Dtool_MAKPHF_T 6 1074 2743 0 14 Dtool_MAKPHF_T 340 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_ram_image_size // Access: Published // Description: Returns the number of bytes used by the "simple" // image, or 0 if there is no simple image. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1112 14 Dtool_MAKPtR6g 7 1075 2961 0 14 Dtool_MAKPtR6g 879 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_ram_image // Access: Published // Description: Returns the image data associated with the "simple" // texture image. This is provided for some textures as // an option to display while the main texture image is // being loaded from disk. // // Unlike get_ram_image(), this function will always // return immediately. Either the simple image is // available, or it is not. // // The "simple" image is always 4 components, 1 byte // each, regardless of the parameters of the full // texture. The simple image is only supported for // ordinary 2-d textures. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1113 14 Dtool_MAKPVbFL 4 1076 2747 0 14 Dtool_MAKPVbFL 1051 //////////////////////////////////////////////////////////////////// // Function: Texture::set_simple_ram_image // Access: Published // Description: Replaces the internal "simple" texture image. This // can be used as an option to display while the main // texture image is being loaded from disk. It is // normally a very small image, 16x16 or smaller (and // maybe even 1x1), that is designed to give just enough // sense of color to serve as a placeholder until the // full texture is available. // // The "simple" image is always 4 components, 1 byte // each, regardless of the parameters of the full // texture. The simple image is only supported for // ordinary 2-d textures. // // Also see generate_simple_ram_image(), // modify_simple_ram_image(), and // new_simple_ram_image(). //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 5 image 1 2961 6 x_size 1 2751 6 y_size 1 2751 1114 14 Dtool_MAKPnWcl 7 1077 2963 0 14 Dtool_MAKPnWcl 346 //////////////////////////////////////////////////////////////////// // Function: Texture::modify_simple_ram_image // Access: Published // Description: Returns a modifiable pointer to the internal "simple" // texture image. See set_simple_ram_image(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1115 14 Dtool_MAKPlEaN 7 1078 2963 0 14 Dtool_MAKPlEaN 413 //////////////////////////////////////////////////////////////////// // Function: Texture::new_simple_ram_image // Access: Published // Description: Creates an empty array for the simple ram image of // the indicated size, and returns a modifiable pointer // to the new array. See set_simple_ram_image(). //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 6 x_size 1 2751 6 y_size 1 2751 1116 14 Dtool_MAKPi9_G 4 1079 2747 0 14 Dtool_MAKPi9_G 453 //////////////////////////////////////////////////////////////////// // Function: Texture::generate_simple_ram_image // Access: Published // Description: Computes the "simple" ram image by loading the main // RAM image, if it is not already available, and // reducing it to 16x16 or smaller. This may be an // expensive operation. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1117 14 Dtool_MAKP3521 4 1080 2747 0 14 Dtool_MAKP3521 267 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_simple_ram_image // Access: Published // Description: Discards the current "simple" image. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1118 14 Dtool_MAKP0K12 7 1081 2965 2632 14 Dtool_MAKP0K12 826 //////////////////////////////////////////////////////////////////// // Function: Texture::peek // Access: Published // Description: Returns a TexturePeeker object that can be used to // examine the individual texels stored within this // Texture by (u, v) coordinate. // // If the texture has a ram image resident, that image // is used. If it does not have a full ram image but // does have a simple_ram_image resident, that image is // used instead. If neither image is resident the full // image is reloaded. // // Returns NULL if the texture cannot find an image to // load, or the texture format is incompatible. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1119 14 Dtool_MAKPhBtw 7 1082 2810 0 14 Dtool_MAKPhBtw 403 //////////////////////////////////////////////////////////////////// // Function: Texture::get_properties_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the texture properties // (unrelated to the image) are modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1120 14 Dtool_MAKPTeDG 7 1083 2810 0 14 Dtool_MAKPTeDG 399 //////////////////////////////////////////////////////////////////// // Function: Texture::get_image_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the texture image data // (including mipmap levels) are modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1121 14 Dtool_MAKP12pR 7 1084 2810 0 14 Dtool_MAKP12pR 390 //////////////////////////////////////////////////////////////////// // Function: Texture::get_simple_image_modified // Access: Published // Description: Returns a sequence number which is guaranteed to // change at least every time the texture's "simple" // image data is modified. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1122 14 Dtool_MAKPLFHv 4 1085 2747 0 14 Dtool_MAKPLFHv 655 //////////////////////////////////////////////////////////////////// // Function: Texture::prepare // Access: Published // Description: Indicates that the texture should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // texture is already loaded into texture memory if it // is expected to be rendered soon. // // Use this function instead of prepare_now() to preload // textures from a user interface standpoint. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 16 prepared_objects 1 2816 1123 14 Dtool_MAKPgvjn 6 1086 2748 0 14 Dtool_MAKPgvjn 374 //////////////////////////////////////////////////////////////////// // Function: Texture::is_prepared // Access: Published // Description: Returns true if the texture has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 16 prepared_objects 1 2816 1124 14 Dtool_MAKPUPgs 6 1087 2748 0 14 Dtool_MAKPUPgs 437 //////////////////////////////////////////////////////////////////// // Function: Texture::was_image_modified // Access: Published // Description: Returns true if the texture needs to be re-loaded // onto the indicated GSG, either because its image data // is out-of-date, or because it's not fully prepared // now. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 16 prepared_objects 1 2816 1125 14 Dtool_MAKPWC_V 6 1088 2743 0 14 Dtool_MAKPWC_V 639 //////////////////////////////////////////////////////////////////// // Function: Texture::get_data_size_bytes // Access: Public // Description: Returns the number of bytes which the texture is // reported to consume within graphics memory, for the // indicated GSG. This may return a nonzero value even // if the texture is not currently resident; you should // also check get_resident() if you want to know how // much space the texture is actually consuming right // now. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 16 prepared_objects 1 2816 1126 14 Dtool_MAKPo8z_ 6 1089 2748 0 14 Dtool_MAKPo8z_ 325 //////////////////////////////////////////////////////////////////// // Function: Texture::get_active // Access: Public // Description: Returns true if this Texture was rendered in the most // recent frame within the indicated GSG. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 16 prepared_objects 1 2816 1127 14 Dtool_MAKPUPUd 6 1090 2748 0 14 Dtool_MAKPUPUd 353 //////////////////////////////////////////////////////////////////// // Function: Texture::get_resident // Access: Public // Description: Returns true if this Texture is reported to be // resident within graphics memory for the indicated // GSG. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 16 prepared_objects 1 2816 1128 14 Dtool_MAKPv3AE 6 1091 2748 0 14 Dtool_MAKPv3AE 394 //////////////////////////////////////////////////////////////////// // Function: Texture::release // Access: Published // Description: Frees the texture context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 16 prepared_objects 1 2816 1129 14 Dtool_MAKPH_Et 6 1092 2751 0 14 Dtool_MAKPH_Et 392 //////////////////////////////////////////////////////////////////// // Function: Texture::release_all // Access: Published // Description: Frees the context allocated on all objects for which // the texture has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1130 14 Dtool_MAKPp5Zg 6 1093 2743 0 14 Dtool_MAKPp5Zg 775 //////////////////////////////////////////////////////////////////// // Function: Texture::estimate_texture_memory // Access: Published // Description: Estimates the amount of texture memory that will be // consumed by loading this texture. This returns a // value that is not specific to any particular graphics // card or driver; it tries to make a reasonable // assumption about how a driver will load the texture. // It does not account for texture compression or // anything fancy. This is mainly useful for debugging // and reporting purposes. // // Returns a value in bytes. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1131 14 Dtool_MAKPNHbm 4 1094 2747 0 14 Dtool_MAKPNHbm 523 //////////////////////////////////////////////////////////////////// // Function: Texture::set_aux_data // Access: Published // Description: Records an arbitrary object in the Texture, // associated with a specified key. The object may // later be retrieved by calling get_aux_data() with the // same key. // // These data objects are not recorded to a bam or txo // file. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 3 key 1 2742 8 aux_data 1 2966 1132 14 Dtool_MAKP8EWP 4 1095 2747 0 14 Dtool_MAKP8EWP 296 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_aux_data // Access: Published // Description: Removes a record previously recorded via // set_aux_data(). //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 3 key 1 2742 1133 14 Dtool_MAKPkzsv 7 1096 2966 0 14 Dtool_MAKPkzsv 383 //////////////////////////////////////////////////////////////////// // Function: Texture::get_aux_data // Access: Published // Description: Returns a record previously recorded via // set_aux_data(). Returns NULL if there was no record // associated with the indicated key. //////////////////////////////////////////////////////////////////// 2 4 this 3 2952 3 key 1 2742 1134 14 Dtool_MAKPesKC 4 1097 2747 0 14 Dtool_MAKPesKC 336 //////////////////////////////////////////////////////////////////// // Function: Texture::set_textures_power_2 // Access: Published, Static // Description: Set this flag to ATS_none, ATS_up, or ATS_down // to control the scaling of textures. //////////////////////////////////////////////////////////////////// 1 5 scale 1 2672 1135 14 Dtool_MAKPvjA4 6 1098 2672 0 14 Dtool_MAKPvjA4 472 //////////////////////////////////////////////////////////////////// // Function: Texture::get_textures_power_2 // Access: Published, Static // Description: This flag returns ATS_none, ATS_up, or ATS_down // and controls the scaling of textures. It is // initialized from the config variable of the same // name, but it can be subsequently adjusted. //////////////////////////////////////////////////////////////////// 0 1136 14 Dtool_MAKPhB_g 6 1099 2748 0 14 Dtool_MAKPhB_g 453 //////////////////////////////////////////////////////////////////// // Function: Texture::have_textures_power_2 // Access: Published, Static // Description: If true, then get_textures_power_2 has been // set using set_textures_power_2. // If false, then get_textures_power_2 simply // returns the config variable of the same name. //////////////////////////////////////////////////////////////////// 0 1137 14 Dtool_MAKPxxu1 4 1100 2747 0 14 Dtool_MAKPxxu1 690 //////////////////////////////////////////////////////////////////// // Function: Texture::set_filename // Access: Published // Description: Sets the name of the file that contains the image's // contents. Normally, this is set automatically when // the image is loaded, for instance via // Texture::read(). // // The Texture's get_name() function used to return // the filename, but now returns just the basename // (without the extension), which is a more useful name // for identifying an image in show code. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 8 filename 1 2944 1138 14 Dtool_MAKP1EJs 4 1101 2747 0 14 Dtool_MAKP1EJs 313 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_filename // Access: Published // Description: Removes the alpha filename, if it was previously set. // See set_filename(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1139 14 Dtool_MAKPm10_ 4 1102 2747 0 14 Dtool_MAKPm10_ 915 //////////////////////////////////////////////////////////////////// // Function: Texture::set_alpha_filename // Access: Published // Description: Sets the name of the file that contains the image's // alpha channel contents. Normally, this is set // automatically when the image is loaded, for instance // via Texture::read(). // // The Texture's get_filename() function returns the // name of the image file that was loaded into the // buffer. In the case where a texture specified two // separate files to load, a 1- or 3-channel color image // and a 1-channel alpha image, this Filename is update // to contain the name of the image file that was loaded // into the buffer's alpha channel. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 14 alpha_filename 1 2944 1140 14 Dtool_MAKPniFu 4 1103 2747 0 14 Dtool_MAKPniFu 325 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_alpha_filename // Access: Published // Description: Removes the alpha filename, if it was previously set. // See set_alpha_filename(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1141 14 Dtool_MAKPwCYx 4 1104 2747 0 14 Dtool_MAKPwCYx 470 //////////////////////////////////////////////////////////////////// // Function: Texture::set_fullpath // Access: Published // Description: Sets the full pathname to the file that contains the // image's contents, as found along the search path. // Normally, this is set automatically when the image is // loaded, for instance via Texture::read(). //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 8 fullpath 1 2944 1142 14 Dtool_MAKP_nbF 4 1105 2747 0 14 Dtool_MAKP_nbF 313 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_fullpath // Access: Published // Description: Removes the alpha fullpath, if it was previously set. // See set_fullpath(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1143 14 Dtool_MAKP66Zo 4 1106 2747 0 14 Dtool_MAKP66Zo 508 //////////////////////////////////////////////////////////////////// // Function: Texture::set_alpha_fullpath // Access: Published // Description: Sets the full pathname to the file that contains the // image's alpha channel contents, as found along the // search path. Normally, this is set automatically // when the image is loaded, for instance via // Texture::read(). //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 14 alpha_fullpath 1 2944 1144 14 Dtool_MAKPQc0_ 4 1107 2747 0 14 Dtool_MAKPQc0_ 325 //////////////////////////////////////////////////////////////////// // Function: Texture::clear_alpha_fullpath // Access: Published // Description: Removes the alpha fullpath, if it was previously set. // See set_alpha_fullpath(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1145 14 Dtool_MAKPzob9 4 1108 2747 0 14 Dtool_MAKPzob9 371 //////////////////////////////////////////////////////////////////// // Function: Texture::set_x_size // Access: Published // Description: Changes the x size indicated for the texture. This // also implicitly unloads the texture if it has already // been loaded. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 6 x_size 1 2751 1146 14 Dtool_MAKPLp7A 4 1109 2747 0 14 Dtool_MAKPLp7A 371 //////////////////////////////////////////////////////////////////// // Function: Texture::set_y_size // Access: Published // Description: Changes the y size indicated for the texture. This // also implicitly unloads the texture if it has already // been loaded. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 6 y_size 1 2751 1147 14 Dtool_MAKPipbE 4 1110 2747 0 14 Dtool_MAKPipbE 371 //////////////////////////////////////////////////////////////////// // Function: Texture::set_z_size // Access: Published // Description: Changes the z size indicated for the texture. This // also implicitly unloads the texture if it has already // been loaded. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 6 z_size 1 2751 1148 14 Dtool_MAKP6S4x 6 1111 2751 0 14 Dtool_MAKP6S4x 273 //////////////////////////////////////////////////////////////////// // Function: Texture::get_pad_x_size // Access: Published // Description: Returns size of the pad region. See set_pad_size. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1149 14 Dtool_MAKP_SGO 6 1112 2751 0 14 Dtool_MAKP_SGO 273 //////////////////////////////////////////////////////////////////// // Function: Texture::get_pad_y_size // Access: Published // Description: Returns size of the pad region. See set_pad_size. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1150 14 Dtool_MAKPBSUq 6 1113 2751 0 14 Dtool_MAKPBSUq 273 //////////////////////////////////////////////////////////////////// // Function: Texture::get_pad_z_size // Access: Published // Description: Returns size of the pad region. See set_pad_size. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1151 14 Dtool_MAKPNa2k 4 1114 2747 0 14 Dtool_MAKPNa2k 813 //////////////////////////////////////////////////////////////////// // Function: Texture::set_pad_size // Access: Published // Description: Sets the size of the pad region. // // Sometimes, when a video card demands power-of-two // textures, it is necessary to create a big texture // and then only use a portion of it. The pad region // indicates which portion of the texture is not // really in use. All operations use the texture // as a whole, including the pad region, unless they // explicitly state that they use only the non-pad // region. // // Changing the texture's size clears the pad region. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 1 x 1 2751 1 y 1 2751 1 z 1 2751 1152 14 Dtool_MAKPI6hq 4 1114 2747 0 14 Dtool_MAKPI6hq 813 //////////////////////////////////////////////////////////////////// // Function: Texture::set_pad_size // Access: Published // Description: Sets the size of the pad region. // // Sometimes, when a video card demands power-of-two // textures, it is necessary to create a big texture // and then only use a portion of it. The pad region // indicates which portion of the texture is not // really in use. All operations use the texture // as a whole, including the pad region, unless they // explicitly state that they use only the non-pad // region. // // Changing the texture's size clears the pad region. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 1 x 1 2751 1 y 1 2751 1153 14 Dtool_MAKPzpXt 4 1114 2747 0 14 Dtool_MAKPzpXt 813 //////////////////////////////////////////////////////////////////// // Function: Texture::set_pad_size // Access: Published // Description: Sets the size of the pad region. // // Sometimes, when a video card demands power-of-two // textures, it is necessary to create a big texture // and then only use a portion of it. The pad region // indicates which portion of the texture is not // really in use. All operations use the texture // as a whole, including the pad region, unless they // explicitly state that they use only the non-pad // region. // // Changing the texture's size clears the pad region. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 1 x 1 2751 1154 14 Dtool_MAKPsnEy 4 1114 2747 0 14 Dtool_MAKPsnEy 813 //////////////////////////////////////////////////////////////////// // Function: Texture::set_pad_size // Access: Published // Description: Sets the size of the pad region. // // Sometimes, when a video card demands power-of-two // textures, it is necessary to create a big texture // and then only use a portion of it. The pad region // indicates which portion of the texture is not // really in use. All operations use the texture // as a whole, including the pad region, unless they // explicitly state that they use only the non-pad // region. // // Changing the texture's size clears the pad region. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1155 14 Dtool_MAKPP_Qd 4 1115 2747 0 14 Dtool_MAKPP_Qd 348 //////////////////////////////////////////////////////////////////// // Function: Texture::set_size_padded // Access: Published // Description: Changes the size of the texture, padding // if necessary, and setting the pad region // as well. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 1 x 1 2751 1 y 1 2751 1 z 1 2751 1156 14 Dtool_MAKPf7Uc 4 1115 2747 0 14 Dtool_MAKPf7Uc 348 //////////////////////////////////////////////////////////////////// // Function: Texture::set_size_padded // Access: Published // Description: Changes the size of the texture, padding // if necessary, and setting the pad region // as well. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 1 x 1 2751 1 y 1 2751 1157 14 Dtool_MAKP0f17 4 1115 2747 0 14 Dtool_MAKP0f17 348 //////////////////////////////////////////////////////////////////// // Function: Texture::set_size_padded // Access: Published // Description: Changes the size of the texture, padding // if necessary, and setting the pad region // as well. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 1 x 1 2751 1158 14 Dtool_MAKP5TOP 4 1115 2747 0 14 Dtool_MAKP5TOP 348 //////////////////////////////////////////////////////////////////// // Function: Texture::set_size_padded // Access: Published // Description: Changes the size of the texture, padding // if necessary, and setting the pad region // as well. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1159 14 Dtool_MAKPhkHc 6 1116 2751 0 14 Dtool_MAKPhkHc 414 //////////////////////////////////////////////////////////////////// // Function: Texture::get_orig_file_x_size // Access: Published // Description: Returns the X size of the original disk image that // this Texture was loaded from (if it came from a disk // file), before any automatic rescaling by Panda. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1160 14 Dtool_MAKPdmHq 6 1117 2751 0 14 Dtool_MAKPdmHq 414 //////////////////////////////////////////////////////////////////// // Function: Texture::get_orig_file_y_size // Access: Published // Description: Returns the Y size of the original disk image that // this Texture was loaded from (if it came from a disk // file), before any automatic rescaling by Panda. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1161 14 Dtool_MAKP5rH4 6 1118 2751 0 14 Dtool_MAKP5rH4 414 //////////////////////////////////////////////////////////////////// // Function: Texture::get_orig_file_z_size // Access: Published // Description: Returns the Z size of the original disk image that // this Texture was loaded from (if it came from a disk // file), before any automatic rescaling by Panda. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1162 14 Dtool_MAKPpqd5 4 1119 2747 0 14 Dtool_MAKPpqd5 343 //////////////////////////////////////////////////////////////////// // Function: Texture::set_orig_file_size // Access: Published // Description: Specifies the size of the texture as it exists in its // original disk file, before any Panda scaling. //////////////////////////////////////////////////////////////////// 4 4 this 3 2943 1 x 1 2751 1 y 1 2751 1 z 1 2751 1163 14 Dtool_MAKPPjli 4 1119 2747 0 14 Dtool_MAKPPjli 343 //////////////////////////////////////////////////////////////////// // Function: Texture::set_orig_file_size // Access: Published // Description: Specifies the size of the texture as it exists in its // original disk file, before any Panda scaling. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 1 x 1 2751 1 y 1 2751 1164 14 Dtool_MAKPtpDw 4 1120 2747 0 14 Dtool_MAKPtpDw 333 //////////////////////////////////////////////////////////////////// // Function: Texture::set_format // Access: Published // Description: Changes the format value for the texture components. // This implicitly sets num_components as well. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 6 format 1 2717 1165 14 Dtool_MAKPQhrN 4 1121 2747 0 14 Dtool_MAKPQhrN 340 //////////////////////////////////////////////////////////////////// // Function: Texture::set_component_type // Access: Published // Description: Changes the data value for the texture components. // This implicitly sets component_width as well. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 14 component_type 1 2716 1166 14 Dtool_MAKP2KhW 4 1122 2747 0 14 Dtool_MAKP2KhW 553 //////////////////////////////////////////////////////////////////// // Function: Texture::set_loaded_from_image // Access: Published // Description: Sets the flag that indicates the texture has been // loaded from a disk file or PNMImage. You should also // ensure the filename has been set correctly. When // this flag is true, the texture may be automatically // reloaded when its ram image needs to be replaced. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1167 14 Dtool_MAKPLfRY 6 1123 2748 0 14 Dtool_MAKPLfRY 383 //////////////////////////////////////////////////////////////////// // Function: Texture::get_loaded_from_image // Access: Published // Description: Returns the flag that indicates the texture has been // loaded from a disk file or PNMImage. See // set_loaded_from_image(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1168 14 Dtool_MAKPh42H 4 1124 2747 0 14 Dtool_MAKPh42H 452 //////////////////////////////////////////////////////////////////// // Function: Texture::set_loaded_from_txo // Access: Published // Description: Sets the flag that indicates the texture has been // loaded from a txo file. You probably shouldn't be // setting this directly; it is set automatically when a // Texture is loaded. //////////////////////////////////////////////////////////////////// 1 4 this 3 2943 1169 14 Dtool_MAKPmAs_ 6 1125 2748 0 14 Dtool_MAKPmAs_ 321 //////////////////////////////////////////////////////////////////// // Function: Texture::get_loaded_from_txo // Access: Published // Description: Returns the flag that indicates the texture has been // loaded from a txo file. //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1170 14 Dtool_MAKPscHG 6 1126 2748 0 14 Dtool_MAKPscHG 338 //////////////////////////////////////////////////////////////////// // Function: Texture::is_mipmap // Access: Published, Static // Description: Returns true if the indicated filter type requires // the use of mipmaps, or false if it does not. //////////////////////////////////////////////////////////////////// 1 4 type 1 2718 1171 14 Dtool_MAKP608G 6 1127 2748 0 14 Dtool_MAKP608G 588 //////////////////////////////////////////////////////////////////// // Function: Texture::get_match_framebuffer_format // Access: Public // Description: Returns true if the special flag was set that // indicates to the GSG that the Texture's format should // be chosen to exactly match the framebuffer's format, // presumably because the application intends to copy // image data from the framebuffer into the Texture (or // vice-versa). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1172 14 Dtool_MAKPsRvh 4 1128 2747 0 14 Dtool_MAKPsRvh 743 //////////////////////////////////////////////////////////////////// // Function: Texture::set_match_framebuffer_format // Access: Public // Description: Sets the special flag that, if true, indicates to the // GSG that the Texture's format should be chosen to // exactly match the framebuffer's format, presumably // because the application intends to copy image data // from the framebuffer into the Texture (or // vice-versa). // // This sets only the graphics card's idea of the // texture format; it is not related to the // system-memory format. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 4 flag 1 2748 1173 14 Dtool_MAKPZVP_ 6 1129 2748 0 14 Dtool_MAKPZVP_ 336 //////////////////////////////////////////////////////////////////// // Function: Texture::get_post_load_store_cache // Access: Public // Description: Returns the setting of the post_load_store_cache // flag. See set_post_load_store_cache(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2952 1174 14 Dtool_MAKPuxvY 4 1130 2747 0 14 Dtool_MAKPuxvY 742 //////////////////////////////////////////////////////////////////// // Function: Texture::set_post_load_store_cache // Access: Public // Description: Sets the post_load_store_cache flag. When this is // set, the next time the texture is loaded on a GSG, it // will automatically extract its RAM image from the GSG // and save it to the global BamCache. // // This is used to store compressed RAM images in the // BamCache. This flag should not be set explicitly; it // is set automatically by the TexturePool when // model-cache-compressed-textures is set true. //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 4 flag 1 2748 1175 14 Dtool_MAKPm6AO 6 1131 2967 0 14 Dtool_MAKPm6AO 889 //////////////////////////////////////////////////////////////////// // Function: Texture::prepare_now // Access: Published // Description: Creates a context for the texture on the particular // GSG, if it does not already exist. Returns the new // (or old) TextureContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // textures. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a texture does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 3 4 this 3 2943 16 prepared_objects 1 2816 3 gsg 1 2817 1176 14 Dtool_MAKPRUGo 6 1132 2751 0 14 Dtool_MAKPRUGo 310 //////////////////////////////////////////////////////////////////// // Function: Texture::up_to_power_2 // Access: Published, Static // Description: Returns the smallest power of 2 greater than or equal // to value. //////////////////////////////////////////////////////////////////// 1 5 value 1 2751 1177 14 Dtool_MAKPO34N 6 1133 2751 0 14 Dtool_MAKPO34N 308 //////////////////////////////////////////////////////////////////// // Function: Texture::down_to_power_2 // Access: Published, Static // Description: Returns the largest power of 2 less than or equal // to value. //////////////////////////////////////////////////////////////////// 1 5 value 1 2751 1178 14 Dtool_MAKP2TNp 4 1134 2747 0 14 Dtool_MAKP2TNp 525 //////////////////////////////////////////////////////////////////// // Function: Texture::consider_rescale // Access: Published // Description: Asks the PNMImage to change its scale when it reads // the image, according to the whims of the Config.prc // file. // // This method should be called after // pnmimage.read_header() has been called, but before // pnmimage.read(). //////////////////////////////////////////////////////////////////// 2 4 this 3 2943 8 pnmimage 1 2959 1179 14 Dtool_MAKPt_Or 4 1134 2747 0 14 Dtool_MAKPt_Or 533 //////////////////////////////////////////////////////////////////// // Function: Texture::consider_rescale // Access: Published, Static // Description: Asks the PNMImage to change its scale when it reads // the image, according to the whims of the Config.prc // file. // // This method should be called after // pnmimage.read_header() has been called, but before // pnmimage.read(). //////////////////////////////////////////////////////////////////// 2 8 pnmimage 1 2959 4 name 1 2742 1180 14 Dtool_MAKPoC2_ 7 1135 2763 0 14 Dtool_MAKPoC2_ 0 0 1181 14 Dtool_MAKPYako 7 957 2772 0 14 Dtool_MAKPYako 0 1 4 this 3 2943 1182 14 Dtool_MAKPc1xv 7 958 2943 2282 14 Dtool_MAKPc1xv 0 1 4 this 3 2772 1183 14 Dtool_MAKPOTYU 6 959 2783 0 14 Dtool_MAKPOTYU 0 1 4 this 3 2943 1184 14 Dtool_MAKPSRIH 7 960 2943 2282 14 Dtool_MAKPSRIH 0 1 4 this 3 2783 1185 14 Dtool_MAKPlkb4 7 1140 2968 0 14 Dtool_MAKPlkb4 261 //////////////////////////////////////////////////////////////////// // Function: Shader::load // Access: Published, Static // Description: Loads the shader with the given filename. //////////////////////////////////////////////////////////////////// 2 4 file 1 2944 4 lang 1 2724 1186 14 Dtool_MAKPJQge 7 1140 2968 0 14 Dtool_MAKPJQge 261 //////////////////////////////////////////////////////////////////// // Function: Shader::load // Access: Published, Static // Description: Loads the shader with the given filename. //////////////////////////////////////////////////////////////////// 1 4 file 1 2944 1187 14 Dtool_MAKPHylL 7 1140 2968 0 14 Dtool_MAKPHylL 303 //////////////////////////////////////////////////////////////////// // Function: Shader::load // Access: Published, Static // Description: This variant of Shader::load loads all shader // programs separately. //////////////////////////////////////////////////////////////////// 4 4 lang 1 2724 6 vertex 1 2944 8 fragment 1 2944 8 geometry 1 2944 1188 14 Dtool_MAKP7Ee5 7 1140 2968 0 14 Dtool_MAKP7Ee5 303 //////////////////////////////////////////////////////////////////// // Function: Shader::load // Access: Published, Static // Description: This variant of Shader::load loads all shader // programs separately. //////////////////////////////////////////////////////////////////// 3 4 lang 1 2724 6 vertex 1 2944 8 fragment 1 2944 1189 14 Dtool_MAKPXaSs 7 1141 2968 0 14 Dtool_MAKPXaSs 277 ////////////////////////////////////////////////////////////////////// // Function: Shader::make // Access: Published, Static // Description: Loads the shader, using the strings as shader bodies. ////////////////////////////////////////////////////////////////////// 4 4 lang 1 2724 6 vertex 1 2742 8 fragment 1 2742 8 geometry 1 2742 1190 14 Dtool_MAKPTwTL 7 1141 2968 0 14 Dtool_MAKPTwTL 277 ////////////////////////////////////////////////////////////////////// // Function: Shader::make // Access: Published, Static // Description: Loads the shader, using the strings as shader bodies. ////////////////////////////////////////////////////////////////////// 3 4 lang 1 2724 6 vertex 1 2742 8 fragment 1 2742 1191 14 Dtool_MAKP8uJm 7 1141 2968 0 14 Dtool_MAKP8uJm 274 ////////////////////////////////////////////////////////////////////// // Function: Shader::make // Access: Published, Static // Description: Loads the shader, using the string as shader body. ////////////////////////////////////////////////////////////////////// 2 4 body 1 2742 4 lang 1 2724 1192 14 Dtool_MAKPZPVQ 7 1141 2968 0 14 Dtool_MAKPZPVQ 274 ////////////////////////////////////////////////////////////////////// // Function: Shader::make // Access: Published, Static // Description: Loads the shader, using the string as shader body. ////////////////////////////////////////////////////////////////////// 1 4 body 1 2742 1193 14 Dtool_MAKPz0qU 7 1142 2944 0 14 Dtool_MAKPz0qU 776 // Filename: shader.I // Heavily Modified: jyelon (Sep05) // //////////////////////////////////////////////////////////////////// // // 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: Shader::get_filename // Access: Public // Description: Return the Shader's filename for the given shader // type. //////////////////////////////////////////////////////////////////// 2 4 this 3 2969 4 type 1 2725 1194 14 Dtool_MAKPlNEW 7 1142 2944 0 14 Dtool_MAKPlNEW 776 // Filename: shader.I // Heavily Modified: jyelon (Sep05) // //////////////////////////////////////////////////////////////////// // // 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: Shader::get_filename // Access: Public // Description: Return the Shader's filename for the given shader // type. //////////////////////////////////////////////////////////////////// 1 4 this 3 2969 1195 14 Dtool_MAKP_cue 6 1143 2742 0 14 Dtool_MAKP_cue 264 //////////////////////////////////////////////////////////////////// // Function: Shader::get_text // Access: Public // Description: Return the Shader's text for the given shader type. //////////////////////////////////////////////////////////////////// 2 4 this 3 2969 4 type 1 2725 1196 14 Dtool_MAKPdfN0 6 1143 2742 0 14 Dtool_MAKPdfN0 264 //////////////////////////////////////////////////////////////////// // Function: Shader::get_text // Access: Public // Description: Return the Shader's text for the given shader type. //////////////////////////////////////////////////////////////////// 1 4 this 3 2969 1197 14 Dtool_MAKPcUW2 6 1144 2748 0 14 Dtool_MAKPcUW2 399 //////////////////////////////////////////////////////////////////// // Function: Shader::get_error_flag // Access: Public // Description: Returns true if the shader contains a compile-time // error. This doesn't tell you whether or not the // shader is supported on the current video card. //////////////////////////////////////////////////////////////////// 1 4 this 3 2969 1198 14 Dtool_MAKPXpMn 6 1145 2724 0 14 Dtool_MAKPXpMn 298 //////////////////////////////////////////////////////////////////// // Function: Shader::get_language // Access: Published // Description: Returns the shader language in which this shader // was written. //////////////////////////////////////////////////////////////////// 1 4 this 3 2969 1199 14 Dtool_MAKPhnk1 6 1146 2673 0 14 Dtool_MAKPhnk1 510 //////////////////////////////////////////////////////////////////// // Function: Shader::get_shader_utilization // Access: Published, Static // Description: This flag returns SUT_none, SUT_basic, or // SUT_advanced and controls the automatic generation // of shaders. It is initialized from the config // variable of the same name, but it can be // subsequently adjusted. //////////////////////////////////////////////////////////////////// 0 1200 14 Dtool_MAKPlu7c 4 1147 2747 0 14 Dtool_MAKPlu7c 382 //////////////////////////////////////////////////////////////////// // Function: Shader::set_shader_utilization // Access: Published, Static // Description: Set this flag to SUT_none, SUT_basic, or // SUT_advanced to limit panda's automatic shader // generation facilities. //////////////////////////////////////////////////////////////////// 1 3 utl 1 2673 1201 14 Dtool_MAKPlvLD 6 1148 2748 0 14 Dtool_MAKPlvLD 460 //////////////////////////////////////////////////////////////////// // Function: Shader::have_shader_utilization // Access: Published, Static // Description: If true, then get_shader_utilization has been // set using set_shader_utilization. // If false, then get_shader_utilization simply // returns the config variable of the same name. //////////////////////////////////////////////////////////////////// 0 1202 14 Dtool_MAKP_Ayr 4 1149 2747 0 14 Dtool_MAKP_Ayr 653 //////////////////////////////////////////////////////////////////// // Function: Shader::prepare // Access: Published // Description: Indicates that the shader should be enqueued to be // prepared in the indicated prepared_objects at the // beginning of the next frame. This will ensure the // texture is already loaded into texture memory if it // is expected to be rendered soon. // // Use this function instead of prepare_now() to preload // textures from a user interface standpoint. //////////////////////////////////////////////////////////////////// 2 4 this 3 2968 16 prepared_objects 1 2816 1203 14 Dtool_MAKP5KiR 6 1150 2748 0 14 Dtool_MAKP5KiR 372 //////////////////////////////////////////////////////////////////// // Function: Shader::is_prepared // Access: Published // Description: Returns true if the shader has already been prepared // or enqueued for preparation on the indicated GSG, // false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2969 16 prepared_objects 1 2816 1204 14 Dtool_MAKPnXbA 6 1151 2748 0 14 Dtool_MAKPnXbA 393 //////////////////////////////////////////////////////////////////// // Function: Shader::release // Access: Published // Description: Frees the texture context only on the indicated object, // if it exists there. Returns true if it was released, // false if it had not been prepared. //////////////////////////////////////////////////////////////////// 2 4 this 3 2968 16 prepared_objects 1 2816 1205 14 Dtool_MAKPr_x5 6 1152 2751 0 14 Dtool_MAKPr_x5 391 //////////////////////////////////////////////////////////////////// // Function: Shader::release_all // Access: Published // Description: Frees the context allocated on all objects for which // the texture has been declared. Returns the number of // contexts which have been freed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2968 1206 14 Dtool_MAKPLkrK 6 1153 2971 0 14 Dtool_MAKPLkrK 885 //////////////////////////////////////////////////////////////////// // Function: Shader::prepare_now // Access: Published // Description: Creates a context for the shader on the particular // GSG, if it does not already exist. Returns the new // (or old) ShaderContext. This assumes that the // GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // textures. If this is not necessarily the case, you // should use prepare() instead. // // Normally, this is not called directly except by the // GraphicsStateGuardian; a shader does not need to be // explicitly prepared by the user before it may be // rendered. //////////////////////////////////////////////////////////////////// 3 4 this 3 2968 16 prepared_objects 1 2816 3 gsg 1 2817 1207 14 Dtool_MAKPshVA 7 1154 2763 0 14 Dtool_MAKPshVA 0 0 1208 14 Dtool_MAKPYQCx 6 1156 2742 0 14 Dtool_MAKPYQCx 913 // Filename: preparedGraphicsObjects.I // Created by: drose (23Feb04) // //////////////////////////////////////////////////////////////////// // // 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: PreparedGraphicsObjects::get_name // Access: Public // Description: Returns the name of the PreparedGraphicsObjects // structure. This is an arbitrary name that serves // mainly to uniquify the context for PStats reporting. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1209 14 Dtool_MAKPrCqr 4 1157 2747 0 14 Dtool_MAKPrCqr 873 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::set_graphics_memory_limit // Access: Public // Description: Sets an artificial cap on graphics memory that // will be imposed on this GSG. // // This limits the total amount of graphics memory, // including texture memory and vertex buffer memory, // that will be consumed by the GSG, regardless of // whether the hardware claims to provide more graphics // memory than this. It is useful to put a ceiling on // graphics memory consumed, since some drivers seem to // allow the application to consume more memory than the // hardware can realistically support. //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 5 limit 1 2743 1210 14 Dtool_MAKPHVn7 6 1158 2743 0 14 Dtool_MAKPHVn7 394 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_graphics_memory_limit // Access: Public // Description: Returns the artificial cap on graphics memory that // will be imposed on this GSG. See // set_graphics_memory_limit(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1211 14 Dtool_MAKP7kCt 4 1159 2747 0 14 Dtool_MAKP7kCt 393 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::show_graphics_memory_lru // Access: Public // Description: Writes to the indicated ostream a report of how the // various textures and vertex buffers are allocated in // the LRU. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 3 out 1 2749 1212 14 Dtool_MAKP_dtz 4 1160 2747 0 14 Dtool_MAKP_dtz 392 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::show_residency_trackers // Access: Public // Description: Writes to the indicated ostream a report of how the // various textures and vertex buffers are allocated in // the LRU. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 3 out 1 2749 1213 14 Dtool_MAKPPjRE 4 1161 2747 0 14 Dtool_MAKPPjRE 284 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all // Access: Public // Description: Releases all prepared objects of all kinds at once. //////////////////////////////////////////////////////////////////// 1 4 this 3 2816 1214 14 Dtool_MAKPd65a 6 1162 2751 0 14 Dtool_MAKPd65a 346 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued // Access: Public // Description: Returns the number of objects of any kind that have // been enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1215 14 Dtool_MAKPHyvR 6 1163 2751 0 14 Dtool_MAKPHyvR 341 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared // Access: Public // Description: Returns the number of objects of any kind that have // already been prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1216 14 Dtool_MAKPNPdY 4 1164 2747 0 14 Dtool_MAKPNPdY 413 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_texture // Access: Public // Description: Indicates that a texture would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 3 tex 1 2943 1217 14 Dtool_MAKPoYyp 6 1165 2748 0 14 Dtool_MAKPoYyp 329 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_texture_queued // Access: Public // Description: Returns true if the texture has been queued on this // GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 3 tex 1 2952 1218 14 Dtool_MAKPg8Go 6 1166 2748 0 14 Dtool_MAKPg8Go 733 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_texture // Access: Public // Description: Removes a texture from the queued list of textures to // be prepared. Normally it is not necessary to call // this, unless you change your mind about preparing it // at the last minute, since the texture will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the texture is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 3 tex 1 2943 1219 14 Dtool_MAKPQPDT 6 1167 2748 0 14 Dtool_MAKPQPDT 333 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_texture_prepared // Access: Public // Description: Returns true if the texture has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 3 tex 1 2952 1220 14 Dtool_MAKPeQq5 4 1168 2747 0 14 Dtool_MAKPeQq5 347 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_texture // Access: Public // Description: Releases a texture if it has already been prepared, // or removes it from the preparation queue. //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 3 tex 1 2943 1221 14 Dtool_MAKPdS7O 4 1168 2747 0 14 Dtool_MAKPdS7O 822 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_texture // Access: Public // Description: Indicates that a texture context, created by a // previous call to prepare_texture(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release textures--this // prevents conflicts from threading or multiple GSG's // sharing textures (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_texture is called). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 2 tc 1 2967 1222 14 Dtool_MAKPuR_j 6 1169 2751 0 14 Dtool_MAKPuR_j 460 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_textures // Access: Public // Description: Releases all textures at once. This will force them // to be reloaded into texture memory for all GSG's that // share this object. Returns the number of textures // released. //////////////////////////////////////////////////////////////////// 1 4 this 3 2816 1223 14 Dtool_MAKPICur 6 1170 2751 0 14 Dtool_MAKPICur 344 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_textures // Access: Public // Description: Returns the number of textures that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1224 14 Dtool_MAKPXCZH 6 1171 2751 0 14 Dtool_MAKPXCZH 339 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_textures // Access: Public // Description: Returns the number of textures that have already been // prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1225 14 Dtool_MAKPIpZJ 6 1172 2967 0 14 Dtool_MAKPIpZJ 1165 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_texture_now // Access: Public // Description: Immediately creates a new TextureContext for the // indicated texture and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // textures. If this is not necessarily the case, you // should use enqueue_texture() instead. // // Normally, this function is not called directly. Call // Texture::prepare_now() instead. // // The TextureContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular texture, and will exist as long as the // texture is ready to be rendered. // // When either the Texture or the // PreparedGraphicsObjects object destructs, the // TextureContext will be deleted. //////////////////////////////////////////////////////////////////// 3 4 this 3 2816 3 tex 1 2943 3 gsg 1 2817 1226 14 Dtool_MAKP2FRy 4 1173 2747 0 14 Dtool_MAKP2FRy 407 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_geom // Access: Public // Description: Indicates that a geom would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 4 geom 1 2876 1227 14 Dtool_MAKPTyPQ 6 1174 2748 0 14 Dtool_MAKPTyPQ 323 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_geom_queued // Access: Public // Description: Returns true if the geom has been queued on this // GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 4 geom 1 2877 1228 14 Dtool_MAKPYS6B 6 1175 2748 0 14 Dtool_MAKPYS6B 718 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_geom // Access: Public // Description: Removes a geom from the queued list of geoms to // be prepared. Normally it is not necessary to call // this, unless you change your mind about preparing it // at the last minute, since the geom will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the geom is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 4 geom 1 2876 1229 14 Dtool_MAKPRZ4p 6 1176 2748 0 14 Dtool_MAKPRZ4p 336 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_geom_prepared // Access: Public // Description: Returns true if the vertex buffer has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 4 geom 1 2877 1230 14 Dtool_MAKPEwwc 4 1177 2747 0 14 Dtool_MAKPEwwc 804 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_geom // Access: Public // Description: Indicates that a geom context, created by a // previous call to prepare_geom(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release geoms--this // prevents conflicts from threading or multiple GSG's // sharing geoms (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_geom is called). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 2 gc 1 2883 1231 14 Dtool_MAKPXAXg 6 1178 2751 0 14 Dtool_MAKPXAXg 448 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_geoms // Access: Public // Description: Releases all geoms at once. This will force them // to be reloaded into geom memory for all GSG's that // share this object. Returns the number of geoms // released. //////////////////////////////////////////////////////////////////// 1 4 this 3 2816 1232 14 Dtool_MAKPju5r 6 1179 2751 0 14 Dtool_MAKPju5r 338 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_geoms // Access: Public // Description: Returns the number of geoms that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1233 14 Dtool_MAKPlNOP 6 1180 2751 0 14 Dtool_MAKPlNOP 333 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_geoms // Access: Public // Description: Returns the number of geoms that have already been // prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1234 14 Dtool_MAKPWiMo 6 1181 2883 0 14 Dtool_MAKPWiMo 1132 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_geom_now // Access: Public // Description: Immediately creates a new GeomContext for the // indicated geom and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // geoms. If this is not necessarily the case, you // should use enqueue_geom() instead. // // Normally, this function is not called directly. Call // Geom::prepare_now() instead. // // The GeomContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular geom, and will exist as long as the // geom is ready to be rendered. // // When either the Geom or the // PreparedGraphicsObjects object destructs, the // GeomContext will be deleted. //////////////////////////////////////////////////////////////////// 3 4 this 3 2816 4 geom 1 2876 3 gsg 1 2817 1235 14 Dtool_MAKPh4uF 4 1182 2747 0 14 Dtool_MAKPh4uF 411 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_shader // Access: Public // Description: Indicates that a shader would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 6 shader 1 2968 1236 14 Dtool_MAKPDjcB 6 1183 2748 0 14 Dtool_MAKPDjcB 327 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_shader_queued // Access: Public // Description: Returns true if the shader has been queued on this // GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 6 shader 1 2969 1237 14 Dtool_MAKPCMYV 6 1184 2748 0 14 Dtool_MAKPCMYV 728 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_shader // Access: Public // Description: Removes a shader from the queued list of shaders to // be prepared. Normally it is not necessary to call // this, unless you change your mind about preparing it // at the last minute, since the shader will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the shader is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 6 shader 1 2968 1238 14 Dtool_MAKPaDD4 6 1185 2748 0 14 Dtool_MAKPaDD4 331 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_shader_prepared // Access: Public // Description: Returns true if the shader has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 6 shader 1 2969 1239 14 Dtool_MAKPz1gv 4 1186 2747 0 14 Dtool_MAKPz1gv 816 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_shader // Access: Public // Description: Indicates that a shader context, created by a // previous call to prepare_shader(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release shaders--this // prevents conflicts from threading or multiple GSG's // sharing shaders (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_shader is called). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 2 sc 1 2971 1240 14 Dtool_MAKPw9cE 6 1187 2751 0 14 Dtool_MAKPw9cE 456 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_shaders // Access: Public // Description: Releases all shaders at once. This will force them // to be reloaded into shader memory for all GSG's that // share this object. Returns the number of shaders // released. //////////////////////////////////////////////////////////////////// 1 4 this 3 2816 1241 14 Dtool_MAKPsW_l 6 1188 2751 0 14 Dtool_MAKPsW_l 342 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_shaders // Access: Public // Description: Returns the number of shaders that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1242 14 Dtool_MAKPJ4b8 6 1189 2751 0 14 Dtool_MAKPJ4b8 337 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_shaders // Access: Public // Description: Returns the number of shaders that have already been // prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1243 14 Dtool_MAKPtzQ6 6 1190 2971 0 14 Dtool_MAKPtzQ6 1154 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_shader_now // Access: Public // Description: Immediately creates a new ShaderContext for the // indicated shader and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // shaders. If this is not necessarily the case, you // should use enqueue_shader() instead. // // Normally, this function is not called directly. Call // Shader::prepare_now() instead. // // The ShaderContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular shader, and will exist as long as the // shader is ready to be rendered. // // When either the Shader or the // PreparedGraphicsObjects object destructs, the // ShaderContext will be deleted. //////////////////////////////////////////////////////////////////// 3 4 this 3 2816 6 shader 1 2968 3 gsg 1 2817 1244 14 Dtool_MAKPu6up 4 1191 2747 0 14 Dtool_MAKPu6up 418 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_vertex_buffer // Access: Public // Description: Indicates that a buffer would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 4 data 1 2808 1245 14 Dtool_MAKPquoX 6 1192 2748 0 14 Dtool_MAKPquoX 341 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_vertex_buffer_queued // Access: Public // Description: Returns true if the vertex buffer has been queued on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 4 data 1 2770 1246 14 Dtool_MAKPLJX5 6 1193 2748 0 14 Dtool_MAKPLJX5 737 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_vertex_buffer // Access: Public // Description: Removes a buffer from the queued list of data // arrays to be prepared. Normally it is not necessary // to call this, unless you change your mind about // preparing it at the last minute, since the data will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the buffer is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 4 data 1 2808 1247 14 Dtool_MAKPk_iN 6 1194 2748 0 14 Dtool_MAKPk_iN 345 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_vertex_buffer_prepared // Access: Public // Description: Returns true if the vertex buffer has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 4 data 1 2770 1248 14 Dtool_MAKPG_cY 4 1195 2747 0 14 Dtool_MAKPG_cY 831 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_vertex_buffer // Access: Public // Description: Indicates that a data context, created by a // previous call to prepare_vertex_buffer(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release datas--this // prevents conflicts from threading or multiple GSG's // sharing datas (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_vertex_buffer is called). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 3 vbc 1 2819 1249 14 Dtool_MAKPVTDu 6 1196 2751 0 14 Dtool_MAKPVTDu 457 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_vertex_buffers // Access: Public // Description: Releases all datas at once. This will force them // to be reloaded into data memory for all GSG's that // share this object. Returns the number of datas // released. //////////////////////////////////////////////////////////////////// 1 4 this 3 2816 1250 14 Dtool_MAKPfJRJ 6 1197 2751 0 14 Dtool_MAKPfJRJ 356 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_vertex_buffers // Access: Public // Description: Returns the number of vertex buffers that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1251 14 Dtool_MAKPJAM0 6 1198 2751 0 14 Dtool_MAKPJAM0 351 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_vertex_buffers // Access: Public // Description: Returns the number of vertex buffers that have // already been prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1252 14 Dtool_MAKPaZFQ 6 1199 2819 0 14 Dtool_MAKPaZFQ 1174 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_vertex_buffer_now // Access: Public // Description: Immediately creates a new VertexBufferContext for the // indicated data and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // datas. If this is not necessarily the case, you // should use enqueue_vertex_buffer() instead. // // Normally, this function is not called directly. Call // Data::prepare_now() instead. // // The VertexBufferContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular data, and will exist as long as the // data is ready to be rendered. // // When either the Data or the // PreparedGraphicsObjects object destructs, the // VertexBufferContext will be deleted. //////////////////////////////////////////////////////////////////// 3 4 this 3 2816 4 data 1 2808 3 gsg 1 2817 1253 14 Dtool_MAKPZjaO 4 1200 2747 0 14 Dtool_MAKPZjaO 417 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::enqueue_index_buffer // Access: Public // Description: Indicates that a buffer would like to be put on the // list to be prepared when the GSG is next ready to // do this (presumably at the next frame). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 4 data 1 2865 1254 14 Dtool_MAKPT7He 6 1201 2748 0 14 Dtool_MAKPT7He 339 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_index_buffer_queued // Access: Public // Description: Returns true if the index buffer has been queued on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 4 data 1 2866 1255 14 Dtool_MAKP63Fe 6 1202 2748 0 14 Dtool_MAKP63Fe 736 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::dequeue_index_buffer // Access: Public // Description: Removes a buffer from the queued list of data // arrays to be prepared. Normally it is not necessary // to call this, unless you change your mind about // preparing it at the last minute, since the data will // automatically be dequeued and prepared at the next // frame. // // The return value is true if the buffer is // successfully dequeued, false if it had not been // queued. //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 4 data 1 2865 1256 14 Dtool_MAKPgEBh 6 1203 2748 0 14 Dtool_MAKPgEBh 343 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::is_index_buffer_prepared // Access: Public // Description: Returns true if the index buffer has been prepared on // this GSG, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 2972 4 data 1 2866 1257 14 Dtool_MAKPZTVa 4 1204 2747 0 14 Dtool_MAKPZTVa 828 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_index_buffer // Access: Public // Description: Indicates that a data context, created by a // previous call to prepare_index_buffer(), is no longer // needed. The driver resources will not be freed until // some GSG calls update(), indicating it is at a // stage where it is ready to release datas--this // prevents conflicts from threading or multiple GSG's // sharing datas (we have no way of knowing which // graphics context is currently active, or what state // it's in, at the time release_index_buffer is called). //////////////////////////////////////////////////////////////////// 2 4 this 3 2816 3 ibc 1 2974 1258 14 Dtool_MAKP4P7Q 6 1205 2751 0 14 Dtool_MAKP4P7Q 456 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::release_all_index_buffers // Access: Public // Description: Releases all datas at once. This will force them // to be reloaded into data memory for all GSG's that // share this object. Returns the number of datas // released. //////////////////////////////////////////////////////////////////// 1 4 this 3 2816 1259 14 Dtool_MAKPuvlm 6 1206 2751 0 14 Dtool_MAKPuvlm 354 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_queued_index_buffers // Access: Public // Description: Returns the number of index buffers that have been // enqueued to be prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1260 14 Dtool_MAKPkjD_ 6 1207 2751 0 14 Dtool_MAKPkjD_ 349 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::get_num_prepared_index_buffers // Access: Public // Description: Returns the number of index buffers that have // already been prepared on this GSG. //////////////////////////////////////////////////////////////////// 1 4 this 3 2972 1261 14 Dtool_MAKPgeRQ 6 1208 2974 0 14 Dtool_MAKPgeRQ 1169 //////////////////////////////////////////////////////////////////// // Function: PreparedGraphicsObjects::prepare_index_buffer_now // Access: Public // Description: Immediately creates a new IndexBufferContext for the // indicated data and returns it. This assumes that // the GraphicsStateGuardian is the currently active // rendering context and that it is ready to accept new // datas. If this is not necessarily the case, you // should use enqueue_index_buffer() instead. // // Normally, this function is not called directly. Call // Data::prepare_now() instead. // // The IndexBufferContext contains all of the pertinent // information needed by the GSG to keep track of this // one particular data, and will exist as long as the // data is ready to be rendered. // // When either the Data or the // PreparedGraphicsObjects object destructs, the // IndexBufferContext will be deleted. //////////////////////////////////////////////////////////////////// 3 4 this 3 2816 4 data 1 2865 3 gsg 1 2817 1262 14 Dtool_MAKP_A2c 7 1210 2975 2523 14 Dtool_MAKP_A2c 854 // Filename: textureReloadRequest.I // Created by: drose (12Aug08) // //////////////////////////////////////////////////////////////////// // // 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: TextureReloadRequest::Constructor // Access: Published // Description: Create a new TextureReloadRequest, and add it to the loader // via load_async(), to begin an asynchronous load. //////////////////////////////////////////////////////////////////// 4 4 name 1 2742 3 pgo 1 2816 7 texture 1 2943 16 allow_compressed 1 2748 1263 14 Dtool_MAKPMVC8 7 1211 2816 0 14 Dtool_MAKPMVC8 366 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::get_prepared_graphics_objects // Access: Published // Description: Returns the PreparedGraphicsObjects object associated with // this asynchronous TextureReloadRequest. //////////////////////////////////////////////////////////////////// 1 4 this 3 2976 1264 14 Dtool_MAKPN1sj 7 1212 2943 2282 14 Dtool_MAKPN1sj 332 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::get_texture // Access: Published // Description: Returns the Texture object associated with // this asynchronous TextureReloadRequest. //////////////////////////////////////////////////////////////////// 1 4 this 3 2976 1265 14 Dtool_MAKP2GyL 6 1213 2748 0 14 Dtool_MAKP2GyL 350 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::get_allow_compressed // Access: Published // Description: Returns the "allow compressed" flag associated with // this asynchronous TextureReloadRequest. //////////////////////////////////////////////////////////////////// 1 4 this 3 2976 1266 14 Dtool_MAKP3Flo 6 1214 2748 0 14 Dtool_MAKP3Flo 320 //////////////////////////////////////////////////////////////////// // Function: TextureReloadRequest::is_ready // Access: Published // Description: Returns true if this request has completed, false if // it is still pending. //////////////////////////////////////////////////////////////////// 1 4 this 3 2976 1267 14 Dtool_MAKPX90D 7 1215 2763 0 14 Dtool_MAKPX90D 0 0 1268 14 Dtool_MAKPNASE 7 1222 2943 2282 14 Dtool_MAKPNASE 294 //////////////////////////////////////////////////////////////////// // Function: TextureContext::get_texture // Access: Public // Description: Returns the pointer to the associated Texture // object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2978 1269 14 Dtool_MAKPZ7uI 6 1223 2748 0 14 Dtool_MAKPZ7uI 371 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_modified // Access: Public // Description: Returns true if the texture properties or image have // been modified since the last time mark_loaded() was // called. //////////////////////////////////////////////////////////////////// 1 4 this 3 2978 1270 14 Dtool_MAKPCrzx 6 1224 2748 0 14 Dtool_MAKPCrzx 398 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_properties_modified // Access: Public // Description: Returns true if the texture properties (unrelated to // the image) have been modified since the last time // mark_loaded() was called. //////////////////////////////////////////////////////////////////// 1 4 this 3 2978 1271 14 Dtool_MAKPZRbs 6 1225 2748 0 14 Dtool_MAKPZRbs 345 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_image_modified // Access: Public // Description: Returns true if the texture image has been modified // since the last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 1 4 this 3 2978 1272 14 Dtool_MAKPDHZn 6 1226 2748 0 14 Dtool_MAKPDHZn 387 //////////////////////////////////////////////////////////////////// // Function: TextureContext::was_simple_image_modified // Access: Public // Description: Returns true if the texture's "simple" image has been // modified since the last time mark_simple_loaded() was // called. //////////////////////////////////////////////////////////////////// 1 4 this 3 2978 1273 14 Dtool_MAKP8H0S 7 1227 2763 0 14 Dtool_MAKP8H0S 0 0 1274 14 Dtool_MAKPclHN 6 1218 2863 0 14 Dtool_MAKPclHN 0 1 4 this 3 2967 1275 14 Dtool_MAKPo_gM 6 1219 2967 0 14 Dtool_MAKPo_gM 0 1 4 this 3 2863 1276 14 Dtool_MAKPi_kf 6 1220 2755 0 14 Dtool_MAKPi_kf 0 1 4 this 3 2967 1277 14 Dtool_MAKPhXLx 6 1221 2967 0 14 Dtool_MAKPhXLx 0 1 4 this 3 2755 1278 14 Dtool_MAKPxCTe 7 1230 2968 0 14 Dtool_MAKPxCTe 227 //////////////////////////////////////////////////////////////////// // Function: ShaderContext::get_expansion // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 2980 1279 14 Dtool_MAKPtn7K 7 1231 2763 0 14 Dtool_MAKPtn7K 0 0 1280 14 Dtool_MAKPKfaE 7 1234 2982 2541 14 Dtool_MAKPKfaE 229 //////////////////////////////////////////////////////////////////// // Function: UserVertexSlider::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 2760 1281 14 Dtool_MAKPOLRn 7 1234 2982 2541 14 Dtool_MAKPOLRn 229 //////////////////////////////////////////////////////////////////// // Function: UserVertexSlider::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 1282 14 Dtool_MAKPg4r3 4 1235 2747 0 14 Dtool_MAKPg4r3 754 // Filename: userVertexSlider.I // Created by: drose (28Mar05) // //////////////////////////////////////////////////////////////////// // // 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: UserVertexSlider::set_slider // Access: Published // Description: Stores the indicated slider value. //////////////////////////////////////////////////////////////////// 2 4 this 3 2982 6 slider 1 2752 1283 14 Dtool_MAKPTUi2 7 1236 2763 0 14 Dtool_MAKPTUi2 0 0 1284 14 Dtool_MAKPkABz 7 1239 2983 2546 14 Dtool_MAKPkABz 232 //////////////////////////////////////////////////////////////////// // Function: UserVertexTransform::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 1285 14 Dtool_MAKPi0yN 6 1240 2742 0 14 Dtool_MAKPi0yN 806 // Filename: userVertexTransform.I // Created by: drose (24Mar05) // //////////////////////////////////////////////////////////////////// // // 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: UserVertexTransform::get_name // Access: Published // Description: Returns the name passed to the constructor. // Completely arbitrary. //////////////////////////////////////////////////////////////////// 1 4 this 3 2984 1286 14 Dtool_MAKPukq7 4 1241 2747 0 14 Dtool_MAKPukq7 259 //////////////////////////////////////////////////////////////////// // Function: UserVertexTransform::set_matrix // Access: Published // Description: Stores the indicated matrix. //////////////////////////////////////////////////////////////////// 2 4 this 3 2983 6 matrix 1 2828 1287 14 Dtool_MAKP8sV1 7 1242 2763 0 14 Dtool_MAKP8sV1 0 0 1288 14 Dtool_MAKPbypD 6 1250 2748 0 14 Dtool_MAKPbypD 482 //////////////////////////////////////////////////////////////////// // Function: VideoTexture::get_keep_ram_image // Access: Published, Virtual // Description: Returns the flag that indicates whether this Texture // is eligible to have its main RAM copy of the texture // memory dumped when the texture is prepared for // rendering. See set_keep_ram_image(). //////////////////////////////////////////////////////////////////// 1 4 this 3 2986 1289 14 Dtool_MAKPlySi 6 1251 2751 0 14 Dtool_MAKPlySi 951 // Filename: videoTexture.I // Created by: drose (21Sep05) // //////////////////////////////////////////////////////////////////// // // 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: VideoTexture::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 2986 1290 14 Dtool_MAKP7ggt 6 1252 2751 0 14 Dtool_MAKP7ggt 466 //////////////////////////////////////////////////////////////////// // Function: VideoTexture::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 2986 1291 14 Dtool_MAKPYSDS 7 1253 2988 0 14 Dtool_MAKPYSDS 965 //////////////////////////////////////////////////////////////////// // Function: VideoTexture::get_tex_scale // Access: Published // Description: Returns a scale pair that is suitable for applying to // geometry via NodePath::set_tex_scale(), which will // convert texture coordinates on the geometry from the // range 0..1 into the appropriate range to render the // video part of the texture. // // This is necessary in the event the video source is // not a power of two and set_power_2() is true. In // this case, the video image will be mapped to the // lower-left corner of the texture, and the rest of the // texture space will be unused; so we will need to // remap any texture coordinates to fill the space // correctly. //////////////////////////////////////////////////////////////////// 1 4 this 3 2986 1292 14 Dtool_MAKPhRqO 7 1254 2763 0 14 Dtool_MAKPhRqO 0 0 1293 14 Dtool_MAKP_R9F 7 1245 2943 2282 14 Dtool_MAKP_R9F 0 1 4 this 3 2989 1294 14 Dtool_MAKPyy0u 7 1246 2989 2556 14 Dtool_MAKPyy0u 0 1 4 this 3 2943 1295 14 Dtool_MAKPVQwW 6 1248 2990 0 14 Dtool_MAKPVQwW 0 1 4 this 3 2989 1296 14 Dtool_MAKPNNh3 7 1249 2989 2556 14 Dtool_MAKPNNh3 0 1 4 this 3 2990 1297 14 Dtool_MAKPGt8g 7 1261 2808 1669 14 Dtool_MAKPGt8g 300 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::get_data // Access: Public // Description: Returns the pointer to the client-side array data // object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2991 1298 14 Dtool_MAKP5_9B 6 1262 2748 0 14 Dtool_MAKP5_9B 334 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::changed_size // Access: Public // Description: Returns true if the data has changed size since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 2 4 this 3 2991 6 reader 1 2814 1299 14 Dtool_MAKPDYdg 6 1263 2748 0 14 Dtool_MAKPDYdg 350 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::changed_usage_hint // Access: Public // Description: Returns true if the data has changed its usage hint // since the last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 2 4 this 3 2991 6 reader 1 2814 1300 14 Dtool_MAKPFhc_ 6 1264 2748 0 14 Dtool_MAKPFhc_ 335 //////////////////////////////////////////////////////////////////// // Function: VertexBufferContext::was_modified // Access: Public // Description: Returns true if the data has been modified since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 2 4 this 3 2991 6 reader 1 2814 1301 14 Dtool_MAKPtgdo 7 1265 2763 0 14 Dtool_MAKPtgdo 0 0 1302 14 Dtool_MAKPYZFd 6 1257 2863 0 14 Dtool_MAKPYZFd 0 1 4 this 3 2819 1303 14 Dtool_MAKPKnn9 6 1258 2819 0 14 Dtool_MAKPKnn9 0 1 4 this 3 2863 1304 14 Dtool_MAKPiFDC 6 1259 2755 0 14 Dtool_MAKPiFDC 0 1 4 this 3 2819 1305 14 Dtool_MAKPaGdu 6 1260 2819 0 14 Dtool_MAKPaGdu 0 1 4 this 3 2755 1306 14 Dtool_MAKPYwcR 7 1272 2865 1883 14 Dtool_MAKPYwcR 299 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::get_data // Access: Public // Description: Returns the pointer to the client-side array data // object. //////////////////////////////////////////////////////////////////// 1 4 this 3 2993 1307 14 Dtool_MAKPLghl 6 1273 2748 0 14 Dtool_MAKPLghl 333 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::changed_size // Access: Public // Description: Returns true if the data has changed size since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 2 4 this 3 2993 6 reader 1 2995 1308 14 Dtool_MAKPz_JI 6 1274 2748 0 14 Dtool_MAKPz_JI 349 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::changed_usage_hint // Access: Public // Description: Returns true if the data has changed its usage hint // since the last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 2 4 this 3 2993 6 reader 1 2995 1309 14 Dtool_MAKPkpYP 6 1275 2748 0 14 Dtool_MAKPkpYP 334 //////////////////////////////////////////////////////////////////// // Function: IndexBufferContext::was_modified // Access: Public // Description: Returns true if the data has been modified since the // last time mark_loaded() was called. //////////////////////////////////////////////////////////////////// 2 4 this 3 2993 6 reader 1 2995 1310 14 Dtool_MAKPR3r5 7 1276 2763 0 14 Dtool_MAKPR3r5 0 0 1311 14 Dtool_MAKPSySx 6 1268 2863 0 14 Dtool_MAKPSySx 0 1 4 this 3 2974 1312 14 Dtool_MAKPLVke 6 1269 2974 0 14 Dtool_MAKPLVke 0 1 4 this 3 2863 1313 14 Dtool_MAKPC0d6 6 1270 2755 0 14 Dtool_MAKPC0d6 0 1 4 this 3 2974 1314 14 Dtool_MAKP5yF6 6 1271 2974 0 14 Dtool_MAKP5yF6 0 1 4 this 3 2755 1315 14 Dtool_MAKPwqW_ 7 1279 2921 2162 14 Dtool_MAKPwqW_ 1538 // Filename: materialPool.I // Created by: drose (30Apr01) // //////////////////////////////////////////////////////////////////// // // 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: MaterialPool::get_material // Access: Public, Static // Description: Returns a Material pointer that represents the // same material described by temp, except that it is a // shared pointer. // // Each call to get_material() passing an equivalent // Material pointer will return the same shared pointer. // // If you modify the shared pointer, it will // automatically disassociate it from the pool. // // Also, the return value may be a different pointer // than that passed in, or it may be the same pointer. // In either case, the passed in pointer has now been // sacrificed to the greater good and should not be used // again (like any other PointerTo, it will be freed // when the last reference count is removed). //////////////////////////////////////////////////////////////////// 1 4 temp 1 2921 1316 14 Dtool_MAKPDER0 4 1280 2747 0 14 Dtool_MAKPDER0 283 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::release_material // Access: Published, Static // Description: Removes the indicated material from the pool. //////////////////////////////////////////////////////////////////// 1 4 temp 1 2921 1317 14 Dtool_MAKPUKsK 4 1281 2747 0 14 Dtool_MAKPUKsK 336 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::release_all_materials // Access: Published, Static // Description: Releases all materials in the pool and restores the // pool to the empty state. //////////////////////////////////////////////////////////////////// 0 1318 14 Dtool_MAKPWM0z 6 1282 2751 0 14 Dtool_MAKPWM0z 481 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::garbage_collect // Access: Public, Static // Description: Releases only those materials in the pool that have a // reference count of exactly 1; i.e. only those // materials that are not being used outside of the pool. // Returns the number of materials released. //////////////////////////////////////////////////////////////////// 0 1319 14 Dtool_MAKP6ZKx 4 1283 2747 0 14 Dtool_MAKP6ZKx 320 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::list_contents // Access: Public, Static // Description: Lists the contents of the material pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 1 3 out 1 2749 1320 14 Dtool_MAKP7VUC 4 1284 2747 0 14 Dtool_MAKP7VUC 315 //////////////////////////////////////////////////////////////////// // Function: MaterialPool::write // Access: Published, Static // Description: Lists the contents of the material pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 1 3 out 1 2749 1321 14 Dtool_MAKPsz_w 7 1287 2998 2586 14 Dtool_MAKPsz_w 229 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 1322 14 Dtool_MAKPFrcz 7 1287 2998 2586 14 Dtool_MAKPFrcz 456 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Constructor // Access: Published // Description: This special constructor accepts a Python list of // Textures. Since this constructor accepts a generic // PyObject *, it should be the last constructor listed // in the class record. //////////////////////////////////////////////////////////////////// 2 4 self 1 2999 8 sequence 1 2999 1323 14 Dtool_MAKPG2Wq 7 1287 2998 2586 14 Dtool_MAKPG2Wq 234 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 3001 1324 14 Dtool_MAKPuUB_ 6 1288 2998 0 14 Dtool_MAKPuUB_ 242 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 4 copy 1 3001 1325 14 Dtool_MAKPwLl_ 6 1290 2999 0 14 Dtool_MAKPwLl_ 327 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::__reduce__ // Access: Published // Description: This special Python method is implement to provide // support for the pickle module. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 4 self 1 2999 1326 14 Dtool_MAKPqcTz 4 1291 2747 0 14 Dtool_MAKPqcTz 282 // HAVE_PYTHON //////////////////////////////////////////////////////////////////// // Function: TextureCollection::add_texture // Access: Published // Description: Adds a new Texture to the collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 7 texture 1 2943 1327 14 Dtool_MAKP1SuY 6 1292 2748 0 14 Dtool_MAKP1SuY 406 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::remove_texture // Access: Published // Description: Removes the indicated Texture from the collection. // Returns true if the texture was removed, false if it was // not a member of the collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 7 texture 1 2943 1328 14 Dtool_MAKPBW2_ 4 1293 2747 0 14 Dtool_MAKPBW2_ 482 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::add_textures_from // Access: Published // Description: Adds all the Textures indicated in the other // collection to this texture. The other textures are simply // appended to the end of the textures in this list; // duplicates are not automatically removed. //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 5 other 1 3001 1329 14 Dtool_MAKPubPS 4 1294 2747 0 14 Dtool_MAKPubPS 336 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::remove_textures_from // Access: Published // Description: Removes from this collection all of the Textures // listed in the other collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 5 other 1 3001 1330 14 Dtool_MAKPJXB3 4 1295 2747 0 14 Dtool_MAKPJXB3 473 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::remove_duplicate_textures // Access: Published // Description: Removes any duplicate entries of the same Textures // on this collection. If a Texture appears multiple // times, the first appearance is retained; subsequent // appearances are removed. //////////////////////////////////////////////////////////////////// 1 4 this 3 2998 1331 14 Dtool_MAKPeRIZ 6 1296 2748 0 14 Dtool_MAKPeRIZ 329 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::has_texture // Access: Published // Description: Returns true if the indicated Texture appears in // this collection, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 7 texture 1 2943 1332 14 Dtool_MAKPf_8F 4 1297 2747 0 14 Dtool_MAKPf_8F 265 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::clear // Access: Published // Description: Removes all Textures from the collection. //////////////////////////////////////////////////////////////////// 1 4 this 3 2998 1333 14 Dtool_MAKPusRb 7 1298 2943 2282 14 Dtool_MAKPusRb 372 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::find_texture // Access: Published // Description: Returns the texture in the collection with the // indicated name, if any, or NULL if no texture has // that name. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 4 name 1 2742 1334 14 Dtool_MAKPrq1E 6 1299 2751 0 14 Dtool_MAKPrq1E 284 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::get_num_textures // Access: Published // Description: Returns the number of Textures in the collection. //////////////////////////////////////////////////////////////////// 1 4 this 3 3001 1335 14 Dtool_MAKPXzkn 7 1300 2943 2282 14 Dtool_MAKPXzkn 272 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::get_texture // Access: Published // Description: Returns the nth Texture in the collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 5 index 1 2751 1336 14 Dtool_MAKPeP4T 7 1301 2943 2282 14 Dtool_MAKPeP4T 392 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::operator [] // Access: Published // Description: Returns the nth Texture in the collection. This is // the same as get_texture(), but it may be a more // convenient way to access it. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 5 index 1 2751 1337 14 Dtool_MAKP7T26 6 1302 2751 0 14 Dtool_MAKP7T26 336 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::size // Access: Published // Description: Returns the number of textures in the collection. This // is the same thing as get_num_textures(). //////////////////////////////////////////////////////////////////// 1 4 this 3 3001 1338 14 Dtool_MAKPdAPK 6 1303 2998 0 14 Dtool_MAKPdAPK 278 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::operator += // Access: Published // Description: Appends the other list onto the end of this one. //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 5 other 1 3001 1339 14 Dtool_MAKP_iXU 7 1304 2998 2586 14 Dtool_MAKP_iXU 322 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::operator + // Access: Published // Description: Returns a TextureCollection representing the // concatenation of the two lists. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 5 other 1 3001 1340 14 Dtool_MAKPrzMd 4 1305 2747 0 14 Dtool_MAKPrzMd 400 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::append // Access: Published // Description: Adds a new Texture to the collection. This method // duplicates the add_texture() method; it is provided to // satisfy Python's naming convention. //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 7 texture 1 2943 1341 14 Dtool_MAKPwLXu 4 1306 2747 0 14 Dtool_MAKPwLXu 401 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::extend // Access: Published // Description: Appends the other list onto the end of this one. // This method duplicates the += operator; it is // provided to satisfy Python's naming convention. //////////////////////////////////////////////////////////////////// 2 4 this 3 2998 5 other 1 3001 1342 14 Dtool_MAKP2Sw8 4 1307 2747 0 14 Dtool_MAKP2Sw8 334 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::output // Access: Published // Description: Writes a brief one-line description of the // TextureCollection to the indicated output stream. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 3 out 1 2749 1343 14 Dtool_MAKPfS_c 4 1308 2747 0 14 Dtool_MAKPfS_c 338 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::write // Access: Published // Description: Writes a complete multi-line description of the // TextureCollection to the indicated output stream. //////////////////////////////////////////////////////////////////// 3 4 this 3 3001 3 out 1 2749 12 indent_level 1 2751 1344 14 Dtool_MAKPkwgN 4 1308 2747 0 14 Dtool_MAKPkwgN 338 //////////////////////////////////////////////////////////////////// // Function: TextureCollection::write // Access: Published // Description: Writes a complete multi-line description of the // TextureCollection to the indicated output stream. //////////////////////////////////////////////////////////////////// 2 4 this 3 3001 3 out 1 2749 1345 14 Dtool_MAKPobpI 6 1310 2748 0 14 Dtool_MAKPobpI 802 // Filename: texturePool.I // Created by: drose (26Apr00) // //////////////////////////////////////////////////////////////////// // // 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: TexturePool::has_texture // Access: Published, Static // Description: Returns true if the texture has ever been loaded, // false otherwise. //////////////////////////////////////////////////////////////////// 1 8 filename 1 2944 1346 14 Dtool_MAKP8SGI 6 1311 2748 0 14 Dtool_MAKP8SGI 611 //////////////////////////////////////////////////////////////////// // Function: TexturePool::verify_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns true to indicate // success, or false to indicate failure. If this // returns true, it is guaranteed that a subsequent call // to load_texture() with the same texture name will // return a valid Texture pointer. //////////////////////////////////////////////////////////////////// 1 8 filename 1 2944 1347 14 Dtool_MAKPDNKc 7 1312 2943 2282 14 Dtool_MAKPDNKc 845 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, both filenames should // contain a hash mark ('#'), which will be filled in // with the mipmap level number; and the texture will be // defined with a series of images, two for each mipmap // level. //////////////////////////////////////////////////////////////////// 6 8 filename 1 2944 14 alpha_filename 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 12 read_mipmaps 1 2748 7 options 1 2947 1348 14 Dtool_MAKPzR0_ 7 1312 2943 2282 14 Dtool_MAKPzR0_ 845 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, both filenames should // contain a hash mark ('#'), which will be filled in // with the mipmap level number; and the texture will be // defined with a series of images, two for each mipmap // level. //////////////////////////////////////////////////////////////////// 5 8 filename 1 2944 14 alpha_filename 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 12 read_mipmaps 1 2748 1349 14 Dtool_MAKPkfGU 7 1312 2943 2282 14 Dtool_MAKPkfGU 845 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, both filenames should // contain a hash mark ('#'), which will be filled in // with the mipmap level number; and the texture will be // defined with a series of images, two for each mipmap // level. //////////////////////////////////////////////////////////////////// 4 8 filename 1 2944 14 alpha_filename 1 2944 25 primary_file_num_channels 1 2751 18 alpha_file_channel 1 2751 1350 14 Dtool_MAKPtJ8W 7 1312 2943 2282 14 Dtool_MAKPtJ8W 845 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, both filenames should // contain a hash mark ('#'), which will be filled in // with the mipmap level number; and the texture will be // defined with a series of images, two for each mipmap // level. //////////////////////////////////////////////////////////////////// 3 8 filename 1 2944 14 alpha_filename 1 2944 25 primary_file_num_channels 1 2751 1351 14 Dtool_MAKPKwXY 7 1312 2943 2282 14 Dtool_MAKPKwXY 845 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, both filenames should // contain a hash mark ('#'), which will be filled in // with the mipmap level number; and the texture will be // defined with a series of images, two for each mipmap // level. //////////////////////////////////////////////////////////////////// 2 8 filename 1 2944 14 alpha_filename 1 2944 1352 14 Dtool_MAKP1c0U 7 1312 2943 2282 14 Dtool_MAKP1c0U 826 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, the filename should contain // a hash mark ('#'), which will be filled in with the // mipmap level number; and the texture will be defined // with a series of images, one for each mipmap level. //////////////////////////////////////////////////////////////////// 4 8 filename 1 2944 25 primary_file_num_channels 1 2751 12 read_mipmaps 1 2748 7 options 1 2947 1353 14 Dtool_MAKP2xUh 7 1312 2943 2282 14 Dtool_MAKP2xUh 826 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, the filename should contain // a hash mark ('#'), which will be filled in with the // mipmap level number; and the texture will be defined // with a series of images, one for each mipmap level. //////////////////////////////////////////////////////////////////// 3 8 filename 1 2944 25 primary_file_num_channels 1 2751 12 read_mipmaps 1 2748 1354 14 Dtool_MAKPyJ3b 7 1312 2943 2282 14 Dtool_MAKPyJ3b 826 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, the filename should contain // a hash mark ('#'), which will be filled in with the // mipmap level number; and the texture will be defined // with a series of images, one for each mipmap level. //////////////////////////////////////////////////////////////////// 2 8 filename 1 2944 25 primary_file_num_channels 1 2751 1355 14 Dtool_MAKPK7P8 7 1312 2943 2282 14 Dtool_MAKPK7P8 826 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_texture // Access: Published, Static // Description: Loads the given filename up into a texture, if it has // not already been loaded, and returns the new texture. // If a texture with the same filename was previously // loaded, returns that one instead. If the texture // file cannot be found, returns NULL. // // If read_mipmaps is true, the filename should contain // a hash mark ('#'), which will be filled in with the // mipmap level number; and the texture will be defined // with a series of images, one for each mipmap level. //////////////////////////////////////////////////////////////////// 1 8 filename 1 2944 1356 14 Dtool_MAKP_1y1 7 1313 2943 2282 14 Dtool_MAKP_1y1 833 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_3d_texture // Access: Published, Static // Description: Loads a 3-D texture that is specified with a series // of n pages, all numbered in sequence, and beginning // with index 0. The filename should include a sequence // of one or more hash characters ("#") which will be // filled in with the index number of each level. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the index number of each 3-d level. //////////////////////////////////////////////////////////////////// 3 16 filename_pattern 1 2944 12 read_mipmaps 1 2748 7 options 1 2947 1357 14 Dtool_MAKPBx44 7 1313 2943 2282 14 Dtool_MAKPBx44 833 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_3d_texture // Access: Published, Static // Description: Loads a 3-D texture that is specified with a series // of n pages, all numbered in sequence, and beginning // with index 0. The filename should include a sequence // of one or more hash characters ("#") which will be // filled in with the index number of each level. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the index number of each 3-d level. //////////////////////////////////////////////////////////////////// 2 16 filename_pattern 1 2944 12 read_mipmaps 1 2748 1358 14 Dtool_MAKPGNtw 7 1313 2943 2282 14 Dtool_MAKPGNtw 833 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_3d_texture // Access: Published, Static // Description: Loads a 3-D texture that is specified with a series // of n pages, all numbered in sequence, and beginning // with index 0. The filename should include a sequence // of one or more hash characters ("#") which will be // filled in with the index number of each level. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the index number of each 3-d level. //////////////////////////////////////////////////////////////////// 1 16 filename_pattern 1 2944 1359 14 Dtool_MAKPc_3A 7 1314 2943 2282 14 Dtool_MAKPc_3A 798 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_cube_map // Access: Published, Static // Description: Loads a cube map texture that is specified with a // series of 6 pages, numbered 0 through 5. The // filename should include a sequence of one or more // hash characters ("#") which will be filled in with // the index number of each pagee. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the face number, 0 through 5. //////////////////////////////////////////////////////////////////// 3 16 filename_pattern 1 2944 12 read_mipmaps 1 2748 7 options 1 2947 1360 14 Dtool_MAKP_XKI 7 1314 2943 2282 14 Dtool_MAKP_XKI 798 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_cube_map // Access: Published, Static // Description: Loads a cube map texture that is specified with a // series of 6 pages, numbered 0 through 5. The // filename should include a sequence of one or more // hash characters ("#") which will be filled in with // the index number of each pagee. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the face number, 0 through 5. //////////////////////////////////////////////////////////////////// 2 16 filename_pattern 1 2944 12 read_mipmaps 1 2748 1361 14 Dtool_MAKPbYrw 7 1314 2943 2282 14 Dtool_MAKPbYrw 798 //////////////////////////////////////////////////////////////////// // Function: TexturePool::load_cube_map // Access: Published, Static // Description: Loads a cube map texture that is specified with a // series of 6 pages, numbered 0 through 5. The // filename should include a sequence of one or more // hash characters ("#") which will be filled in with // the index number of each pagee. // // If read_mipmaps is true, the filename should contain // an additional hash mark. The first hash mark will be // filled in with the mipmap level number, and the // second with the face number, 0 through 5. //////////////////////////////////////////////////////////////////// 1 16 filename_pattern 1 2944 1362 14 Dtool_MAKPg89z 7 1315 2943 2282 14 Dtool_MAKPg89z 619 //////////////////////////////////////////////////////////////////// // Function: TexturePool::get_normalization_cube_map // Access: Published, Static // Description: Returns a standard Texture object that has been // created with // Texture::generate_normalization_cube_map(). This // Texture may be shared by any application code // requiring a normalization cube map. It will be at // least as large as the specified size, though it may // be larger. //////////////////////////////////////////////////////////////////// 1 4 size 1 2751 1363 14 Dtool_MAKPatPj 7 1316 2943 2282 14 Dtool_MAKPatPj 598 //////////////////////////////////////////////////////////////////// // Function: TexturePool::get_alpha_scale_map // Access: Published, Static // Description: Returns a standard Texture object that has been // created with Texture::generate_alpha_scale_map(). // // This Texture object is used internally by Panda to // apply an alpha scale to an object (instead of munging // its vertices) when gsg->get_alpha_scale_via_texture() // returns true. //////////////////////////////////////////////////////////////////// 0 1364 14 Dtool_MAKPnyxl 4 1317 2747 0 14 Dtool_MAKPnyxl 509 //////////////////////////////////////////////////////////////////// // Function: TexturePool::add_texture // Access: Published, Static // Description: Adds the indicated already-loaded texture to the // pool. The texture must have a filename set for its // name. The texture will always replace any // previously-loaded texture in the pool that had the // same filename. //////////////////////////////////////////////////////////////////// 1 7 texture 1 2943 1365 14 Dtool_MAKPp_Lr 4 1318 2747 0 14 Dtool_MAKPp_Lr 733 //////////////////////////////////////////////////////////////////// // Function: TexturePool::release_texture // Access: Published, Static // Description: Removes the indicated texture from the pool, // indicating it will never be loaded again; the texture // may then be freed. If this function is never called, // a reference count will be maintained on every texture // every loaded, and textures will never be freed. // // The texture's name should not have been changed // during its lifetime, or this function may fail to // locate it in the pool. //////////////////////////////////////////////////////////////////// 1 7 texture 1 2943 1366 14 Dtool_MAKPA290 4 1319 2747 0 14 Dtool_MAKPA290 333 //////////////////////////////////////////////////////////////////// // Function: TexturePool::release_all_textures // Access: Published, Static // Description: Releases all textures in the pool and restores the // pool to the empty state. //////////////////////////////////////////////////////////////////// 0 1367 14 Dtool_MAKPNlv5 4 1320 2747 0 14 Dtool_MAKPNlv5 378 //////////////////////////////////////////////////////////////////// // Function: TexturePool::rehash // Access: Published, Static // Description: Should be called when the model-path changes, to blow // away the cache of texture pathnames found along the // model-path. //////////////////////////////////////////////////////////////////// 0 1368 14 Dtool_MAKPfx9C 6 1321 2751 0 14 Dtool_MAKPfx9C 480 //////////////////////////////////////////////////////////////////// // Function: TexturePool::garbage_collect // Access: Published, Static // Description: Releases only those textures in the pool that have a // reference count of exactly 1; i.e. only those // textures that are not being used outside of the pool. // Returns the number of textures released. //////////////////////////////////////////////////////////////////// 0 1369 14 Dtool_MAKPUiu_ 4 1322 2747 0 14 Dtool_MAKPUiu_ 280 //////////////////////////////////////////////////////////////////// // Function: TexturePool::list_contents // Access: Published, Static // Description: Lists the contents of the texture pool to cout //////////////////////////////////////////////////////////////////// 0 1370 14 Dtool_MAKPbY3s 4 1322 2747 0 14 Dtool_MAKPbY3s 321 //////////////////////////////////////////////////////////////////// // Function: TexturePool::list_contents // Access: Published, Static // Description: Lists the contents of the texture pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 1 3 out 1 2749 1371 14 Dtool_MAKP1Y6W 7 1323 2943 2282 14 Dtool_MAKP1Y6W 449 //////////////////////////////////////////////////////////////////// // Function: TexturePool::find_texture // Access: Published, Static // Description: Returns the first texture found in the pool that // matches the indicated name (which may contain // wildcards). Returns the texture if it is found, or // NULL if it is not. //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 1372 14 Dtool_MAKPmCik 7 1324 2998 2586 14 Dtool_MAKPmCik 382 //////////////////////////////////////////////////////////////////// // Function: TexturePool::find_all_textures // Access: Published, Static // Description: Returns the set of all textures found in the pool // that match the indicated name (which may contain // wildcards). //////////////////////////////////////////////////////////////////// 1 4 name 1 2742 1373 14 Dtool_MAKPNHeD 7 1324 2998 2586 14 Dtool_MAKPNHeD 382 //////////////////////////////////////////////////////////////////// // Function: TexturePool::find_all_textures // Access: Published, Static // Description: Returns the set of all textures found in the pool // that match the indicated name (which may contain // wildcards). //////////////////////////////////////////////////////////////////// 0 1374 14 Dtool_MAKP7xO0 4 1325 2747 0 14 Dtool_MAKP7xO0 355 //////////////////////////////////////////////////////////////////// // Function: TexturePool::set_fake_texture_image // Access: Published, Static // Description: Sets a bogus filename that will be loaded in lieu of // any textures requested from this point on. //////////////////////////////////////////////////////////////////// 1 8 filename 1 2944 1375 14 Dtool_MAKPF81s 4 1326 2747 0 14 Dtool_MAKPF81s 330 //////////////////////////////////////////////////////////////////// // Function: TexturePool::clear_fake_texture_image // Access: Published, Static // Description: Restores normal behavior of loading the textures // actually requested. //////////////////////////////////////////////////////////////////// 0 1376 14 Dtool_MAKPXpQC 6 1327 2748 0 14 Dtool_MAKPXpQC 353 //////////////////////////////////////////////////////////////////// // Function: TexturePool::has_fake_texture_image // Access: Published, Static // Description: Returns true if fake_texture_image mode has been // enabled, false if we are in the normal mode. //////////////////////////////////////////////////////////////////// 0 1377 14 Dtool_MAKPOn7_ 6 1328 2944 0 14 Dtool_MAKPOn7_ 349 //////////////////////////////////////////////////////////////////// // Function: TexturePool::get_fake_texture_image // Access: Published, Static // Description: Returns the filename that was specified with a // previous call to set_fake_texture_image(). //////////////////////////////////////////////////////////////////// 0 1378 14 Dtool_MAKPA_aL 4 1329 2747 0 14 Dtool_MAKPA_aL 345 //////////////////////////////////////////////////////////////////// // Function: TexturePool::write // Access: Published, Static // Description: Lists the contents of the texture pool to the // indicated output stream. // For debugging. //////////////////////////////////////////////////////////////////// 1 3 out 1 2749 1379 14 Dtool_MAKPqJgl 6 1332 2751 0 14 Dtool_MAKPqJgl 449 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::get_x_size // Access: Published // Description: Returns the width of the texture image that is // contributing to the TexturePeeker's information. // This may be either the Texture's full width, or its // simple ram image's width. //////////////////////////////////////////////////////////////////// 1 4 this 3 3003 1380 14 Dtool_MAKP3igF 6 1333 2751 0 14 Dtool_MAKP3igF 452 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::get_y_size // Access: Published // Description: Returns the height of the texture image that is // contributing to the TexturePeeker's information. // This may be either the Texture's full height, or its // simple ram image's height. //////////////////////////////////////////////////////////////////// 1 4 this 3 3003 1381 14 Dtool_MAKPRHhl 6 1334 2751 0 14 Dtool_MAKPRHhl 337 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::get_z_size // Access: Published // Description: Returns the depth of the texture image that is // contributing to the TexturePeeker's information. //////////////////////////////////////////////////////////////////// 1 4 this 3 3003 1382 14 Dtool_MAKPUMM4 4 1335 2747 0 14 Dtool_MAKPUMM4 609 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::lookup // Access: Published // Description: Fills "color" with the RGBA color of the texel at // point (u, v). // // The texel color is determined via nearest-point // sampling (no filtering of adjacent pixels), // regardless of the filter type associated with the // texture. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// 4 4 this 3 3003 5 color 1 2875 1 u 1 2752 1 v 1 2752 1383 14 Dtool_MAKPXgie 4 1335 2747 0 14 Dtool_MAKPXgie 612 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::lookup // Access: Published // Description: Fills "color" with the RGBA color of the texel at // point (u, v, w). // // The texel color is determined via nearest-point // sampling (no filtering of adjacent pixels), // regardless of the filter type associated with the // texture. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// 5 4 this 3 3003 5 color 1 2875 1 u 1 2752 1 v 1 2752 1 w 1 2752 1384 14 Dtool_MAKP2wqQ 4 1336 2747 0 14 Dtool_MAKP2wqQ 563 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::filter_rect // Access: Published // Description: Fills "color" with the average RGBA color of the // texels within the rectangle defined by the specified // coordinate range. // // The texel color is linearly filtered over the entire // region. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// 6 4 this 3 3003 5 color 1 2875 5 min_u 1 2752 5 min_v 1 2752 5 max_u 1 2752 5 max_v 1 2752 1385 14 Dtool_MAKP_YIi 4 1336 2747 0 14 Dtool_MAKP_YIi 563 //////////////////////////////////////////////////////////////////// // Function: TexturePeeker::filter_rect // Access: Published // Description: Fills "color" with the average RGBA color of the // texels within the rectangle defined by the specified // coordinate range. // // The texel color is linearly filtered over the entire // region. u, v, and w will wrap around regardless of // the texture's wrap mode. //////////////////////////////////////////////////////////////////// 8 4 this 3 3003 5 color 1 2875 5 min_u 1 2752 5 min_v 1 2752 5 min_w 1 2752 5 max_u 1 2752 5 max_v 1 2752 5 max_w 1 2752 1386 14 Dtool_MAKPfazs 7 1340 2872 0 14 Dtool_MAKPfazs 1552 // Filename: textureStagePool.I // Created by: drose (03May10) // //////////////////////////////////////////////////////////////////// // // 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: TextureStagePool::get_stage // Access: Public, Static // Description: Returns a TextureStage pointer that represents the // same TextureStage described by temp, except that it is a // shared pointer. // // Each call to get_stage() passing an equivalent // TextureStage pointer will return the same shared pointer. // // If you modify the shared pointer, it will // automatically disassociate it from the pool. // // Also, the return value may be a different pointer // than that passed in, or it may be the same pointer. // In either case, the passed in pointer has now been // sacrificed to the greater good and should not be used // again (like any other PointerTo, it will be freed // when the last reference count is removed). //////////////////////////////////////////////////////////////////// 1 4 temp 1 2872 1387 14 Dtool_MAKPqpzp 4 1341 2747 0 14 Dtool_MAKPqpzp 288 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::release_stage // Access: Published, Static // Description: Removes the indicated TextureStage from the pool. //////////////////////////////////////////////////////////////////// 1 4 temp 1 2872 1388 14 Dtool_MAKPMtyA 4 1342 2747 0 14 Dtool_MAKPMtyA 341 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::release_all_stages // Access: Published, Static // Description: Releases all TextureStages in the pool and restores the // pool to the empty state. //////////////////////////////////////////////////////////////////// 0 1389 14 Dtool_MAKPESQc 4 1343 2747 0 14 Dtool_MAKPESQc 847 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::set_mode // Access: Published, Static // Description: Specifies the fundamental operating mode of the // TextureStagePool. // // If this is M_none, each call to get_stage() returns // the same TextureStage pointer that was passed in (the // pool is effectively disabled). If this is M_name, // each call to get_stage() returns the last // TextureStage passed in with the same name, whether it // has different properties or not. If this is // M_unique, then each call to get_stage() returns only // TextureStages with identical properties. //////////////////////////////////////////////////////////////////// 1 4 mode 1 2741 1390 14 Dtool_MAKPJOKA 6 1344 2741 0 14 Dtool_MAKPJOKA 331 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::get_mode // Access: Published, Static // Description: Returns the fundamental operating mode of the // TextureStagePool. See set_mode(). //////////////////////////////////////////////////////////////////// 0 1391 14 Dtool_MAKPqXaZ 6 1345 2751 0 14 Dtool_MAKPqXaZ 497 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::garbage_collect // Access: Public, Static // Description: Releases only those TextureStages in the pool that have a // reference count of exactly 1; i.e. only those // TextureStages that are not being used outside of the pool. // Returns the number of TextureStages released. //////////////////////////////////////////////////////////////////// 0 1392 14 Dtool_MAKP7BOt 4 1346 2747 0 14 Dtool_MAKP7BOt 328 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::list_contents // Access: Public, Static // Description: Lists the contents of the TextureStage pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 1 3 out 1 2749 1393 14 Dtool_MAKPXgUq 4 1347 2747 0 14 Dtool_MAKPXgUq 323 //////////////////////////////////////////////////////////////////// // Function: TextureStagePool::write // Access: Published, Static // Description: Lists the contents of the TextureStage pool to the // indicated output stream. //////////////////////////////////////////////////////////////////// 1 3 out 1 2749 364 2642 11 AdaptiveLru 26625 11 AdaptiveLru 11 AdaptiveLru 0 0 0 1 1394 1395 0 14 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 0 0 1 0 2643 0 0 0 0 572 //////////////////////////////////////////////////////////////////// // Class : AdaptiveLru // Description : A basic LRU-type algorithm, except that it is // adaptive and attempts to avoid evicting pages that // have been used more frequently (even if less // recently) than other pages. // // The interface is designed to be identical to that for // SimpleLru, so that it may be used as a drop-in // replacement. //////////////////////////////////////////////////////////////////// 2643 7 Namable 2049 7 Namable 7 Namable 0 0 0 0 0 0 0 0 0 0 0 0 324 //////////////////////////////////////////////////////////////////// // Class : Namable // Description : A base class for all things which can have a name. // The name is either empty or nonempty, but it is never // NULL. //////////////////////////////////////////////////////////////////// 2644 15 AdaptiveLruPage 26625 15 AdaptiveLruPage 15 AdaptiveLruPage 0 0 0 1 1414 1416 0 12 1415 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 0 0 2 3 2645 1410 1411 3 2646 1412 1413 0 0 918 //////////////////////////////////////////////////////////////////// // Class : AdaptiveLruPage // Description : One atomic piece that may be managed by a AdaptiveLru // chain. To use this class, inherit from it and // override evict_lru(). // // This class multiply inherits from two classes which // in turn both inherit from LinkedListNode. This is // just a sneaky C++ trick to allow this class to // inherit from LinkedListNode twice, so that pages can // be stored on two different linked lists // simultaneously. The AdaptiveLru class depends on // this; it maintains its pages in two different lists, // one grouped by priority, and one in order by next // partial update needs. //////////////////////////////////////////////////////////////////// 2645 26 AdaptiveLruPageDynamicList 1050625 26 AdaptiveLruPageDynamicList 26 AdaptiveLruPageDynamicList 0 0 0 0 0 0 0 0 0 0 0 0 114 // See the comment in the head of AdaptiveLruPage, below, for an // explanation of these two silly little classes. 2646 25 AdaptiveLruPageStaticList 1050625 25 AdaptiveLruPageStaticList 25 AdaptiveLruPageStaticList 0 0 0 0 0 0 0 0 0 0 0 0 0 2647 9 GeomEnums 141313 9 GeomEnums 9 GeomEnums 0 0 0 0 1428 0 0 0 0 0 0 7 2648 2649 2650 2651 2652 2653 2654 400 //////////////////////////////////////////////////////////////////// // Class : GeomEnums // Description : This class exists just to provide scoping for the // various enumerated types used by Geom, // GeomVertexData, GeomVertexArrayData, GeomPrimitive, // and other related classes. //////////////////////////////////////////////////////////////////// 2648 9 UsageHint 794624 20 GeomEnums::UsageHint 20 GeomEnums::UsageHint 2647 0 0 0 0 0 0 0 0 0 5 9 UH_client 20 GeomEnums::UH_client 0 9 UH_stream 20 GeomEnums::UH_stream 1 10 UH_dynamic 21 GeomEnums::UH_dynamic 2 9 UH_static 20 GeomEnums::UH_static 3 14 UH_unspecified 25 GeomEnums::UH_unspecified 4 0 382 // The usage hint describes to the rendering backend how often the // data in question will be modified and/or rendered. It allows the // backend to make appropriate choices about what part of memory the // data should be stored in. // The hint is provided as a performance optimization only, and does // not constrain actual usage; although it may be an important // optimization. 2649 13 GeomRendering 794624 24 GeomEnums::GeomRendering 24 GeomEnums::GeomRendering 2647 0 0 0 0 0 0 0 0 0 21 16 GR_indexed_point 27 GeomEnums::GR_indexed_point 1 16 GR_indexed_other 27 GeomEnums::GR_indexed_other 65536 15 GR_indexed_bits 26 GeomEnums::GR_indexed_bits 65537 8 GR_point 19 GeomEnums::GR_point 2 21 GR_point_uniform_size 32 GeomEnums::GR_point_uniform_size 4 17 GR_per_point_size 28 GeomEnums::GR_per_point_size 8 20 GR_point_perspective 31 GeomEnums::GR_point_perspective 16 21 GR_point_aspect_ratio 32 GeomEnums::GR_point_aspect_ratio 32 14 GR_point_scale 25 GeomEnums::GR_point_scale 64 15 GR_point_rotate 26 GeomEnums::GR_point_rotate 128 15 GR_point_sprite 26 GeomEnums::GR_point_sprite 256 26 GR_point_sprite_tex_matrix 37 GeomEnums::GR_point_sprite_tex_matrix 512 13 GR_point_bits 24 GeomEnums::GR_point_bits 1022 17 GR_triangle_strip 28 GeomEnums::GR_triangle_strip 1024 15 GR_triangle_fan 26 GeomEnums::GR_triangle_fan 2048 13 GR_line_strip 24 GeomEnums::GR_line_strip 4096 17 GR_composite_bits 28 GeomEnums::GR_composite_bits 7168 20 GR_flat_first_vertex 31 GeomEnums::GR_flat_first_vertex 8192 19 GR_flat_last_vertex 30 GeomEnums::GR_flat_last_vertex 16384 19 GR_shade_model_bits 30 GeomEnums::GR_shade_model_bits 24576 24 GR_texcoord_light_vector 35 GeomEnums::GR_texcoord_light_vector 32768 0 265 // This type specifies a number of bits that are used to represent // the rendering requirements of a particular Geom, as well as the // rendering capabilities of the GSG. The difference between the // two indicates whether the Geom needs to be munged for the GSG. 2650 10 ShadeModel 794624 21 GeomEnums::ShadeModel 21 GeomEnums::ShadeModel 2647 0 0 0 0 0 0 0 0 0 4 10 SM_uniform 21 GeomEnums::SM_uniform 0 9 SM_smooth 20 GeomEnums::SM_smooth 1 20 SM_flat_first_vertex 31 GeomEnums::SM_flat_first_vertex 2 19 SM_flat_last_vertex 30 GeomEnums::SM_flat_last_vertex 3 0 235 // The shade model specifies whether the per-vertex colors and // normals indexed by a given primitive truly represent per-vertex // colors and normals, or whether they actually represent // per-triangle flat-shaded colors and normals. 2651 13 PrimitiveType 794624 24 GeomEnums::PrimitiveType 24 GeomEnums::PrimitiveType 2647 0 0 0 0 0 0 0 0 0 4 7 PT_none 18 GeomEnums::PT_none 0 11 PT_polygons 22 GeomEnums::PT_polygons 1 8 PT_lines 19 GeomEnums::PT_lines 2 9 PT_points 20 GeomEnums::PT_points 3 0 165 // The primitive type represents the core primitive type of a // particular GeomPrimitive. It's used for determining what kind of // antialiasing should be enabled. 2652 11 NumericType 794624 22 GeomEnums::NumericType 22 GeomEnums::NumericType 2647 0 0 0 0 0 0 0 0 0 6 8 NT_uint8 19 GeomEnums::NT_uint8 0 9 NT_uint16 20 GeomEnums::NT_uint16 1 9 NT_uint32 20 GeomEnums::NT_uint32 2 14 NT_packed_dcba 25 GeomEnums::NT_packed_dcba 3 14 NT_packed_dabc 25 GeomEnums::NT_packed_dabc 4 10 NT_float32 21 GeomEnums::NT_float32 5 0 120 // The numeric type determines what physical representation is used // to encode a numeric value within the vertex data. 2653 8 Contents 794624 19 GeomEnums::Contents 19 GeomEnums::Contents 2647 0 0 0 0 0 0 0 0 0 8 7 C_other 18 GeomEnums::C_other 0 7 C_point 18 GeomEnums::C_point 1 12 C_clip_point 23 GeomEnums::C_clip_point 2 8 C_vector 19 GeomEnums::C_vector 3 10 C_texcoord 21 GeomEnums::C_texcoord 4 7 C_color 18 GeomEnums::C_color 5 7 C_index 18 GeomEnums::C_index 6 13 C_morph_delta 24 GeomEnums::C_morph_delta 7 0 194 // The contents determine the semantic meaning of a numeric value // within the vertex data. This is also used to determine what // automatic transforms might be applied to the various columns. 2654 13 AnimationType 794624 24 GeomEnums::AnimationType 24 GeomEnums::AnimationType 2647 0 0 0 0 0 0 0 0 0 3 7 AT_none 18 GeomEnums::AT_none 0 8 AT_panda 19 GeomEnums::AT_panda 1 11 AT_hardware 22 GeomEnums::AT_hardware 2 0 86 // The type of animation data that is represented by a particular // GeomVertexFormat. 2655 23 GeomVertexAnimationSpec 141313 23 GeomVertexAnimationSpec 23 GeomVertexAnimationSpec 0 0 0 1 1429 1438 0 8 1430 1431 1432 1433 1434 1435 1436 1437 0 0 1 0 2647 0 0 0 0 881 //////////////////////////////////////////////////////////////////// // Class : GeomVertexAnimationSpec // Description : This object describes how the vertex animation, if // any, represented in a GeomVertexData is encoded. // // Vertex animation includes soft-skinned skeleton // animation and morphs (blend shapes), and might be // performed on the CPU by Panda, or passed down to the // graphics backed to be performed on the hardware // (depending on the hardware's advertised // capabilities). // // Changing this setting doesn't by itself change the // way the animation is actually performed; this just // specifies how the vertices are set up to be animated. //////////////////////////////////////////////////////////////////// 2656 12 InternalName 75777 12 InternalName 12 InternalName 0 0 0 0 0 0 34 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 0 0 1 0 2657 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. //////////////////////////////////////////////////////////////////// 2657 27 TypedWritableReferenceCount 2049 27 TypedWritableReferenceCount 27 TypedWritableReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 722 //////////////////////////////////////////////////////////////////// // Class : TypedWritableReferenceCount // Description : A base class for things which need to inherit from // both TypedWritable and from ReferenceCount. It's // convenient to define this intermediate base class // instead of multiply inheriting from the two classes // each time they are needed, so that we can sensibly // pass around pointers to things which are both // TypedWritables and ReferenceCounters. // // See also TypedObject for detailed instructions. //////////////////////////////////////////////////////////////////// 2658 16 GeomVertexColumn 26625 16 GeomVertexColumn 16 GeomVertexColumn 0 0 0 1 1473 1475 0 13 1474 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 0 0 1 0 2647 0 0 0 0 441 //////////////////////////////////////////////////////////////////// // Class : GeomVertexColumn // Description : This defines how a single column is interleaved // within a vertex array stored within a Geom. The // GeomVertexArrayFormat class maintains a list of these // to completely define a particular array structure. //////////////////////////////////////////////////////////////////// 2659 21 GeomVertexArrayFormat 26625 21 GeomVertexArrayFormat 21 GeomVertexArrayFormat 0 0 0 1 1492 1494 0 21 1493 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1 3006 0 2 3 2657 1488 1489 3 2647 1490 1491 0 0 1094 //////////////////////////////////////////////////////////////////// // Class : GeomVertexArrayFormat // Description : This describes the structure of a single array within // a Geom data. See GeomVertexFormat for the parent // class which collects together all of the individual // GeomVertexArrayFormat objects. // // A particular array may include any number of standard // or user-defined columns. All columns consist of a // sequence of one or more numeric values, packed in any // of a variety of formats; the semantic meaning of each // column is defined in general with its contents // member, and in particular by its name. The standard // array types used most often are named "vertex", // "normal", "texcoord", and "color"; other kinds of // data may be piggybacked into the data record simply // by choosing a unique name. //////////////////////////////////////////////////////////////////// 2660 16 GeomVertexFormat 26625 16 GeomVertexFormat 16 GeomVertexFormat 0 0 0 1 1519 1521 0 48 1520 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 8 3007 3008 3009 3010 3011 3012 3013 3014 0 2 3 2657 1515 1516 3 2647 1517 1518 0 0 1366 //////////////////////////////////////////////////////////////////// // Class : GeomVertexFormat // Description : This class defines the physical layout of the vertex // data stored within a Geom. The layout consists of a // list of named columns, each of which has a numeric // type and a size. // // The columns are typically interleaved within a single // array, but they may also be distributed among // multiple different arrays; at the extreme, each // column may be alone within its own array (which // amounts to a parallel-array definition). // // Thus, a GeomVertexFormat is really a list of // GeomVertexArrayFormats, each of which contains a list // of columns. However, a particular column name should // not appear more than once in the format, even between // different arrays. // // There are a handful of standard pre-defined // GeomVertexFormat objects, or you may define your own // as needed. You may record any combination of // standard and/or user-defined columns in your custom // GeomVertexFormat constructions. //////////////////////////////////////////////////////////////////// 2661 9 SimpleLru 26625 9 SimpleLru 9 SimpleLru 0 0 0 1 1573 1574 0 10 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 0 0 2 3 2662 1569 1570 3 2643 1571 1572 0 0 270 //////////////////////////////////////////////////////////////////// // Class : SimpleLru // Description : An implementation of a very simple LRU algorithm. // Also see AdaptiveLru. //////////////////////////////////////////////////////////////////// 2662 14 LinkedListNode 2049 14 LinkedListNode 14 LinkedListNode 0 0 0 0 0 0 0 0 0 0 0 0 762 //////////////////////////////////////////////////////////////////// // Class : LinkedListNode // Description : This just stores the pointers to implement a // doubly-linked list of some kind of object. There are // occasions when a hand-rolled linked list is more // appropriate than an STL container. // // Typically, each node of the linked list, as well as // the root of the list, will inherit from this class. // // Note that this class is not inherently thread-safe; // derived classes are responsible for protecting any // calls into it within mutexes, if necessary. //////////////////////////////////////////////////////////////////// 2663 13 SimpleLruPage 26625 13 SimpleLruPage 13 SimpleLruPage 0 0 0 1 1587 1589 0 10 1588 1590 1591 1592 1593 1594 1595 1596 1597 1598 0 0 1 3 2662 1585 1586 0 0 340 //////////////////////////////////////////////////////////////////// // Class : SimpleLruPage // Description : One atomic piece that may be managed by a SimpleLru // chain. To use this class, inherit from it and // override evict_lru(). //////////////////////////////////////////////////////////////////// 2664 15 SimpleAllocator 26625 15 SimpleAllocator 15 SimpleAllocator 0 0 0 1 1601 1602 0 9 1603 1604 1605 1606 1607 1608 1609 1610 1611 0 0 1 3 2662 1599 1600 0 0 465 //////////////////////////////////////////////////////////////////// // Class : SimpleAllocator // Description : An implementation of a very simple block allocator. // This class can allocate ranges of nonnegative // integers within a specified upper limit; it uses a // simple first-fit algorithm to find the next available // space. //////////////////////////////////////////////////////////////////// 2665 20 SimpleAllocatorBlock 26625 20 SimpleAllocatorBlock 20 SimpleAllocatorBlock 0 0 0 0 1612 0 9 1613 1614 1615 1616 1617 1618 1619 1620 1621 0 0 1 0 2662 0 0 0 0 267 //////////////////////////////////////////////////////////////////// // Class : SimpleAllocatorBlock // Description : A single block as returned from // SimpleAllocator::alloc(). //////////////////////////////////////////////////////////////////// 2666 18 VertexDataSaveFile 75777 18 VertexDataSaveFile 18 VertexDataSaveFile 0 0 0 0 1602 0 3 1622 1623 1624 0 0 1 0 2664 0 0 0 0 399 //////////////////////////////////////////////////////////////////// // Class : VertexDataSaveFile // Description : A temporary file to hold the vertex data that has // been evicted from memory and written to disk. All // vertex data arrays are written into one large flat // file. //////////////////////////////////////////////////////////////////// 2667 14 VertexDataPage 43009 14 VertexDataPage 14 VertexDataPage 0 0 0 0 0 0 18 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 0 0 2 3 2664 1625 1626 3 2663 1627 1628 0 1 2668 410 //////////////////////////////////////////////////////////////////// // Class : VertexDataPage // Description : A block of bytes that holds one or more // VertexDataBlocks. The entire page may be paged out, // in the form of in-memory compression or to an on-disk // cache file, if necessary. //////////////////////////////////////////////////////////////////// 2668 8 RamClass 794624 24 VertexDataPage::RamClass 24 VertexDataPage::RamClass 2667 0 0 0 0 0 0 0 0 0 4 11 RC_resident 27 VertexDataPage::RC_resident 0 13 RC_compressed 29 VertexDataPage::RC_compressed 1 7 RC_disk 23 VertexDataPage::RC_disk 2 14 RC_end_of_list 30 VertexDataPage::RC_end_of_list 3 0 159 // These are used to indicate the current residency state of the // page, which may or may not have been temporarily evicted to // satisfy memory requirements. 2669 14 VertexDataBook 26625 14 VertexDataBook 14 VertexDataBook 0 0 0 1 1647 1648 0 5 1649 1650 1651 1652 1653 0 0 0 0 0 295 //////////////////////////////////////////////////////////////////// // Class : VertexDataBook // Description : A collection of VertexDataPages, which can be used to // allocate new VertexDataBlock objects. //////////////////////////////////////////////////////////////////// 2670 15 VertexDataBlock 141313 15 VertexDataBlock 15 VertexDataBlock 0 0 0 0 1660 0 2 1658 1659 0 0 2 3 2665 1654 1655 3 2671 1656 1657 0 0 304 //////////////////////////////////////////////////////////////////// // Class : VertexDataBlock // Description : A block of bytes that stores the actual raw vertex // data referenced by a GeomVertexArrayData object. //////////////////////////////////////////////////////////////////// 2671 14 ReferenceCount 2049 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 425 //////////////////////////////////////////////////////////////////// // Class : ReferenceCount // Description : A base class for all things that want to be // reference-counted. ReferenceCount works in // conjunction with PointerTo to automatically delete // objects when the last pointer to them goes away. //////////////////////////////////////////////////////////////////// 2672 16 AutoTextureScale 532481 16 AutoTextureScale 16 AutoTextureScale 0 0 0 0 0 0 0 0 0 0 4 8 ATS_none 8 ATS_none 0 8 ATS_down 8 ATS_down 1 6 ATS_up 6 ATS_up 2 15 ATS_UNSPECIFIED 15 ATS_UNSPECIFIED 3 0 0 2673 17 ShaderUtilization 532481 17 ShaderUtilization 17 ShaderUtilization 0 0 0 0 0 0 0 0 0 0 4 8 SUT_none 8 SUT_none 0 9 SUT_basic 9 SUT_basic 1 12 SUT_advanced 12 SUT_advanced 2 15 SUT_UNSPECIFIED 15 SUT_UNSPECIFIED 3 0 0 2674 19 GeomVertexArrayData 26625 19 GeomVertexArrayData 19 GeomVertexArrayData 0 0 0 1 1667 1669 0 30 1668 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 0 0 3 3 2675 1661 1662 3 2663 1663 1664 3 2647 1665 1666 0 0 1052 //////////////////////////////////////////////////////////////////// // Class : GeomVertexArrayData // Description : This is the data for one array of a GeomVertexData // structure. Many GeomVertexData structures will only // define one array, with all data elements interleaved // (DirectX 8.0 and before insisted on this format); // some will define multiple arrays. // // DirectX calls this concept of one array a "stream". // It also closely correlates with the concept of a // vertex buffer. // // This object is just a block of data. In general, you // should not be directly messing with this object from // application code. See GeomVertexData for the // organizing structure, and see // GeomVertexReader/Writer/Rewriter for high-level tools // to manipulate the actual vertex data. //////////////////////////////////////////////////////////////////// 2675 17 CopyOnWriteObject 2049 17 CopyOnWriteObject 17 CopyOnWriteObject 0 0 0 0 0 0 0 0 0 0 0 0 376 //////////////////////////////////////////////////////////////////// // Class : CopyOnWriteObject // Description : This base class provides basic reference counting, // but also can be used with a CopyOnWritePointer to // provide get_read_pointer() and get_write_pointer(). //////////////////////////////////////////////////////////////////// 2676 25 GeomVertexArrayDataHandle 26625 25 GeomVertexArrayDataHandle 25 GeomVertexArrayDataHandle 0 0 0 0 1703 0 18 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 0 0 2 3 2671 1699 1700 3 2647 1701 1702 0 0 840 //////////////////////////////////////////////////////////////////// // Class : GeomVertexArrayDataHandle // Description : This data object is returned by // GeomVertexArrayData::get_handle() or modify_handle(). // As long as it exists, the data is locked; when the // last of these destructs, the data is unlocked. // // Only one thread at a time may lock the data; other // threads attempting to lock the data will block. A // given thread may simultaneously lock the data // multiple times. // // This class serves in lieu of a pair of // GeomVertexArrayDataPipelineReader and // GeomVertexArrayDataPipelineWriter classes //////////////////////////////////////////////////////////////////// 2677 16 GeomCacheManager 43009 16 GeomCacheManager 16 GeomCacheManager 0 0 0 0 0 0 5 1722 1723 1724 1725 1726 0 0 0 0 0 998 //////////////////////////////////////////////////////////////////// // Class : GeomCacheManager // Description : This is used to keep track of, and limit the size of, // the cache of munged vertices, which would otherwise // be distributed through all of the GeomVertexData // objects in the system. // // The actual data in the cache is not stored here, but // rather it is distributed among the various // GeomVertexData source objects. This allows the cache // data to propagate through the multiprocess pipeline. // // This structure actually caches any of a number of // different types of pointers, and mixes them all up in // the same LRU cache list. Some of them (such as // GeomMunger) are reference-counted here in the cache; // most are not. //////////////////////////////////////////////////////////////////// 2678 15 VertexTransform 75777 15 VertexTransform 15 VertexTransform 0 0 0 0 0 0 9 1727 1728 1729 1730 1731 1732 1733 1734 1735 0 0 1 0 2657 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. //////////////////////////////////////////////////////////////////// 2679 14 TransformTable 75777 14 TransformTable 14 TransformTable 0 0 0 1 1736 0 0 11 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1 3015 0 1 0 2657 0 0 0 0 593 //////////////////////////////////////////////////////////////////// // Class : TransformTable // Description : Stores the total set of VertexTransforms that the // vertices in a particular GeomVertexData object might // depend on. // // This structure is used for a GeomVertexData set up to // compute its dynamic vertices on the graphics card. // See TransformBlendTable for one set up to compute // its dynamic vertices on the CPU. //////////////////////////////////////////////////////////////////// 2680 14 TransformBlend 26625 14 TransformBlend 14 TransformBlend 0 0 0 1 1748 1750 0 22 1749 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1 3016 0 0 0 0 374 //////////////////////////////////////////////////////////////////// // Class : TransformBlend // Description : This defines a single entry in a // TransformBlendTable. It represents a unique // combination of VertexTransform pointers and blend // amounts. //////////////////////////////////////////////////////////////////// 2681 19 TransformBlendTable 75777 19 TransformBlendTable 19 TransformBlendTable 0 0 0 1 1772 0 0 14 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1 3017 0 1 0 2675 0 0 0 0 867 //////////////////////////////////////////////////////////////////// // Class : TransformBlendTable // Description : This structure collects together the different // combinations of transforms and blend amounts used by // a GeomVertexData, to facilitate computing dynamic // vertices on the CPU at runtime. Each vertex has a // pointer to exactly one of the entries in this table, // and each entry defines a number of transform/blend // combinations. // // This structure is used for a GeomVertexData set up to // compute its dynamic vertices on the CPU. See // TransformTable for one set up to compute its // dynamic vertices on the graphics card. //////////////////////////////////////////////////////////////////// 2682 12 VertexSlider 75777 12 VertexSlider 12 VertexSlider 0 0 0 0 0 0 6 1787 1788 1789 1790 1791 1792 0 0 1 0 2657 0 0 0 0 607 //////////////////////////////////////////////////////////////////// // Class : VertexSlider // Description : This is an abstract base class that retains some // slider value, which is a linear value that typically // ranges from 0.0 to 1.0, and is used to control the // animation of morphs (blend shapes). // // It is similar to VertexTransform, which keeps a full // 4x4 transform matrix, but the VertexSlider only keeps // a single float value. //////////////////////////////////////////////////////////////////// 2683 11 SliderTable 75777 11 SliderTable 11 SliderTable 0 0 0 1 1793 0 0 16 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1 3018 0 1 0 2657 0 0 0 0 696 //////////////////////////////////////////////////////////////////// // Class : SliderTable // Description : Stores the total set of VertexSliders that the // vertices in a particular GeomVertexData object might // depend on. // // This is similar to a TransformTable, but it stores // VertexSliders instead of VertexTransforms, and it // stores them by name instead of by index number. // Also, it is only used when animating vertices on the // CPU, since GPU's don't support morphs at this point // in time. //////////////////////////////////////////////////////////////////// 2684 14 GeomVertexData 26625 14 GeomVertexData 14 GeomVertexData 0 0 0 1 1814 1816 0 48 1815 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1 3019 0 2 3 2675 1810 1811 3 2647 1812 1813 0 0 1574 //////////////////////////////////////////////////////////////////// // Class : GeomVertexData // Description : This defines the actual numeric vertex data stored in // a Geom, in the structure defined by a particular // GeomVertexFormat object. // // The data consists of one or more arrays, each of // which in turn consists of a series of rows, one per // vertex. All arrays should have the same number of // rows; each vertex is defined by the column data from // a particular row across all arrays. // // Often, there will be only one array per Geom, and the // various columns defined in the GeomVertexFormat will // be interleaved within that array. However, it is // also possible to have multiple different arrays, with // a certain subset of the total columns defined in each // array. // // However the data is distributed, the effect is of a // single table of vertices, where each vertex is // represented by one row of the table. // // In general, application code should not attempt to // directly manipulate the vertex data through this // structure; instead, use the GeomVertexReader, // GeomVertexWriter, and GeomVertexRewriter objects to // read and write vertex data at a high level. //////////////////////////////////////////////////////////////////// 2685 22 AnimateVerticesRequest 141313 22 AnimateVerticesRequest 22 AnimateVerticesRequest 0 0 0 1 1864 1867 0 2 1865 1866 0 0 1 0 2686 0 0 0 0 937 //////////////////////////////////////////////////////////////////// // Class : AnimateVerticesRequest // Description : This class object manages a single asynchronous // request to animate vertices on a GeomVertexData // object. animate_vertices will be called with // force=true (i.e. blocking) in a sub-thread (if // threading is available). No result is stored or // returned from this object. It is expected that the // result will be cached and available for immediate // use later during rendering. Thus it is important // that the main thread block while these requests // are being run (presumably on multiple CPUs/cores), // to ensure that the data has been computed by the // time it's needed. //////////////////////////////////////////////////////////////////// 2686 9 AsyncTask 2049 9 AsyncTask 9 AsyncTask 0 0 0 0 0 0 0 0 0 0 0 0 434 //////////////////////////////////////////////////////////////////// // Class : AsyncTask // Description : This class represents a concrete task performed by an // AsyncManager. Normally, you would subclass from this // class, and override do_task(), to define the // functionality you wish to have the task perform. //////////////////////////////////////////////////////////////////// 2687 12 SavedContext 141313 12 SavedContext 12 SavedContext 0 0 0 0 1869 0 1 1868 0 0 1 0 2688 0 0 0 0 395 //////////////////////////////////////////////////////////////////// // Class : SavedContext // Description : This is the base class for all GSG-specific context // objects, such as TextureContext and GeomContext. It // exists mainly to provide some structural // organization. //////////////////////////////////////////////////////////////////// 2688 11 TypedObject 2049 11 TypedObject 11 TypedObject 0 0 0 0 0 0 0 0 0 0 0 0 3666 //////////////////////////////////////////////////////////////////// // Class : TypedObject // Description : This is an abstract class that all classes which // use TypeHandle, and also provide virtual functions to // support polymorphism, should inherit from. Each // derived class should define get_type(), which should // return the specific type of the derived class. // Inheriting from this automatically provides support // for is_of_type() and is_exact_type(). // // All classes that inherit directly or indirectly from // TypedObject should redefine get_type() and // force_init_type(), as shown below. Some classes that // do not inherit from TypedObject may still declare // TypeHandles for themselves by defining methods called // get_class_type() and init_type(). Classes such as // these may serve as base classes, but the dynamic type // identification system will be limited. Classes that // do not inherit from TypedObject need not define the // virtual functions get_type() and force_init_type() // (or any other virtual functions). // // There is a specific layout for defining the // overrides from this class. Keeping the definitions // formatted just like these examples will allow // someone in the future to use a sed (or similar) // script to make global changes, if necessary. Avoid // rearranging the braces or the order of the functions // unless you're ready to change them in every file all // at once. // // What follows are some examples that can be used in // new classes that you create. // // @par In the class definition (.h file): // @code // public: // static TypeHandle get_class_type() { // return _type_handle; // } // static void init_type() { // <<>>::init_type(); // <<>>::init_type(); // <<>>::init_type(); // register_type(_type_handle, "<<>>", // <<>>::get_class_type(), // <<>>::get_class_type(), // <<>>::get_class_type()); // } // virtual TypeHandle get_type() const { // return get_class_type(); // } // virtual TypeHandle force_init_type() {init_type(); return get_class_type();} // // private: // static TypeHandle _type_handle; // @endcode // // @par In the class .cxx file: // @code // TypeHandle <<>>::_type_handle; // @endcode // // @par In the class config_<<>>.cxx file: // @code // ConfigureFn(config_<<>>) { // <<>>::init_type(); // <<>>::init_type(); // <<>>::init_type(); // } // @endcode //////////////////////////////////////////////////////////////////// 2689 13 BufferContext 26625 13 BufferContext 13 BufferContext 0 0 0 0 1872 0 5 1873 1874 1875 1876 1877 0 0 1 3 2687 1870 1871 0 0 752 //////////////////////////////////////////////////////////////////// // Class : BufferContext // Description : This is a base class for those kinds of SavedContexts // that occupy an easily-measured (and substantial) // number of bytes in the video card's frame buffer // memory or AGP memory. At the present, this includes // most of the SavedContext types: VertexBufferContext // and IndexBufferContext, as well as TextureContext. // // This class provides methods for tracking the video // memory utilization, as well as residency of each // object, via PStats. //////////////////////////////////////////////////////////////////// 2690 13 GeomPrimitive 26625 13 GeomPrimitive 13 GeomPrimitive 0 0 0 0 1883 0 67 1882 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1 3020 0 2 3 2675 1878 1879 3 2647 1880 1881 0 0 1203 //////////////////////////////////////////////////////////////////// // Class : GeomPrimitive // Description : This is an abstract base class for a family of // classes that represent the fundamental geometry // primitives that may be stored in a Geom. // // They all have in common the fact that they are // defined by tables of vertex data stored in a // GeomVertexData object. Each GeomPrimitive object // contains an ordered list of integers, which index // into the vertex array defined by the GeomVertexData // and define the particular vertices of the // GeomVertexData that are used for this primitive. // // The meaning of a given arrangement of vertices is // defined by each individual primitive type; for // instance, a GeomTriangle renders a triangle from each // three consecutive vertices, while a GeomTriangleStrip // renders a strip of (n - 2) connected triangles from // each sequence of n vertices. //////////////////////////////////////////////////////////////////// 2691 12 TextureStage 75777 12 TextureStage 12 TextureStage 0 0 0 1 1950 0 0 50 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 0 0 1 0 2657 0 0 0 4 2692 2693 2694 2695 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. //////////////////////////////////////////////////////////////////// 2692 4 Mode 794624 18 TextureStage::Mode 18 TextureStage::Mode 2691 0 0 0 0 0 0 0 0 0 15 10 M_modulate 24 TextureStage::M_modulate 0 7 M_decal 21 TextureStage::M_decal 1 7 M_blend 21 TextureStage::M_blend 2 9 M_replace 23 TextureStage::M_replace 3 5 M_add 19 TextureStage::M_add 4 9 M_combine 23 TextureStage::M_combine 5 19 M_blend_color_scale 33 TextureStage::M_blend_color_scale 6 15 M_modulate_glow 29 TextureStage::M_modulate_glow 7 16 M_modulate_gloss 30 TextureStage::M_modulate_gloss 8 8 M_normal 22 TextureStage::M_normal 9 15 M_normal_height 29 TextureStage::M_normal_height 10 6 M_glow 20 TextureStage::M_glow 11 7 M_gloss 21 TextureStage::M_gloss 12 8 M_height 22 TextureStage::M_height 13 10 M_selector 24 TextureStage::M_selector 14 0 0 2693 11 CombineMode 794624 25 TextureStage::CombineMode 25 TextureStage::CombineMode 2691 0 0 0 0 0 0 0 0 0 9 12 CM_undefined 26 TextureStage::CM_undefined 0 10 CM_replace 24 TextureStage::CM_replace 1 11 CM_modulate 25 TextureStage::CM_modulate 2 6 CM_add 20 TextureStage::CM_add 3 13 CM_add_signed 27 TextureStage::CM_add_signed 4 14 CM_interpolate 28 TextureStage::CM_interpolate 5 11 CM_subtract 25 TextureStage::CM_subtract 6 11 CM_dot3_rgb 25 TextureStage::CM_dot3_rgb 7 12 CM_dot3_rgba 26 TextureStage::CM_dot3_rgba 8 0 0 2694 13 CombineSource 794624 27 TextureStage::CombineSource 27 TextureStage::CombineSource 2691 0 0 0 0 0 0 0 0 0 7 12 CS_undefined 26 TextureStage::CS_undefined 0 10 CS_texture 24 TextureStage::CS_texture 1 11 CS_constant 25 TextureStage::CS_constant 2 16 CS_primary_color 30 TextureStage::CS_primary_color 3 11 CS_previous 25 TextureStage::CS_previous 4 23 CS_constant_color_scale 37 TextureStage::CS_constant_color_scale 5 20 CS_last_saved_result 34 TextureStage::CS_last_saved_result 6 0 0 2695 14 CombineOperand 794624 28 TextureStage::CombineOperand 28 TextureStage::CombineOperand 2691 0 0 0 0 0 0 0 0 0 5 12 CO_undefined 26 TextureStage::CO_undefined 0 12 CO_src_color 26 TextureStage::CO_src_color 1 22 CO_one_minus_src_color 36 TextureStage::CO_one_minus_src_color 2 12 CO_src_alpha 26 TextureStage::CO_src_alpha 3 22 CO_one_minus_src_alpha 36 TextureStage::CO_one_minus_src_alpha 4 0 0 2696 4 Geom 26625 4 Geom 4 Geom 0 0 0 1 2005 2007 0 58 2006 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 1 3021 0 2 3 2675 2001 2002 3 2647 2003 2004 0 0 687 //////////////////////////////////////////////////////////////////// // Class : Geom // Description : A container for geometry primitives. This class // associates one or more GeomPrimitive objects with a // table of vertices defined by a GeomVertexData object. // All of the primitives stored in a particular Geom are // drawn from the same set of vertices (each primitive // uses a subset of all of the vertices in the table), // and all of them must be rendered at the same time, in // the same graphics state. //////////////////////////////////////////////////////////////////// 2697 11 GeomContext 141313 11 GeomContext 11 GeomContext 0 0 0 0 2067 0 2 2065 2066 0 0 1 0 2687 0 0 0 0 856 //////////////////////////////////////////////////////////////////// // Class : GeomContext // Description : This is a special class object that holds all the // information returned by a particular GSG to indicate // the geom's internal context identifier. // // Geoms typically have an immediate-mode and a // retained-mode operation. When using geoms in // retained-mode (in response to Geom::prepare()), // the GSG will create some internal handle for the // geom and store it here. The geom stores all of // these handles internally. // // In the case of OpenGL, for example, a GeomContext // corresponds to a display list identifier. //////////////////////////////////////////////////////////////////// 2698 9 GeomLines 75777 9 GeomLines 9 GeomLines 0 0 0 1 2068 1883 0 1 2069 0 0 1 0 2690 0 0 0 0 229 //////////////////////////////////////////////////////////////////// // Class : GeomLines // Description : Defines a series of disconnected line segments. //////////////////////////////////////////////////////////////////// 2699 14 GeomLinestrips 75777 14 GeomLinestrips 14 GeomLinestrips 0 0 0 1 2070 1883 0 1 2071 0 0 1 0 2690 0 0 0 0 219 //////////////////////////////////////////////////////////////////// // Class : GeomLinestrips // Description : Defines a series of line strips. //////////////////////////////////////////////////////////////////// 2700 10 GeomPoints 75777 10 GeomPoints 10 GeomPoints 0 0 0 1 2072 1883 0 1 2073 0 0 1 0 2690 0 0 0 0 223 //////////////////////////////////////////////////////////////////// // Class : GeomPoints // Description : Defines a series of disconnected points. //////////////////////////////////////////////////////////////////// 2701 13 GeomTriangles 75777 13 GeomTriangles 13 GeomTriangles 0 0 0 1 2074 1883 0 1 2075 0 0 1 0 2690 0 0 0 0 229 //////////////////////////////////////////////////////////////////// // Class : GeomTriangles // Description : Defines a series of disconnected triangles. //////////////////////////////////////////////////////////////////// 2702 11 GeomTrifans 75777 11 GeomTrifans 11 GeomTrifans 0 0 0 1 2076 1883 0 1 2077 0 0 1 0 2690 0 0 0 0 218 //////////////////////////////////////////////////////////////////// // Class : GeomTrifans // Description : Defines a series of triangle fans. //////////////////////////////////////////////////////////////////// 2703 13 GeomTristrips 75777 13 GeomTristrips 13 GeomTristrips 0 0 0 1 2078 1883 0 1 2079 0 0 1 0 2690 0 0 0 0 222 //////////////////////////////////////////////////////////////////// // Class : GeomTristrips // Description : Defines a series of triangle strips. //////////////////////////////////////////////////////////////////// 2704 16 GeomVertexReader 26625 16 GeomVertexReader 16 GeomVertexReader 0 0 0 1 2080 2082 0 24 2081 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 0 0 1 0 2647 0 0 0 0 1792 //////////////////////////////////////////////////////////////////// // Class : GeomVertexReader // Description : This object provides a high-level interface for // quickly reading a sequence of numeric values from a // vertex table. // // It is particularly optimized for reading a single // column of data values for a series of vertices, // without changing columns between each number. // Although you can also use one GeomVertexReader to // read across the columns if it is convenient, by // calling set_column() repeatedly at each vertex, it is // faster to read down the columns, and to use a // different GeomVertexReader for each column. // // Note that a GeomVertexReader does not keep a // reference count to the actual vertex data buffer (it // grabs the current data buffer from the GeomVertexData // whenever set_column() is called). This means that it // is important not to keep a GeomVertexReader object // around over a long period of time in which the data // buffer is likely to be deallocated; it is intended // for making a quick pass over the data in one session. // // It also means that you should create any // GeomVertexWriters *before* creating GeomVertexReaders // on the same data, since the writer itself might cause // the vertex buffer to be deallocated. Better yet, use // a GeomVertexRewriter if you are going to create both // of them anyway. //////////////////////////////////////////////////////////////////// 2705 16 GeomVertexWriter 26625 16 GeomVertexWriter 16 GeomVertexWriter 0 0 0 1 2106 2108 0 30 2107 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 0 0 1 0 2647 0 0 0 0 2541 //////////////////////////////////////////////////////////////////// // Class : GeomVertexWriter // Description : This object provides a high-level interface for // quickly writing a sequence of numeric values from a // vertex table. // // This object can be used both to replace existing // vertices in the table, or to extend the table with // new vertices. The set_data*() family of methods can // only be used to replace existing data; it is an error // to allow these to run past the end of the data. The // add_data*() family of methods, on the other hand, can // be used to replace existing data or add new data; if // you call set_row() into the middle of existing // data the add_data*() methods will behave like the // corresponding set_data*(), but if they run past the // end of existing data they will quietly add new // vertices. // // Like GeomVertexReader, the writer is particularly // optimized for writing a single column of data values // for a series of vertices, without changing columns // between each number. Although you can also use one // GeomVertexWriter to write across the columns if it is // convenient, by calling set_column() repeatedly at // each vertex, it is faster to write down the columns, // and to use a different GeomVertexWriter for each // column. // // Note that, like a GeomVertexReader, a // GeomVertexWriter does not keep a reference count to // the actual vertex data buffer. This means that it is // important not to keep a GeomVertexWriter object // around over a long period of time in which the data // buffer is likely to be deallocated; it is intended // for making a quick pass over the data in one session. // // It also means that you should create any // GeomVertexWriters *before* creating GeomVertexReaders // on the same data, since the writer itself might cause // the vertex buffer to be deallocated. Better yet, use // a GeomVertexRewriter if you are going to create both // of them anyway. //////////////////////////////////////////////////////////////////// 2706 18 GeomVertexRewriter 26625 18 GeomVertexRewriter 18 GeomVertexRewriter 0 0 0 1 2142 2144 0 12 2143 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 0 0 2 3 2705 2138 2139 3 2704 2140 2141 0 0 988 //////////////////////////////////////////////////////////////////// // Class : GeomVertexRewriter // Description : This object provides the functionality of both a // GeomVertexReader and a GeomVertexWriter, combined // together into one convenient package. It is designed // for making a single pass over a GeomVertexData // object, modifying rows as it goes. // // Although it doesn't provide any real performance // benefit over using a separate reader and writer on // the same data, it should probably be used in // preference to a separate reader and writer, because // it makes an effort to manage the reference counts // properly between the reader and the writer to avoid // accidentally dereferencing either array while // recopying. //////////////////////////////////////////////////////////////////// 2707 8 Material 26625 8 Material 8 Material 0 0 0 1 2160 2162 0 33 2161 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 0 0 2 3 2657 2156 2157 3 2643 2158 2159 0 0 373 //////////////////////////////////////////////////////////////////// // Class : Material // Description : Defines the way an object appears in the presence of // lighting. A material is only necessary if lighting // is to be enabled; otherwise, the material isn't used. //////////////////////////////////////////////////////////////////// 2708 4 Lens 141313 4 Lens 4 Lens 0 0 0 0 2257 0 62 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 0 0 1 0 2657 0 0 0 2 2709 2710 688 //////////////////////////////////////////////////////////////////// // 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 // (defined in sgraph), 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. //////////////////////////////////////////////////////////////////// 2709 13 StereoChannel 794624 19 Lens::StereoChannel 19 Lens::StereoChannel 2708 0 0 0 0 0 0 0 0 0 4 7 SC_mono 13 Lens::SC_mono 0 7 SC_left 13 Lens::SC_left 1 8 SC_right 14 Lens::SC_right 2 9 SC_stereo 15 Lens::SC_stereo 3 0 0 2710 11 FromCorners 794624 17 Lens::FromCorners 17 Lens::FromCorners 2708 0 0 0 0 0 0 0 0 0 6 7 FC_roll 13 Lens::FC_roll 1 15 FC_camera_plane 21 Lens::FC_camera_plane 2 11 FC_off_axis 17 Lens::FC_off_axis 4 15 FC_aspect_ratio 21 Lens::FC_aspect_ratio 8 8 FC_shear 14 Lens::FC_shear 16 11 FC_keystone 17 Lens::FC_keystone 32 0 183 // These flags are passed in as the last parameter to control the // behavior of set_frustum_from_corners(). See the documentation // for that method for an explanation of each flag. 2711 16 OrthographicLens 141313 16 OrthographicLens 16 OrthographicLens 0 0 0 1 2258 2260 0 1 2259 0 0 1 0 2708 0 0 0 0 682 //////////////////////////////////////////////////////////////////// // Class : OrthographicLens // Description : An orthographic lens. Although this kind of lens is // linear, like a PerspectiveLens, it doesn't respect // field-of-view or focal length parameters, and // adjusting these will have no effect. Instead, its // field of view is controlled by adjusting the // film_size; the orthographic lens represents a planar // projection onto its imaginary film of the specified // size, hanging in space. //////////////////////////////////////////////////////////////////// 2712 10 MatrixLens 141313 10 MatrixLens 10 MatrixLens 0 0 0 1 2261 2273 0 11 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 0 0 1 0 2708 0 0 0 0 504 //////////////////////////////////////////////////////////////////// // Class : MatrixLens // Description : A completely generic linear lens. This is provided // for the benefit of low-level code that wants to // specify a perspective or orthographic frustum via an // explicit projection matrix, but not mess around with // fov's or focal lengths or any of that nonsense. //////////////////////////////////////////////////////////////////// 2713 15 PerspectiveLens 141313 15 PerspectiveLens 15 PerspectiveLens 0 0 0 1 2274 2276 0 1 2275 0 0 1 0 2708 0 0 0 0 229 //////////////////////////////////////////////////////////////////// // Class : PerspectiveLens // Description : A perspective-type lens: a normal camera. //////////////////////////////////////////////////////////////////// 2714 7 Texture 26625 7 Texture 7 Texture 0 0 0 1 2281 2282 0 166 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 0 0 2 3 2657 2277 2278 3 2643 2279 2280 0 7 2715 2716 2717 2718 2719 2720 2721 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. //////////////////////////////////////////////////////////////////// 2715 11 TextureType 794624 20 Texture::TextureType 20 Texture::TextureType 2714 0 0 0 0 0 0 0 0 0 4 13 TT_1d_texture 22 Texture::TT_1d_texture 0 13 TT_2d_texture 22 Texture::TT_2d_texture 1 13 TT_3d_texture 22 Texture::TT_3d_texture 2 11 TT_cube_map 20 Texture::TT_cube_map 3 0 0 2716 13 ComponentType 794624 22 Texture::ComponentType 22 Texture::ComponentType 2714 0 0 0 0 0 0 0 0 0 4 15 T_unsigned_byte 24 Texture::T_unsigned_byte 0 16 T_unsigned_short 25 Texture::T_unsigned_short 1 7 T_float 16 Texture::T_float 2 19 T_unsigned_int_24_8 28 Texture::T_unsigned_int_24_8 3 0 0 2717 6 Format 794624 15 Texture::Format 15 Texture::Format 2714 0 0 0 0 0 0 0 0 0 26 15 F_depth_stencil 24 Texture::F_depth_stencil 1 13 F_color_index 22 Texture::F_color_index 2 5 F_red 14 Texture::F_red 3 7 F_green 16 Texture::F_green 4 6 F_blue 15 Texture::F_blue 5 7 F_alpha 16 Texture::F_alpha 6 5 F_rgb 14 Texture::F_rgb 7 6 F_rgb5 15 Texture::F_rgb5 8 6 F_rgb8 15 Texture::F_rgb8 9 7 F_rgb12 16 Texture::F_rgb12 10 8 F_rgb332 17 Texture::F_rgb332 11 6 F_rgba 15 Texture::F_rgba 12 6 F_rgbm 15 Texture::F_rgbm 13 7 F_rgba4 16 Texture::F_rgba4 14 7 F_rgba5 16 Texture::F_rgba5 15 7 F_rgba8 16 Texture::F_rgba8 16 8 F_rgba12 17 Texture::F_rgba12 17 11 F_luminance 20 Texture::F_luminance 18 17 F_luminance_alpha 26 Texture::F_luminance_alpha 19 21 F_luminance_alphamask 30 Texture::F_luminance_alphamask 20 8 F_rgba16 17 Texture::F_rgba16 21 8 F_rgba32 17 Texture::F_rgba32 22 17 F_depth_component 26 Texture::F_depth_component 23 19 F_depth_component16 28 Texture::F_depth_component16 24 19 F_depth_component24 28 Texture::F_depth_component24 25 19 F_depth_component32 28 Texture::F_depth_component32 26 0 0 2718 10 FilterType 794624 19 Texture::FilterType 19 Texture::FilterType 2714 0 0 0 0 0 0 0 0 0 9 10 FT_nearest 19 Texture::FT_nearest 0 9 FT_linear 18 Texture::FT_linear 1 25 FT_nearest_mipmap_nearest 34 Texture::FT_nearest_mipmap_nearest 2 24 FT_linear_mipmap_nearest 33 Texture::FT_linear_mipmap_nearest 3 24 FT_nearest_mipmap_linear 33 Texture::FT_nearest_mipmap_linear 4 23 FT_linear_mipmap_linear 32 Texture::FT_linear_mipmap_linear 5 9 FT_shadow 18 Texture::FT_shadow 6 10 FT_default 19 Texture::FT_default 7 10 FT_invalid 19 Texture::FT_invalid 8 0 0 2719 8 WrapMode 794624 17 Texture::WrapMode 17 Texture::WrapMode 2714 0 0 0 0 0 0 0 0 0 6 8 WM_clamp 17 Texture::WM_clamp 0 9 WM_repeat 18 Texture::WM_repeat 1 9 WM_mirror 18 Texture::WM_mirror 2 14 WM_mirror_once 23 Texture::WM_mirror_once 3 15 WM_border_color 24 Texture::WM_border_color 4 10 WM_invalid 19 Texture::WM_invalid 5 0 0 2720 15 CompressionMode 794624 24 Texture::CompressionMode 24 Texture::CompressionMode 2714 0 0 0 0 0 0 0 0 0 9 10 CM_default 19 Texture::CM_default 0 6 CM_off 15 Texture::CM_off 1 5 CM_on 14 Texture::CM_on 2 7 CM_fxt1 16 Texture::CM_fxt1 3 7 CM_dxt1 16 Texture::CM_dxt1 4 7 CM_dxt2 16 Texture::CM_dxt2 5 7 CM_dxt3 16 Texture::CM_dxt3 6 7 CM_dxt4 16 Texture::CM_dxt4 7 7 CM_dxt5 16 Texture::CM_dxt5 8 0 0 2721 12 QualityLevel 794624 21 Texture::QualityLevel 21 Texture::QualityLevel 2714 0 0 0 0 0 0 0 0 0 4 10 QL_default 19 Texture::QL_default 0 10 QL_fastest 19 Texture::QL_fastest 1 9 QL_normal 18 Texture::QL_normal 2 7 QL_best 16 Texture::QL_best 3 0 0 2722 6 Shader 75777 6 Shader 6 Shader 0 0 0 0 0 0 15 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 0 0 1 0 2723 0 0 0 2 2724 2725 179 //////////////////////////////////////////////////////////////////// // Class : Shader // Summary: //////////////////////////////////////////////////////////////////// 2723 19 TypedReferenceCount 2049 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 710 //////////////////////////////////////////////////////////////////// // Class : TypedReferenceCount // Description : A base class for things which need to inherit from // both TypedObject and from ReferenceCount. It's // convenient to define this intermediate base class // instead of multiply inheriting from the two classes // each time they are needed, so that we can sensibly // pass around pointers to things which are both // TypedObjects and ReferenceCounters. // // See also TypedObject for detailed instructions. //////////////////////////////////////////////////////////////////// 2724 14 ShaderLanguage 794624 22 Shader::ShaderLanguage 22 Shader::ShaderLanguage 2722 0 0 0 0 0 0 0 0 0 3 7 SL_none 15 Shader::SL_none 0 5 SL_Cg 13 Shader::SL_Cg 1 7 SL_GLSL 15 Shader::SL_GLSL 2 0 0 2725 10 ShaderType 794624 18 Shader::ShaderType 18 Shader::ShaderType 2722 0 0 0 0 0 0 0 0 0 4 7 ST_none 15 Shader::ST_none 0 9 ST_vertex 17 Shader::ST_vertex 1 11 ST_fragment 19 Shader::ST_fragment 2 11 ST_geometry 19 Shader::ST_geometry 3 0 0 2726 23 PreparedGraphicsObjects 75777 23 PreparedGraphicsObjects 23 PreparedGraphicsObjects 0 0 0 0 0 0 53 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 0 0 1 0 2671 0 0 0 0 1037 //////////////////////////////////////////////////////////////////// // Class : PreparedGraphicsObjects // Description : A table of objects that are saved within the graphics // context for reference by handle later. Generally, // this represents things like OpenGL texture objects or // display lists (or their equivalent on other // platforms). // // This object simply records the pointers to the // context objects created by the individual GSG's; // these context objects will contain enough information // to reference or release the actual object stored // within the graphics context. // // These tables may potentially be shared between // related graphics contexts, hence their storage here // in a separate object rather than as a part of the // GraphicsStateGuardian. //////////////////////////////////////////////////////////////////// 2727 20 TextureReloadRequest 141313 20 TextureReloadRequest 20 TextureReloadRequest 0 0 0 1 2517 2523 0 5 2518 2519 2520 2521 2522 0 0 1 0 2686 0 0 0 0 486 //////////////////////////////////////////////////////////////////// // Class : TextureReloadRequest // Description : This loader request will call // Texture::get_ram_image() in a sub-thread, to force // the texture's image to be re-read from disk. It is // used by GraphicsStateGuardian::async_reload_texture(), // when get_incomplete_render() is true. //////////////////////////////////////////////////////////////////// 2728 14 TextureContext 141313 14 TextureContext 14 TextureContext 0 0 0 0 2534 0 6 2528 2529 2530 2531 2532 2533 0 0 2 3 2689 2524 2525 3 2644 2526 2527 0 0 748 //////////////////////////////////////////////////////////////////// // Class : TextureContext // Description : This is a special class object that holds all the // information returned by a particular GSG to indicate // the texture's internal context identifier. // // Textures typically have an immediate-mode and a // retained-mode operation. When using textures in // retained-mode (in response to Texture::prepare()), // the GSG will create some internal handle for the // texture and store it here. The texture stores all of // these handles internally. //////////////////////////////////////////////////////////////////// 2729 13 ShaderContext 141313 13 ShaderContext 13 ShaderContext 0 0 0 0 2537 0 2 2535 2536 0 0 1 0 2687 0 0 0 0 679 //////////////////////////////////////////////////////////////////// // Class : ShaderContext // Description : The ShaderContext is meant to contain the compiled // version of a shader string. ShaderContext is an // abstract base class, there will be a subclass of it // for each shader language and graphics API. // Since the languages are so different and the // graphics APIs have so little in common, the base // class contains almost nothing. All the implementation // details are in the subclasses. //////////////////////////////////////////////////////////////////// 2730 16 UserVertexSlider 141313 16 UserVertexSlider 16 UserVertexSlider 0 0 0 1 2538 2541 0 2 2539 2540 0 0 1 0 2682 0 0 0 0 390 //////////////////////////////////////////////////////////////////// // Class : UserVertexSlider // Description : This is a specialization on VertexSlider that // allows the user to specify any arbitrary slider // valie he likes. This is rarely used except for // testing. //////////////////////////////////////////////////////////////////// 2731 19 UserVertexTransform 141313 19 UserVertexTransform 19 UserVertexTransform 0 0 0 1 2542 2546 0 3 2543 2544 2545 0 0 1 0 2678 0 0 0 0 400 //////////////////////////////////////////////////////////////////// // Class : UserVertexTransform // Description : This is a specialization on VertexTransform that // allows the user to specify any arbitrary transform // matrix he likes. This is rarely used except for // testing. //////////////////////////////////////////////////////////////////// 2732 12 VideoTexture 141313 12 VideoTexture 12 VideoTexture 0 0 0 0 2556 0 5 2551 2552 2553 2554 2555 0 0 2 3 2714 2547 2548 3 2733 2549 2550 0 0 480 //////////////////////////////////////////////////////////////////// // Class : VideoTexture // Description : The base class for a family of animated Textures that // take their input from a video source, such as a movie // file. These Textures may be stopped, started, // etc. using the AnimInterface controls, similar to an // animated character. //////////////////////////////////////////////////////////////////// 2733 13 AnimInterface 2049 13 AnimInterface 13 AnimInterface 0 0 0 0 0 0 0 0 0 0 0 0 464 //////////////////////////////////////////////////////////////////// // Class : AnimInterface // Description : This is the fundamental interface for things that // have a play/loop/stop type interface for frame-based // animation, such as animated characters. This is the // base class for AnimControl and other, similar // classes. //////////////////////////////////////////////////////////////////// 2734 19 VertexBufferContext 141313 19 VertexBufferContext 19 VertexBufferContext 0 0 0 0 2566 0 5 2561 2562 2563 2564 2565 0 0 2 3 2689 2557 2558 3 2644 2559 2560 0 0 635 //////////////////////////////////////////////////////////////////// // Class : VertexBufferContext // Description : This is a special class object that holds all the // information returned by a particular GSG to indicate // the vertex data array's internal context identifier. // // This allows the GSG to cache the vertex data array in // whatever way makes sense. For instance, DirectX can // allocate a vertex buffer for the array. OpenGL can // create a buffer object. //////////////////////////////////////////////////////////////////// 2735 18 IndexBufferContext 141313 18 IndexBufferContext 18 IndexBufferContext 0 0 0 0 2576 0 5 2571 2572 2573 2574 2575 0 0 2 3 2689 2567 2568 3 2644 2569 2570 0 0 634 //////////////////////////////////////////////////////////////////// // Class : IndexBufferContext // Description : This is a special class object that holds all the // information returned by a particular GSG to indicate // the vertex data array's internal context identifier. // // This allows the GSG to cache the vertex data array in // whatever way makes sense. For instance, DirectX can // allocate a vertex buffer for the array. OpenGL can // create a buffer object. //////////////////////////////////////////////////////////////////// 2736 12 MaterialPool 141313 12 MaterialPool 12 MaterialPool 0 0 0 0 2583 0 6 2577 2578 2579 2580 2581 2582 0 0 0 0 0 1029 //////////////////////////////////////////////////////////////////// // Class : MaterialPool // Description : The MaterialPool (there is only one in the universe) // serves to unify different pointers to the same // Material, so we do not (a) waste memory with many // different Material objects that are all equivalent, // and (b) waste time switching the graphics engine // between different Material states that are really the // same thing. // // The idea is to create a temporary Material // representing the lighting state you want to apply, // then call get_material(), passing in your temporary // Material. The return value will either be a new // Material object, or it may be the the same object you // supplied; in either case, it will have the same // value. //////////////////////////////////////////////////////////////////// 2737 17 TextureCollection 26625 17 TextureCollection 17 TextureCollection 0 0 0 1 2584 2586 0 20 2585 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 1 3022 0 0 0 0 290 //////////////////////////////////////////////////////////////////// // Class : TextureCollection // Description : Manages a list of Texture objects, as returned by // TexturePool::find_all_textures(). //////////////////////////////////////////////////////////////////// 2738 11 TexturePool 141313 11 TexturePool 11 TexturePool 0 0 0 0 2626 0 20 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 0 0 0 0 0 470 //////////////////////////////////////////////////////////////////// // Class : TexturePool // Description : This is the preferred interface for loading textures // from image files. It unifies all references to the // same filename, so that multiple models that reference // the same textures don't waste texture memory // unnecessarily. //////////////////////////////////////////////////////////////////// 2739 13 TexturePeeker 141313 13 TexturePeeker 13 TexturePeeker 0 0 0 0 2632 0 5 2627 2628 2629 2630 2631 0 0 1 0 2671 0 0 0 0 386 //////////////////////////////////////////////////////////////////// // Class : TexturePeeker // Description : An instance of this object is returned by // Texture::peek(). This object allows quick and easy // inspection of a texture's texels by (u, v) // coordinates. //////////////////////////////////////////////////////////////////// 2740 16 TextureStagePool 141313 16 TextureStagePool 16 TextureStagePool 0 0 0 0 2641 0 8 2633 2634 2635 2636 2637 2638 2639 2640 0 0 0 0 1 2741 624 //////////////////////////////////////////////////////////////////// // Class : TextureStagePool // Description : The TextureStagePool (there is only one in the universe) // serves to unify different pointers to the same // TextureStage, mainly to help developers use a common // pointer to access things that are loaded from // different model files. // // It runs in one of three different modes, according to // set_mode(). See that method for more information. //////////////////////////////////////////////////////////////////// 2741 4 Mode 794624 22 TextureStagePool::Mode 22 TextureStagePool::Mode 2740 0 0 0 0 0 0 0 0 0 3 6 M_none 24 TextureStagePool::M_none 0 6 M_name 24 TextureStagePool::M_name 1 8 M_unique 26 TextureStagePool::M_unique 2 0 0 2742 13 atomic string 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 2743 12 unsigned int 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0 2744 13 AdaptiveLru * 8576 13 AdaptiveLru * 13 AdaptiveLru * 0 0 2642 0 0 0 0 0 0 0 0 0 0 2745 19 AdaptiveLru const * 8576 19 AdaptiveLru const * 19 AdaptiveLru const * 0 0 2746 0 0 0 0 0 0 0 0 0 0 2746 17 AdaptiveLru const 8832 17 AdaptiveLru const 17 AdaptiveLru const 0 0 2642 0 0 0 0 0 0 0 0 0 0 2747 4 void 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 2748 4 bool 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 2749 9 ostream * 8576 9 ostream * 9 ostream * 0 0 2750 0 0 0 0 0 0 0 0 0 0 2750 7 ostream 2048 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0 2751 3 int 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 2752 5 float 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 2753 23 AdaptiveLruPage const * 8576 23 AdaptiveLruPage const * 23 AdaptiveLruPage const * 0 0 2754 0 0 0 0 0 0 0 0 0 0 2754 21 AdaptiveLruPage const 8832 21 AdaptiveLruPage const 21 AdaptiveLruPage const 0 0 2644 0 0 0 0 0 0 0 0 0 0 2755 17 AdaptiveLruPage * 8576 17 AdaptiveLruPage * 17 AdaptiveLruPage * 0 0 2644 0 0 0 0 0 0 0 0 0 0 2756 25 GeomVertexAnimationSpec * 8576 25 GeomVertexAnimationSpec * 25 GeomVertexAnimationSpec * 0 0 2655 0 0 0 0 0 0 0 0 0 0 2757 31 GeomVertexAnimationSpec const * 8576 31 GeomVertexAnimationSpec const * 31 GeomVertexAnimationSpec const * 0 0 2758 0 0 0 0 0 0 0 0 0 0 2758 29 GeomVertexAnimationSpec const 8832 29 GeomVertexAnimationSpec const 29 GeomVertexAnimationSpec const 0 0 2655 0 0 0 0 0 0 0 0 0 0 2759 14 InternalName * 8576 14 InternalName * 14 InternalName * 0 0 2656 0 0 0 0 0 0 0 0 0 0 2760 20 InternalName const * 8576 20 InternalName const * 20 InternalName const * 0 0 2761 0 0 0 0 0 0 0 0 0 0 2761 18 InternalName const 8832 18 InternalName const 18 InternalName const 0 0 2656 0 0 0 0 0 0 0 0 0 0 2762 10 TypeHandle 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098 //////////////////////////////////////////////////////////////////// // Class : TypeHandle // Description : TypeHandle is the identifier used to differentiate // C++ class types. Any C++ classes that inherit from // some base class, and must be differentiated at run // time, should store a static TypeHandle object that // can be queried through a static member function // named get_class_type(). Most of the time, it is also // desirable to inherit from TypedObject, which provides // some virtual functions to return the TypeHandle for a // particular instance. // // At its essence, a TypeHandle is simply a unique // identifier that is assigned by the TypeRegistry. The // TypeRegistry stores a tree of TypeHandles, so that // ancestry of a particular type may be queried, and the // type name may be retrieved for run-time display. //////////////////////////////////////////////////////////////////// 2763 12 TypeHandle * 8576 12 TypeHandle * 12 TypeHandle * 0 0 2762 0 0 0 0 0 0 0 0 0 0 2764 24 GeomVertexColumn const * 8576 24 GeomVertexColumn const * 24 GeomVertexColumn const * 0 0 2765 0 0 0 0 0 0 0 0 0 0 2765 22 GeomVertexColumn const 8832 22 GeomVertexColumn const 22 GeomVertexColumn const 0 0 2658 0 0 0 0 0 0 0 0 0 0 2766 18 GeomVertexColumn * 8576 18 GeomVertexColumn * 18 GeomVertexColumn * 0 0 2658 0 0 0 0 0 0 0 0 0 0 2767 23 GeomVertexArrayFormat * 8576 23 GeomVertexArrayFormat * 23 GeomVertexArrayFormat * 0 0 2659 0 0 0 0 0 0 0 0 0 0 2768 29 GeomVertexArrayFormat const * 8576 29 GeomVertexArrayFormat const * 29 GeomVertexArrayFormat const * 0 0 2769 0 0 0 0 0 0 0 0 0 0 2769 27 GeomVertexArrayFormat const 8832 27 GeomVertexArrayFormat const 27 GeomVertexArrayFormat const 0 0 2659 0 0 0 0 0 0 0 0 0 0 2770 27 GeomVertexArrayData const * 8576 27 GeomVertexArrayData const * 27 GeomVertexArrayData const * 0 0 2771 0 0 0 0 0 0 0 0 0 0 2771 25 GeomVertexArrayData const 8832 25 GeomVertexArrayData const 25 GeomVertexArrayData const 0 0 2674 0 0 0 0 0 0 0 0 0 0 2772 29 TypedWritableReferenceCount * 8576 29 TypedWritableReferenceCount * 29 TypedWritableReferenceCount * 0 0 2657 0 0 0 0 0 0 0 0 0 0 2773 11 GeomEnums * 8576 11 GeomEnums * 11 GeomEnums * 0 0 2647 0 0 0 0 0 0 0 0 0 0 2774 18 GeomVertexFormat * 8576 18 GeomVertexFormat * 18 GeomVertexFormat * 0 0 2660 0 0 0 0 0 0 0 0 0 0 2775 24 GeomVertexFormat const * 8576 24 GeomVertexFormat const * 24 GeomVertexFormat const * 0 0 2776 0 0 0 0 0 0 0 0 0 0 2776 22 GeomVertexFormat const 8832 22 GeomVertexFormat const 22 GeomVertexFormat const 0 0 2660 0 0 0 0 0 0 0 0 0 0 2777 22 GeomVertexData const * 8576 22 GeomVertexData const * 22 GeomVertexData const * 0 0 2778 0 0 0 0 0 0 0 0 0 0 2778 20 GeomVertexData const 8832 20 GeomVertexData const 20 GeomVertexData const 0 0 2684 0 0 0 0 0 0 0 0 0 0 2779 11 SimpleLru * 8576 11 SimpleLru * 11 SimpleLru * 0 0 2661 0 0 0 0 0 0 0 0 0 0 2780 17 SimpleLru const * 8576 17 SimpleLru const * 17 SimpleLru const * 0 0 2781 0 0 0 0 0 0 0 0 0 0 2781 15 SimpleLru const 8832 15 SimpleLru const 15 SimpleLru const 0 0 2661 0 0 0 0 0 0 0 0 0 0 2782 16 LinkedListNode * 8576 16 LinkedListNode * 16 LinkedListNode * 0 0 2662 0 0 0 0 0 0 0 0 0 0 2783 9 Namable * 8576 9 Namable * 9 Namable * 0 0 2643 0 0 0 0 0 0 0 0 0 0 2784 21 SimpleLruPage const * 8576 21 SimpleLruPage const * 21 SimpleLruPage const * 0 0 2785 0 0 0 0 0 0 0 0 0 0 2785 19 SimpleLruPage const 8832 19 SimpleLruPage const 19 SimpleLruPage const 0 0 2663 0 0 0 0 0 0 0 0 0 0 2786 15 SimpleLruPage * 8576 15 SimpleLruPage * 15 SimpleLruPage * 0 0 2663 0 0 0 0 0 0 0 0 0 0 2787 7 Mutex * 8576 7 Mutex * 7 Mutex * 0 0 2788 0 0 0 0 0 0 0 0 0 0 2788 5 Mutex 2048 5 Mutex 5 Mutex 0 0 0 0 0 0 0 0 0 0 0 0 0 2789 17 SimpleAllocator * 8576 17 SimpleAllocator * 17 SimpleAllocator * 0 0 2664 0 0 0 0 0 0 0 0 0 0 2790 22 SimpleAllocatorBlock * 8576 22 SimpleAllocatorBlock * 22 SimpleAllocatorBlock * 0 0 2665 0 0 0 0 0 0 0 0 0 0 2791 23 SimpleAllocator const * 8576 23 SimpleAllocator const * 23 SimpleAllocator const * 0 0 2792 0 0 0 0 0 0 0 0 0 0 2792 21 SimpleAllocator const 8832 21 SimpleAllocator const 21 SimpleAllocator const 0 0 2664 0 0 0 0 0 0 0 0 0 0 2793 28 SimpleAllocatorBlock const * 8576 28 SimpleAllocatorBlock const * 28 SimpleAllocatorBlock const * 0 0 2794 0 0 0 0 0 0 0 0 0 0 2794 26 SimpleAllocatorBlock const 8832 26 SimpleAllocatorBlock const 26 SimpleAllocatorBlock const 0 0 2665 0 0 0 0 0 0 0 0 0 0 2795 26 VertexDataSaveFile const * 8576 26 VertexDataSaveFile const * 26 VertexDataSaveFile const * 0 0 2796 0 0 0 0 0 0 0 0 0 0 2796 24 VertexDataSaveFile const 8832 24 VertexDataSaveFile const 24 VertexDataSaveFile const 0 0 2666 0 0 0 0 0 0 0 0 0 0 2797 22 VertexDataPage const * 8576 22 VertexDataPage const * 22 VertexDataPage const * 0 0 2798 0 0 0 0 0 0 0 0 0 0 2798 20 VertexDataPage const 8832 20 VertexDataPage const 20 VertexDataPage const 0 0 2667 0 0 0 0 0 0 0 0 0 0 2799 16 VertexDataPage * 8576 16 VertexDataPage * 16 VertexDataPage * 0 0 2667 0 0 0 0 0 0 0 0 0 0 2800 17 VertexDataBlock * 8576 17 VertexDataBlock * 17 VertexDataBlock * 0 0 2670 0 0 0 0 0 0 0 0 0 0 2801 16 VertexDataBook * 8576 16 VertexDataBook * 16 VertexDataBook * 0 0 2669 0 0 0 0 0 0 0 0 0 0 2802 20 VertexDataSaveFile * 8576 20 VertexDataSaveFile * 20 VertexDataSaveFile * 0 0 2666 0 0 0 0 0 0 0 0 0 0 2803 22 VertexDataBook const * 8576 22 VertexDataBook const * 22 VertexDataBook const * 0 0 2804 0 0 0 0 0 0 0 0 0 0 2804 20 VertexDataBook const 8832 20 VertexDataBook const 20 VertexDataBook const 0 0 2669 0 0 0 0 0 0 0 0 0 0 2805 23 VertexDataBlock const * 8576 23 VertexDataBlock const * 23 VertexDataBlock const * 0 0 2806 0 0 0 0 0 0 0 0 0 0 2806 21 VertexDataBlock const 8832 21 VertexDataBlock const 21 VertexDataBlock const 0 0 2670 0 0 0 0 0 0 0 0 0 0 2807 16 ReferenceCount * 8576 16 ReferenceCount * 16 ReferenceCount * 0 0 2671 0 0 0 0 0 0 0 0 0 0 2808 21 GeomVertexArrayData * 8576 21 GeomVertexArrayData * 21 GeomVertexArrayData * 0 0 2674 0 0 0 0 0 0 0 0 0 0 2809 9 UpdateSeq 2048 9 UpdateSeq 9 UpdateSeq 0 0 0 0 0 0 0 0 0 0 0 0 1140 //////////////////////////////////////////////////////////////////// // Class : UpdateSeq // Description : This is a sequence number that increments // monotonically. It can be used to track cache // updates, or serve as a kind of timestamp for any // changing properties. // // A special class is used instead of simply an int, so // we can elegantly handle such things as wraparound and // special cases. There are two special cases. // Firstly, a sequence number is 'initial' when it is // first created. This sequence is older than any other // sequence number. Secondly, a sequence number may be // explicitly set to 'old'. This is older than any // other sequence number except 'initial'. Finally, we // have the explicit number 'fresh', which is newer // than any other sequence number. All other sequences // are numeric and are monotonically increasing. //////////////////////////////////////////////////////////////////// 2810 11 UpdateSeq * 8576 11 UpdateSeq * 11 UpdateSeq * 0 0 2809 0 0 0 0 0 0 0 0 0 0 2811 31 GeomVertexArrayDataHandle const 8832 31 GeomVertexArrayDataHandle const 31 GeomVertexArrayDataHandle const 0 0 2676 0 0 0 0 0 0 0 0 0 0 2812 8 Thread * 8576 8 Thread * 8 Thread * 0 0 2813 0 0 0 0 0 0 0 0 0 0 2813 6 Thread 2048 6 Thread 6 Thread 0 0 0 0 0 0 0 0 0 0 0 0 668 //////////////////////////////////////////////////////////////////// // Class : Thread // Description : A thread; that is, a lightweight process. This is an // abstract base class; to use it, you must subclass // from it and redefine thread_main(). // // The thread itself will keep a reference count on the // Thread object while it is running; when the thread // returns from its root function, the Thread object // will automatically be destructed if no other pointers // are referencing it. //////////////////////////////////////////////////////////////////// 2814 33 GeomVertexArrayDataHandle const * 8576 33 GeomVertexArrayDataHandle const * 33 GeomVertexArrayDataHandle const * 0 0 2811 0 0 0 0 0 0 0 0 0 0 2815 27 GeomVertexArrayDataHandle * 8576 27 GeomVertexArrayDataHandle * 27 GeomVertexArrayDataHandle * 0 0 2676 0 0 0 0 0 0 0 0 0 0 2816 25 PreparedGraphicsObjects * 8576 25 PreparedGraphicsObjects * 25 PreparedGraphicsObjects * 0 0 2726 0 0 0 0 0 0 0 0 0 0 2817 27 GraphicsStateGuardianBase * 8576 27 GraphicsStateGuardianBase * 27 GraphicsStateGuardianBase * 0 0 2818 0 0 0 0 0 0 0 0 0 0 2818 25 GraphicsStateGuardianBase 2048 25 GraphicsStateGuardianBase 25 GraphicsStateGuardianBase 0 0 0 0 0 0 0 0 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. //////////////////////////////////////////////////////////////////// 2819 21 VertexBufferContext * 8576 21 VertexBufferContext * 21 VertexBufferContext * 0 0 2734 0 0 0 0 0 0 0 0 0 0 2820 19 CopyOnWriteObject * 8576 19 CopyOnWriteObject * 19 CopyOnWriteObject * 0 0 2675 0 0 0 0 0 0 0 0 0 0 2821 24 GeomCacheManager const * 8576 24 GeomCacheManager const * 24 GeomCacheManager const * 0 0 2822 0 0 0 0 0 0 0 0 0 0 2822 22 GeomCacheManager const 8832 22 GeomCacheManager const 22 GeomCacheManager const 0 0 2677 0 0 0 0 0 0 0 0 0 0 2823 18 GeomCacheManager * 8576 18 GeomCacheManager * 18 GeomCacheManager * 0 0 2677 0 0 0 0 0 0 0 0 0 0 2824 23 VertexTransform const * 8576 23 VertexTransform const * 23 VertexTransform const * 0 0 2825 0 0 0 0 0 0 0 0 0 0 2825 21 VertexTransform const 8832 21 VertexTransform const 21 VertexTransform const 0 0 2678 0 0 0 0 0 0 0 0 0 0 2826 11 LMatrix4f * 8576 11 LMatrix4f * 11 LMatrix4f * 0 0 2827 0 0 0 0 0 0 0 0 0 0 2827 9 LMatrix4f 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 3 3023 3024 3025 0 0 0 0 703 // Filename: lmatrix4_src.h // Created by: drose (15Jan99) // //////////////////////////////////////////////////////////////////// // // 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 : LMatrix4 // Description : This is a 4-by-4 transform matrix. //////////////////////////////////////////////////////////////////// 2828 17 LMatrix4f const * 8576 17 LMatrix4f const * 17 LMatrix4f const * 0 0 2829 0 0 0 0 0 0 0 0 0 0 2829 15 LMatrix4f const 8832 15 LMatrix4f const 15 LMatrix4f const 0 0 2827 0 0 0 0 0 0 0 0 0 0 2830 16 TransformTable * 8576 16 TransformTable * 16 TransformTable * 0 0 2679 0 0 0 0 0 0 0 0 0 0 2831 22 TransformTable const * 8576 22 TransformTable const * 22 TransformTable const * 0 0 2832 0 0 0 0 0 0 0 0 0 0 2832 20 TransformTable const 8832 20 TransformTable const 20 TransformTable const 0 0 2679 0 0 0 0 0 0 0 0 0 0 2833 16 TransformBlend * 8576 16 TransformBlend * 16 TransformBlend * 0 0 2680 0 0 0 0 0 0 0 0 0 0 2834 22 TransformBlend const * 8576 22 TransformBlend const * 22 TransformBlend const * 0 0 2835 0 0 0 0 0 0 0 0 0 0 2835 20 TransformBlend const 8832 20 TransformBlend const 20 TransformBlend const 0 0 2680 0 0 0 0 0 0 0 0 0 0 2836 10 LPoint3f * 8576 10 LPoint3f * 10 LPoint3f * 0 0 2837 0 0 0 0 0 0 0 0 0 0 2837 7 Vertexf 2048 8 LPoint3f 8 LPoint3f 0 0 0 0 0 0 0 0 0 0 0 0 1083 // Filename: lpoint3_src.h // Created by: drose (25Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint3 // Description : This is a three-component point in space (as opposed // to a three-component vector, which represents a // direction and a distance). Some of the methods are // slightly different between LPoint3 and LVector3; in // particular, subtraction of two points yields a // vector, while addition of a vector and a point yields // a point. //////////////////////////////////////////////////////////////////// 2838 10 LPoint4f * 8576 10 LPoint4f * 10 LPoint4f * 0 0 2839 0 0 0 0 0 0 0 0 0 0 2839 8 LPoint4f 2048 8 LPoint4f 8 LPoint4f 0 0 0 0 0 0 0 0 0 0 0 0 707 // Filename: lpoint4_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 : LPoint4 // Description : This is a four-component point in space. //////////////////////////////////////////////////////////////////// 2840 11 LVector3f * 8576 11 LVector3f * 11 LVector3f * 0 0 2841 0 0 0 0 0 0 0 0 0 0 2841 7 Normalf 2048 9 LVector3f 9 LVector3f 0 0 0 0 0 0 0 0 0 0 0 0 1086 // Filename: lvector3_src.h // Created by: drose (24Sep99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVector3 // Description : This is a three-component vector distance (as opposed // to a three-component point, which represents a // particular point in space). Some of the methods are // slightly different between LPoint3 and LVector3; in // particular, subtraction of two points yields a // vector, while addition of a vector and a point yields // a point. //////////////////////////////////////////////////////////////////// 2842 21 TransformBlendTable * 8576 21 TransformBlendTable * 21 TransformBlendTable * 0 0 2681 0 0 0 0 0 0 0 0 0 0 2843 27 TransformBlendTable const * 8576 27 TransformBlendTable const * 27 TransformBlendTable const * 0 0 2844 0 0 0 0 0 0 0 0 0 0 2844 25 TransformBlendTable const 8832 25 TransformBlendTable const 25 TransformBlendTable const 0 0 2681 0 0 0 0 0 0 0 0 0 0 2845 19 SparseArray const * 8576 19 SparseArray const * 19 SparseArray const * 0 0 2846 0 0 0 0 0 0 0 0 0 0 2846 17 SparseArray const 8832 17 SparseArray const 17 SparseArray const 0 0 2847 0 0 0 0 0 0 0 0 0 0 2847 11 SparseArray 2048 11 SparseArray 11 SparseArray 0 0 0 0 0 0 0 0 0 0 0 0 1136 //////////////////////////////////////////////////////////////////// // Class : SparseArray // Description : This class records a set of integers, where each // integer is either present or not present in the set. // // It is similar in principle and in interface to a // BitArray (which can be thought of as a set of // integers, one integer corresponding to each different // bit position), but the SparseArray is implemented as // a list of min/max subrange lists, rather than as a // bitmask. // // This makes it particularly efficient for storing sets // which consist of large sections of consecutively // included or consecutively excluded elements, with // arbitrarily large integers, but particularly // inefficient for doing boolean operations such as & or // |. // // Also, unlike BitArray, the SparseArray can store // negative integers. //////////////////////////////////////////////////////////////////// 2848 13 SparseArray * 8576 13 SparseArray * 13 SparseArray * 0 0 2847 0 0 0 0 0 0 0 0 0 0 2849 20 VertexSlider const * 8576 20 VertexSlider const * 20 VertexSlider const * 0 0 2850 0 0 0 0 0 0 0 0 0 0 2850 18 VertexSlider const 8832 18 VertexSlider const 18 VertexSlider const 0 0 2682 0 0 0 0 0 0 0 0 0 0 2851 13 SliderTable * 8576 13 SliderTable * 13 SliderTable * 0 0 2683 0 0 0 0 0 0 0 0 0 0 2852 19 SliderTable const * 8576 19 SliderTable const * 19 SliderTable const * 0 0 2853 0 0 0 0 0 0 0 0 0 0 2853 17 SliderTable const 8832 17 SliderTable const 17 SliderTable const 0 0 2683 0 0 0 0 0 0 0 0 0 0 2854 16 GeomVertexData * 8576 16 GeomVertexData * 16 GeomVertexData * 0 0 2684 0 0 0 0 0 0 0 0 0 0 2855 18 LVecBase4f const * 8576 18 LVecBase4f const * 18 LVecBase4f const * 0 0 2856 0 0 0 0 0 0 0 0 0 0 2856 16 LVecBase4f const 8832 16 LVecBase4f const 16 LVecBase4f const 0 0 2857 0 0 0 0 0 0 0 0 0 0 2857 6 Colorf 2048 10 LVecBase4f 10 LVecBase4f 0 0 0 0 0 0 0 0 0 0 0 0 265 //////////////////////////////////////////////////////////////////// // Class : LVecBase4 // Description : This is the base class for all three-component // vectors and points. //////////////////////////////////////////////////////////////////// 2858 24 AnimateVerticesRequest * 8576 24 AnimateVerticesRequest * 24 AnimateVerticesRequest * 0 0 2685 0 0 0 0 0 0 0 0 0 0 2859 30 AnimateVerticesRequest const * 8576 30 AnimateVerticesRequest const * 30 AnimateVerticesRequest const * 0 0 2860 0 0 0 0 0 0 0 0 0 0 2860 28 AnimateVerticesRequest const 8832 28 AnimateVerticesRequest const 28 AnimateVerticesRequest const 0 0 2685 0 0 0 0 0 0 0 0 0 0 2861 21 BufferContext const * 8576 21 BufferContext const * 21 BufferContext const * 0 0 2862 0 0 0 0 0 0 0 0 0 0 2862 19 BufferContext const 8832 19 BufferContext const 19 BufferContext const 0 0 2689 0 0 0 0 0 0 0 0 0 0 2863 15 BufferContext * 8576 15 BufferContext * 15 BufferContext * 0 0 2689 0 0 0 0 0 0 0 0 0 0 2864 14 SavedContext * 8576 14 SavedContext * 14 SavedContext * 0 0 2687 0 0 0 0 0 0 0 0 0 0 2865 15 GeomPrimitive * 8576 15 GeomPrimitive * 15 GeomPrimitive * 0 0 2690 0 0 0 0 0 0 0 0 0 0 2866 21 GeomPrimitive const * 8576 21 GeomPrimitive const * 21 GeomPrimitive const * 0 0 2867 0 0 0 0 0 0 0 0 0 0 2867 19 GeomPrimitive const 8832 19 GeomPrimitive const 19 GeomPrimitive const 0 0 2690 0 0 0 0 0 0 0 0 0 0 2868 8 CPTA_int 2048 26 ConstPointerToArray< int > 26 ConstPointerToArray< int > 0 0 0 0 0 0 0 0 0 0 0 0 0 2869 28 ConstPointerToArray< int > * 8576 28 ConstPointerToArray< int > * 28 ConstPointerToArray< int > * 0 0 2868 0 0 0 0 0 0 0 0 0 0 2870 7 PTA_int 2048 21 PointerToArray< int > 21 PointerToArray< int > 0 0 0 0 0 0 0 0 0 0 0 0 0 2871 23 PointerToArray< int > * 8576 23 PointerToArray< int > * 23 PointerToArray< int > * 0 0 2870 0 0 0 0 0 0 0 0 0 0 2872 14 TextureStage * 8576 14 TextureStage * 14 TextureStage * 0 0 2691 0 0 0 0 0 0 0 0 0 0 2873 20 TextureStage const * 8576 20 TextureStage const * 20 TextureStage const * 0 0 2874 0 0 0 0 0 0 0 0 0 0 2874 18 TextureStage const 8832 18 TextureStage const 18 TextureStage const 0 0 2691 0 0 0 0 0 0 0 0 0 0 2875 12 LVecBase4f * 8576 12 LVecBase4f * 12 LVecBase4f * 0 0 2857 0 0 0 0 0 0 0 0 0 0 2876 6 Geom * 8576 6 Geom * 6 Geom * 0 0 2696 0 0 0 0 0 0 0 0 0 0 2877 12 Geom const * 8576 12 Geom const * 12 Geom const * 0 0 2878 0 0 0 0 0 0 0 0 0 0 2878 10 Geom const 8832 10 Geom const 10 Geom const 0 0 2696 0 0 0 0 0 0 0 0 0 0 2879 20 BoundingVolume const 8832 20 BoundingVolume const 20 BoundingVolume const 0 0 2880 0 0 0 0 0 0 0 0 0 0 2880 14 BoundingVolume 2048 14 BoundingVolume 14 BoundingVolume 0 0 0 0 0 0 0 0 0 0 0 0 596 //////////////////////////////////////////////////////////////////// // Class : BoundingVolume // Description : This is an abstract class for any volume in any sense // which can be said to define the locality of reference // of a node in a graph, along with all of its // descendants. It is not necessarily a geometric // volume (although see GeometricBoundingVolume); this // is simply an abstract interface for bounds of any // sort. //////////////////////////////////////////////////////////////////// 2881 22 BoundingVolume const * 8576 22 BoundingVolume const * 22 BoundingVolume const * 0 0 2879 0 0 0 0 0 0 0 0 0 0 2882 10 BoundsType 794624 26 BoundingVolume::BoundsType 26 BoundingVolume::BoundsType 2880 0 0 0 0 0 0 0 0 0 4 10 BT_default 26 BoundingVolume::BT_default 0 7 BT_best 23 BoundingVolume::BT_best 1 9 BT_sphere 25 BoundingVolume::BT_sphere 2 6 BT_box 22 BoundingVolume::BT_box 3 0 80 // This enum is used to control the automatic generation of bounding // volumes. 2883 13 GeomContext * 8576 13 GeomContext * 13 GeomContext * 0 0 2697 0 0 0 0 0 0 0 0 0 0 2884 19 GeomContext const * 8576 19 GeomContext const * 19 GeomContext const * 0 0 2885 0 0 0 0 0 0 0 0 0 0 2885 17 GeomContext const 8832 17 GeomContext const 17 GeomContext const 0 0 2697 0 0 0 0 0 0 0 0 0 0 2886 11 GeomLines * 8576 11 GeomLines * 11 GeomLines * 0 0 2698 0 0 0 0 0 0 0 0 0 0 2887 17 GeomLines const * 8576 17 GeomLines const * 17 GeomLines const * 0 0 2888 0 0 0 0 0 0 0 0 0 0 2888 15 GeomLines const 8832 15 GeomLines const 15 GeomLines const 0 0 2698 0 0 0 0 0 0 0 0 0 0 2889 16 GeomLinestrips * 8576 16 GeomLinestrips * 16 GeomLinestrips * 0 0 2699 0 0 0 0 0 0 0 0 0 0 2890 22 GeomLinestrips const * 8576 22 GeomLinestrips const * 22 GeomLinestrips const * 0 0 2891 0 0 0 0 0 0 0 0 0 0 2891 20 GeomLinestrips const 8832 20 GeomLinestrips const 20 GeomLinestrips const 0 0 2699 0 0 0 0 0 0 0 0 0 0 2892 12 GeomPoints * 8576 12 GeomPoints * 12 GeomPoints * 0 0 2700 0 0 0 0 0 0 0 0 0 0 2893 18 GeomPoints const * 8576 18 GeomPoints const * 18 GeomPoints const * 0 0 2894 0 0 0 0 0 0 0 0 0 0 2894 16 GeomPoints const 8832 16 GeomPoints const 16 GeomPoints const 0 0 2700 0 0 0 0 0 0 0 0 0 0 2895 15 GeomTriangles * 8576 15 GeomTriangles * 15 GeomTriangles * 0 0 2701 0 0 0 0 0 0 0 0 0 0 2896 21 GeomTriangles const * 8576 21 GeomTriangles const * 21 GeomTriangles const * 0 0 2897 0 0 0 0 0 0 0 0 0 0 2897 19 GeomTriangles const 8832 19 GeomTriangles const 19 GeomTriangles const 0 0 2701 0 0 0 0 0 0 0 0 0 0 2898 13 GeomTrifans * 8576 13 GeomTrifans * 13 GeomTrifans * 0 0 2702 0 0 0 0 0 0 0 0 0 0 2899 19 GeomTrifans const * 8576 19 GeomTrifans const * 19 GeomTrifans const * 0 0 2900 0 0 0 0 0 0 0 0 0 0 2900 17 GeomTrifans const 8832 17 GeomTrifans const 17 GeomTrifans const 0 0 2702 0 0 0 0 0 0 0 0 0 0 2901 15 GeomTristrips * 8576 15 GeomTristrips * 15 GeomTristrips * 0 0 2703 0 0 0 0 0 0 0 0 0 0 2902 21 GeomTristrips const * 8576 21 GeomTristrips const * 21 GeomTristrips const * 0 0 2903 0 0 0 0 0 0 0 0 0 0 2903 19 GeomTristrips const 8832 19 GeomTristrips const 19 GeomTristrips const 0 0 2703 0 0 0 0 0 0 0 0 0 0 2904 18 GeomVertexReader * 8576 18 GeomVertexReader * 18 GeomVertexReader * 0 0 2704 0 0 0 0 0 0 0 0 0 0 2905 24 GeomVertexReader const * 8576 24 GeomVertexReader const * 24 GeomVertexReader const * 0 0 2906 0 0 0 0 0 0 0 0 0 0 2906 22 GeomVertexReader const 8832 22 GeomVertexReader const 22 GeomVertexReader const 0 0 2704 0 0 0 0 0 0 0 0 0 0 2907 18 LVecBase2f const * 8576 18 LVecBase2f const * 18 LVecBase2f const * 0 0 2908 0 0 0 0 0 0 0 0 0 0 2908 16 LVecBase2f const 8832 16 LVecBase2f const 16 LVecBase2f const 0 0 2909 0 0 0 0 0 0 0 0 0 0 2909 10 LVecBase2f 2048 10 LVecBase2f 10 LVecBase2f 0 0 0 0 0 0 0 0 0 0 0 0 805 // Filename: lvecBase2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //typedef struct {FLOATTYPE _0, _1} FLOATNAME(data); //////////////////////////////////////////////////////////////////// // Class : LVecBase2 // Description : This is the base class for all two-component // vectors and points. //////////////////////////////////////////////////////////////////// 2910 18 LVecBase3f const * 8576 18 LVecBase3f const * 18 LVecBase3f const * 0 0 2911 0 0 0 0 0 0 0 0 0 0 2911 16 LVecBase3f const 8832 16 LVecBase3f const 16 LVecBase3f const 0 0 2912 0 0 0 0 0 0 0 0 0 0 2912 9 RGBColorf 2048 10 LVecBase3f 10 LVecBase3f 0 0 0 0 0 0 0 0 0 0 0 0 754 // Filename: lvecBase3_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVecBase3 // Description : This is the base class for all three-component // vectors and points. //////////////////////////////////////////////////////////////////// 2913 18 GeomVertexWriter * 8576 18 GeomVertexWriter * 18 GeomVertexWriter * 0 0 2705 0 0 0 0 0 0 0 0 0 0 2914 24 GeomVertexWriter const * 8576 24 GeomVertexWriter const * 24 GeomVertexWriter const * 0 0 2915 0 0 0 0 0 0 0 0 0 0 2915 22 GeomVertexWriter const 8832 22 GeomVertexWriter const 22 GeomVertexWriter const 0 0 2705 0 0 0 0 0 0 0 0 0 0 2916 20 GeomVertexRewriter * 8576 20 GeomVertexRewriter * 20 GeomVertexRewriter * 0 0 2706 0 0 0 0 0 0 0 0 0 0 2917 26 GeomVertexRewriter const * 8576 26 GeomVertexRewriter const * 26 GeomVertexRewriter const * 0 0 2918 0 0 0 0 0 0 0 0 0 0 2918 24 GeomVertexRewriter const 8832 24 GeomVertexRewriter const 24 GeomVertexRewriter const 0 0 2706 0 0 0 0 0 0 0 0 0 0 2919 16 Material const * 8576 16 Material const * 16 Material const * 0 0 2920 0 0 0 0 0 0 0 0 0 0 2920 14 Material const 8832 14 Material const 14 Material const 0 0 2707 0 0 0 0 0 0 0 0 0 0 2921 10 Material * 8576 10 Material * 10 Material * 0 0 2707 0 0 0 0 0 0 0 0 0 0 2922 12 Lens const * 8576 12 Lens const * 12 Lens const * 0 0 2923 0 0 0 0 0 0 0 0 0 0 2923 10 Lens const 8832 10 Lens const 10 Lens const 0 0 2708 0 0 0 0 0 0 0 0 0 0 2924 6 Lens * 8576 6 Lens * 6 Lens * 0 0 2708 0 0 0 0 0 0 0 0 0 0 2925 16 LPoint2f const * 8576 16 LPoint2f const * 16 LPoint2f const * 0 0 2926 0 0 0 0 0 0 0 0 0 0 2926 14 LPoint2f const 8832 14 LPoint2f const 14 LPoint2f const 0 0 2927 0 0 0 0 0 0 0 0 0 0 2927 9 TexCoordf 2048 8 LPoint2f 8 LPoint2f 0 0 0 0 0 0 0 0 0 0 0 0 706 // Filename: lpoint2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LPoint2 // Description : This is a two-component point in space. //////////////////////////////////////////////////////////////////// 2928 16 LPoint3f const * 8576 16 LPoint3f const * 16 LPoint3f const * 0 0 2929 0 0 0 0 0 0 0 0 0 0 2929 14 LPoint3f const 8832 14 LPoint3f const 14 LPoint3f const 0 0 2837 0 0 0 0 0 0 0 0 0 0 2930 10 LPoint2f * 8576 10 LPoint2f * 10 LPoint2f * 0 0 2927 0 0 0 0 0 0 0 0 0 0 2931 16 CoordinateSystem 532480 16 CoordinateSystem 16 CoordinateSystem 0 0 0 0 0 0 0 0 0 0 6 10 CS_default 10 CS_default 0 12 CS_zup_right 12 CS_zup_right 1 12 CS_yup_right 12 CS_yup_right 2 11 CS_zup_left 11 CS_zup_left 3 11 CS_yup_left 11 CS_yup_left 4 10 CS_invalid 10 CS_invalid 5 0 0 2932 17 LVector2f const * 8576 17 LVector2f const * 17 LVector2f const * 0 0 2933 0 0 0 0 0 0 0 0 0 0 2933 15 LVector2f const 8832 15 LVector2f const 15 LVector2f const 0 0 2934 0 0 0 0 0 0 0 0 0 0 2934 9 LVector2f 2048 9 LVector2f 9 LVector2f 0 0 0 0 0 0 0 0 0 0 0 0 707 // Filename: lvector2_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVector2 // Description : This is a two-component vector offset. //////////////////////////////////////////////////////////////////// 2935 17 LVector3f const * 8576 17 LVector3f const * 17 LVector3f const * 0 0 2936 0 0 0 0 0 0 0 0 0 0 2936 15 LVector3f const 8832 15 LVector3f const 15 LVector3f const 0 0 2841 0 0 0 0 0 0 0 0 0 0 2937 16 BoundingVolume * 8576 16 BoundingVolume * 16 BoundingVolume * 0 0 2880 0 0 0 0 0 0 0 0 0 0 2938 18 OrthographicLens * 8576 18 OrthographicLens * 18 OrthographicLens * 0 0 2711 0 0 0 0 0 0 0 0 0 0 2939 12 MatrixLens * 8576 12 MatrixLens * 12 MatrixLens * 0 0 2712 0 0 0 0 0 0 0 0 0 0 2940 18 MatrixLens const * 8576 18 MatrixLens const * 18 MatrixLens const * 0 0 2941 0 0 0 0 0 0 0 0 0 0 2941 16 MatrixLens const 8832 16 MatrixLens const 16 MatrixLens const 0 0 2712 0 0 0 0 0 0 0 0 0 0 2942 17 PerspectiveLens * 8576 17 PerspectiveLens * 17 PerspectiveLens * 0 0 2713 0 0 0 0 0 0 0 0 0 0 2943 9 Texture * 8576 9 Texture * 9 Texture * 0 0 2714 0 0 0 0 0 0 0 0 0 0 2944 16 Filename const * 8576 16 Filename const * 16 Filename const * 0 0 2945 0 0 0 0 0 0 0 0 0 0 2945 14 Filename const 8832 14 Filename const 14 Filename const 0 0 2946 0 0 0 0 0 0 0 0 0 0 2946 8 Filename 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 869 //////////////////////////////////////////////////////////////////// // Class : Filename // Description : The name of a file, such as a texture file or an Egg // file. Stores the full pathname, and includes // functions for extracting out the directory prefix // part and the file extension and stuff. // // A Filename is also aware of the mapping between the // Unix-like filename convention we use internally, and // the local OS's specific filename convention, and it // knows how to perform basic OS-specific I/O, like // testing for file existence and searching a // searchpath, as well as the best way to open an // fstream for reading or writing. //////////////////////////////////////////////////////////////////// 2947 21 LoaderOptions const * 8576 21 LoaderOptions const * 21 LoaderOptions const * 0 0 2948 0 0 0 0 0 0 0 0 0 0 2948 19 LoaderOptions const 8832 19 LoaderOptions const 19 LoaderOptions const 0 0 2949 0 0 0 0 0 0 0 0 0 0 2949 13 LoaderOptions 2048 13 LoaderOptions 13 LoaderOptions 0 0 0 0 0 0 0 0 0 0 0 0 257 //////////////////////////////////////////////////////////////////// // Class : LoaderOptions // Description : Specifies parameters that may be passed to the // loader. //////////////////////////////////////////////////////////////////// 2950 16 BamCacheRecord * 8576 16 BamCacheRecord * 16 BamCacheRecord * 0 0 2951 0 0 0 0 0 0 0 0 0 0 2951 14 BamCacheRecord 2048 14 BamCacheRecord 14 BamCacheRecord 0 0 0 0 0 0 0 0 0 0 0 0 469 //////////////////////////////////////////////////////////////////// // Class : BamCacheRecord // Description : An instance of this class is written to the front of // a Bam or Txo file to make the file a cached instance // of some other loadable resource. This record // contains information needed to test the validity of // the cache. //////////////////////////////////////////////////////////////////// 2952 15 Texture const * 8576 15 Texture const * 15 Texture const * 0 0 2953 0 0 0 0 0 0 0 0 0 0 2953 13 Texture const 8832 13 Texture const 13 Texture const 0 0 2714 0 0 0 0 0 0 0 0 0 0 2954 9 istream * 8576 9 istream * 9 istream * 0 0 2955 0 0 0 0 0 0 0 0 0 0 2955 7 istream 2048 7 istream 7 istream 0 0 0 0 0 0 0 0 0 0 0 0 0 2956 16 PNMImage const * 8576 16 PNMImage const * 16 PNMImage const * 0 0 2957 0 0 0 0 0 0 0 0 0 0 2957 14 PNMImage const 8832 14 PNMImage const 14 PNMImage const 0 0 2958 0 0 0 0 0 0 0 0 0 0 2958 8 PNMImage 2048 8 PNMImage 8 PNMImage 0 0 0 0 0 0 0 0 0 0 0 0 1506 //////////////////////////////////////////////////////////////////// // Class : PNMImage // Description : The name of this class derives from the fact that we // originally implemented it as a layer on top of the // "pnm library", based on netpbm, which was built to // implement pbm, pgm, and pbm files, and is the // underlying support of a number of public-domain image // file converters. Nowadays we are no longer derived // directly from the pnm library, mainly to allow // support of C++ iostreams instead of the C stdio FILE // interface. // // Conceptually, a PNMImage is a two-dimensional array // of xels, which are the PNM-defined generic pixel // type. Each xel may have a red, green, and blue // component, or (if the image is grayscale) a gray // component. The image may be read in, the individual // xels manipulated, and written out again, or a black // image may be constructed from scratch. // // The image is of size XSize() by YSize() xels, // numbered from top to bottom, left to right, beginning // at zero. // // Files can be specified by filename, or by an iostream // pointer. The filename "-" refers to stdin or stdout. //////////////////////////////////////////////////////////////////// 2959 10 PNMImage * 8576 10 PNMImage * 10 PNMImage * 0 0 2958 0 0 0 0 0 0 0 0 0 0 2960 10 CPTA_uchar 2048 36 ConstPointerToArray< unsigned char > 36 ConstPointerToArray< unsigned char > 0 0 0 0 0 0 0 0 0 0 0 0 0 2961 38 ConstPointerToArray< unsigned char > * 8576 38 ConstPointerToArray< unsigned char > * 38 ConstPointerToArray< unsigned char > * 0 0 2960 0 0 0 0 0 0 0 0 0 0 2962 9 PTA_uchar 2048 31 PointerToArray< unsigned char > 31 PointerToArray< unsigned char > 0 0 0 0 0 0 0 0 0 0 0 0 0 2963 33 PointerToArray< unsigned char > * 8576 33 PointerToArray< unsigned char > * 33 PointerToArray< unsigned char > * 0 0 2962 0 0 0 0 0 0 0 0 0 0 2964 7 __int64 8226 7 __int64 7 __int64 0 8 0 0 0 0 0 0 0 0 0 0 0 2965 15 TexturePeeker * 8576 15 TexturePeeker * 15 TexturePeeker * 0 0 2739 0 0 0 0 0 0 0 0 0 0 2966 21 TypedReferenceCount * 8576 21 TypedReferenceCount * 21 TypedReferenceCount * 0 0 2723 0 0 0 0 0 0 0 0 0 0 2967 16 TextureContext * 8576 16 TextureContext * 16 TextureContext * 0 0 2728 0 0 0 0 0 0 0 0 0 0 2968 8 Shader * 8576 8 Shader * 8 Shader * 0 0 2722 0 0 0 0 0 0 0 0 0 0 2969 14 Shader const * 8576 14 Shader const * 14 Shader const * 0 0 2970 0 0 0 0 0 0 0 0 0 0 2970 12 Shader const 8832 12 Shader const 12 Shader const 0 0 2722 0 0 0 0 0 0 0 0 0 0 2971 15 ShaderContext * 8576 15 ShaderContext * 15 ShaderContext * 0 0 2729 0 0 0 0 0 0 0 0 0 0 2972 31 PreparedGraphicsObjects const * 8576 31 PreparedGraphicsObjects const * 31 PreparedGraphicsObjects const * 0 0 2973 0 0 0 0 0 0 0 0 0 0 2973 29 PreparedGraphicsObjects const 8832 29 PreparedGraphicsObjects const 29 PreparedGraphicsObjects const 0 0 2726 0 0 0 0 0 0 0 0 0 0 2974 20 IndexBufferContext * 8576 20 IndexBufferContext * 20 IndexBufferContext * 0 0 2735 0 0 0 0 0 0 0 0 0 0 2975 22 TextureReloadRequest * 8576 22 TextureReloadRequest * 22 TextureReloadRequest * 0 0 2727 0 0 0 0 0 0 0 0 0 0 2976 28 TextureReloadRequest const * 8576 28 TextureReloadRequest const * 28 TextureReloadRequest const * 0 0 2977 0 0 0 0 0 0 0 0 0 0 2977 26 TextureReloadRequest const 8832 26 TextureReloadRequest const 26 TextureReloadRequest const 0 0 2727 0 0 0 0 0 0 0 0 0 0 2978 22 TextureContext const * 8576 22 TextureContext const * 22 TextureContext const * 0 0 2979 0 0 0 0 0 0 0 0 0 0 2979 20 TextureContext const 8832 20 TextureContext const 20 TextureContext const 0 0 2728 0 0 0 0 0 0 0 0 0 0 2980 21 ShaderContext const * 8576 21 ShaderContext const * 21 ShaderContext const * 0 0 2981 0 0 0 0 0 0 0 0 0 0 2981 19 ShaderContext const 8832 19 ShaderContext const 19 ShaderContext const 0 0 2729 0 0 0 0 0 0 0 0 0 0 2982 18 UserVertexSlider * 8576 18 UserVertexSlider * 18 UserVertexSlider * 0 0 2730 0 0 0 0 0 0 0 0 0 0 2983 21 UserVertexTransform * 8576 21 UserVertexTransform * 21 UserVertexTransform * 0 0 2731 0 0 0 0 0 0 0 0 0 0 2984 27 UserVertexTransform const * 8576 27 UserVertexTransform const * 27 UserVertexTransform const * 0 0 2985 0 0 0 0 0 0 0 0 0 0 2985 25 UserVertexTransform const 8832 25 UserVertexTransform const 25 UserVertexTransform const 0 0 2731 0 0 0 0 0 0 0 0 0 0 2986 20 VideoTexture const * 8576 20 VideoTexture const * 20 VideoTexture const * 0 0 2987 0 0 0 0 0 0 0 0 0 0 2987 18 VideoTexture const 8832 18 VideoTexture const 18 VideoTexture const 0 0 2732 0 0 0 0 0 0 0 0 0 0 2988 12 LVecBase2f * 8576 12 LVecBase2f * 12 LVecBase2f * 0 0 2909 0 0 0 0 0 0 0 0 0 0 2989 14 VideoTexture * 8576 14 VideoTexture * 14 VideoTexture * 0 0 2732 0 0 0 0 0 0 0 0 0 0 2990 15 AnimInterface * 8576 15 AnimInterface * 15 AnimInterface * 0 0 2733 0 0 0 0 0 0 0 0 0 0 2991 27 VertexBufferContext const * 8576 27 VertexBufferContext const * 27 VertexBufferContext const * 0 0 2992 0 0 0 0 0 0 0 0 0 0 2992 25 VertexBufferContext const 8832 25 VertexBufferContext const 25 VertexBufferContext const 0 0 2734 0 0 0 0 0 0 0 0 0 0 2993 26 IndexBufferContext const * 8576 26 IndexBufferContext const * 26 IndexBufferContext const * 0 0 2994 0 0 0 0 0 0 0 0 0 0 2994 24 IndexBufferContext const 8832 24 IndexBufferContext const 24 IndexBufferContext const 0 0 2735 0 0 0 0 0 0 0 0 0 0 2995 35 GeomPrimitivePipelineReader const * 8576 35 GeomPrimitivePipelineReader const * 35 GeomPrimitivePipelineReader const * 0 0 2996 0 0 0 0 0 0 0 0 0 0 2996 33 GeomPrimitivePipelineReader const 8832 33 GeomPrimitivePipelineReader const 33 GeomPrimitivePipelineReader const 0 0 2997 0 0 0 0 0 0 0 0 0 0 2997 27 GeomPrimitivePipelineReader 1050624 27 GeomPrimitivePipelineReader 27 GeomPrimitivePipelineReader 0 0 0 0 0 0 0 0 0 0 0 0 303 //////////////////////////////////////////////////////////////////// // Class : GeomPrimitivePipelineReader // Description : Encapsulates the data from a GeomPrimitive, // pre-fetched for one stage of the pipeline. //////////////////////////////////////////////////////////////////// 2998 19 TextureCollection * 8576 19 TextureCollection * 19 TextureCollection * 0 0 2737 0 0 0 0 0 0 0 0 0 0 2999 10 PyObject * 8576 10 PyObject * 10 PyObject * 0 0 3000 0 0 0 0 0 0 0 0 0 0 3000 8 PyObject 2048 8 PyObject 8 PyObject 0 0 0 0 0 0 0 0 0 0 0 0 0 3001 25 TextureCollection const * 8576 25 TextureCollection const * 25 TextureCollection const * 0 0 3002 0 0 0 0 0 0 0 0 0 0 3002 23 TextureCollection const 8832 23 TextureCollection const 23 TextureCollection const 0 0 2737 0 0 0 0 0 0 0 0 0 0 3003 21 TexturePeeker const * 8576 21 TexturePeeker const * 21 TexturePeeker const * 0 0 3004 0 0 0 0 0 0 0 0 0 0 3004 19 TexturePeeker const 8832 19 TexturePeeker const 19 TexturePeeker const 0 0 2739 0 0 0 0 0 0 0 0 0 0 3005 6 string 2048 20 basic_string< char > 20 basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 3006 0 112 11 get_columns 15 get_num_columns 10 get_column 3007 0 140 10 get_arrays 14 get_num_arrays 9 get_array 3008 0 140 11 get_columns 15 get_num_columns 10 get_column 3009 0 140 10 get_points 14 get_num_points 9 get_point 3010 0 140 11 get_vectors 15 get_num_vectors 10 get_vector 3011 0 140 13 get_texcoords 17 get_num_texcoords 12 get_texcoord 3012 0 140 17 get_morph_sliders 14 get_num_morphs 16 get_morph_slider 3013 0 140 15 get_morph_bases 14 get_num_morphs 14 get_morph_base 3014 0 140 16 get_morph_deltas 14 get_num_morphs 15 get_morph_delta 3015 0 380 14 get_transforms 18 get_num_transforms 13 get_transform 3016 0 393 14 get_transforms 18 get_num_transforms 13 get_transform 3017 0 418 10 get_blends 14 get_num_blends 9 get_blend 3018 0 441 11 get_sliders 15 get_num_sliders 10 get_slider 3019 0 459 10 get_arrays 14 get_num_arrays 9 get_array 3020 0 533 12 get_vertices 16 get_num_vertices 10 get_vertex 3021 0 662 14 get_primitives 18 get_num_primitives 13 get_primitive 3022 0 1286 12 get_textures 16 get_num_textures 11 get_texture 3023 0 1786 8 get_rows 4 size 7 get_row 3024 0 1786 8 get_cols 4 size 7 get_col 3025 0 1786 9 get_row3s 4 size 8 get_row3