pub struct Geometry {
pub node: HoudiniNode,
/* private fields */
}
Expand description
Represents a SOP node with methods for manipulating geometry.
Fields
node: HoudiniNode
Implementations
sourceimpl Geometry
impl Geometry
pub fn from_info(info: GeoInfo, session: &Session) -> Result<Self>
pub fn part_info(&self, part_id: i32) -> Result<PartInfo>
pub fn volume_info(&self, part_id: i32) -> Result<VolumeInfo>
pub fn set_volume_info(&self, part_id: i32, info: &VolumeInfo) -> Result<()>
pub fn volume_bounds(&self, part_id: i32) -> Result<VolumeBounds>
pub fn geo_info(&self) -> Result<GeoInfo>
pub fn set_part_info(&self, info: &PartInfo) -> Result<()>
pub fn box_info(&self, part_id: i32) -> Result<BoxInfo>
pub fn sphere_info(&self, part_id: i32) -> Result<BoxInfo>
pub fn set_curve_info(&self, part_id: i32, info: &CurveInfo) -> Result<()>
pub fn set_input_curve_info(
&self,
part_id: i32,
info: &InputCurveInfo
) -> Result<()>
pub fn set_input_curve_positions(
&self,
part_id: i32,
positions: &[f32]
) -> Result<()>
pub fn set_input_curve_transform(
&self,
part_id: i32,
positions: &[f32],
rotation: &[f32],
scale: &[f32]
) -> Result<()>
pub fn set_curve_counts(&self, part_id: i32, count: &[i32]) -> Result<()>
pub fn set_curve_knots(&self, part_id: i32, knots: &[f32]) -> Result<()>
pub fn set_vertex_list(
&self,
part_id: i32,
list: impl AsRef<[i32]>
) -> Result<()>
pub fn set_face_counts(
&self,
part_id: i32,
list: impl AsRef<[i32]>
) -> Result<()>
pub fn update(&mut self) -> Result<()>
pub fn curve_info(&self, part_id: i32) -> Result<CurveInfo>
sourcepub fn curve_counts(
&self,
part_id: i32,
start: i32,
length: i32
) -> Result<Vec<i32>>
pub fn curve_counts(
&self,
part_id: i32,
start: i32,
length: i32
) -> Result<Vec<i32>>
Retrieve the number of vertices for each curve in the part.
sourcepub fn curve_orders(
&self,
part_id: i32,
start: i32,
length: i32
) -> Result<Vec<i32>>
pub fn curve_orders(
&self,
part_id: i32,
start: i32,
length: i32
) -> Result<Vec<i32>>
Retrieve the orders for each curve in the part if the curve has varying order.
sourcepub fn curve_knots(
&self,
part_id: i32,
start: i32,
length: i32
) -> Result<Vec<f32>>
pub fn curve_knots(
&self,
part_id: i32,
start: i32,
length: i32
) -> Result<Vec<f32>>
Retrieve the knots of the curves in this part.
sourcepub fn vertex_list(&self, part: Option<&PartInfo>) -> Result<Vec<i32>>
pub fn vertex_list(&self, part: Option<&PartInfo>) -> Result<Vec<i32>>
Get array containing the vertex-point associations where the ith element in the array is the point index the ith vertex associates with.
pub fn partitions(&self) -> Result<Vec<PartInfo>>
pub fn get_face_counts(&self, part: Option<&PartInfo>) -> Result<Vec<i32>>
pub fn get_materials(
&self,
part: Option<&PartInfo>
) -> Result<Option<Materials>>
pub fn get_group_names(&self, group_type: GroupType) -> Result<StringArray>
pub fn get_edge_count_of_edge_group(
&self,
group: &str,
part_id: i32
) -> Result<i32>
pub fn get_attribute_names(
&self,
owner: AttributeOwner,
part: Option<&PartInfo>
) -> Result<StringArray>
pub fn get_position_attribute(&self, part_id: i32) -> Result<NumericAttr<f32>>
pub fn get_attribute(
&self,
part_id: i32,
owner: AttributeOwner,
name: &str
) -> Result<Option<Attribute>>
pub fn add_numeric_attribute<T: AttribAccess>(
&self,
name: &str,
part_id: i32,
info: AttributeInfo
) -> Result<NumericAttr<T>>
pub fn add_numeric_array_attribute<T>(
&self,
name: &str,
part_id: i32,
info: AttributeInfo
) -> Result<NumericArrayAttr<T>> where
T: AttribAccess,
[T]: ToOwned<Owned = Vec<T>>,
pub fn add_string_attribute(
&self,
name: &str,
part_id: i32,
info: AttributeInfo
) -> Result<StringAttr>
pub fn add_string_array_attribute(
&self,
name: &str,
part_id: i32,
info: AttributeInfo
) -> Result<StringArrayAttr>
pub fn add_group(
&self,
part_id: i32,
group_type: GroupType,
group_name: &str,
membership: Option<&[i32]>
) -> Result<()>
pub fn delete_group(
&self,
part_id: i32,
group_type: GroupType,
group_name: &str
) -> Result<()>
pub fn set_group_membership(
&self,
part_id: i32,
group_type: GroupType,
group_name: &str,
array: &[i32]
) -> Result<()>
pub fn get_group_membership(
&self,
part_info: Option<&PartInfo>,
group_type: GroupType,
group_name: &str
) -> Result<Vec<i32>>
pub fn group_count_by_type(
&self,
group_type: GroupType,
info: Option<&GeoInfo>
) -> Result<i32>
pub fn get_instanced_part_ids(
&self,
part_info: Option<&PartInfo>
) -> Result<Vec<i32>>
pub fn get_group_count_on_packed_instance(
&self,
part_info: Option<&PartInfo>
) -> Result<(i32, i32)>
pub fn get_instance_part_groups_names(
&self,
group: GroupType,
part_id: i32
) -> Result<StringArray>
pub fn get_instance_part_transforms(
&self,
part_info: Option<&PartInfo>,
order: RSTOrder
) -> Result<Vec<Transform>>
pub fn save_to_file(&self, filepath: &str) -> Result<()>
pub fn load_from_file(&self, filepath: &str) -> Result<()>
pub fn commit(&self) -> Result<()>
pub fn revert(&self) -> Result<()>
pub fn save_to_memory(&self, format: GeoFormat) -> Result<Vec<i8>>
pub fn load_from_memory(&self, data: &[i8], format: GeoFormat) -> Result<()>
pub fn read_volume_tile<T: VolumeStorage>(
&self,
part: i32,
fill: T,
tile: &VolumeTileInfo,
values: &mut [T]
) -> Result<()>
pub fn write_volume_tile<T: VolumeStorage>(
&self,
part: i32,
tile: &VolumeTileInfo,
values: &[T]
) -> Result<()>
pub fn read_volume_voxel<T: VolumeStorage>(
&self,
part: i32,
x_index: i32,
y_index: i32,
z_index: i32,
values: &mut [T]
) -> Result<()>
pub fn write_volume_voxel<T: VolumeStorage>(
&self,
part: i32,
x_index: i32,
y_index: i32,
z_index: i32,
values: &[T]
) -> Result<()>
pub fn foreach_volume_tile(
&self,
part: i32,
info: &VolumeInfo,
callback: impl Fn(Tile<'_>)
) -> Result<()>
pub fn create_heightfield_input(
&self,
parent: Option<NodeHandle>,
volume_name: &str,
x_size: i32,
y_size: i32,
voxel_size: f32,
sampling: HeightFieldSampling
) -> Result<HeightfieldNodes>
pub fn create_heightfield_input_volume(
&self,
parent: Option<NodeHandle>,
volume_name: &str,
x_size: i32,
y_size: i32,
voxel_size: f32
) -> Result<HoudiniNode>
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Geometry
impl Send for Geometry
impl Sync for Geometry
impl Unpin for Geometry
impl !UnwindSafe for Geometry
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more