| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /**
- * 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."
- *
- * @file fltGeometry.I
- * @author drose
- * @date 2001-02-28
- */
- /**
- * Returns true if the face has a texture applied, false otherwise.
- */
- INLINE bool FltGeometry::
- has_texture() const {
- return (_texture_index >= 0 && _header->has_texture(_texture_index));
- }
- /**
- * Returns the texture applied to this face, or NULL if no texture was
- * applied.
- */
- INLINE FltTexture *FltGeometry::
- get_texture() const {
- return _header->get_texture(_texture_index);
- }
- /**
- * Applies the indicated texture to this face, or if the texture is NULL,
- * clears it.
- */
- INLINE void FltGeometry::
- set_texture(FltTexture *texture) {
- if (texture == nullptr) {
- _texture_index = -1;
- } else {
- _header->add_texture(texture);
- _texture_index = texture->_pattern_index;
- }
- }
- /**
- * Returns true if the face has a material applied, false otherwise.
- */
- INLINE bool FltGeometry::
- has_material() const {
- return (_material_index >= 0 && _header->has_material(_material_index));
- }
- /**
- * Returns the material applied to this face, or NULL if no material was
- * applied.
- */
- INLINE FltMaterial *FltGeometry::
- get_material() const {
- return _header->get_material(_material_index);
- }
- /**
- * Applies the indicated material to this face, or if the material is NULL,
- * clears it.
- */
- INLINE void FltGeometry::
- set_material(FltMaterial *material) {
- if (material == nullptr) {
- _material_index = -1;
- } else {
- _header->add_material(material);
- _material_index = material->_material_index;
- }
- }
- /**
- * Returns true if the face has a primary color indicated, false otherwise.
- */
- INLINE bool FltGeometry::
- has_color() const {
- // Even if the no_color bit is not set, if the color_index is -1, the face
- // doesn't have a color (unless we've got packed color). On the other hand,
- // if we have a material than we always have color.
- return ((_flags & F_no_color) == 0 &&
- (_color_index != -1 || ((_flags & F_packed_color) != 0)))
- || has_material();
- }
|