3DCoat  3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
VolumeCellAttrib Class Reference

Main brick in voxel / surface structure. More...

#include <VolumeCellAttrib.h>

Public Attributes

CompactArray< MCVertex > Verts
 Vertices of the mesh in the cell. More...
 
CompactArray< indtype > BackupIds
 Verticies and indicies before this change. More...
 
CompactArray< MCVertex > OldVerts
 Positions / normals of vertices before entering surface mode. More...
 
CompactArray< indtype > Indices
 Indices of mesh in the cell. More...
 
CompactArray< DWORD > GlobalVertIndices
 GlobalVertIndices are references of global vertices indices. More...
 
WORD Dirty
 For tracking persistent data. More...
 

Detailed Description

Main brick in voxel / surface structure.

It contains polygonal geometry, color layers if given cell of the surface pointer to this structure kept in VolumeCell.

Member Data Documentation

CompactArray<indtype> VolumeCellAttrib::BackupIds

Verticies and indicies before this change.

Undo will get to this state when applied.

WORD VolumeCellAttrib::Dirty

For tracking persistent data.

CompactArray<DWORD> VolumeCellAttrib::GlobalVertIndices

GlobalVertIndices are references of global vertices indices.

GlobalVertIndices corresponds to vertex list Verts. Each vertex in Verts corresponds to item in GlobalVertIndices. If GlobalVertIndices is empty - there are no global indexation in the mesh. Each value is DWORD. Highest bit (0x80000000) is set up if the vertex is on the edge of the cell. The global index itself is GlobalVertIndices[i]&0x7FFFFFFFFF

Referenced by VolumeObject::CloseHolesFastAndGood(), TopoDist::Create(), VolumeObject::CreateIndexedStructure(), VolumeObject::CreateIndexedStructure2(), VolumeObject::Decompose(), VoxTreeBranch::ProcessItem(), VolumeObject::RemoveConnectedParts(), VolumeObject::Reproject(), and VolumeObject::VoxelizePureGeometry().

CompactArray<MCVertex> VolumeCellAttrib::OldVerts

Positions / normals of vertices before entering surface mode.

Referenced by VoxTreeBranch::ProcessItem(), and VolumeObject::VoxelizePureGeometry().

CompactArray<MCVertex> VolumeCellAttrib::Verts

Vertices of the mesh in the cell.

Of course, same vertex may be present in neighbour cells and sometimes you need to identify that 2 vertices from different cells represent single global index. There are two ways. Using Status field in MCVertex that represents edge status. It has global index for every vertex in cell.

Referenced by VolumeObject::AddIndexedCellTriangulation(), OneFacture::ApplyToChangedCells(), VolumeObject::CloseHolesFastAndGood(), TopoDist::Create(), VolumeObject::CreateIndexedStructure(), VolumeObject::CreateIndexedStructure2(), QuadrangulationParams::Quadrangulate(), VolumeObject::RemoveConnectedParts(), VolumeObject::Reproject(), and VolumeObject::ToRawMesh().


The documentation for this class was generated from the following files: