Curvy  4.1.0
CGVolume Class Reference
+ Inheritance diagram for CGVolume:
+ Collaboration diagram for CGVolume:

Detailed Description

Volume Data (Path + Vertex, VertexNormal, Cross)

Public Attributes

bool CrossClosed
 Whether the Cross base spline is closed or not More...
 
float[] CrossF = new float[0]
 
float CrossFShift
 
float[] CrossMap = new float[0]
 
SamplePointsMaterialGroupCollection CrossMaterialGroups
 
bool CrossSeamless
 Whether the Cross shape covers the whole length of the base spline More...
 
float[] SegmentLength
 Length of a given cross segment. Will be calculated on demand only! More...
 
Vector3[] Vertex = new Vector3[0]
 Vertices More...
 
Vector3[] VertexNormal = new Vector3[0]
 Normals More...
 
- Public Attributes inherited from CGPath
Vector3[] Direction = new Vector3[0]
 
- Public Attributes inherited from CGShape
Bounds Bounds
 
bool Closed
 Whether the base spline is closed or not More...
 
float[] F = new float[0]
 Relative position (0..1) within the length More...
 
float Length
 Length in world units More...
 
float[] Map = new float[0]
 Arbitrary mapped value, usually U More...
 
List< SamplePointsMaterialGroupMaterialGroups = new List<SamplePointsMaterialGroup>()
 Groups/Patches More...
 
Vector3[] Normal = new Vector3[0]
 Normal More...
 
Vector3[] Position = new Vector3[0]
 Shape/Path Position More...
 
bool Seamless
 Whether the Shape/Path is seamless, i.e. Closed==true and the whole length is covered More...
 
float[] SourceF = new float[0]
 Relative position (0..1, NOT TF!) on the source spline (if any) More...
 
bool SourceIsManaged
 Whether the source is managed or not More...
 
- Public Attributes inherited from CGData
string Name
 

Properties

int CrossSize [get]
 Gets the number of cross shape's sample points More...
 
int VertexCount [get]
 
- Properties inherited from CGShape
override int Count [get]
 Gets the number of sample points More...
 
- Properties inherited from CGData
virtual int Count [get]
 
DateTime Timestamp [get]
 Time of last change More...
 

Public Member Functions

 CGVolume ()
 
 CGVolume (int samplePoints, CGShape crossShape)
 
 CGVolume (CGPath path, CGShape crossShape)
 
 CGVolume (CGVolume source)
 
override T Clone< T > ()
 
float CrossDistanceToF (float f, float distance, CurvyClamping crossClamping=CurvyClamping.Clamp)
 
float CrossFToDistance (float f, float crossF, CurvyClamping crossClamping=CurvyClamping.Clamp)
 
int GetCrossFIndex (float crossF, out float frag)
 
float GetCrossLength (float pathF)
 
int GetSegmentIndex (int segment)
 
void GetSegmentIndices (float pathF, out int s0Index, out int s1Index, out float frag)
 
Vector3[] GetSegmentVertices (params int[] segmentIndices)
 Gets all vertices belonging to one or more extruded shape segments More...
 
int GetVertexIndex (float pathF, out float pathFrag)
 Get the index of the first vertex belonging to the segment a certain F is part of More...
 
int GetVertexIndex (float pathF, float crossF, out float pathFrag, out float crossFrag)
 Get the index of the first vertex of the edge a certain F and CrossF is part of More...
 
void InterpolateVolume (float f, float crossF, out Vector3 pos, out Vector3 dir, out Vector3 up)
 
Vector3 InterpolateVolumeDirection (float f, float crossF)
 
Vector3 InterpolateVolumePosition (float f, float crossF)
 
Vector3 InterpolateVolumeUp (float f, float crossF)
 
- Public Member Functions inherited from CGPath
 CGPath ()
 
 CGPath (CGPath source)
 
void Interpolate (float f, out Vector3 pos, out Vector3 dir, out Vector3 up)
 Interpolates Position, Direction and Normal by F More...
 
void Interpolate (float f, float angleF, out Vector3 pos, out Vector3 dir, out Vector3 up)
 
Vector3 InterpolateDirection (float f)
 
override void Recalculate ()
 Recalculate Length and F[] (by measuring a polyline built from all Position points) More...
 
- Public Member Functions inherited from CGShape
 CGShape ()
 
 CGShape (CGShape source)
 
float DistanceToF (float distance)
 Converts absolute (World Units) to relative (F) distance More...
 
float FToDistance (float f)
 Converts relative (F) to absolute distance (World Units) More...
 
int GetFIndex (float f, out float frag)
 Gets the index of a certain F More...
 
void Interpolate (float f, out Vector3 pos, out Vector3 up)
 Interpolates Position and Normal by F More...
 
Vector3 InterpolatePosition (float f)
 Interpolates Position by F More...
 
Vector3 InterpolateUp (float f)
 Interpolates Normal by F More...
 
void Move (ref float f, ref int direction, float speed, CurvyClamping clamping)
 
void MoveBy (ref float f, ref int direction, float speedDist, CurvyClamping clamping)
 
void RecalculateNormals (List< int > softEdges)
 
- Public Member Functions inherited from CGData
 CGData ()
 
void Touch ()
 

Static Public Member Functions

static CGVolume Get (CGVolume data, CGPath path, CGShape crossShape)
 
- Static Public Member Functions inherited from CGPath
static void Copy (CGPath dest, CGPath source)
 
- Static Public Member Functions inherited from CGShape
static void Copy (CGShape dest, CGShape source)
 
- Static Public Member Functions inherited from CGData
static implicit operator bool (CGData a)
 

Additional Inherited Members

- Protected Member Functions inherited from CGData
int getGenericFIndex (ref float[] FMapArray, float fValue, out float frag)
 Searches FMapArray and returns the index that covers the fValue as well as the percentage between index and index+1 More...
 

Constructor & Destructor Documentation

CGVolume ( )
CGVolume ( int  samplePoints,
CGShape  crossShape 
)
CGVolume ( CGPath  path,
CGShape  crossShape 
)
CGVolume ( CGVolume  source)

Member Function Documentation

override T Clone< T > ( )
virtual

Reimplemented from CGPath.

float CrossDistanceToF ( float  f,
float  distance,
CurvyClamping  crossClamping = CurvyClamping.Clamp 
)
float CrossFToDistance ( float  f,
float  crossF,
CurvyClamping  crossClamping = CurvyClamping.Clamp 
)
static CGVolume Get ( CGVolume  data,
CGPath  path,
CGShape  crossShape 
)
static
int GetCrossFIndex ( float  crossF,
out float  frag 
)
float GetCrossLength ( float  pathF)
int GetSegmentIndex ( int  segment)
void GetSegmentIndices ( float  pathF,
out int  s0Index,
out int  s1Index,
out float  frag 
)
Vector3 [] GetSegmentVertices ( params int[]  segmentIndices)

Gets all vertices belonging to one or more extruded shape segments

Parameters
segmentIndicesindices of segments in question
int GetVertexIndex ( float  pathF,
out float  pathFrag 
)

Get the index of the first vertex belonging to the segment a certain F is part of

Parameters
pathFposition on the path (0..1)
pathFragremainder between the returned segment and the next segment
Returns
a vertex index
int GetVertexIndex ( float  pathF,
float  crossF,
out float  pathFrag,
out float  crossFrag 
)

Get the index of the first vertex of the edge a certain F and CrossF is part of

Parameters
pathFposition on the path (0..1)
crossFposition on the cross (0..1)
pathFragremainder between the segment and the next segment
crossFragremainder between the returned vertex and the next vertex
Returns
a vertex index
void InterpolateVolume ( float  f,
float  crossF,
out Vector3  pos,
out Vector3  dir,
out Vector3  up 
)
Vector3 InterpolateVolumeDirection ( float  f,
float  crossF 
)
Vector3 InterpolateVolumePosition ( float  f,
float  crossF 
)
Vector3 InterpolateVolumeUp ( float  f,
float  crossF 
)

Member Data Documentation

bool CrossClosed

Whether the Cross base spline is closed or not

float [] CrossF = new float[0]
float CrossFShift
float [] CrossMap = new float[0]
bool CrossSeamless

Whether the Cross shape covers the whole length of the base spline

float [] SegmentLength

Length of a given cross segment. Will be calculated on demand only!

Vector3 [] Vertex = new Vector3[0]

Vertices

Vector3 [] VertexNormal = new Vector3[0]

Normals

Property Documentation

int CrossSize
get

Gets the number of cross shape's sample points

int VertexCount
get

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