Generate visual parameter and foliage catalogs (#48)
Some checks failed
Native code generation / deterministic (push) Successful in 4m48s
Imaging and meshing gate / native (push) Failing after 16s
JPEG 2000 feature / linux (push) Failing after 58s
Skia feature / linux (push) Failing after 1m37s

This commit is contained in:
2026-08-09 09:00:41 +00:00
parent 74801c3488
commit 5f83ce61e1
15 changed files with 25447 additions and 465 deletions

View File

@@ -5500,13 +5500,15 @@ pub struct Avatar {
impl Avatar {
/// C# member: `M:LibreMetaverse.Avatar.#ctor`.
pub fn new() -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Avatar.#ctor")
crate::visual_catalog::new_avatar()
}
/// C# member: `M:LibreMetaverse.Avatar.DecodeVisualParams`.
pub fn decode_visual_params(
&self,
) -> Result<std::collections::HashMap<i32, f32>, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Avatar.DecodeVisualParams")
Ok(crate::visual_catalog::decode_visual_params(
&self.visual_parameters,
))
}
/// C# member: `M:LibreMetaverse.Avatar.FromOSD(LibreMetaverse.StructuredData.OSD)`.
pub fn from_osd(
@@ -5745,7 +5747,9 @@ impl AvatarAnimationEventArgs {
}
/// C# type: `T:LibreMetaverse.AvatarAppearanceEventArgs`.
pub struct AvatarAppearanceEventArgs;
pub struct AvatarAppearanceEventArgs {
stored_visual_params: Vec<u8>,
}
impl AvatarAppearanceEventArgs {
/// C# member: `M:LibreMetaverse.AvatarAppearanceEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Boolean,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Primitive.TextureEntryFace[],System.Collections.Generic.List{System.Byte},System.Byte,System.Int32,LibreMetaverse.AppearanceFlags,System.Int32)`.
pub fn new(
@@ -5760,17 +5764,17 @@ impl AvatarAppearanceEventArgs {
appearance_flags: libremetaverse::AppearanceFlags,
child_count: i32,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.AvatarAppearanceEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Boolean,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Primitive.TextureEntryFace[],System.Collections.Generic.List{System.Byte},System.Byte,System.Int32,LibreMetaverse.AppearanceFlags,System.Int32)",
)
Ok(Self {
stored_visual_params: visual_params,
})
}
/// C# member: `M:LibreMetaverse.AvatarAppearanceEventArgs.DecodeVisualParams`.
pub fn decode_visual_params(
&self,
) -> Result<std::collections::HashMap<i32, f32>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.AvatarAppearanceEventArgs.DecodeVisualParams",
)
Ok(crate::visual_catalog::decode_visual_params(
&self.stored_visual_params,
))
}
/// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.AppearanceFlags`.
pub fn appearance_flags(&self) -> libremetaverse::AppearanceFlags {
@@ -5828,9 +5832,7 @@ impl AvatarAppearanceEventArgs {
}
/// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.VisualParams`.
pub fn visual_params(&self) -> Vec<u8> {
libremetaverse_types::unimplemented_api!(
"P:LibreMetaverse.AvatarAppearanceEventArgs.VisualParams"
)
self.stored_visual_params.clone()
}
}
@@ -8952,35 +8954,14 @@ impl DisposalHelperDisposalGuard {
}
/// C# type: `T:LibreMetaverse.DrivenParamInfo`.
pub struct DrivenParamInfo {
/// C# member: `F:LibreMetaverse.DrivenParamInfo.HasRange`.
pub has_range: bool,
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Max1`.
pub max1: f32,
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Max2`.
pub max2: f32,
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Min1`.
pub min1: f32,
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Min2`.
pub min2: f32,
/// C# member: `F:LibreMetaverse.DrivenParamInfo.ParamID`.
pub param_id: i32,
}
impl DrivenParamInfo {
/// C# member: `M:LibreMetaverse.DrivenParamInfo.#ctor(System.Int32,System.Single,System.Single,System.Single,System.Single,System.Boolean)`.
pub fn new(
param_id: i32,
min1: f32,
max1: f32,
max2: f32,
min2: f32,
has_range: bool,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.DrivenParamInfo.#ctor(System.Int32,System.Single,System.Single,System.Single,System.Single,System.Boolean)",
)
}
}
/// C# member: `F:LibreMetaverse.DrivenParamInfo.HasRange`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Max1`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Max2`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Min1`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Min2`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.ParamID`.
/// C# member: `M:LibreMetaverse.DrivenParamInfo.#ctor(System.Int32,System.Single,System.Single,System.Single,System.Single,System.Boolean)`.
pub use crate::visual_catalog::DrivenParamInfo;
/// C# type: `T:LibreMetaverse.EffectType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
@@ -11054,66 +11035,17 @@ pub enum Grass {
}
/// C# type: `T:LibreMetaverse.GrassDefinition`.
pub struct GrassDefinition;
impl GrassDefinition {
/// C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeX`.
pub fn blade_size_x(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.BladeSizeX")
}
/// Setter for C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeX`.
pub fn set_blade_size_x(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.BladeSizeX")
}
/// C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeY`.
pub fn blade_size_y(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.BladeSizeY")
}
/// Setter for C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeY`.
pub fn set_blade_size_y(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.BladeSizeY")
}
/// C# member: `P:LibreMetaverse.GrassDefinition.Name`.
pub fn name(&self) -> String {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.Name")
}
/// Setter for C# member: `P:LibreMetaverse.GrassDefinition.Name`.
pub fn set_name(&mut self, value: String) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.Name")
}
/// C# member: `P:LibreMetaverse.GrassDefinition.SpeciesId`.
pub fn species_id(&self) -> i32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.SpeciesId")
}
/// Setter for C# member: `P:LibreMetaverse.GrassDefinition.SpeciesId`.
pub fn set_species_id(&mut self, value: i32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.SpeciesId")
}
/// C# member: `P:LibreMetaverse.GrassDefinition.TextureId`.
pub fn texture_id(&self) -> libremetaverse_types::UUID {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.TextureId")
}
/// Setter for C# member: `P:LibreMetaverse.GrassDefinition.TextureId`.
pub fn set_texture_id(&mut self, value: libremetaverse_types::UUID) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.GrassDefinition.TextureId")
}
}
/// C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeX`.
/// C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeY`.
/// C# member: `P:LibreMetaverse.GrassDefinition.Name`.
/// C# member: `P:LibreMetaverse.GrassDefinition.SpeciesId`.
/// C# member: `P:LibreMetaverse.GrassDefinition.TextureId`.
pub use crate::foliage_catalog::GrassDefinition;
/// C# type: `T:LibreMetaverse.GrassDefinitions`.
pub struct GrassDefinitions;
impl GrassDefinitions {
/// C# member: `F:LibreMetaverse.GrassDefinitions.All`.
pub fn all() -> Vec<libremetaverse::GrassDefinition> {
libremetaverse_types::unimplemented_api!("F:LibreMetaverse.GrassDefinitions.All")
}
/// C# member: `M:LibreMetaverse.GrassDefinitions.Get(LibreMetaverse.Grass)`.
pub fn get(
species: libremetaverse::Grass,
) -> Result<libremetaverse::GrassDefinition, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.GrassDefinitions.Get(LibreMetaverse.Grass)",
)
}
}
/// C# member: `F:LibreMetaverse.GrassDefinitions.All`.
/// C# member: `M:LibreMetaverse.GrassDefinitions.Get(LibreMetaverse.Grass)`.
pub use crate::foliage_catalog::GrassDefinitions;
/// C# type: `T:LibreMetaverse.GridClient`.
pub struct GridClient;
@@ -23556,7 +23488,7 @@ impl Primitive {
}
/// C# member: `M:LibreMetaverse.Primitive.GetGrassDefinition`.
pub fn get_grass_definition(&self) -> Result<libremetaverse::GrassDefinition, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Primitive.GetGrassDefinition")
crate::foliage_catalog::grass_by_id(self.prim_data.state)
}
/// C# member: `M:LibreMetaverse.Primitive.GetHashCode`.
pub fn get_hash_code(&self) -> i32 {
@@ -23568,7 +23500,7 @@ impl Primitive {
}
/// C# member: `M:LibreMetaverse.Primitive.GetTreeDefinition`.
pub fn get_tree_definition(&self) -> Result<libremetaverse::TreeDefinition, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Primitive.GetTreeDefinition")
crate::foliage_catalog::TreeDefinitions::get(self.tree_species)
}
/// C# member: `M:LibreMetaverse.Primitive.PackBeginCut(System.Single)`.
pub fn pack_begin_cut(begin_cut: f32) -> Result<u16, crate::Error> {
@@ -24550,9 +24482,7 @@ impl PrimitiveTextureEntryFace {
pub fn new(
default_texture: Option<libremetaverse::PrimitiveTextureEntryFace>,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Primitive.TextureEntryFace.#ctor(LibreMetaverse.Primitive.TextureEntryFace)",
)
crate::visual_catalog::new_texture_entry_face()
}
/// C# member: `M:LibreMetaverse.Primitive.TextureEntryFace.Clone`.
pub fn clone(&self) -> Result<libremetaverse_types::compat::Object, crate::Error> {
@@ -26641,29 +26571,12 @@ impl SimulatorFeatures {
}
/// C# type: `T:LibreMetaverse.SkeletalBoneInfo`.
pub struct SkeletalBoneInfo {
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.BoneName`.
pub bone_name: String,
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.HasPositionDeformation`.
pub has_position_deformation: bool,
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.PositionDeformation`.
pub position_deformation: libremetaverse_types::Vector3,
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.ScaleDeformation`.
pub scale_deformation: libremetaverse_types::Vector3,
}
impl SkeletalBoneInfo {
/// C# member: `M:LibreMetaverse.SkeletalBoneInfo.#ctor(System.String,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean)`.
pub fn new(
bone_name: String,
scale_deformation: libremetaverse_types::Vector3,
position_deformation: libremetaverse_types::Vector3,
has_position_deformation: bool,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.SkeletalBoneInfo.#ctor(System.String,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean)",
)
}
}
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.BoneName`.
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.HasPositionDeformation`.
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.PositionDeformation`.
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.ScaleDeformation`.
/// C# member: `M:LibreMetaverse.SkeletalBoneInfo.#ctor(System.String,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean)`.
pub use crate::visual_catalog::SkeletalBoneInfo;
/// C# type: `T:LibreMetaverse.SlappCommand`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
@@ -28134,194 +28047,33 @@ pub enum Tree {
}
/// C# type: `T:LibreMetaverse.TreeDefinition`.
pub struct TreeDefinition;
impl TreeDefinition {
/// C# member: `P:LibreMetaverse.TreeDefinition.BillboardRatio`.
pub fn billboard_ratio(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BillboardRatio")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.BillboardRatio`.
pub fn set_billboard_ratio(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BillboardRatio")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.BillboardScale`.
pub fn billboard_scale(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BillboardScale")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.BillboardScale`.
pub fn set_billboard_scale(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BillboardScale")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.BranchAspect`.
pub fn branch_aspect(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BranchAspect")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.BranchAspect`.
pub fn set_branch_aspect(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BranchAspect")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.BranchLength`.
pub fn branch_length(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BranchLength")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.BranchLength`.
pub fn set_branch_length(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.BranchLength")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.Branches`.
pub fn branches(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Branches")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.Branches`.
pub fn set_branches(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Branches")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.Depth`.
pub fn depth(&self) -> i32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Depth")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.Depth`.
pub fn set_depth(&mut self, value: i32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Depth")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.Droop`.
pub fn droop(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Droop")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.Droop`.
pub fn set_droop(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Droop")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.LeafRotate`.
pub fn leaf_rotate(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.LeafRotate")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.LeafRotate`.
pub fn set_leaf_rotate(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.LeafRotate")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.LeafScale`.
pub fn leaf_scale(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.LeafScale")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.LeafScale`.
pub fn set_leaf_scale(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.LeafScale")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.Name`.
pub fn name(&self) -> String {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Name")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.Name`.
pub fn set_name(&mut self, value: String) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Name")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.NoiseMag`.
pub fn noise_mag(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.NoiseMag")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.NoiseMag`.
pub fn set_noise_mag(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.NoiseMag")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.NoiseScale`.
pub fn noise_scale(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.NoiseScale")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.NoiseScale`.
pub fn set_noise_scale(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.NoiseScale")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.RepeatZ`.
pub fn repeat_z(&self) -> i32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.RepeatZ")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.RepeatZ`.
pub fn set_repeat_z(&mut self, value: i32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.RepeatZ")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.ScaleStep`.
pub fn scale_step(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.ScaleStep")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.ScaleStep`.
pub fn set_scale_step(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.ScaleStep")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.SpeciesId`.
pub fn species_id(&self) -> i32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.SpeciesId")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.SpeciesId`.
pub fn set_species_id(&mut self, value: i32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.SpeciesId")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.Taper`.
pub fn taper(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Taper")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.Taper`.
pub fn set_taper(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Taper")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.TextureId`.
pub fn texture_id(&self) -> libremetaverse_types::UUID {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TextureId")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.TextureId`.
pub fn set_texture_id(&mut self, value: libremetaverse_types::UUID) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TextureId")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkAspect`.
pub fn trunk_aspect(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TrunkAspect")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.TrunkAspect`.
pub fn set_trunk_aspect(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TrunkAspect")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkDepth`.
pub fn trunk_depth(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TrunkDepth")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.TrunkDepth`.
pub fn set_trunk_depth(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TrunkDepth")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkLength`.
pub fn trunk_length(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TrunkLength")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.TrunkLength`.
pub fn set_trunk_length(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.TrunkLength")
}
/// C# member: `P:LibreMetaverse.TreeDefinition.Twist`.
pub fn twist(&self) -> f32 {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Twist")
}
/// Setter for C# member: `P:LibreMetaverse.TreeDefinition.Twist`.
pub fn set_twist(&mut self, value: f32) {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.TreeDefinition.Twist")
}
}
/// C# member: `P:LibreMetaverse.TreeDefinition.BillboardRatio`.
/// C# member: `P:LibreMetaverse.TreeDefinition.BillboardScale`.
/// C# member: `P:LibreMetaverse.TreeDefinition.BranchAspect`.
/// C# member: `P:LibreMetaverse.TreeDefinition.BranchLength`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Branches`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Depth`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Droop`.
/// C# member: `P:LibreMetaverse.TreeDefinition.LeafRotate`.
/// C# member: `P:LibreMetaverse.TreeDefinition.LeafScale`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Name`.
/// C# member: `P:LibreMetaverse.TreeDefinition.NoiseMag`.
/// C# member: `P:LibreMetaverse.TreeDefinition.NoiseScale`.
/// C# member: `P:LibreMetaverse.TreeDefinition.RepeatZ`.
/// C# member: `P:LibreMetaverse.TreeDefinition.ScaleStep`.
/// C# member: `P:LibreMetaverse.TreeDefinition.SpeciesId`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Taper`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TextureId`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkAspect`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkDepth`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkLength`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Twist`.
pub use crate::foliage_catalog::TreeDefinition;
/// C# type: `T:LibreMetaverse.TreeDefinitions`.
pub struct TreeDefinitions;
impl TreeDefinitions {
/// C# member: `F:LibreMetaverse.TreeDefinitions.All`.
pub fn all() -> Vec<libremetaverse::TreeDefinition> {
libremetaverse_types::unimplemented_api!("F:LibreMetaverse.TreeDefinitions.All")
}
/// C# member: `M:LibreMetaverse.TreeDefinitions.Get(LibreMetaverse.Tree)`.
pub fn get(
species: libremetaverse::Tree,
) -> Result<libremetaverse::TreeDefinition, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.TreeDefinitions.Get(LibreMetaverse.Tree)",
)
}
}
/// C# member: `F:LibreMetaverse.TreeDefinitions.All`.
/// C# member: `M:LibreMetaverse.TreeDefinitions.Get(LibreMetaverse.Tree)`.
pub use crate::foliage_catalog::TreeDefinitions;
/// C# type: `T:LibreMetaverse.UDPBase`.
pub struct UDPBase;
@@ -28652,29 +28404,12 @@ pub enum ViewerUriType {
}
/// C# type: `T:LibreMetaverse.VisualAlphaParam`.
pub struct VisualAlphaParam {
/// C# member: `F:LibreMetaverse.VisualAlphaParam.Domain`.
pub domain: f32,
/// C# member: `F:LibreMetaverse.VisualAlphaParam.MultiplyBlend`.
pub multiply_blend: bool,
/// C# member: `F:LibreMetaverse.VisualAlphaParam.SkipIfZero`.
pub skip_if_zero: bool,
/// C# member: `F:LibreMetaverse.VisualAlphaParam.TGAFile`.
pub tga_file: String,
}
impl VisualAlphaParam {
/// C# member: `M:LibreMetaverse.VisualAlphaParam.#ctor(System.Single,System.String,System.Boolean,System.Boolean)`.
pub fn new(
domain: f32,
tga_file: String,
skip_if_zero: bool,
multiply_blend: bool,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.VisualAlphaParam.#ctor(System.Single,System.String,System.Boolean,System.Boolean)",
)
}
}
/// C# member: `F:LibreMetaverse.VisualAlphaParam.Domain`.
/// C# member: `F:LibreMetaverse.VisualAlphaParam.MultiplyBlend`.
/// C# member: `F:LibreMetaverse.VisualAlphaParam.SkipIfZero`.
/// C# member: `F:LibreMetaverse.VisualAlphaParam.TGAFile`.
/// C# member: `M:LibreMetaverse.VisualAlphaParam.#ctor(System.Single,System.String,System.Boolean,System.Boolean)`.
pub use crate::visual_catalog::VisualAlphaParam;
/// C# type: `T:LibreMetaverse.VisualColorOperation`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
@@ -28689,137 +28424,46 @@ pub enum VisualColorOperation {
}
/// C# type: `T:LibreMetaverse.VisualColorParam`.
pub struct VisualColorParam {
/// C# member: `F:LibreMetaverse.VisualColorParam.Colors`.
pub colors: Vec<libremetaverse_types::Color4>,
/// C# member: `F:LibreMetaverse.VisualColorParam.Operation`.
pub operation: libremetaverse::VisualColorOperation,
}
impl VisualColorParam {
/// C# member: `M:LibreMetaverse.VisualColorParam.#ctor(LibreMetaverse.VisualColorOperation,LibreMetaverse.Color4[])`.
pub fn new(
operation: libremetaverse::VisualColorOperation,
colors: Vec<libremetaverse_types::Color4>,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.VisualColorParam.#ctor(LibreMetaverse.VisualColorOperation,LibreMetaverse.Color4[])",
)
}
}
/// C# member: `F:LibreMetaverse.VisualColorParam.Colors`.
/// C# member: `F:LibreMetaverse.VisualColorParam.Operation`.
/// C# member: `M:LibreMetaverse.VisualColorParam.#ctor(LibreMetaverse.VisualColorOperation,LibreMetaverse.Color4[])`.
pub use crate::visual_catalog::VisualColorParam;
/// C# type: `T:LibreMetaverse.VisualParam`.
pub struct VisualParam {
/// C# member: `F:LibreMetaverse.VisualParam.AlphaParams`.
pub alpha_params: Option<Option<libremetaverse::VisualAlphaParam>>,
/// C# member: `F:LibreMetaverse.VisualParam.ColorParams`.
pub color_params: Option<Option<libremetaverse::VisualColorParam>>,
/// C# member: `F:LibreMetaverse.VisualParam.DefaultValue`.
pub default_value: f32,
/// C# member: `F:LibreMetaverse.VisualParam.DrivenParams`.
pub driven_params: Option<Vec<libremetaverse::DrivenParamInfo>>,
/// C# member: `F:LibreMetaverse.VisualParam.Drivers`.
pub drivers: Option<Vec<i32>>,
/// C# member: `F:LibreMetaverse.VisualParam.Group`.
pub group: i32,
/// C# member: `F:LibreMetaverse.VisualParam.IsBumpAttribute`.
pub is_bump_attribute: bool,
/// C# member: `F:LibreMetaverse.VisualParam.Label`.
pub label: String,
/// C# member: `F:LibreMetaverse.VisualParam.LabelMax`.
pub label_max: String,
/// C# member: `F:LibreMetaverse.VisualParam.LabelMin`.
pub label_min: String,
/// C# member: `F:LibreMetaverse.VisualParam.MaxValue`.
pub max_value: f32,
/// C# member: `F:LibreMetaverse.VisualParam.MinValue`.
pub min_value: f32,
/// C# member: `F:LibreMetaverse.VisualParam.Name`.
pub name: String,
/// C# member: `F:LibreMetaverse.VisualParam.ParamID`.
pub param_id: i32,
/// C# member: `F:LibreMetaverse.VisualParam.SkeletalDistortions`.
pub skeletal_distortions: Option<Vec<libremetaverse::SkeletalBoneInfo>>,
/// C# member: `F:LibreMetaverse.VisualParam.VolumeMorphs`.
pub volume_morphs: Option<Vec<libremetaverse::VolumeMorphInfo>>,
/// C# member: `F:LibreMetaverse.VisualParam.Wearable`.
pub wearable: Option<String>,
}
impl VisualParam {
/// C# member: `M:LibreMetaverse.VisualParam.#ctor(System.Int32,System.String,System.Int32,System.String,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Boolean,System.Int32[],System.Nullable{LibreMetaverse.VisualAlphaParam},System.Nullable{LibreMetaverse.VisualColorParam},LibreMetaverse.DrivenParamInfo[],LibreMetaverse.SkeletalBoneInfo[],LibreMetaverse.VolumeMorphInfo[])`.
pub fn new(
param_id: i32,
name: String,
group: i32,
wearable: Option<String>,
label: String,
label_min: String,
label_max: String,
def_: f32,
min: f32,
max: f32,
is_bump_attribute: bool,
drivers: Option<Vec<i32>>,
alpha: Option<Option<libremetaverse::VisualAlphaParam>>,
color_params: Option<Option<libremetaverse::VisualColorParam>>,
driven_params: Option<Vec<libremetaverse::DrivenParamInfo>>,
skeletal_distortions: Option<Vec<libremetaverse::SkeletalBoneInfo>>,
volume_morphs: Option<Vec<libremetaverse::VolumeMorphInfo>>,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.VisualParam.#ctor(System.Int32,System.String,System.Int32,System.String,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Boolean,System.Int32[],System.Nullable{LibreMetaverse.VisualAlphaParam},System.Nullable{LibreMetaverse.VisualColorParam},LibreMetaverse.DrivenParamInfo[],LibreMetaverse.SkeletalBoneInfo[],LibreMetaverse.VolumeMorphInfo[])",
)
}
}
/// C# member: `F:LibreMetaverse.VisualParam.AlphaParams`.
/// C# member: `F:LibreMetaverse.VisualParam.ColorParams`.
/// C# member: `F:LibreMetaverse.VisualParam.DefaultValue`.
/// C# member: `F:LibreMetaverse.VisualParam.DrivenParams`.
/// C# member: `F:LibreMetaverse.VisualParam.Drivers`.
/// C# member: `F:LibreMetaverse.VisualParam.Group`.
/// C# member: `F:LibreMetaverse.VisualParam.IsBumpAttribute`.
/// C# member: `F:LibreMetaverse.VisualParam.Label`.
/// C# member: `F:LibreMetaverse.VisualParam.LabelMax`.
/// C# member: `F:LibreMetaverse.VisualParam.LabelMin`.
/// C# member: `F:LibreMetaverse.VisualParam.MaxValue`.
/// C# member: `F:LibreMetaverse.VisualParam.MinValue`.
/// C# member: `F:LibreMetaverse.VisualParam.Name`.
/// C# member: `F:LibreMetaverse.VisualParam.ParamID`.
/// C# member: `F:LibreMetaverse.VisualParam.SkeletalDistortions`.
/// C# member: `F:LibreMetaverse.VisualParam.VolumeMorphs`.
/// C# member: `F:LibreMetaverse.VisualParam.Wearable`.
/// C# member: `M:LibreMetaverse.VisualParam.#ctor(System.Int32,System.String,System.Int32,System.String,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Boolean,System.Int32[],System.Nullable{LibreMetaverse.VisualAlphaParam},System.Nullable{LibreMetaverse.VisualColorParam},LibreMetaverse.DrivenParamInfo[],LibreMetaverse.SkeletalBoneInfo[],LibreMetaverse.VolumeMorphInfo[])`.
pub use crate::visual_catalog::VisualParam;
/// C# type: `T:LibreMetaverse.VisualParams`.
pub struct VisualParams;
impl VisualParams {
/// C# member: `F:LibreMetaverse.VisualParams.Group0ParamIds`.
pub fn group0_param_ids() -> Vec<i32> {
libremetaverse_types::unimplemented_api!("F:LibreMetaverse.VisualParams.Group0ParamIds")
}
/// C# member: `F:LibreMetaverse.VisualParams.Params`.
pub fn params() -> libremetaverse_types::compat::SortedList<i32, libremetaverse::VisualParam> {
libremetaverse_types::unimplemented_api!("F:LibreMetaverse.VisualParams.Params")
}
/// C# member: `M:LibreMetaverse.VisualParams.Find(System.String,System.String)`.
pub fn find(
name: String,
wearable: Option<String>,
) -> Result<libremetaverse::VisualParam, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.VisualParams.Find(System.String,System.String)",
)
}
}
/// C# member: `F:LibreMetaverse.VisualParams.Group0ParamIds`.
/// C# member: `F:LibreMetaverse.VisualParams.Params`.
/// C# member: `M:LibreMetaverse.VisualParams.Find(System.String,System.String)`.
pub use crate::visual_catalog::VisualParams;
/// C# type: `T:LibreMetaverse.VolumeMorphInfo`.
pub struct VolumeMorphInfo {
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.BoneName`.
pub bone_name: String,
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.HasPosition`.
pub has_position: bool,
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.HasScale`.
pub has_scale: bool,
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.PositionDelta`.
pub position_delta: libremetaverse_types::Vector3,
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.ScaleDelta`.
pub scale_delta: libremetaverse_types::Vector3,
}
impl VolumeMorphInfo {
/// C# member: `M:LibreMetaverse.VolumeMorphInfo.#ctor(System.String,LibreMetaverse.Vector3,System.Boolean,LibreMetaverse.Vector3,System.Boolean)`.
pub fn new(
bone_name: String,
scale_delta: libremetaverse_types::Vector3,
has_scale: bool,
position_delta: libremetaverse_types::Vector3,
has_position: bool,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.VolumeMorphInfo.#ctor(System.String,LibreMetaverse.Vector3,System.Boolean,LibreMetaverse.Vector3,System.Boolean)",
)
}
}
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.BoneName`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.HasPosition`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.HasScale`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.PositionDelta`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.ScaleDelta`.
/// C# member: `M:LibreMetaverse.VolumeMorphInfo.#ctor(System.String,LibreMetaverse.Vector3,System.Boolean,LibreMetaverse.Vector3,System.Boolean)`.
pub use crate::visual_catalog::VolumeMorphInfo;
/// C# type: `T:LibreMetaverse.Vote`.
pub struct Vote {