Ignore:
Timestamp:
Feb 20, 2006 8:47:50 PM (18 years ago)
Author:
cxsong
Message:

additions to makefile, error codes, changes to element.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/mesh/element.h

    r194 r202  
    44#include <iostream>
    55#include <vector>
    6 #include "node.h"
     6#include "node3d.h"
    77#include "util.h"
    88
     
    1111// in a mesh.
    1212//
    13 // Example:
    14 //      int nodeIDs[8];
    15 //      RpElement elements[10];
    16 //
    17 //      // set ids for all elements
    18 //      for (int i=0; i<10; i++)
    19 //              elements[i].id(i);
    20 //
    21 //      // create node list for element 0
    22 //      nodeIDs[0] = 0;
    23 //      nodeIDs[1] = 1;
    24 //      nodeIDs[2] = 5;
    25 //      nodeIDs[3] = 6;
    26 //      nodeIDs[4] = 25;
    27 //      nodeIDs[5] = 26;
    28 //      nodeIDs[6] = 30;
    29 //      nodeIDs[7] = 31;
    30 //      element[0].addNodes(nodeIDs, 8);
    31 //
    32 //      nodeIDs[0] = 1;
    33 //      nodeIDs[1] = 2;
    34 //      nodeIDs[2] = 6;
    35 //      nodeIDs[3] = 7;
    36 //      nodeIDs[4] = 26;
    37 //      nodeIDs[5] = 27;
    38 //      nodeIDs[6] = 31;
    39 //      nodeIDs[7] = 32;
    40 //      element[1].addNodes(nodeIDs, 8);
    41 //
    42 //      ...
    43 //
    44 //
    45 
    4613class RpElement {
    4714public:
     
    5017        {
    5118                // default
    52                 m_nodes(8);
     19                m_nodes.resize(10);
    5320        };
    5421
     
    5623        {
    5724                m_id = id;
    58                 if (m_nodes.capacity() < numNodes)
     25                if (m_nodes.capacity() < (unsigned)numNodes)
    5926                        m_nodes.resize(numNodes);
    6027        };
    6128
    6229        // instantiate from byte stream:
    63         // id(int), numNodes(int), list of ids(int *)
     30        // id(int), numNodes(int), list of node ids(int *)
    6431        RpElement(const char* buf);
    6532
     
    7138       
    7239        // get node id's
    73         RP_ERROR getNodeIdList(int* list, int len);
     40        RP_ERROR getNodeIdList(int* list, int& len);
    7441
    7542        int id() { return m_id; };
    7643        void id(int id) { m_id = id; };
    7744
     45
     46        // serialize
     47        // id(int), numNodes(int), list of ids(int *)
    7848        char* serialize();
    79         void serialize(const char* buf, int buflen);
    80         void deserialize(const char* buf);
     49        RP_ERROR serialize(char* buf, int buflen);
     50        RP_ERROR deserialize(const char* buf);
    8151
    8252        void print();
     
    9161        int m_id;
    9262        vector<int> m_nodes; // list of node ids
     63
     64        // total number of bytes in an element:
     65        //     bytes for all node ids + element id + numberOfNodes
     66        int numBytes() {
     67                return ((m_nodes.size()) * sizeof(int) + 2*sizeof(int));
     68        };
    9369};
    9470
Note: See TracChangeset for help on using the changeset viewer.