VOS TYPE: a3dl:object3D.polygonmesh
CLASS: A3DL::PolygonMesh
ANCESTORS:
DESCENDANTS:
PROPERTIES:
a3dl:vertices (? -- packed array of a structure of 3 IEEE 32-bit numbers -- x y z)
a3dl:normals (? -- packed array of a structure of 3 IEEE 32-bit numbers -- x y z)
a3dl:polygons (packed/triangle-array, packed/polygon-list)
a3dl:texels (? -- packed array of a structure of 2 IEEE 32-bit numbers -- x y)
a3dl:texturespaces (packed/texture-space-array)
a3dl:doublesided (bool)
a3dl:lightmap (?)
DATATYPES:
packed/triangle-array
Array of a structure of 3 32-bit integers -- 1 2 3
packed/polygon-list
Array of a structure of:
a byte specifying the # of vertices
# of 32-bit integers, one per vertex
packed/texture-space-array
Array of a structure of:
1 byte consisting of:
1 bit (MSB) isPortal
15 bits type
1 byte specifying the material
if type is NoTexture (0):
nothing else
if type is UVcoord (1):
Array of 3 structures of:
32-bit integer "vertex"
32-bit IEEE "u1"
32-bit IEEE "v1"
if type is PolygonPlane (2):
32-bit IEEE "xorg"
32-bit IEEE "yorg"
32-bit IEEE "zorg"
32-bit IEEE "x"
32-bit IEEE "y"
32-bit IEEE "z"
32-bit IEEE "len"
if type is ArbitraryPlane (3):
32-bit IEEE "xorg"
32-bit IEEE "yorg"
32-bit IEEE "zorg"
32-bit IEEE "x1"
32-bit IEEE "y1"
32-bit IEEE "z1"
32-bit IEEE "len1"
32-bit IEEE "x2"
32-bit IEEE "y2"
32-bit IEEE "z2"
32-bit IEEE "len2"
if type is TexMatrix (4):
32-bit IEEE "m11"
32-bit IEEE "m12"
32-bit IEEE "m13"
32-bit IEEE "m21"
32-bit IEEE "m22"
32-bit IEEE "m23"
32-bit IEEE "m31"
32-bit IEEE "m32"
32-bit IEEE "m33"
32-bit IEEE "x"
32-bit IEEE "y"
32-bit IEEE "z"
CHILD OBJECTS:
a3dl:portal (A3dlPortal)
UPDATE MESSAGES:
OTHER MESSAGES:
ACCESS CONTROL POLICIES:
PUBLIC MEMBER DEFINITIONS:
class Vertex
typedef std::vector<int> Polygon
class Texel
enum TextureType { NoTexture = 0, UVcoord = 1, PolygonPlane = 2, ArbitraryPlane = 3, TexMatrix = 4}
struct TextureSpace
PUBLIC MEMBER FUNCTIONS:
virtual void setVertex(unsigned int which, A3DL::PolygonMesh::Vertex& v)
virtual void setVertices(const std::vector<A3DL::PolygonMesh::Vertex>& v)
virtual void getVertices(std::vector<A3DL::PolygonMesh::Vertex>& v)
virtual void setPolygon(unsigned int which, A3DL::PolygonMesh::Polygon& v)
virtual void setPolygons(const std::vector<A3DL::PolygonMesh::Polygon>& v)
virtual void getPolygons(std::vector<A3DL::PolygonMesh::Polygon>& v)
virtual void setNormal(unsigned int which, A3DL::PolygonMesh::Vertex& v)
virtual void setNormals(const std::vector<A3DL::PolygonMesh::Vertex>& v)
virtual void getNormals(std::vector<A3DL::PolygonMesh::Vertex>& v)
virtual void setTexel(int which, A3DL::PolygonMesh::Texel& v)
virtual void setTexels(const std::vector<A3DL::PolygonMesh::Texel>& v)
virtual void getTexels(std::vector<Texel>& v)
virtual void setTextureSpace(unsigned int which, const A3DL::PolygonMesh::TextureSpace& t)
virtual void setTextureSpaces(const std::vector<A3DL::PolygonMesh::TextureSpace>& t)
virtual void getTextureSpaces(std::vector<A3DL::PolygonMesh::TextureSpace>& t)
virtual void setDoubleSided(bool ds)
virtual bool getDoubleSided()
virtual PortalIterator getPortals()
virtual VUtil::vRef<VOS::Property> getLightmapObj()
static void unpackTextureSpace(const unsigned char* data, A3DL::PolygonMesh::TextureSpace& t)
static void packTextureSpace(unsigned char* data, const A3DL::PolygonMesh::TextureSpace& t)
virtual const std::string getVOSType()
static MetaObject* new_PolygonMesh(VOS::VobjectBase* superobject, const std::string& type)
Go back to MetaObjectDocumentation
