nux-1.14.0
nux::CachedVertexDeclaration Class Reference
Inheritance diagram for nux::CachedVertexDeclaration:
nux::CachedResourceData nux::Object nux::Trackable nux::Introspectable

List of all members.

Public Member Functions

 CachedVertexDeclaration (NResourceSet *ResourceManager, VertexDeclaration *Resource)
bool UpdateResource (ResourceData *Resource)

Public Attributes

ObjectPtr
< IOpenGLVertexDeclaration
_declaration

Detailed Description

Definition at line 143 of file GLVertexResourceManager.h.


Member Function Documentation

bool nux::CachedVertexDeclaration::UpdateResource ( ResourceData Resource) [virtual]

Updates the resource.

Implements nux::CachedResourceData.

Definition at line 461 of file GLVertexResourceManager.cpp.

  {
    if (Source == 0)
    {
      _declaration = ObjectPtr<IOpenGLVertexDeclaration> (0);
      return true;
    }

    VertexDeclaration *SourceVertexDeclaration = 0;
    nuxAssert (Source->Type().IsDerivedFromType (VertexDeclaration::StaticObjectType) );

    if (Source->Type().IsDerivedFromType (VertexDeclaration::StaticObjectType) )
    {
      SourceVertexDeclaration = NUX_STATIC_CAST (VertexDeclaration *, Source);
    }
    else
    {
      return false;
    }

    if (SourceVertexDeclaration == 0)
    {
      _declaration = ObjectPtr<IOpenGLVertexDeclaration> (0);
      return true;
    }

    _declaration = GetGraphicsDisplay()->GetGpuDevice()->CreateVertexDeclaration (&SourceVertexDeclaration->_declaration[0]);
    return true;
  }

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends