Ignore:
Timestamp:
06/09/06 14:26:57 (18 years ago)
Author:
gumbau
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoVertexBuffer.cpp

    r774 r1009  
    33using namespace Geometry; 
    44 
    5 //--------------------------------------------------------------------- 
     5//--------------------------------------------------------------------------- 
     6//      Destroyer. 
     7//--------------------------------------------------------------------------- 
    68VertexBuffer::~VertexBuffer() 
    79{ 
    8         delete[] mPosition; 
    9         delete[] mNormal; 
    10         delete[] mTexCoords; 
     10        delete  [] mPosition; 
     11        delete  [] mNormal; 
     12        delete  [] mTexCoords; 
    1113} 
    1214 
    13 //--------------------------------------------------------------------- 
     15//--------------------------------------------------------------------------- 
     16//      Save to a serializer. 
     17//--------------------------------------------------------------------------- 
    1418void VertexBuffer::Save(Serializer &s) 
    1519{ 
    16         s.WriteArray(&mVertexInfo,1); 
    17         s.WriteArray(&mVertexCount,1); 
     20        s.WriteArray(&mVertexInfo,      1); 
     21        s.WriteArray(&mVertexCount,     1); 
     22         
    1823        if (mVertexInfo & VERTEX_POSITION) 
    1924        { 
     
    3035} 
    3136 
    32 //--------------------------------------------------------------------- 
     37//--------------------------------------------------------------------------- 
     38//      Loads from a serializer. 
     39//--------------------------------------------------------------------------- 
    3340void VertexBuffer::Load(Serializer &s) 
    3441{ 
    35         //Clear data 
    36         delete[] mPosition;  mPosition = 0; 
    37         delete[] mNormal;    mNormal = 0; 
    38         delete[] mTexCoords; mTexCoords = 0; 
     42        //      Clear data. 
     43        delete  []      mPosition; 
     44         
     45        mPosition = 0; 
     46         
     47        delete  []      mNormal; 
     48         
     49        mNormal =       0; 
     50         
     51        delete  []      mTexCoords; 
     52         
     53        mTexCoords      =       0; 
    3954 
    4055        s.ReadArray(&mVertexInfo,1); 
    4156        s.ReadArray(&mVertexCount,1); 
     57         
    4258        if (mVertexInfo & VERTEX_POSITION) 
    4359        { 
    44                 mPosition = new Vector3[mVertexCount]; 
     60                mPosition       =       new Vector3[mVertexCount]; 
     61                 
    4562                s.ReadArray(mPosition, mVertexCount); 
    4663        } 
     64         
    4765        if (mVertexInfo & VERTEX_NORMAL) 
    4866        { 
    49                 mNormal = new Vector3[mVertexCount]; 
     67                mNormal =       new Vector3[mVertexCount]; 
     68                 
    5069                s.ReadArray(mNormal, mVertexCount); 
    5170        } 
     71         
    5272        if (mVertexInfo & VERTEX_TEXCOORDS) 
    5373        { 
    54                 mTexCoords = new Vector2[mVertexCount]; 
     74                mTexCoords      =       new Vector2[mVertexCount]; 
     75                 
    5576                s.ReadArray(mTexCoords, mVertexCount); 
    5677        } 
    5778} 
    5879 
    59 //--------------------------------------------------------------------- 
     80//--------------------------------------------------------------------------- 
     81//      Copy contents of vertex buffer to another. 
     82//--------------------------------------------------------------------------- 
    6083VertexBuffer *VertexBuffer::Clone() const 
    6184{ 
    62         VertexBuffer *vnew = new VertexBuffer(); 
    63         vnew->mVertexInfo = mVertexInfo; 
    64         vnew->mVertexCount = mVertexCount; 
    65         vnew->mPosition = new Vector3[mVertexCount]; 
    66         vnew->mNormal = new Vector3[mVertexCount]; 
    67         vnew->mTexCoords = new Vector2[mVertexCount]; 
     85        VertexBuffer *vnew      =       new VertexBuffer(); 
     86        vnew->mVertexInfo               =       mVertexInfo; 
     87        vnew->mVertexCount      =       mVertexCount; 
     88        vnew->mPosition                 =       new Vector3[mVertexCount]; 
     89        vnew->mNormal                           =       new Vector3[mVertexCount]; 
     90        vnew->mTexCoords                =       new Vector2[mVertexCount]; 
    6891 
    6992        memcpy(vnew->mPosition, mPosition, mVertexCount*sizeof(Vector3)); 
    7093        memcpy(vnew->mNormal, mNormal, mVertexCount*sizeof(Vector3)); 
    7194        memcpy(vnew->mTexCoords, mTexCoords, mVertexCount*sizeof(Vector2)); 
    72         return vnew; 
     95         
     96        return  vnew; 
    7397} 
     98 
Note: See TracChangeset for help on using the changeset viewer.