AGX Dynamics 2.38.0.0
Loading...
Searching...
No Matches
RenderData.h
Go to the documentation of this file.
1/*
2Copyright 2007-2024. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16
17#pragma once
18
20#include <agx/Referenced.h>
21#include <agx/Vector.h>
22#include <agx/Vec3.h>
23#include <agx/Vec2.h>
27
28namespace agxCollide
29{
39 {
40 public:
41
43 enum Mode
44 {
45// POINTS=0,
46// LINES=1,
47// LINE_STRIP=2,
48// LINE_LOOP=3,
49 TRIANGLES=4
50// TRIANGLE_STRIP=5,
51// TRIANGLE_FAN=6,
52// QUADS=7,
53// QUAD_STRIP=8,
54// POLYGON=9,
55 };
56
58 {
59 STANDARD=0x0,
60 NO_RENDER=0x1
61 };
62
65
68
71
73 bool hasRenderMaterial( ) const;
74
76 void setVertexArray( const agx::Vec3Vector& vertices );
77
81
83 void setIndexArray( const agx::UInt32Vector& indices, Mode mode );
84
88
90 void setNormalArray( const agx::Vec3Vector& normals );
91
95
97 void setTexCoordArray( const agx::Vec2Vector& texCoords );
98
102
104 void setColorArray( const agx::Vec4Vector& color );
105
109
110
112 Mode getMode() const;
113
115 void setShouldRender(bool shouldRender);
116
118 bool getShouldRender() const;
119
122
123#ifndef SWIG
125#endif
126
127 protected:
128
129 virtual ~RenderData();
130
131
140
141 };
142
143}
144
#define AGX_DECLARE_POINTER_TYPES(type)
Definition: Referenced.h:254
#define AGXSTREAM_DECLARE_SERIALIZABLE(T)
Use this in a Serializable class to add the required methods Important: Use full namespace in the dec...
Definition: Serializable.h:207
#define AGXPHYSICS_EXPORT
Class for storing rendering information for a Shape.
Definition: RenderData.h:39
void setVertexArray(const agx::Vec3Vector &vertices)
Set the vertices.
void setShouldRender(bool shouldRender)
Set if the data stored should be rendered at all.
agx::Vec4Vector & getColorArray()
bool hasRenderMaterial() const
const agx::Vec3Vector & getNormalArray() const
agx::Vec2Vector & getTexCoordArray()
const agx::Vec2Vector & getTexCoordArray() const
agx::Vec3Vector & getVertexArray()
agx::Vec2Vector m_texCoords
Definition: RenderData.h:135
agx::Vec3Vector m_normals
Definition: RenderData.h:134
agx::UInt32Vector & getIndexArray()
void setNormalArray(const agx::Vec3Vector &normals)
Set the per vertex normals.
const agx::Vec3Vector & getVertexArray() const
RenderData * clone() const
Returns an exact copy of the render data as a new object.
void setColorArray(const agx::Vec4Vector &color)
Set and copy the per vertex colors.
agxCollide::RenderMaterialRef m_renderMaterial
Definition: RenderData.h:137
const agx::UInt32Vector & getIndexArray() const
agx::UInt32 m_renderState
Definition: RenderData.h:138
Mode
Specifies which type of primitive this render data represents.
Definition: RenderData.h:44
agxCollide::RenderMaterial * getRenderMaterial() const
RenderData()
Constructor.
bool getShouldRender() const
void setTexCoordArray(const agx::Vec2Vector &texCoords)
Set the per vertex texture coordinates.
const agx::Vec4Vector & getColorArray() const
agx::Vec3Vector & getNormalArray()
void setIndexArray(const agx::UInt32Vector &indices, Mode mode)
Set the indices.
agx::UInt32Vector m_indices
Definition: RenderData.h:133
agx::Vec3Vector m_vertices
Definition: RenderData.h:132
agx::Vec4Vector m_vertexColor
Definition: RenderData.h:136
void setRenderMaterial(agxCollide::RenderMaterial *renderMaterial)
Set the renderMaterial of this RenderData.
Class for storing rendering material.
This class is an abstract base class for all classes that can be stored and retrieved from an Archive...
Definition: Serializable.h:45
Base class providing referencing counted objects.
Definition: Referenced.h:120
This namespace consists of a set of classes for handling geometric intersection tests including boole...
uint32_t UInt32
Definition: Integer.h:40