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 |
A shift of the Cross's F value that is applied when using the interpolation methods on the volume, like InterpolateVolume More... | |
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... | |
![]() | |
Vector3[] | Direction = new Vector3[0] |
![]() | |
bool | Closed |
Whether the base spline is closed or not More... | |
float[] | F = new float[0] |
Relative position (0..1, NOT TF!) within the length of the shape More... | |
float | Length |
Length in world units More... | |
float[] | Map = new float[0] |
Arbitrary mapped value, usually U More... | |
List< SamplePointsMaterialGroup > | MaterialGroups = 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!) within the length of the source spline (if any) More... | |
bool | SourceIsManaged |
Whether the source is managed or not More... | |
![]() | |
string | Name |
Properties | |
int | CrossSize [get] |
Gets the number of cross shape's sample points More... | |
int | VertexCount [get] |
![]() | |
override int | Count [get] |
Gets the number of sample points More... | |
![]() | |
virtual int | Count [get] |
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) |
![]() | |
CGPath () | |
CGPath (CGPath source) | |
void | Interpolate (float f, out Vector3 position, out Vector3 direction, 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) |
![]() | |
CGShape () | |
CGShape (CGShape source) | |
void | Copy (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 position, 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) |
virtual void | Recalculate () |
Recalculate Length and F[] (by measuring a polyline built from all Position points) More... | |
void | RecalculateNormals (List< int > softEdges) |
Static Public Member Functions | |
static CGVolume | Get (CGVolume data, CGPath path, CGShape crossShape) |
![]() | |
static void | Copy (CGPath dest, CGPath source) |
![]() | |
static void | Copy (CGShape dest, CGShape source) |
![]() | |
static implicit | operator bool (CGData a) |
Additional Inherited Members | |
![]() | |
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... | |
CGVolume | ( | ) |
|
virtual |
Reimplemented from CGPath.
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
segmentIndices | indices 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
pathF | position on the path (0..1) |
pathFrag | remainder between the returned segment and the next segment |
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
pathF | position on the path (0..1) |
crossF | position on the cross (0..1) |
pathFrag | remainder between the segment and the next segment |
crossFrag | remainder between the returned vertex and the next vertex |
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 | ||
) |
bool CrossClosed |
Whether the Cross base spline is closed or not
float [] CrossF = new float[0] |
float CrossFShift |
A shift of the Cross's F value that is applied when using the interpolation methods on the volume, like InterpolateVolume
float [] CrossMap = new float[0] |
SamplePointsMaterialGroupCollection CrossMaterialGroups |
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
|
get |
Gets the number of cross shape's sample points
|
get |