VertexCallListContext

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

VertexCallListContext

Return to chapter overview

C++ C++ Java Java .NET .NET

Summary

 

The IVertextCallListContext (C++) and the hdrcVertextCallListContext (Java/.NET) object represents a collection of triangles to be rendered using the integrated CPU based polygon rendering engine. Multiple VertextCallListContext objects may be used in a single rendering scene. This, combined with the m_transform parameter allow for separate complex scene graph of objects to be manipulated independently.

 

Use of this class with a complete description and example code is found in 3D Polygon Meshes chapter.

 

In C++, this object is created by IServerContext::CreateVertexCallList().

 

The use an array of indices in this call list can be used to provide higher storage efficiency. Arrays of indices are only supported by VCL_TYPE_TRIANGLES. See the documentation for SetNumIndices() for more information.

 

In Java/.NET, this object is created by hdrcServerContext.createVertexCallList()

 

The use an array of indices in this call list can be used to provide higher storage efficiency. See the documentation for lockIndices() for more information.

 

The subset of the methods are described below. Please refer to Doxygen links at the bottom for the complete list of methods.

 

oColorizeFromVolumeData
oGetColors (C++)
oGetIndices (C++)
oGetNormals (C++)
oGetNumIndicies (C++)
oGetNumVertices
oGetShadingEnabled (C++)
oGetTextureCoords (C++)
oGetTextureMap
oGetType
oGetVertices (C++)
olockColors (Java/.NET)
olockIndices (Java/.NET)
olockNormals (Java/.NET)
olockShadingEnabled (Java/.NET)
olockTextureCoords (Java/.NET)
olockVertices (Java/.NET)
oReleaseSessionResources  --> Need to discuss somewhere
oSetColorsModified (C++)
oSetIndicesModified (C++)
oSetNormalsModified (C++)
oSetNumIndices (C++)
oSetNumVertices
oSetShadingEnabledModified (C++)
oSetTextureCoordsModified (C++)
oSetTextureMap
oSetType
oSetVerticesModified (C++)
ounlockColors (Java/.NET)
ounlockIndices (Java/.NET)
ounlockNormals (Java/.NET)
ounlockShadingEnabled (Java/.NET)
ounlockTextureCoords (Java/.NET)
ounlockVertices (Java/.NET)

 

Missing entries

 

oGetLineWidth()
oGetTransform()
oisEdited();
oSetLineWidth()
oSetTransform()
osetUniformColor() - Java only
osetTextureEngine() - Java only

 

Methods

 

IVertexCallListContext::ColorizeFromVolumeData()

C++

virtual signed int IVertexCallListContext::ColorizeFromVolumeData ( IRenderEngineContext pEngine,
h_float64  offset 
) [pure virtual]

This function will generate vertex colors for the vertex call list, resulting in a colorized object.

Parameters:
pEnginethe render engine that will generate the colorization
offsetthe camera offset position from which the colorization rays are cast.

 

com.fovia.hdrc.hdrcVertexCallListContext.colorizeFromVolumeData()

Java/.NET

int com.fovia.hdrc.hdrcVertexCallListContext.colorizeFromVolumeData ( hdrcRenderEngineContext  referenceEngine,
float  offset 
)

Colorizes the vertex call list by baking the volumetric rendering result into the surface of the object.

Parameters
referenceEngineThe engine to use for reference display parameters to be baked into the surface
offsetThe offset from the vertex location to use for ray traversal.

 

IVertexCallListContext::GetColors()

C++

virtual signed int IVertexCallListContext::GetColors ( COLOR_RGBA **  arrColors)
pure virtual

Supplies the location in memory of the colors for this list. If the number of vertices is 0, *arrColors will be set to NULL.

 

IVertexCallListContext::GetIndices()

C++

virtual signed int IVertexCallListContext::GetIndices ( h_uint32 **  arrIndices) [pure virtual]

Gets the index buffer for this call list. If the number of indices is set to 0, *arrIndices will be set to NULL.

 

IVertexCallListContext::GetNormals()

C++

virtual signed int IVertexCallListContext::GetNormals ( VECTOR3D **  arrNormals)
pure virtual

Supplies the location in memory of the normals for this list. If the number of vertices is 0, *arrNormals will be set to NULL.

 

IVertexCallListContext::GetNumIndicies()

C++

virtual signed int IVertexCallListContext::GetNumIndices ( h_uint32 *  numIndices) [pure virtual]

Gets the number of vertices in this call list. If this is 0, then every three vertices will constitute a triangle.

 

IVertexCallListContext::GetNumVertices()

C++

virtual signed int IVertexCallListContext::GetNumVertices ( h_uint32 *  num) [pure virtual]

Gets the number of vertices in this call list.

 

com.fovia.hdrc.hdrcVertexCallListContext.getNumVertices()

Java/.NET

int com.fovia.hdrc.hdrcVertexCallListContext.getNumVertices ( )

 

IVertexCallListContext::GetShadingEnabled()

C++

virtual signed int IVertexCallListContext::GetShadingEnabled ( h_uint8 **  arrShadingEnabled) [pure virtual]

Supplies the location in memory of the shading state for this list. If the number of vertices is 0, *arrShadingEnabled will be set to NULL.

 

IVertexCallListContext::GetTextureCoords()

C++

virtual signed int IVertexCallListContext::GetTextureCoords ( VECTOR2F **  arrTextureCoords)
pure virtual

Supplies the location in memory of the texture mapping coordinates for this list. If the number of vertices is 0, *arrTextureCoords will be set to NULL.

 

IVertexCallListContext::GetTextureMap()

C++

virtual signed int IVertexCallListContext::GetTextureMap ( ITextureMapContext **  pTextureMap)
pure virtual

Gets the ITextureMapContext object associated with this call list. If NULL is returned then the call list has no texture file association.

 

com.fovia.hdrc.hdrcVertexCallListContext.getTextureMap()

Java/.NET

hdrcTextureMapContext com.fovia.hdrc.hdrcVertexCallListContext.getTextureMap ( )

Gets the hdrcTextureMapContext texture mapping object associated with this call list.

Returns
A hdrcTextureMapContext reference, or NULL if not set.

 

IVertexCallListContext::GetType()

C++

virtual signed int IVertexCallListContext::GetType ( ENUM_VCL_TYPE type)
pure virtual

Gets the type of this call list.

 

com.fovia.hdrc.hdrcVertexCallListContext.getType()

Java/.NET

#MERGE Merge/hdvr_java_xx.html

 

NO DOXYGEN LINK

IVertexCallListContext::GetVertices()

C++

virtual signed int IVertexCallListContext::GetVertices ( VECTOR3D **  arrVertices)
pure virtual

Supplies the location in memory of the vertices for this list. If the number of vertices is 0, *arrVertices will be set to NULL.

 

com.fovia.hdrc.hdrcVertexCallListContext.lockColors()

Java/.NET

byte [] com.fovia.hdrc.hdrcVertexCallListContext.lockColors ( int  min,
int  max 
)

Locks the color buffer for editing. Every four bytes make up a color. Each value is red, green, blue, and alpha (opacity of this vertex). These colors correspond directly to vertices at the same index in their respective buffer.

Parameters
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.
Returns

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.setUniformColor().

 

com.fovia.hdrc.hdrcVertexCallListContext.lockIndices()

Java/.NET

int [] com.fovia.hdrc.hdrcVertexCallListContext.lockIndices ( int  min,
int  max 
)

Locks the index buffer for editing. Every three ints makes up the vertex indices of a triangle. You can use a structure like this to reuse vertices more than once for triangles that neighbor each other.

For example, let's say you want to draw a rectangle by creating two triangles. Two of the vertices in that rectangle can be used by both triangles. By reusing the triangles, you can specify only four actual vertex locations instead of the six required for two triangles.

Parameters
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.
Returns

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJIndexBufferNormalsRequired().

 

com.fovia.hdrc.hdrcVertexCallListContext.lockNormals()

Java/.NET

float [] com.fovia.hdrc.hdrcVertexCallListContext.lockNormals ( int  min,
int  max 
)

Locks the normal buffer for editing. Every three floats makes up a normal. These correspond directly to vertices at the same index in their respective buffer.

Parameters
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.
Returns

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJ(), and com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJIndexBufferNormalsRequired().

 

com.fovia.hdrc.hdrcVertexCallListContext.lockShadingEnabled()

Java/.NET

byte [] com.fovia.hdrc.hdrcVertexCallListContext.lockShadingEnabled ( int  min,
int  max 
)

Locks the shading buffer for editing. If the byte is 1, it means lighting is applied. If 0 no lighting is applied. These bytes correspond directly to vertices at the same index in their respective buffer.

Parameters
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.
Returns

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.setUniformShadingEnabled().

 

com.fovia.hdrc.hdrcVertexCallListContext.lockTextureCoords()

Java/.NET

float [] com.fovia.hdrc.hdrcVertexCallListContext.lockTextureCoords ( int  min,
int  max 
)

Locks the texture coordinate buffer for editing. Every two floats makes up a texture coordinate. These correspond directly to vertices at the same index in their respective buffer.

Parameters
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.
Returns

 


com.fovia.hdrc.hdrcVertexCallListContext.lockVertices()

Java/.NET

float [] com.fovia.hdrc.hdrcVertexCallListContext.lockVertices ( int  min,
int  max 
)

Locks the vertex buffer for editing. Every three floats makes up a vertex. If there is no index buffer, every three vertices makes up a new triangle.

Parameters
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.
Returns

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJ(), and com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJIndexBufferNormalsRequired().

 

IVertexCallListContext::ReleaseSessionResources()

C++

virtual signed int IVertexCallListContext::ReleaseSessionResources ( )
pure virtual

Call this if you wish to free up this object on the server before disconnecting.

 

com.fovia.hdrc.hdrcVertexCallListContext.releaseSessionResources()

Java/.NET

long com.fovia.hdrc.hdrcVertexCallListContext.releaseSessionResources ( ) throws IOException

Call this if you wish to free up this object on the server before disconnecting.

Returns
long - 0 if successful.
Exceptions
IOException

 

IVertexCallListContext::SetColorsModified()

C++

virtual signed int IVertexCallListContext::SetColorsModified ( h_boolean  bModified,
h_uint32  min,
h_uint32  max 
) [pure virtual]

Signifies that you've modified the colors in this object and they must be updated on the server. Unless you call this function, there will be no change to the visual representation in rendered images.

Parameters:
bModifiedH_TRUE if modified, H_FALSE if not
minindex of first value changed
maxindex of last value changed plus one

 

IVertexCallListContext::SetIndicesModified()

C++

virtual signed int IVertexCallListContext::SetIndicesModified ( h_boolean  bModified,
h_uint32  min,
h_uint32  max 
) [pure virtual]

Signifies that you've modified the indices in this object and they must be updated on the server. Unless you call this function, there will be no change to the visual representation in rendered images.

Parameters:
bModifiedH_TRUE if modified, H_FALSE if not
minindex of first value changed
maxindex of last value changed plus one

 

IVertexCallListContext::SetNormalsModified()

C++

virtual signed int IVertexCallListContext::SetNormalsModified ( h_boolean  bModified,
h_uint32  min,
h_uint32  max 
) [pure virtual]

Signifies that you've modified the normals in this object and they must be updated on the server. Unless you call this function, there will be no change to the visual representation in rendered images.

Parameters:
bModifiedH_TRUE if modified, H_FALSE if not
minindex of first value changed
maxindex of last value changed plus one

 

IVertexCallListContext::SetNumIndices()

C++

virtual signed int IVertexCallListContext::SetNumIndices ( h_uint32  numIndices) [pure virtual]

Sets the number of indices to be used for this call list. These indices may be used to define triangles in the vertex list. For example, if the number of indices was 6 and the list contained { 0, 3, 2, 5, 3, 0 } then the call list would have two triangles. The first would be connecting vertices 0,3, and 2. The second would connect verties 5, 3, and 0.

If the number of indices is 0, then the vertices are interpreted as being a triangle for every three points. In other words, 0, 1, and 2 would be the first triangle and 3,4,5 would be the second and so on.

If numIndices is greater than 0, the memory for the index buffer is allocated at this time. If numIndices is 0, then any memory used for any previous index buffer is freed.

 

IVertexCallListContext::SetNumVertices()

C++

virtual signed int IVertexCallListContext::SetNumVertices ( h_uint32  num) [pure virtual]

Sets the number of vertices this call list contains. This function will allocate all the memory necessary to hold these vertices, their normals, colors, and shading state.

 

com.fovia.hdrc.hdrcVertexCallListContext.setNumVertices()

Java/.NET

void com.fovia.hdrc.hdrcVertexCallListContext.setNumVertices ( int  num)

Sets the number of vertices this call list should contain.

Parameters
numThe new number of vertices for this call list.

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJ(), and com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJIndexBufferNormalsRequired().

 

IVertexCallListContext::SetShadingEnabledModified()

C++

virtual signed int IVertexCallListContext::SetShadingEnabledModified ( h_boolean  bModified,
h_uint32  min,
h_uint32  max 
) [pure virtual]

Signifies that you've modified the shading information in this object and they must be updated on the server. Unless you call this function, there will be no change to the visual representation in rendered images.

Parameters:
bModifiedH_TRUE if modified, H_FALSE if not
minindex of first value changed
maxindex of last value changed plus one

 

IVertexCallListContext::SetTextureCoordsModified()

C++

virtual signed int IVertexCallListContext::SetTextureCoordsModified ( h_boolean  bModified,
h_uint32  min,
h_uint32  max 
) [pure virtual]

Signifies that you've modified the texture coordinates in this object and they must be updated on the server. Unless you call this function, there will be no change to the visual representation in rendered images.

Parameters:
bModifiedH_TRUE if modified, H_FALSE if not
minindex of first value changed
maxindex of last value changed plus one

 

IVertexCallListContext::SetTextureMap()

C++

virtual signed int IVertexCallListContext::SetTextureMap ( IRenderEngineContext pEngineMap)
pure virtual

Sets the IRenderEngineContext object associated with this call list. Set to NULL to clear the render engine.

virtual signed int IVertexCallListContext::SetTextureMap ( ITextureMapContext pTextureMap)
pure virtual

Sets the ITextureMapContext object associated with this call list. Set to NULL to clear the texture map file.

 

com.fovia.hdrc.hdrcVertexCallListContext.setTextureMap()

Java/.NET

int com.fovia.hdrc.hdrcVertexCallListContext.setTextureMap ( hdrcTextureMapContext  textureMap)

Sets the texture mapping source to the given hdrcTextureMapContext object

Parameters
textureMapThe texture map to use as the texture source.

 

IVertexCallListContext::SetType()

C++

virtual signed int IVertexCallListContext::SetType ( ENUM_VCL_TYPE  type)
pure virtual

Sets the type of this call list (polygons, lines...etc).

 

com.fovia.hdrc.hdrcVertexCallListContext.setType()

Java/.NET

#MERGE Merge/hdvr_java_xx.html

 

NO DOXYGEN LINK

IVertexCallListContext::SetVerticesModified()

C++

virtual signed int IVertexCallListContext::SetVerticesModified ( h_boolean  bModified,
h_uint32  min,
h_uint32  max 
) [pure virtual]

Signifies that you've modified the vertices in this object and they must be updated on the server. Unless you call this function, there will be no change to the visual representation in rendered images.

Parameters:
bModifiedH_TRUE if modified, H_FALSE if not
minindex of first value changed
maxindex of last value changed plus one

 


com.fovia.hdrc.hdrcVertexCallListContext.unlockColors()

Java/.NET

void com.fovia.hdrc.hdrcVertexCallListContext.unlockColors ( boolean  bChangesMade,
int  min,
int  max 
)

Call this when you are done modifying the buffer.

Parameters
bChangesMadetrue if changes were made. false otherwise
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.setUniformColor().

 


com.fovia.hdrc.hdrcVertexCallListContext.unlockIndices()

Java/.NET

void com.fovia.hdrc.hdrcVertexCallListContext.unlockIndices ( boolean  bChangesMade,
int  min,
int  max 
)

Call this when you are done modifying the buffer.

Parameters
bChangesMadetrue if changes were made. false otherwise
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJIndexBufferNormalsRequired().

 


com.fovia.hdrc.hdrcVertexCallListContext.unlockNormals()

Java/.NET

void com.fovia.hdrc.hdrcVertexCallListContext.unlockNormals ( boolean  bChangesMade,
int  min,
int  max 
)

Call this when you are done modifying the buffer.

Parameters
bChangesMadetrue if changes were made. false otherwise
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJ(), and com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJIndexBufferNormalsRequired().

 


com.fovia.hdrc.hdrcVertexCallListContext.unlockShadingEnabled()

Java/.NET

void com.fovia.hdrc.hdrcVertexCallListContext.unlockShadingEnabled ( boolean  bChangesMade,
int  min,
int  max 
)

Call this when you are done modifying the buffer.

Parameters
bChangesMadetrue if changes were made. false otherwise
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.setUniformShadingEnabled().

 


com.fovia.hdrc.hdrcVertexCallListContext.unlockTextureCoords()

Java/.NET

void com.fovia.hdrc.hdrcVertexCallListContext.unlockTextureCoords ( boolean  bChangesMade,
int  min,
int  max 
)

Call this when you are done modifying the buffer.

Parameters
bChangesMadetrue if changes were made. false otherwise
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.

 


com.fovia.hdrc.hdrcVertexCallListContext.unlockVertices()

Java/.NET

void com.fovia.hdrc.hdrcVertexCallListContext.unlockVertices ( boolean  bChangesMade,
int  min,
int  max 
)

Call this when you are done modifying the buffer.

Parameters
bChangesMadetrue if changes were made. false otherwise
minFirst index to be edited from the buffer
maxLast index plus 1 to be edited from the buffer. So if you intend to edit only index 0, you would set min to 0 and max to 1.

Referenced by com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJ(), and com.fovia.hdrc.hdrcVertexCallListContext.initFromOBJIndexBufferNormalsRequired().

 

Doxygen Links

 

Complete details of member variables and class names are available in the source level documentation available from these links to Doxygen.

 

C++

IVertexCallListContext

Java / .NET

hdrcVertexCallListContext