XdmfTopology.hpp 1.47 KB
Newer Older
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
1 2 3 4 5 6 7 8 9 10
/*
 * XdmfTopology.hpp
 *
 *  Created on: Jan 25, 2010
 *      Author: kleiter
 */

#ifndef XDMFTOPOLOGY_HPP_
#define XDMFTOPOLOGY_HPP_

11
// Includes
12
#include "XdmfDataItem.hpp"
13
#include "XdmfTopologyType.hpp"
14

15
class XdmfTopology : public XdmfDataItem {
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
16 17 18 19 20

public:

	XdmfNewMacro(XdmfTopology);

21 22 23 24 25
	/**
	 * Get the XdmfTopologyType associated with this Topology.
	 *
	 * @return XdmfTopologyType.
	 */
26
	XdmfTopologyType getTopologyType() const;
27 28 29 30 31 32

	/**
	 * Set the XdmfTopologyType associated with this Topology.
	 *
	 * @param XdmfTopologyType to set.
	 */
33 34 35 36 37 38 39 40 41
	void setTopologyType(const XdmfTopologyType& topType);

	/**
	 * Get the number of elements this Topology contains.
	 *
	 * @return int of number elements in the Topology.
	 */
	int getNumberElements() const;

42 43 44 45 46
	/**
	 * Get the name of the TopologyType associated with this Topology.
	 *
	 * @return std::string containing name of the TopologyType.
	 */
47
	std::string getTopologyTypeAsString() const;
48

49 50 51 52 53
	/**
	 * Get the number of nodes per element for this Topology.
	 *
	 * @return int of number of nodes per element.
	 */
54
	int getNodesPerElement() const;
55 56 57 58

	/**
	 *
	 */
59
	virtual std::string printSelf() const;
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
60

61 62
	virtual void write(boost::shared_ptr<XdmfVisitor> visitor) const;

Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
63 64 65 66 67 68 69
protected:

	XdmfTopology();
	virtual ~XdmfTopology();

private:

70 71
	XdmfTopology(const XdmfTopology&);  // Not implemented.
	void operator=(const XdmfTopology&);  // Not implemented.
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
72

73 74
	XdmfTopologyType mTopologyType;
	int mNumberElements;
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
75 76 77
};

#endif /* XDMFTOPOLOGY_HPP_ */