Skip to content
Snippets Groups Projects
rna_wiki_reference.py 7.76 KiB
Newer Older
  • Learn to ignore specific revisions
  • # this file maps RNA to online URL's for right mouse context menu
    # documentation access
    
    # URL prefix is the: url_manual_prefix + url_manual_mapping[id]
    
    url_manual_prefix = "http://wiki.blender.org/index.php/Doc:2.6/Manual/"
    
    
    # - The first item is a regex expression
    #   '.*'    - means  anything
    #   '\..*' -  means .anything
    
    # - Expressions are evaluated top down (include catch-all expressions last).
    
    url_manual_mapping = (
    
    
        # *** Modifiers ***
        # --- Intro ---
        ("bpy.types.Modifier\.show_.*", "Modifiers/The_Stack"),
        ("bpy.types.Modifier\..*", "Modifiers"),  # catchall for various generic options
        # --- Modify Modifiers ---
        ("bpy.types.UVProjectModifier\..*",              "Modifiers/Modify/UV_Project"),
        ("bpy.types.VertexWeightMixModifier\..*",        "Modifiers/Modify/Vertex_Weight"),
        ("bpy.types.VertexWeightEditModifier\..*",       "Modifiers/Modify/Vertex_Weight"),
        ("bpy.types.VertexWeightProximityModifier\..*",  "Modifiers/Modify/Vertex_Weight"),
        # --- Generate Modifiers ---
        ("bpy.types.ArrayModifier\..*",      "Modifiers/Generate/Array"),
        ("bpy.types.BevelModifier\..*",      "Modifiers/Generate/Bevel"),
        ("bpy.types.BooleanModifier\..*",    "Modifiers/Generate/Booleans"),
        ("bpy.types.BuildModifier\..*",      "Modifiers/Generate/Build"),
        ("bpy.types.DecimateModifier\..*",   "Modifiers/Generate/Decimate"),
        ("bpy.types.EdgeSplitModifier\..*",  "Modifiers/Generate/Edge_Split"),
        ("bpy.types.MaskModifier\..*",       "Modifiers/Generate/Mask"),
        ("bpy.types.MirrorModifier\..*",     "Modifiers/Generate/Mirror"),
        ("bpy.types.MultiresModifier\..*",   "Modifiers/Generate/Multiresolution"),
        ("bpy.types.ScrewModifier\..*",      "Modifiers/Generate/Screw"),
        ("bpy.types.SkinModifier\..*",       "Modifiers/Generate/Skin"),
        ("bpy.types.SolidifyModifier\..*",   "Modifiers/Generate/Solidify"),
        ("bpy.types.SubsurfModifier\..*",    "Modifiers/Generate/Subsurf"),
        # --- Deform Modifiers ---
        ("bpy.types.ArmatureModifier\..*",      "Modifiers/Deform/Armature"),
        ("bpy.types.CastModifier\..*",          "Modifiers/Deform/Cast"),
        ("bpy.types.CurveModifier\..*",         "Modifiers/Deform/Curve"),
        ("bpy.types.DisplaceModifier\..*",      "Modifiers/Deform/Displace"),
        ("bpy.types.DynamicPaintModifier\..*",  "Physics/Dynamic_Paint"),
        ("bpy.types.HookModifier\..*",          "Modifiers/Deform/Hooks"),
        ("bpy.types.LatticeModifier\..*",       "Modifiers/Deform/Lattice"),
        ("bpy.types.MeshDeformModifier\..*",    "Modifiers/Deform/Mesh_Deform"),
        ("bpy.types.RemeshModifier\..*",        "Modifiers/Deform/"),
        ("bpy.types.ShrinkwrapModifier\..*",    "Modifiers/Deform/Shrinkwrap"),
        ("bpy.types.SimpleDeformModifier\..*",  "Modifiers/Deform/Simple_Deform"),
        ("bpy.types.SmoothModifier\..*",        "Modifiers/Deform/Smooth"),
        # ("bpy.types.SurfaceModifier\..*",     "Modifiers/Deform/"),  # USERS NEVER SEE THIS
        ("bpy.types.WarpModifier\..*",          "Modifiers/Deform/Warp"),
        ("bpy.types.WaveModifier\..*",          "Modifiers/Deform/Wave"),
        # --- Simulate Modifiers ---
        ("bpy.types.ClothModifier\..*",             "Physics/Cloth"),
        ("bpy.types.CollisionModifier\..*",         "Physics/Collision"),
        ("bpy.types.ExplodeModifier\..*",           "Modifiers/Simulate/Explode"),
        ("bpy.types.FluidSimulationModifier\..*",   "Physics/Fluid"),
        ("bpy.types.OceanModifier\..*",             "Modifiers/Simulate/Ocean"),
        ("bpy.types.ParticleInstanceModifier\..*",  "Modifiers/Simulate/Particle_Instance"),
        ("bpy.types.ParticleSystemModifier\..*",    "Physics/Particles"),
        ("bpy.types.SmokeModifier\..*",             "Physics/Smoke"),
        ("bpy.types.SoftBodyModifier\..*",          "Physics/Soft_Body"),
    
        # *** Constraints ***
        ("bpy.types.Constraint\..*", "Constraints"),
        ("bpy.types.Constraint\.mute", "Constraints/The_Stack"),  # others could be added here?
        # --- Transform Constraints ---
        ("bpy.types.CopyLocationConstraint\..*",    "Constraints/Transform/Copy_Location"),
        ("bpy.types.CopyRotationConstraint\..*",    "Constraints/Transform/Copy_Rotation"),
        ("bpy.types.CopyScaleConstraint\..*",       "Constraints/Transform/Copy_Scale"),
        ("bpy.types.CopyTransformsConstraint\..*",  "Constraints/Transform/Copy_Transforms"),
        ("bpy.types.LimitDistanceConstraint\..*",   "Constraints/Transform/Limit_Distance"),
        ("bpy.types.LimitLocationConstraint\..*",   "Constraints/Transform/Limit_Location"),
        ("bpy.types.LimitRotationConstraint\..*",   "Constraints/Transform/Limit_Rotation"),
        ("bpy.types.LimitScaleConstraint\..*",      "Constraints/Transform/Limit_Scale"),
        ("bpy.types.MaintainVolumeConstraint\..*",  "Constraints/Transform/Maintain_Volume"),
        ("bpy.types.TransformConstraint\..*",       "Constraints/Transform/Transformation"),
        # --- Tracking Constraints ---
        ("bpy.types.ClampToConstraint\..*",      "Constraints/Tracking/Clamp_To"),
        ("bpy.types.DampedTrackConstraint\..*",  "Constraints/Tracking/Damped_Track"),
        ("bpy.types.KinematicConstraint\..*",    "Constraints/Tracking/IK_Solver"),
        ("bpy.types.LockedTrackConstraint\..*",  "Constraints/Tracking/Locked_Track"),
        ("bpy.types.SplineIKConstraint\..*",     "Constraints/Tracking/Spline_IK"),
        ("bpy.types.StretchToConstraint\..*",    "Constraints/Tracking/Stretch_To"),
        ("bpy.types.TrackToConstraint\..*",      "Constraints/Tracking/Track_To"),
        # --- Relationship Constraints ---
        ("bpy.types.ActionConstraint\..*",          "Constraints/Relationship/Action"),
        ("bpy.types.CameraSolverConstraint\..*",    "Motion_Tracking"),  # not exact match
        ("bpy.types.ChildOfConstraint\..*",         "Constraints/Relationship/Action"),
        ("bpy.types.FloorConstraint\..*",           "Constraints/Relationship/Child_Of"),
        ("bpy.types.FollowPathConstraint\..*",      "Constraints/Relationship/Floor"),
        ("bpy.types.FollowTrackConstraint\..*",     "Constraints/Relationship/Follow_Path"),
        ("bpy.types.ObjectSolverConstraint\..*",    "Motion_Tracking"),  # not exact match
        ("bpy.types.PivotConstraint\..*",           "Constraints/Relationship/Pivot"),
        ("bpy.types.PythonConstraint\..*",          "Constraints/Relationship/Script"),
        ("bpy.types.RigidBodyJointConstraint\..*",  "Constraints/Relationship/Rigid_Body_Joint"),
        ("bpy.types.ShrinkwrapConstraint\..*",      "Constraints/Relationship/Shrinkwrap"),
    
        # *** Materials (blender internal) ***
    
        ("bpy.types.Material.diffuse.*", "Materials/Properties/Diffuse_Shaders"),
    
        ("bpy.types.Material\..*", "Materials/Properties/Diffuse_Shaders"),  # catchall, until the section is filled in
        # ... todo, many more options
    
        # --- ObData ---
        ("bpy.types.Object\..*",  "Modeling/Objects"),  # catchall, TODO - refine
    
        ("bpy.types.Mesh\..*",  "Modeling/Meshes"),  # catchall, TODO - refine
    
        ("bpy.types.MetaBall\..*",  "Modeling/Metas"),  # catchall, TODO - refine
    
        ("bpy.types.TextCurve\..*",  "Modeling/Texts"),  # catchall, TODO - refine
    
        ("bpy.types.Armature\..*",  "Rigging/Armatures"),  # catchall, TODO - refine
    
        ("bpy.types.Camera\..*",  "Render/Camera"),  # catchall, TODO - refine
    
        ("bpy.types.PointLamp\..*",  "Lighting/Lamps/Lamp"),  # catchall, TODO - refine
        ("bpy.types.AreaLamp\..*",   "Lighting/Lamps/Area"),  # catchall, TODO - refine
        ("bpy.types.SpotLamp\..*",   "Lighting/Lamps/Spot"),  # catchall, TODO - refine
        ("bpy.types.SunLamp\..*",    "Lighting/Lamps/Sun"),   # catchall, TODO - refine
        ("bpy.types.HemiLamp\..*",   "Lighting/Lamps/Hemi"),  # catchall, TODO - refine
        ("bpy.types.Lamp\..*",       "Lighting"),             # catchall, TODO - refine
    
        # === Operators ===
    
        # *** Window/Screen ***
        ("bpy.ops.screen\..*",  "Interface/Window_system"),
        ("bpy.ops.wm\..*",      "Interface/Window_system"),
    
    
    # may have 'url_reference_mapping'... etc later